[Threat Analysis] 일본 공공기관 노린 타깃 공격, 다음은?
일본 연금기구 개인정보 유출 관련 악성코드 상세 분석
지난 5월 28일, 일본 연금기구(日本年金機構, Japan Pension Service)의 연금정보 관리 시스템이 해킹돼 125만 명 이상의 개인정보가 유출되는 사고가 발생했다. 이 공격에 사용된 엠디비(Emdivi) 악성코드는 지난 2013년 초부터 일본을 대상으로 한 공격에 지속적으로 사용되고 있다. 또한 지난 2014년 가을부터 건강 보험 조합을 사칭한 공격이 꾸준히 보고되고 있다.
이 글에서는 일본 연금기구 개인정보 유출에 이용된 엠디비 악성코드와 공격 방식에 대해 상세히 살펴본다.
해외 언론 보도에 따르면 지난 5월 말, 일본 연금기구의 연금정보 관리 시스템 해킹으로 125만 명 이상의 연금 수급자 및 가입자의 기초연금번호 및 이름 등 개인정보가 유출되었다. 구체적으로는 약 3만 1000건의 기초연금 번호와 이름, 약 116만 7000건의 이름과 생년월일, 약 5만 2000건의 주소 정보가 유출되었다.
일본 연금기구 해킹에 사용된 엠디비(Emdivi) 악성코드의 변형으로, 지난 2013년 초부터 일본에서 지속적으로 발견되고 있는 악성코드이다. 2014년 여름에는 문자열을 암호화한 엠디비 변형이 등장했고, 2014년 9월부터 건강 보험 조합을 사칭한 악성코드가 발견되었다. 이후 해당 악성코드는 의료비 통지 등으로 위장해 지속적으로 배포되었던 것으로 알려졌다. 그리고 이와 유사한 악성코드가 지난 5월 일본 연금기구의 연금정보 관리 시스템 해킹에 사용된 것으로 확인되었다.
[그림 1] 엠디비 악성코드 유포 및 해킹 사고 타임라인
[그림 2]는 지난 2014년 9월 보고된 엠디비 변형 악성코드 유포에 이용된 문서 내용이다. 업무와 연관된 LZH 파일에 자동 압축 풀림(sfx) EXE 파일이 첨부되어 있으며, 이 파일을 실행하면 정상 문서와 악성코드를 생성하고 [그림 2]와 같은 내용을 보여준다. 이번에 일본 연금기구 공격에 사용된 문서 또한 이와 유사한 내용을 담고 있다. 지난 가을부터 공격자는 꾸준히 공격했을 가능성이 있다.
[그림 2] 2014년 9월 발견된 변형 문서 내용
엠디비(Emdivi) 악성코드 감염 경로
언론 보도에 따르면 일본 연금기구 직원에게 업무 관련 메일로 위장한 메일에 악성코드가 첨부되어 있었다. 첨부된 악성코드는 이메일을 이용한 공격에서 주로 발견되는 문서 파일 형태가 아닌 실행 파일로, 다만 일본에서 주로 사용되는 LZH 파일로 압축한 파일이었다. 내부 직원이 해당 파일을 실행한 후 악성코드에 감염되어 시스템 해킹 및 개인정보 유출이 발생하였다.
알려진 바에 따르면 지난 5월부터 일본 연금기구에 해당 공격 메일이 지속적으로 유입되었고, 이에 연금기구는 여러 차례 내부 직원들에게 주의를 당부했다고 한다.
엠디비(Emdivi) 악성코드 분석
공격에 사용된 엠디비 악성코드의 구조는 [그림 3]과 같다.
[그림 3] 엠디비(Emdivi) 악성코드 구조
1. 드롭퍼
‘의료비 통지 알림’이라는 이름의 실행 파일(医療費通知のお知らせ.exe)은 자체 압축 해제(SFX, Self-extracting archive) 파일로, 사용자가 문서 파일로 착각하도록 워드 파일 아이콘으로 위장하고 있다. 해당 파일을 실행하면 정상 문서 파일인 kenpo.doc와 백도어 실행 파일인 vmater.exe가 임시 경로(%temp%)에 생성된다.
[그림 4] 워드 파일 아이콘으로 위장한 악성 파일
사용자가 문서 파일로 위장한 해당 파일을 실행하면 [그림 5]와 같이 건강보험 운영사무국에서 보낸 듯한 내용의 문서를 보여줌으로써 사용자가 악성코드 감염을 의심하지 못하도록 한다.
[그림 5] kenpo.doc 문서 내용
kenpo.doc의 내용을 살펴보면, 중국에서 주로 사용되는 심선(SimSun) 폰트를 쓰고 있으며 부자연스러운 일본어가 포함되어 있어 외국에서 제작되었을 가능성도 제기되고 있다.
[그림 6] 심선 폰트 이용해 작성된 문서
이후 함께 드롭된 vmater.exe 파일이 실행된다.
2. 백도어 vmater.exe
앞서 드롭되었던 vmater.exe 파일이 실행되면 시스템 언어, 호스트 네임, 프로세스, 윈도 버전, 인터넷 익스플로러 버전, 프록시 정보 등 시스템 정보를 파일 내부에 암호화되어 있는 C&C 주소로 전송한다. 해당 파일에는 악성 파일의 다운로드 및 실행, 명령 제어 기능이 존재하는 것으로 추정된다.
이번 일본 연금기구 공격에 사용된 것으로 알려진 엠디비 악성코드 변형은 2015년 5월 20일에 제작된 것으로 추정되나, 파일 작성일은 조작이 가능하므로 완전히 신뢰할 수 는 없다.
[그림 7] 일본 연금기구 공격에 사용된 악성 파일에 나타난 제작 시간
해당 악성파일의 주요 문자열은 [그림 8]과 같이 대부분 암호화되어 있다.
[그림 8] 암호화된 문자열
악성코드가 한번 실행되고 나면 사용자가 로그온할 때마다 악성코드가 자동 실행되도록 다음과 같은 레지스트리 경로에 자기 자신을 등록시킨다. 참고로 Winlogon 프로그램은 기본적으로 userinit.exe를 실행한다.
또한 해당 악성코드는 다음과 같은 URL에 대한 네트워크 연결을 확인한다.
네트워크 연결은 http://www.msftncsi.com/ncsi.txt를 요청한 후 이에 대응하는 DNS 주소를 확인하면 알 수 있다.
[그림 9] 네트워크 연결 유무 확인 코드
또한 해당 악성코드는 사용자 시스템에 대해 다음과 같은 정보를 수집한다.
[그림 10] 수집된 시스템 정보 예
이후 다음과 같은 C&C 주소로 통신을 시도한다.
엠디비 악성코드 변형은 문자열 암호화, 호스트 이름 확인, 분석 프로그램 확인 등을 통해 분석을 지연시키거나 어렵게 한다.
해당 악성코드는 실행 중인 시스템의 호스트 네임을 비교한다.
[그림 11] 호스트 네임 비교 코드
실행 중인 시스템의 호스트 이름이 일치하면 악성코드는 난수를 발생시킨다. 이후 해당 값에 0x80000000을 더한 주소로 이동하는 의도적인 예외(Exception)를 일으켜 정상적인 동작을 수행하지 않는다. 이는 자동 분석 환경을 방해하기 위함으로 추정된다.
또한 현재 실행 중인 모든 윈도 창의 문자열을 비교하여 일치할 경우, 슬립(Sleep) 상태에 빠져 정상적인 동작을 수행하지 않는다. 이는 분석가가 주로 사용하는 디버깅 및 모니터 프로그램을 회피하기 위한 것으로 짐작할 수 있다.
[그림 12] 윈도 창 문자열 비교
엠디비(Emdivi) 악성코드 변종
안랩에서 확인한 엠디비 악성코드 변형에는 지난 2012년 12월 31일에 제작된 변형도 있었다. 2012년 12월 ~ 2013년 초에 제작된 변형은 문자열이 암호화되어 있지 않아 초기 버전으로 추정된다.
[그림 13] 문자열이 암호화되지 않은 엠디비 악성코드 초기 버전
안랩이 분석한 바에 따르면 엠디비 악성코드는 지난 2014년 여름부터 암호화된 문자열이 추가된 변형이 제작된 것으로 보인다.
일본어로 작성된 이메일을 이용해 사용자들이 첨부 파일을 열어보도록 유도하고, 야후 재팬 사이트 등 일본에서 주로 사용되는 웹사이트를 이용해 인터넷 접속 여부를 확인함으로써 보안 담당자의 감시를 피하고 있으며, 일본 내 사이트를 C&C로 활용하고 있다는 점 등으로 미루어 이들 변형은 일본인을 목표로 하고 있음을 짐작할 수 있다.
[그림 14] 악성코드 내 포함된 야후 재팬 문자열
지속적으로 발생하는 지능화된 타깃 공격
2013년 초부터 등장한 엠디비(Emdivi) 악성코드 변형은 메일 내용과 첨부 파일 이름, 사용자의 의심을 피하기 위한 문서 내용 등이 모두 일본어로 되어 있다. 또한 일본에서 가장 많이 이용되고 있는 야후 재팬(Yahoo Japan) 등과 같은 유명 일본 사이트 문자열 등이 존재해 철저하게 일본 사용자를 대상으로 한 타깃형 악성코드임을 확인할 수 있었다.
이처럼 지능화된 타깃 공격의 피해를 예방하기 위해서는 메일에 첨부된 파일 실행 시 사용자들의 주의가 요구된다. 특히 문서 파일로 보이는 첨부 파일일 경우에도 파일 보기에서 ‘확장자 보기’ 기능을 활성화해 문서 파일 아이콘으로 위장한 실행 파일이 아닌지 확인하는 습관도 필요하다.
이번 일본 연금기구 공격에 이용된 사회공학 기법 자체는 새로운 공격 기법은 아니다. 그러나 일본인 사용자를 노리고 제작된 악성코드를 이용해 사용자의 업무와 관계 있는 것으로 위장한 표적형 공격이라는 점에서 예의 주시할 필요가 있다. 한국어를 이용해 국내 기관 및 기업을 노린 표적 공격이 10년 가까이 지속적으로 발생하고 있는 만큼 지리적으로 가까운 일본에서 발생한 표적 공격과 대응의 여파가 적지 않을 것으로 예상된다.
한편 V3 제품군은 이번 일본 연금기구 해킹에 사용된 악성코드를 Trojan/Win32.Ponik, Backdoor/Win32.Emdivi 등으로 진단하고 있으며, 지능형 위협대응 솔루션 AhnLab MDS는 Malware/MDP.Drop, Malware/MDP.AutoRun 등의 진단명으로 탐지하고 있다. @
<참고 문서>
http://blog.macnica.net/blog/2015/01/post-39d4.html
http://d.hatena.ne.jp/Kango/20141107/1415370890
http://www.47news.jp/korean/politics_national/2015/06/115691.html
http://blog.macnica.net/blog/2015/06/emdivi-201405-eea5.html
- AhnLab분석팀 차민석 책임 연구원/ 송재민 연구원