본문 바로가기
분석 정보/악성코드 분석 정보

[악성코드 분석] 워드 문서 DDE 취약점을 이용한 악성코드 유포 주의

by TACHYON & ISARC 2017. 11. 13.

워드 문서 DDE 취약점을 이용한 악성코드 유포 주의 




1. 개요 


최근 ‘DDE’ 취약점을 이용한 악성코드가 유포되어 사용자들의 주의가 요구되고 있다. 이전에는 악성코드를 실행시키기 위해 MS Office의 매크로 기능 및 'JS', 'VBS' 등의 스크립트언어를 이용하였으나, 최근에는 ‘DDE’ 기능을 활용해 실행시키고 있다. 


DDE란 ‘Dynamic Data Exchange’의 약어로 윈도우 응용 프로그램간의 동일한 데이터를 공유하도록 허용하는 방법 중 하나이다. 해당 기능은 워드뿐만 아니라 엑셀, 비쥬얼 베이직 등 다양한 응용프로그램에서 사용되고 있다. 이 기능은 다른 프로세스를 실행시킬 수 있으며 이 기능을 악용하여 악성코드를 다운로드 받거나, 실행시키기 때문에 문제가 된다. 또한 응용 프로그램을 실행할지 묻는 것 이외에는 어떠한 보안 경고를 표시하지 않아 실행 시 주의를 요한다.


이번 분석 보고서에서는 이러한 ‘DDE’와 해당 기능의 취약점을 이용한 악성코드 유포 사례를 알아보고자 한다.




2. 분석 정보


2-1. 파일 경로

구분

내용

파일명

임의의 파일명.doc

파일크기

43,520 byte

진단명

Suspicious/W97.DDEAuto

악성동작

다운로드, 추가 악성 파일 실행











2-2. 유포 경로

이메일을 통하여 불특정 다수를 대상으로 유포되고 있으며, 이메일의 제목과 본문 등은 유포 시점에 따라 다양하게 변경되고 있다.


[그림 1] 이메일 유포 사례[그림 1] 이메일 유포 사례



2-3. 실행 과정

메일에 첨부된 파일을 실행하면 기본적으로 제한된 보기 기능의 보안 주의 메시지가 보여지게 된다. 해당 메시지를 사용자가 사전에 인지하여 종료를 눌러주면 추가적인 위협에 노출되는 것을 막을 수 있다. 하지만 대부분의 사용자들은 워드 문서를 자주 다운로드해 사용하므로 별다른 문제없이 ‘편집 사용’ 버튼을 누름으로써 실행되게 된다.


[그림 2] 이메일 첨부파일 실행 시 화면[그림 2] 이메일 첨부파일 실행 시 화면




3. DDE 기능


3-1. DDE란

‘DDE’란 윈도우 응용 프로그램간에 정보를 공유하도록 허용하는 방법이다. 예를 들어 다른 데이터 베이스 프로그램에서 폼을 변경하거나 엑셀에서 자료 항목을 변경할 때 다른 어떤 프로그램에서 동시에 사용하고있을 그 폼이나 항목 등을 함께 바뀌도록 정보 공유를 허용할 때 이용하는 기능이다. 먼저 아래의 간단한 예시로 ‘DDE’를 알아보고 이 기능을 어떻게 악의적으로 이용하는지에 대해 알아보자.



3-2. DDE를 이용한 예시

먼저 워드에서 DDE를 사용하기 위해서는 삽입 탭의 빠른 문서 요소 → 필드 → =(Formula)를 선택한다.


[그림 3] 수식 필드 추가[그림 3] 수식 필드 추가


수식 추가 후 [!수식의 끝이 잘못되었습니다.]이라고 적혀있는 오류가 있는 필드가 나타난다. 필드를 마우스 오른쪽 단추로 클릭하여 필드 코드 토글을 누른다.


[그림 4] 필드 코드로 전환[그림 4] 필드 코드로 전환


이제 필드 코드로 전환이 되었으므로 “DDEAUTO” 키워드를 이용하여 다른 프로세스를 실행 시킨다.


DDEAUTO C:\\windows\\system32\\cmd “/k calc.exe”


먼저 “DDEAUTO”DDE필드임을 워드에게 알리고, 문서가 열릴 때 자동 실행된다. “DDEAUTO”의 다음에는 실행할 파일의 전체 경로를 넣고 따옴표 사이는 실행파일의 명령어(인수)로 전달된다.


[그림 5] DDEAUTO[그림 5] DDEAUTO

 

그 다음 워드 문서를 저장 후, 컴퓨터에서 문서를 실행하면 다음과 같은 메시지 창이 두 번 보여진다. 첫번째 창은 문서 업데이트를 묻는다. 확인 시 두번째 메시지 창에서는 응용프로그램을 실행 할 지 여부를 묻는다. 이는 사용자에게 “cmd.exe”를 실행하도록 묻기 때문에 경고로 간주될 수 있지만 이러한 문구는 구문 수정으로 숨길 수 있으므로 사용자가 알아차리기 힘들다.


[그림 6] 문서 실행 시 메시지 창[그림 6] 문서 실행 시 메시지 창


사용자가 해당 메시지박스를 모두 예를 누를 시, 워드 문서 실행만으로 위 필드코드에서 입력한 명령어가 같이 실행되는 모습을 확인할 수 있다.


[그림 7] 계산기가 실행 된 모습[그림 7] 계산기가 실행 된 모습

 



4. DDE 취약점을 이용한 악의적인 문서


4-1. 문서 실행

위의 예시로 사용자가 문서 실행만으로 다른 프로세스를 실행시킬 수 있는 모습을 확인하였다. 다음은 현재 유포되고있는 이 기능을 악용한 문서이다. 해당 문서는 “입금 확인 스크린 샷입니다.” 라는 내용을 담고 있으며 사용자의 궁금증을 유발해 실행을 유도한다.


[그림 8] 실제 악성 문서 실행[그림 8] 실제 악성 문서 실행


메시지 창을 모두 누를 시 파워 쉘이 실행되고, 아래 주소에서 파일을 다운로드 하기 위해 시도한다. 해당 파일은 악성 행위에 사용될 파일로 이렇게 DDE 기능을 이용하여 악의적으로 파일을 다운로드 받거나 실행한다


[그림 9] 파워쉘을 이용하여 파일 다운로드[그림 9] 파워쉘을 이용하여 파일 다운로드


해당 필드 코드는 아래와 같이 확인이 가능하다.


[그림 10] 필드 코드[그림 10] 필드 코드





5. 결론

이번 보고서로 알아본 DDE 취약점은 사용자들에게 잘 알려지지 않은 기능을 악용한 사례이다. 해당 기능은 MS사의 정식기능이기 때문에 패치 되거나 제거 되지 않을 것으로 보여진다. 따라서, 워드 문서를 실행 시 사용자의 주의가 요구된다. DDE 기능을 비활성화 하기 위해서는 워드 프로그램에서 “파일 → 옵션 → 고급 → 일반 → 문서를 열 때 자동 연결 업데이트” 항목의 체크를 해제하면 된다.

[그림 11] 자동 연결 업데이트 체크 해제[그림 11] 자동 연결 업데이트 체크 해제


또한 잉카인터넷 안티바이러스 제품 nProtect Anti-Virus/Spyware V4.0에서 진단 및 치료가 가능하다.


[그림 12] nProtect Anti-Virus/Spyware V4.0 진단 및 치료 화면[그림 12] nProtect Anti-Virus/Spyware V4.0 진단 및 치료 화면