기업 서버부터 개인 PC까지, 채굴 악성코드 무차별 공격
투기 열풍은 잦아들었지만 암호화폐(Cryptocurrency, 가상화폐)는 여전히 많은 사람들의 관심을 받으며 승승장구하고 있다. 사람들의 관심이 몰렸을 뿐만 아니라 금전적 이익이 될 수 있는 암호화폐가 공격자들의 이목을 끄는 것은 당연지사. 암호화폐 거래소 해킹뿐만 아니라 개인 및 기업의 컴퓨팅 시스템을 이용해 암호화폐를 채굴하는 악성코드도 지속적으로 증가하고 있다. 시스템 자원을 점유해 엉뚱한 곳에 사용하는 채굴 악성코드는 기업 및 기관에게 있어 보안 위협일 뿐만 아니라 비즈니스 생산성 저하의 원인이 된다. 특히 최근 윈도우 시스템뿐만 아니라 맥OS, 주요 오픈소스 기반의 시스템을 노리는 암호화폐 채굴 악성코드가 등장함에 따라 보안 담당자들의 각별한 주의가 요구된다. 이와 관련해 주요 암호화폐 채굴 악성코드 사례를 살펴본다.
‘암호화폐 채굴 악성코드’란 사용자 몰래 시스템의 중앙처리장치(CPU, Central Processing Unit)와 그래픽카드 처리장치(GPU, Graphics Processing Unit)를 이용해 암호화폐를 채굴(Mining, 마이닝)하여 공격자의 암호화폐 지갑으로 전송하는 악성코드이다. 암호화폐 채굴은 난이도에 따라 컴퓨터 자원 사용량이 급격히 증가하기 때문에 암호화폐 채굴 악성코드는 개인뿐만 아니라 기업 및 기관의 막대한 손실을 야기할 수 있다.
한국인터넷진흥원(KISA)에 따르면 올해 상반기 국내에서 유포된 전체 악성코드 중 암호화폐 채굴 악성코드가 14.1%를 차지했다. 지난 연말 대비 약 6% 가량 증가한 수치며, 상반기 유포된 랜섬웨어와 비슷한 수준이다. 안랩 등 보안 업체에서는 이들 악성코드를 ‘마이너(Miner)’ 또는 ‘코인 마이너(Coin Miner)’로 분류한다.
마이너류의 악성코드는 유명 프로그램으로 위장한 파일을 파일 공유 사이트 등을 통해 유포하거나 온라인 광고를 이용한 멀버타이징(Malvertising) 기법, 웹사이트 방문자의 시스템을 이용하는 드라이브-바이-마이닝(Drive-ByMining)기법 등을 통해 유포되고 있다. 기존에는 효과적인 암호화폐 채굴을 위해 기업의 서버 시스템을 주로 노렸으나, 고사양 게임을 즐기기 위해 고성능 PC를 이용하는 개인 사용자들이 늘어남에 따라 이를 겨냥한 마이너 악성코드 유포도 증가하고 있다.
토렌트 사이트를 통한 마이너 악성코드 유포
지난 3월 말 토렌트 사이트에서 최신 음악 파일로 위장한 마이너 악성코드가 유포됐다.
[그림 1] 최신 음악 파일로 위장한 마이너 악성코드
[그림 1]의 파일은 압축 파일로, 암호가 설정되어 있다. 사용자로 하여금 암호 설정을 확인하기 위해 .exe 형식의 암호확인 파일을 실행하도록 유도한다. 사용자가 해당 파일을 실행하면 ‘암호 확인하기’라는 창이 나타나고, 이를 클릭하면 다시 [그림 2]와 같은 메시지가 나타난다.
[그림 2] 허위 암호확인 프로그램의 알림 창
[그림 2]의 메시지가 나타나는 동안 해당 실행 파일은 C 드라이브에 별도의 폴더를 생성하며, 생성된 폴더 내의 배치 파일을 시작프로그램에 등록한다. 이 배치 파일은 시스템이 재부팅될 때 마다 앞서 생성한 폴더의 파일을 실행하고 암호화폐를 채굴한다.
성인 게임으로 위장한 마이너 악성코드
지난 4월, 공유 사이트에 다수의 성인 게임으로 위장한 파일이 업로드됐다. 이들 파일에는 모두 동일한 마이너 악성코드가 포함되어 있었다.
이 파일들은 .zip 포맷의 압축 파일 형태로 유포됐는데, 사용자가 다운로드 후 설치를 진행하지 않아도 즉시 실행되는 방식이다. 사용자가 해당 파일의 압축을 해제하면 게임 폴더가 생성되고 게임 실행에 필요한 파일을 확인할 수 있다.
사용자가 해당 폴더의 게임 실행 파일을 실행하면 특정 폴더에 배치 파일(.bat)을 생성하여 실행한다. 해당 배치 파일이 실행되면 게임 파일 경로의 게임 실행 파일을 실행하고 곧바로 동일한 경로의 악성 설치 파일을 실행한다. 이 악성 설치 파일은 최초 실행 시 다수의 파일을 생성하고 이들 파일을 자동 실행으로 등록한 후 자가 삭제된다. 이렇게 생성된 파일 중 해외 백신 프로그램으로 위장한 파일을 매일 실행되도록 배치 파일로 등록하는데, 이 파일이 암호화폐 채굴을 수행한다. 해당 마이너 악성코드가 동작하면 [그림 3]과 같이 감염 시스템의 CPU를 점유해 사용자의 시스템이 느려진다.
[그림 3] 마이너 악성코드에 의한 CPU 점유
이 마이너 악성코드는 64비트 환경에서 실행되는 파일로, [그림 4]와 같이 32비트 윈도우 환경에서는 정상적으로 동작하지 않는다.
[그림 4] 32비트 환경에서 정상적으로 동작하지 않는 마이너 악성코드
게임 프로그램의 크랙 버전으로 위장한 마이너 악성코드
지난 8월, 유명 게임의 크랙 버전으로 위장한 마이너 악성코드가 게임 프리서버, 토렌트, 파일 공유 사이트 등을 통해 유포됐다. 이 마이너 악성코드는 대부분의 백신 프로그램은 크랙 버전들을 의심스러운 파일로 탐지한다는 점을 고려해 [그림 5]와 같이 백신 프로그램을 종료하여 크랙 버전을 실행하는 방법을 안내하는 등 치밀함을 보였다.
[그림 5] 백신 프로그램의 종료를 유도하는 마이너 악성코드
사용자가 [그림 5]의 안내를 따라 백신 프로그램을 종료하고 다운로드한 파일의 압축을 해제하여 게임을 실행하면 악성코드는 오디오 파일로 위장한 실행 파일을 생성하고 실행한다. 이 파일이 실행되면 배치 파일을 포함해 다수의 파일을 생성한다. 다수의 추가 파일을 생성하는 이유는 해당 마이너 악성코드 제작자가 NWJS(Node-Webkit)를 이용해 웹 브라우저에서 동작하는 채굴 스크립트를 데스크톱 기반에서 실행되도록 제작했기 때문이다.
이들 채굴 관련 파일은 배치 파일이 실행되면 컴퓨터 부팅 시 자동 실행되도록 등록되며, 이후 [그림 6]과 같이 웹브라우저에서 동작하는 채굴 스크립트를 이용해 감염 시스템 상에서 암호화폐를 채굴해 공격자에게 전송한다.
[그림 6] 게임 크랙 버전으로 위장한 마이너 악성코드 동작 과정
원격 서버 접속 프로그램으로 위장한 마이너 악성코드
최근 국내에서 주로 서버 원격 접속을 위해 사용하는 터미널 연결 프로그램으로 위장한 마이너 악성코드가 확인됐다. 이 악성코드는 서버 관리자의 의심을 피하기 위해 [그림 7]과 같이 기존 터미널 연결 프로그램인 것처럼 등록정보 내용을 위장하고 있다.
[그림 7] 정상 프로그램(오른쪽)처럼 위장한 악성 프로그램(왼쪽)
이 마이너 악성코드는 알려진 OLE취약점이나 매크로 등을 이용해 감염을 시도하며, 윈도우 운영체제의 기본 프로그램인 wscript.exe를 이용해 다운로드된다. 정상 프로그램의 설치 파일을 실행할 때 생성되는 PE 프로그램 일부를 리소스 섹션에 포함하고 있는데, 이는 백신 등 보안 제품에 탐지되는 것을 방지하기 위한 것으로 보인다. 악성코드 내부에 가상화폐 채굴을 위한 감염 시스템들의 리소스를 집합시키는 마이닝 풀 (Mining Pool)주소와 가상화폐 채굴에 사용할 알고리즘(초기값: cryptonight) 등이 포함되어 있다.
[그림 8] 악성코드 내부에 포함된 마이닝 풀 주소(왼쪽)과 특징적인 문자열(오른쪽)
드라이브-바이-마이닝 기법을 통한 마이너 악성코드 유포
최근에는 파일을 사용자 시스템에 설치해 암호화폐를 채굴하는 방식 외에 사용자가 웹 사이트에 방문하기만 해도 사용자 시스템의 자원을 악용해 암호화폐를 채굴하는 사례가 등장했다. 웹 사이트에 웹 브라우저 기반의 채굴 프로그램 코드를 삽입해 해당 웹 사이트를 방문한 사용자의 웹 브라우저에서 채굴 프로그램을 동작시키는 방식으로, 이른바 드라이브-바이-마이닝(Drive-By-Mining)’ 방식으로 불린다. 웹 사이트를 방문한 불특정 다수를 대상으로 악성코드를 유포하는 방식인 드라이브-바이-다운로드(Drive-By-Download)와 유사한 방식으로 이해할 수 있다.
취약점 툴 이용한 마이너 악성코드 유포
랜섬웨어 등 악성코드 제작•유포에 사용된 취약점 툴로 유명한 리그 익스플로잇킷(Rig Exploit Kit)을 이용한 마이너 악성코드가 유포되고 있다. 리그 익스플로잇킷은 다양한 취약점을 이용하는데, 최근에는 다수의 악용사례가 보고된 바 있는 윈도우 VB스크립트 엔진(Windows VBScript Engine)의 원격코드 실행 취약점(CVE2018-8174)을 이용해 마이너 악성코드를 유포했다.
이 마이너 악성코드는 앞서 설명한 드라이브-바이-마이닝 기법이나 멀버타이징 기법을 이용해 감염을 시도한다. 즉, CVE-2018-8174 취약점과 관련된 패치를 적용하지 않은 시스템을 통해 사용자가 손상된 웹사이트에 접속하거나 악의적인 온라인 광고 사이트를 방문할 경우, 취약점 공격이 진행돼 마이너 악성코드에 감염된다. 무엇보다 이 마이너 악성코드는 사용자가 알아차리지 못하도록 감염 시스템의 CPU와 GPU 자원을 적게 사용하는 등 상당히 교묘하게 제작되었다.
안랩 시큐리티대응센터(ASEC)는 2018년 3분기 ASEC 리포트를 통해 리그 익스플로잇킷을 이용해 유포된 마이너 악성코드에 대한 상세한 분석 정보를 공유할 예정이다.
기업 서버를 장악한 마이너 악성코드, 다양한 OS 노려
암호화폐를 효율적으로 채굴하기 위해서는 고사양의 시스템이 필요하다. 이에 기업 서버를 노리는 마이너 악성코드도 여전히 나타나고 있다. 특히 최근에는 젠킨스, 아파치 스트럿츠2, 아파치 톰캣 등 주요 오픈소스 취약점을 이용한 마이너 악성코드가 잇따라 나타나 일부 기업의 서버 시스템이 악용되는 사례가 발생했다. 이처럼 윈도우 운영체제뿐만 아니라 맥OS, 오픈소스 기반의 시스템을 노리는 마이너 악성코드가 증가함에 따라 기업 및 기관의 서버나 업무 시스템의 성능 저하에 각별한 주의가 필요하다.
지금까지 살펴본 바와 같이 대부분의 마이너 악성코드는 운영체제 및 소프트웨어 취약점을 이용해 유포되고 있다. 따라서 마이너 악성코드 감염을 예방하기 위해서는 기업 및 기관에서 사용하고 있는 운영체제 및 주요 소프트웨어에 대한 패치 관리를 강화해야 한다. 또한 임직원들이 의심스러운 사이트에 접속하거나 공식 소프트웨어 제조사가 아닌 다른 경로를 통한 프로그램을 다운로드 하지 않도록 보안 정책을 강화하고 지속적인 교육을 진행하는 것이 바람직하다.
- AhnLabASEC 대응팀