한글의 매크로, 포스트스크립트, 자료 연결, 배포용 문서 유형으로 공격
[보안뉴스 김경애 기자] 한글 문서를 악용한 악성코드가 지속적으로 발견되고 있어 이용자들의 각별한 주의가 필요하다. 해당 유형의 공격 배후로는 국가 지원을 받는 해커조직으로 금전적 이득을 취하기 위해 방글라데시 중앙은행 등을 공격한 블루노로프, 정보 수집과 사회적 혼란을 목적으로 세종연구소·통일부 등을 공격한 김수키, 정보수집 및 정보 파괴 목적으로 플래시 제로데이를 이용해 외교 및 북한 인권 관련 단체 등을 공격한 스카크러프트 조직이 지목되고 있다. 이들 해커조직의 공격기법은 스피어피싱 이메일, 워터링홀 문서형 악성코드, 제로데이 모바일 악성 앱 등이다.
[표=금융보안원]
공격에 사용된 악성 한글문서는 2014년 한수원 해킹사건 이후부터 2018년 최근까지 다양한 제목 및 내용으로 유포된 각종 문서들이다.
지난 1월에는 통일부 보도자료를 사칭한 악성 한글파일이, 2월엔 ‘가상화폐와 각국의 규제정책 암호통화의_경제적_의미와_정책대응방향_토론회’라는 제목의 한글 파일이, 3월에는 ‘진술서 피심 및 대진’이라는 한글 파일이, 4월은 거래처 원장 한글 파일이, 5월은 PC 보안 점검표 및 매뉴얼 한글 파일이, 6월엔 ‘미국의 대테러전쟁’, ‘나의 참전수기 모음’, ‘죽음에 대한 이해와 성찰’, ‘인사발령(안)’ 한글 악성파일이 줄줄이 발견됐다.
한글 워드프로세서는 개방형 문서 표준 포맷인 XML(Extensible Markup Language) 기반 OWPML(OpenWord Processor Markup Language)과 ODF(Open Document Format)을 지원하는데, 해당 문서들은 문서편집 프로그램을 이용해 한글 파일을 열람할 수 있다. 게다가 한국 정부기관과 수많은 민간기업에서 한글 문서를 많이 사용하고 있기 때문에 한글 문서는 사이버공격에 가장 많이 악용되고 있다.
금융보안원이 발표한 ‘2018 사이버 위협 인텔리전스 보고서- 한글 문서를 이용하는 악성코드 프로파일링’에 따르면 공격자가 사용하는 방식은 한글 워드프로세서의 매크로, 포스트스크립트, 자료 연결, 배포용 문서 등 크게 4가지 유형으로 구분되는 것으로 분석됐다.
이 가운데 포스트스크립트(PostScript)를 악용하는 H-PS 타입의 한글문서가 공격에 자주 이용되고 있는 것으로 드러났다. 포스트스크립트는 디지털 인쇄에서 사용되는 프로그래밍 언어로 다양한 워드프로세서에서 포스트스크립트를 처리할 수 있는 엔진을 탑재하고 있다. 한글 워드프로세서의 경우에는 고스트스크립트(Ghostscript) 엔진을 이용해 포스트스크립트를 처리한다.
이에 공격자는 악성 한글문서 내에 포스트스크립트를 포함한 형태로 해당 한글문서를 열람하는 경우 문서에 포함된 포스트스크립트가 동작하면서 정보수집 등 악성행위를 수행하도록 페이로드를 구성한다.
포스트스크립트와 관련된 기능은 2016년 8월 이후로 한글 워드프로세서에서 제거된 상태로, 최신 버전의 한글 워드프로세서는 더 이상 큰 위협이 되고 있지 않다. 그럼에도 공격에 계속 악용되고 있는 이유는 구버전 사용자가 많기 때문이다.

[표=금융보안원]
이렇듯 악성 한글문서는 문서파일의 특징을 이용하기 때문에 한글문서 파일 포맷 구조가 유용한 정보가 된다. 한글문서 파일은 파일 헤더, 문서 정보, 본문, 문서 요약 정보, 바이너리 데이터, 미리보기 텍스트, 미리보기 이미지, 문서옵션, 스크립트, XML 템플릿, 문서이력 관리정보로 구성돼 있다.
파일 헤더는 한글문서 파일이라는 시그니처를 포함한 파일 인식 정보로, 한글문서 파일 여부 확인이 가능하다. 또한, 문서정보는 글꼴, 글자 속성, 문단 속성과 같은 문서 내 공통으로 사용되는 세부정보를 말한다.
본문은 문단, 표, 그리기 개체와 같은 내용을 저장한다. BodyText 스토리지 내 문단의 텍스트(HWPTAG_PARA_TEXT)를 나타내는 태그에 비정상적인 값의 삽입 여부 확인이 가능하다. 배포용 문서의 경우 ViewText 스토리지를 추가적으로 사용한다.
문서 요약 정보는 한글 문서 제목, 작성자(Author), 생성 및 최종수정 날짜 정보를 확인할 수 있으며, 공격자 프로파일링을 위한 각종 요소로 활용 가능하다.
바이너리 데이터는 BinData 스토리지 하위에 OLE 개체와 포스트스크립트가 각각의 스트림으로 저장한다. 저장된 스트림 중 OLE 개체와 포스트스크립트 등의 비정상적인 스트림 확인이 가능하다.
미리보기 텍스트는 유니코드 문자열로 미리보기 텍스트가 저장된다. 문서 본문 내용을 파악할 수 있다. 미리보기 이미지는 BMP 또는 GIF 형식으로 미리보기 이미지가 저장된다. 문서 옵션은 연결문서, 배포용 문서, DRM, 전자서명 관련 정보가 각각의 스트림으로 저장된다.
스크립트는 자바스크립트가 Scripts 스토리지 하위에 스트림으로 저장된다. 이를 통해 비정상적인 자바스크립트 여부를 확인할 수 있다. 이와 함께 XML 템플릿은 XML 템플릿 정보를, 문서이력 관리정보는 문서의 이력정보를 저장한다.
이와 관련 금융보안원 측은 “한글 워드프로세서를 최신 버전으로 업그레이드하지 않거나 불법적인 경로를 통해 구버전의 소프트웨어를 다운로드해 사용하고 있기 때문에 문제가 되고 있다”며 “한글문서의 최신 업데이트 적용 등의 조치를 통해 보안의 사각지대를 제거하는 노력이 지속적으로 이루어져야 한다”고 당부했다.
덧붙여 금융보안원 측은 “다양한 위협그룹을 추적 및 분석해 한글문서를 악용하는 각 위협그룹들의 특징적인 공격 방식을 전체적으로 파악하고 데이터베이스화 하고 있다”며 “한글 악성코드의 주요 정보를 추출 및 분류하는 작업을 자동화해 분석의 효율성을 높이는 도구 개발 역시 진행 중이다. 축적된 데이터를 기반으로 작성한 이번 보고서의 분석 결과는 각 금융회사 및 유관기관들과의 공유를 통해 악성 한글문서를 악용한 스피어피싱 이메일 공격에 협력적 대응이 가능할 것”이라고 밝혔다.
[김경애 기자(boan3@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>