전체상품목록 바로가기

본문 바로가기

 
신규가입 3,000P 지급
현재 위치
  1. 게시판
  2. 뉴스/이벤트

뉴스/이벤트

 

게시판 상세
제목 [Ahnlab]달라진 2020년 한글 파일 공격, 가장 주목할 점은?
작성자 (주)소프트정보서비스 (ip:)
  • 평점 0점  
  • 작성일 2020-07-09
  • 추천 추천하기
  • 조회수 1013

‘고스트스크립트(Ghostscript)’로 알려진 CVE-2017-8291 취약점을 이용한 악성 한글 파일(*.HWP)은 지난 3년 동안 지속적으로 발견되고 있다. 공격 대상부터 공격 방식까지 여전히 동일한 방법을 유지하고 있다. 그렇다면 최근 유포된 악성 파일은 이전 방식과 비교했을 때 어떤 차이점이 있을까? 안랩 시큐리티대응센터(AhnLab Security Emergency response Center, 이하 ASEC)가 추적, 분석한 내용을 바탕으로 2020년에 유포되었던 고스트스크립트 취약점을 이용한 한글 파일 공격 형태를 사례별로 살펴보고, 이전 유포 파일과 비교하였을 때 주목할 만한 점은 무엇인지 소개한다.

 

 

 

고스트스크립트 취약점을 이용한 악성 한글 파일은 2017년 6월 최초 발견된 이후 현재까지 끊임없이 제작 및 유포되고 있다. 이에 ASEC 분석팀은 2019년 7월 『한글 파일에 숨어든 ‘고스트’』란 제목으로 CVE-2017-8291 취약점에 대한 상세 분석 보고서를 발표한 바 있다. 주로 공공 기관이나 가상 화폐 관련 기업 등의 대상을 타깃으로 공격하고 있으며, 해당 고스트스크립트 취약점에 대한 한글 프로그램 보안 업데이트가 이미 제공되었음에도 불구하고 공격자는 여전히 동일한 공격 방식을 이용하고 있는 것으로 드러났다. 취약점을 이용하여 최종 실행되는 쉘코드 및 이후 동작 방식은 계속 변경되고 있지만 공격자가 노리는 타깃 취약점 및 익스플로잇 방식은 2017년 6월 이후 현재까지 동일한 것이다.

 

1. 2020년에 유포된 악성 한글 파일 동향

그렇다면 2020년에 유포된 악성 한글 파일은 어떻게 달라졌을까? CVE-2017-8291 취약점을 이용한 HWP 형식의 악성 한글 파일의 동향을 안랩이 수집한 악성 한글 파일을 통해 알아본다.

 

 


[표 1]을 보면 2020년 4월부터 악성 한글 문서 파일 유포가 증가하였는데, 이는 코로나19 바이러스와 관련된 악성코드 유포와 연관이 있다. 인천광역시, 부산광역시, 전라남도 지역으로 동일한 내용이 일부만 변형되어 유포된 것을 확인할 수 있다.

 

유포된 문서 내용을 토대로 확인된 공격 대상은 2020년 이전과 크게 다르지 않다. 정부 기관이나 기업 또는 개인 구직자를 사칭하였고, 시기적으로 이슈가 되는 내용으로 위장하고 있어 공격 대상이 해당 파일을 악성코드로 의심하기 어려운 점도 동일하다. 또한 내용상 특정 직업이나 모임을 공격 대상으로 하고 있어 불특정 다수를 대상으로 유포되는 것이 아닌 타깃형 공격임이 확인되었다. [그림 1]~[그림 6]은 유포된 악성 한글 파일 문서 일부를 발췌한 것이다.

 

  

 

  

 

[그림 1]은 2020년 1월 '중국 지식인들의 북한 관을 살펴보면서'라는 제목으로 유포된 악성 한글 파일이다. [그림 2]는 2020년 2월에 유포되었으며, '(첨부2)20-0206_법인_운영상황_평가표_서식(법인작성용)'이라는 파일의 제목으로 미루어 정부 기관이나 기업 메일 등에 첨부된 파일로 위장하여 담당자의 클릭을 유도한 것으로 보인다.

 

  

 

  

 

2020년 4월에는 '전라남도 코로나바이러스 대응 긴급조회'라는 제목의 악성 파일이 유포되었다. [그림 3]과 같이 코로나19 바이러스와 관련된 내용으로 위장한 문서들이 지역 이름 및 내용의 일부만 변형되어 지난 4월에 집중적으로 유포된 것으로 보인다. [그림 4] 또한 같은 시기에 유포된 '참고인출석요구서' 파일이다.

 

  

 

  

 

[그림 5]와 [그림 6] 또한 2020년 4월에 유포된 파일 내용의 일부를 발췌한 것으로, 각각 '2020년 연구ㆍ전문원 및 수자원분야 경력사원 선발 모집요강'과 '[조회]비트코인 투자 카페 강퇴&활동 정지'의 제목으로 유포되었다. 이는 기업뿐만 아니라 구직자, 커뮤니티 사용자 등 개인 사용자도 공격 대상에 포함된 것으로 파악된다.

 

2. 고스트스크립트 취약점 및 악성 EPS 파일의 변화 분석

취약점이 발생하는 원인은 한글 문서에 삽입된 악성 EPS(Encapsulated PostScript) 파일에 있다. 사용자 눈에 보이지 않을 정도의 작은 크기로 문서에 삽입된 비정상적인 이미지 포맷인 악성 EPS 객체가 있고, 고스트스크립트 인터프리터가 각 페이지를 화면에 표현하기 위해 EPS 객체를 처리하는 과정에서 악성코드가 실행된다. 따라서 공격자가 EPS 파일만 제작해 둔다면, 한글 문서는 어떠한 내용이어도 상관 없다.

 

  

 

이러한 EPS 파일은 포스트스크립트(PostScript) 언어로 작성되는데, 공격자는 이전부터 스크립트 언어의 특징을 이용하여 그 코드 형태를 다양하게 변경하여 은폐하고 있었다. 또한 취약점을 유발하는 핵심적인 부분이 스크립트로 그대로 노출되지 않도록 < > 안에 16진수 데이터 값에 저장한 뒤 XOR 인코딩을 하거나 변수 치환, 불필요한 코드 삽입 등의 방식으로 난독화한다.

 

그러나 올해 유포된 악성 한글 파일을 분석한 결과, 공격자가 지난 2020년 4월을 기점으로 포스트스크립트 코드의 형태를 크게 변경한 것으로 확인됐다. 기존의 XOR 인코딩이나 난독화 형태를 이용하는 것이 아니라 형태가 매우 단순하면서도 악성 기능이 실행될 수 있는 포스트스크립트 문법을 이용하였다. 이는 기존에 없었던 방식이다.

 

악성코드의 형태가 단순해진다는 것은 정상적인 EPS 파일과 구별하기 어렵다는 것을 의미하며, 이는 곧 파일 기반의 악성코드 탐지를 어렵게 한다. 공격자는 반복적인 XOR 인코딩이나 코드, 치환 문법을 제거함으로써 오히려 기존 탐지 방안을 회피할 수 있었다. 메모리 상에서 최종 실행되는 CVE-2017-8291 취약점 익스플로잇 코드는 2017년 6월 이후 현재까지 모두 동일하다는 점은 변함 없다.

 

3. 최근 변경된 포스트스크립트 코드 분석

최근 변경된 포스트스크립트 코드를 살펴보면 공격자는 새로운 방식의 EPS 파일에 포스트스크립트 문법을 이용했다.

 

< > 안에는 16진수로 표현되는 리터럴(literal) 데이터 값이 들어가는데, 이 리터럴 객체를 def를 통해 변수로 정의한 다음 ‘cvx exec’ 만으로 해당 객체를 실행 가능하도록 한 뒤 즉시 실행한다. 따라서 < > 안의 16진수 데이터가 실행되게 되는데, 이 때 < > 안에 있는 데이터의 정체는 취약점을 유발하여 쉘코드를 실행하는 포스트스크립트 코드이다. 지난 2020년 4월과 5월에 접수된 악성 한글 문서 내 EPS 파일은 현재까지 3가지 변수명(/image, /tomato, /airplane)을 이용하였다.

 

코드 형태만 달라졌을 뿐 취약점 동작 방식 자체는 같기 때문에 스택 포인터 이동, 타입 컨퓨전(Type confusion) 취약점 발생, 타입(Type)이 변경된 객체를 이용한 쉘코드와 가젯 실행 등의 흐름은 모두 동일하다.

 

4. 결론

공격자는 특정한 한 공격 그룹만 한글 파일을 이용해 공격하는 것이 아니기 때문에, 앞서 분석한 것과 악성 EPS 파일의 형태는 변경될 가능성도 있다. 더 나아가 공격에 사용된 코드가 시기적으로 나타나는 일시적인 코드 패턴인지, 아니면 앞으로도 지속될 유형인지도 계속 모니터링해볼 필요가 있다.

 

안랩은 EPS 파일에 대한 진단을 파일 진단 및 행위 기반 탐지 등의 다양한 방법으로 다양하게 대응하고 있으며, 안랩 제품에서는 해당 악성 EPS 파일을 다음과 같은 진단명으로 탐지하고 있다.

 

- HWP/Exploit

- Exploit/HWP.Generic

- Exploit/EPS.Generic

- Malware/MDP.Behavior.M2411

첨부파일
비밀번호 수정 및 삭제하려면 비밀번호를 입력하세요.
댓글 수정

비밀번호 :

/ byte

비밀번호 : 확인 취소


HOME  COMPANY  BOARD  AGREEMNET  PRIVACY  GUIDE

011-17-010436

농협 / (주)소프트정보서비스

015-01-0690-148

국민 / (주)소프트정보서비스

WORLD SHIPPING

PLEASE SELECT THE DESTINATION COUNTRY AND LANGUAGE :

GO
close