문서형 악성코드란?
최근 코로나19 바이러스로 인해 우리는 과거 경험하지 못한 어려움을 겪고 있습니다. 하지만 다행히 성숙한 국민 의식과 점차적으로 확대되는 백신 접종으로 인해 차근차근 기존 일상을 찾아가고 있는 듯해 보입니다. 하지만 발병 초기에는 현재와 다르게 코로나19 바이러스에 대한 정확한 정보가 부족했을 뿐만 아니라 쏟아지는 가짜 뉴스로 인해 사회적으로 많은 혼란이 발생하였습니다. 이에 정부에서는 코로나19 바이러스에 대한 올바른 정보와 심각성 그리고 효과적인 예방법을 국민에게 알리고자 PDF(Portable Document Format)와 한글파일(Hangul Word Processor, HWP) 형태로 보도자료를 만들어 배포하였습니다.
하지만 해커들은 이러한 정부의 노력을 비웃기라도 하듯 코로나19 관련 유사 주제로 문서형 악성코드를 제작하여 유포하였습니다. 실제 2020년 4월경에는 ‘인천광역시 코로나 바이러스 대응’이라는 한글파일 제목과 발신자를 질병관리청(당시 질병관리본부)으로 하여 불특정 다수에게 이메일로 문서형 악성코드를 유포하였습니다. 이에 일반 수신자들은 질병관리청의 이메일 및 한글파일을 한 치의 의심 없이 열어보았고, 그 결과 취약점을 통해 셸 코드가 실행되면서 PC가 악성코드에 감염되어 해커의 원격 조종의 대상이 되고 말았습니다.
본 글에서는 이렇게 나날이 교묘해지고 고도화되는 문서형 악성코드의 특징과 동작 원리에 대해 설명하고, 대표적인 피해 사례와 최근 동향에 대해 살펴보고자 합니다.
문서형 악성코드의 중요 매개체 역할을 하는 전자문서에는 대표적으로 PDF와 우리나라의 한글파일이 있으며, 마이크로소프트의 오피스 제품군의 워드(.doc), 엑셀(.xls) 등 여러 종류의 전자문서가 존재합니다. 이러한 전자문서는 일상생활 및 사무 환경에서 PC를 자주 활용하는 현대인들에게 반드시 필요한 전자 도구임에 이견을 갖는 사람은 없을 것입니다. 해커는 이러한 환경 및 매개체를 악용하여 개인정보 탈취, 파일 암호화 등 악성 행위를 하는 것이 바로 문서형 악성코드라고 할 수 있는데, 이는 전자문서의 포맷 특성상 악성코드를 숨길 수 있는 구조와 기능이 존재하기 때문에 가능하게 되는 것입니다.
문서형 악성코드는 일반적인 악성코드의 형태인 실행 파일(exe)이 아닌 전자문서의 확장자 형태(HWP, PDF, DOC 등)로 존재하며, 전자문서를 실행할 경우 내부 수행 메커니즘을 통해 악성코드(exe 형태)가 동작합니다. 즉, 문서형 악성코드는 전자문서 형태로 위장해 악의적인 행위를 하는 소프트웨어라고 말할 수 있습니다. 문서형 악성코드에 대해 보다 자세히 살펴보기 전에 ‘사회공학’ 기법에 대해 간단히 알아보겠습니다.
문서형 악성코드는 기본적으로 사람들 간의 신뢰를 기반으로 대상을 속이는 사회공학 기법을 절묘하게 활용합니다. 즉, 이 방법의 핵심은 전자문서를 통해 기술적으로 교묘하게 사기를 쳐 PC에 악성코드를 설치하는 것이라고 할 수 있겠습니다. 또한 사회공학 기법의 핵심 공격 수단으로 이메일을 사용하는 것인데, 이를 복합적으로 활용하여 해커들은 사용자가 이메일 또는 첨부파일을 반드시 열도록 유도하기 위해 사회적 이슈 또는 관심을 둘만 한 제목(내용)으로 이메일을 유포하여 소기의 공격 목적을 달성하는 것입니다.
예를 들어, 회사 내 계약 관련 담당자에게 계약이 취소됐다는 내용의 제목으로 메일을 보내 결국 전자문서를 열어볼 수 밖에 없도록 유도합니다. 그뿐만 아니라 일반적으로 많이 사용되는 게시판에 흥미를 유발할 수 있는 글을 게시하여 그에 첨부된 전자문서를 읽게 하는 방법도 있습니다. 2010년 초반에는 ‘수원 토막살해 오원춘, 감옥서 의외의 행동’, ‘2013년 대구 세계에너지 총회 발표 내용 요약’ 등 그 해에 이슈가 되었던 사건들을 파일명으로 하여 매우 교묘하게 접근하는 것을 확인할 수 있었으며, 최근에도 이러한 기법을 지속적으로 활용하고 있습니다. 이렇게 사회공학 기법에 속아 전자문서를 열어보게 되면 전자문서 내의 존재하는 취약점을 통해 사용자 모르게 PC가 악성코드에 감염되어 2차 피해가 발생되는 것입니다. 이전에는 이메일에 바로 실행이 가능한 실행 파일 포맷인 PE(Portable Executable) 파일을 첨부하였으나, 정보보호 솔루션에 차단 및 탐지되는 문제로 인해 최근에는 전자문서 파일의 정상 기능 및 취약점을 이용하여 공격하는 형태로 발전되었고 이 또한 다양하고 고도화된 공격 기법이 접목되어 차단 및 탐지가 어려워지고 있습니다.
일반 악성코드와 문서형 악성코드는 무슨 차이?
일반적인 악성코드는 실행 가능한 PE(Portable Executable) 파일 형태의 포맷 구조로 구현되어 있습니다. PE 파일이란 실행 파일 계열(EXE, SCR), 라이브러리 계열(DLL, OCX, CPL, DRV), 드라이버 계열(SYS, VXD), 오브젝트 파일 계열(OBJ)의 파일 형식을 의미하며, 악성코드는 이러한 PE 파일 포맷에 악성 행위를 하는 코드를 숨겨서(일부 악성코드는 원격지에서 복사해 가져오기도 함) 실행에 필요한 추가 응용 프로그램 없이 직접 실행이 가능한 형태의 실행 파일을 말합니다. 반면 문서형 악성코드는 직접 실행이 가능한 일반 악성코드와 달리 직접 실행이 불가능하고, 형태는 전자문서(HWP, PDF, DOC 등) 파일 포맷으로 되어 있어 파일의 내용을 읽기 위해 즉, 파일을 실행하기 위해 전용 응용 프로그램이 반드시 필요합니다. 이 응용 프로그램이 트리거 역할을 하며 전자문서 파일 내에 오브젝트 형태로 존재하고 있는 악성 행위 코드를 동작 시키는 일련의 절차와 코드 구성 모두를 문서형 악성코드라고 정의할 수 있겠습니다.
이러한 문서형 악성코드는 PE 파일형태의 일반 악성코드와 특성이 달라 기존의 악성코드 탐지 방법과는 다르게 선행적으로 문서 종류를 식별하는 과정이 필요하며, 파일 형태별 상이한 구조를 갖고 있어 형태별로 특정하여 분석해야 하기 때문에 탐지가 까다로운 것이 특징으로 알려져 있습니다. 또 다른 특징으로는 압축 및 난독화된 악성 행위 코드가 전자문서 내 오브젝트 형태로 인코딩되어 있어 기존 보안 프로그램에 쉽게 탐지되지 않는 특징을 가지고 있습니다. 이러한 특징으로 인해 최근 문서형 악성코드의 출현이 빈번해지고 증가하는 추이를 보이고 있습니다.

바이러스토탈에서 유입된 악성코드 파일 유형을 살펴보면 Windows 실행 파일인 ‘Win32 EXE’가 가장 많은 것을 알 수 있고, 그다음으로 전자문서 형태인 PDF가 많은 것을 확인할 수 있습니다. 또한, MS Word, Office Open, Excel 등 사무 환경에서 자주 사용하는 문서 파일 유형도 문서형 악성코드로 많이 활용되는 것을 알 수 있습니다. <그림 1>에서 알 수 있듯 글로벌 악성코드 유형 중 Top5 악성코드 중 PDF 약 15%를 차지하며, MS Office 군은 문서형 악성코드 중 22%를 차지하는 것으로 나타났습니다. 또한, 글로벌 문서형 악성코드 유형<그림 1>에는 포함되지 않지만, 국내 공공기관이나 기업에서 많이 사용하는 워드프로세서인 HWP 형태의 문서형 악성코드도 지속적으로 출현하고 있고 점점 증가하고 있는 추이를 보이고 있어, 안전한 사무 환경 조성을 위해 이러한 문서형 악성코드를 효과적으로 분석하고 차단하는 기술 개발의 필요성이 대두되었습니다.
문서형 악성코드는 어떻게 동작할까?
문서형 악성코드는 직접 실행이 불가능하기 때문에 전자파일을 읽는 전용 응용 프로그램이 반드시 필요하며, 이 응용 프로그램을 통해 문서 내 존재하는 악성 행위 코드가 수행되는 절차로 동작됩니다. 보다 자세한 동작 원리는 <그림 2>와 같습니다.
(1) 문서 파일이 첨부되어 있는 이메일을 통해 공격 문서가 피해자에게 전달됨
(2) (실행 후) Reader를 통해 공격자가 심어놓은 취약점에 반응하면 악의적인 행위가 수행됨
(3) 셸 코드 동작 후, 시스템 정보 및 장치를 탐색함
(4) 시스템 환경을 확인하여 악성코드를 다운로드 또는 악의적인 스크립트를 생성함
(5) 악성코드 실행 및 감염됨

이러한 동작 원리로 수행되는 문서형 악성코드를 열면 그 즉시 악성코드가 실행되어 PC를 감염시키고 PC 내부에 존재하는 개인정보 및 민감정보를 탈취하거나 중요 파일을 암호화하는 형태로 공격을 수행합니다. 하지만 특정 문서형 악성코드는 보다 진보된 형태 수행되며, 공격 결과 또한 더욱 위협적일 수 있습니다. 이는 바로 지능형 지속 공격(Advanced Persistent Threat, APT) 기법을 이용하여 시스템을 완벽히 장악할 수 있기 때문입니다. APT 공격은 지능적인 공격 기법을 이용하여 특정 대상을 공격하는 것을 의미하는데, 불특정 다수를 대상으로 삼던 기존 공격과는 달리 특정 기업, 특정 조직을 대상으로 목표를 정한 후 내부로 침투가 성공할 때까지 공격하는 기법입니다. 이러한 APT 공격은 사회공학 기법을 교묘히 활용하기 때문에 공격의 수단으로써 문서형 악성코드가 매우 적합해 실제로 APT 공격 수단으로써 문서형 악성코드가 자주 사용되고 있습니다. 또한 기술적으로도 문서를 열었을 때 바로 악의적인 행위를 하지 않고 특정 시간이나 사용자의 특정 이벤트(인터넷 접속, 마우스 클릭 등)가 발생할 때 동작하도록 하여 공격의 성공률을 높여 더욱 위협적일 수밖에 없습니다.
문서형 악성코드의 피해 사례 및 최근 동향
최초의 문서형 악성코드는 1999년 3월에 출현한 멜리사 바이러스(Melissa Virus)입니다. 멜리사 바이러스는 마이크로소프트 워드(.doc) 문서를 숙주로 삼은 매크로 바이러스이며, 최초로 이메일을 이용해 유포된 바이러스로 짧은 기간에 엄청난 속도로 많은 컴퓨터를 감염시킨 것으로 유명합니다. 이후 ICT 기술의 발전에 따라 PDF, DOC 등 전자문서가 대중화되면서 2007년 PDF 취약점(CVE-2007-0045) 및 문서형 악성코드 관련 논문이 공개되었고, 이를 계기로 문서형 악성코드의 출현이 빈번해지는 시발점이 되었습니다. 2008년에는 PDF가 오픈 포맷으로 표준화(ISO 32000)되면서 포맷 형식의 공개로 인해 취약점을 찾기 원활해졌고 이후 PDF를 이용한 문서형 악성코드의 전성기가 펼쳐지기 시작하였습니다.
| 구분 | 파일제목 |
| 사회적 이슈 | ● ‘중공 5세대 핵심들의 불확실한 미래’ ● ‘수원 토막 살해 오원춘, 감옥서 의외의 행동’ ● ‘가상화폐와 각국의 규제정책 암호통화의 ~~’ ● ‘드론(무인항공기) 현황 및 개선방안’ |
| 주요 인사 및 결제 관련 | ● ‘탈북인 인적사항’, ‘대북 전단 살포 관련 ~~’ ● ‘북한 비핵화 추진을 위한 컨트롤 타워 구축’ |
| 행사, 논문 등 기타 | ● ‘2013년 대구 세계 에너지 총회 발표 내용 요약’ ● ‘2020_OOO_학술대회’, ‘OO대학교 교직원 장학금 신청서’ ● ‘OOO 초청장’ |
| 북한 이슈 | ● ‘탈북인 인적사항’, ‘대북 전단 살포 관련 ~~’ ● ‘북한 비핵화 추진을 위한 컨트롤 타워 구축’ |
| 코로나19 관련 | ● ‘신종_코로나바이러스_관련_소상공인_지원_종합안내’ ● ‘OOOO(지역별) 코로나바이러스 대응’, ● ‘CDC Infomation ~~~’ |

문서형 악성코드로 인해 발생한 국내 침해사고 중 대표적인 사례로 2014년 12월 한국수력원자력(이하 한수원) 사태를 말할 수 있습니다. 해커는 퇴직자 정보를 통해 피싱 메일을 보냈고 내부자료를 탈취하기 위해 그 이메일에 정보 탈취용 문서형 악성코드를 첨부하였습니다. 이 사건은 한수원 직원 약 3,500명에게 문서형 악성코드(HWP)가 첨부된 이메일 약 6,000건을 전송하였으며, 이 사건으로 임직원 약 10,000명의 이름, 사번, 소속, 직급, 이메일주소, 휴대폰 번호 등 총 8가지 항목들이 암호화 처리 없이 유출되었습니다. 또 다른 사례로 2016년 인터파크의 개인 정보 유출 사건을 말할 수 있습니다. 해커가 지인으로 속여 악성코드가 첨부된 이메일을 인터파크 직원에게 발송해 이메일을 열람한 직원의 PC가 감염되어 발생한 사건입니다. 이로 인해 회사 내부의 파일 공유 서버가 불법 점유되었고, 개인정보 담당 직원의 PC를 해킹해 고객 개인정보가 다량 유출되는 큰 피해가 발생하였습니다.
최근 암호화폐가 이슈가 되면서 2017년에는 가상화폐 거래소인 ‘빗썸’의 인사 담당자에게 이력서 파일 위장한 문서형 악성코드를 첨부하여 이메일을 보내 PC 내 저장되어 있던 다수의 개인정보가 유출되었고, 유출된 개인정보를 이용하여 가상화폐 거래소 서비스에 로그인을 시도하였으며, 일부 성공한 계정에서 가상화폐를 출금하는 2차 피해가 발생하였습니다.
국외에서는 이러한 문서형 악성코드가 국내보다 더욱 빈번하게 발생하는 것으로 알려져 있는데, 특히 알려진 랜섬웨어 중 하나인 Locky 랜섬웨어와 TrickBot 악성코드는 Microsoft Word의 DDE(Dynamic Data Exchange) 취약점을 이용한 공격 방식을 기반을 두고 있고, 대부분의 문서형 악성코드의 매개체는 PDF, DOC 형태로 유포되는 것으로 알려져있습니다.
최근 국내 문서형 악성코드의 동향을 살펴보면 2020년 초 국내에 코로나19가 발병하면서 사회 혼란을 틈타 코로나19를 이슈로 한 문서형 악성코드가 활개를 치기 시작하였는데, 대표적으로 2020년 4월 ‘인천광역시 코로나바이러스 대응’ 사건은 소상공인들을 위한 지원이라는 메일을 통해 무분별한 우리 국민을 대상으로 공격이 자행되었습니다. 이 사건의 배후에는 북한의 해커 조직들로 밝혀졌으며, 이 해커 조직은 다양한 한글파일 형태의 문서형 악성코드로 우리나라의 기업 및 기관 등의 기반시설에 공격을 집중하는 경향을 보이는 것으로 조사되었습니다.
글을마치며
이번 포스팅에서는 문서형 악성코드가 무엇인지 그리고 일반 악성코드와 어떠한 차이점이 있는지에 대해 살펴보았고, 최근 문서형 악성코드 동향에 대해서도 알아보았습니다. 4차 산업혁명 및 포스트 코로나 시대에 나날이 교묘해지는 사회공학적 기법과 손잡은 문서형 악성코드의 위협은 지속적으로 커질 것으로 예상됩니다. 문서형 악성코드가 기존 사이버 공격보다 더욱 위협적인 것은 누구나 흥미를 가질 수 있는 주제, 꼭 열람하고 싶을 만한 콘텐츠로 사람의 심리를 콕 짚어 유혹하기 때문에 쉽게 당할 수밖에 없고, 이로 인해 2차, 3차 침해사고로 연결되기 때문입니다.
다음 포스팅에서는 교묘해지고 지속적으로 고도화되는 문서형 악성코드로부터 우리의 정보 자산을 보호하기 위해 실제 다양한 문서형 악성코드 샘플을 이용하여 분석 및 탐지 방법과 문서형 악성코드에 대한 예방법을 연재 형태로 살펴보도록 하겠습니다.
참고문헌
[1] Khan, Riya, et al. “Malware Detection in Word Documents Using Machine Learning.” International Conference on Advances in Cyber Security.” Springer, Singapore, 2020.
[2] Le Blond, Stevens, et al. “A Broad View of the Ecosystem of Socially Engineered Exploit Documents.” NDSS. 2017.
[3] Singh, Priyansh, Shashikala Tapaswi, and Sanchit Gupta. “Malware detection in PDF and office documents: A survey.” Information Security Journal: A Global Perspective 29.3 (2020): 134-153.
[4] Blonce, Alexandre, Eric Filiol, and Laurent Frayssignes. “Portable document format (pdf) security analysis and malware threats.” Presentations of Europe BlackHat 2008 Conference. 2008.
[5] Khan, Riya, et al. “Malware Detection in Word Documents Using Machine Learning.” International Conference on
Advances in Cyber Security. Springer, Singapore, 2020.
[6] kisa, “한글 취약점을 통해 유포되는 악성코드 동향 및 분석”, 2013
[7] https://www.itworld.co.kr/news/85264
[8] https://www.boannews.com/media/view.asp?idx=29676
[9] https://koya-culture.com/news/article.html?no=121643
[10] https://zdnet.co.kr/view/?no=20170323122753
[11] https://post.naver.com/viewer/postView.nhn?volumeNo=10186131
[12] https://jeongzzang.com/189
[13] https://cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2007-0045
[14] https://blog.ahnlab.com/1677
[15] https://asec.ahnlab.com/ko/1108/
[16] https://blog.alyac.co.kr/3586
[17] https://blog.alyac.co.kr/3536
[18] https://www.virustotal.com/ko/statistics/
[19] https://www.hankookilbo.com/News/Read/201503171885878015

KAIST 사이버보안연구센터 사이버위협분석팀 연구원으로 악성코드 분석 프로그램 및 연구를 수행하고 있다.
좋은 글 잘 보고 갑니다 🙂