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

CVE-2010-0188 취약점 악용 PDF에 대한 상세 분석

by 알 수 없는 사용자 2011. 10. 27.

2010년 3월 8일 마이크로소프트(Microsoft)의 Malware Protection Center 블로그에 "CVE-2010-0188: Patched Adobe Reader Vulnerability is Actively Exploited in the Wild" 라는 글이 게시되었다.

해당 글의 요지는 지난 2월 16일 어도비(Adobe)사에서 공지한 아크로뱃 리더(Acrobat Reader) PDF에 존재하는 CVE-2010-0188 및 CVE-2010-0186 취약점에 대한 보안 패치 "
Security updates available for Adobe Reader and Acrobat" 중에서 CVE-2010-0188 취약점을 악용하는 PDF 파일이 발견되었다는 것이다.

ASEC에서는 해당 PDF 파일이 악용한 CVE-2010-0188 취약점과 해당 파일에 대해 상세한 분석을 진행하였다.

해당 취약점에 대한 추가적인 정보는 아래 ASEC 보안 권고문을 통해 확인 할 수 있다.

Adobe Reader (PDF) 코드 실행 취약점 주의 (CVE-2010-0188)

해당 취약점은 2006년 아이폰(iPhone)의 Jailbreak 목적으로 사용되었던 CVE-2006-3459  취약점과 동일한 것이며 취약한 LibTiff 오프소스 라이브러리가 어도비 리더(Adobe Reader) 9.3.0 이하 버전에 포함되어 있어서 발생하는 취약점으로 분석되었다.


해당 취약점을 악용하는 것으로 알려진 PDF 파일의 압축을 풀면 위 이미지에서와 같이 특정 자바스크립트(JavaScript)가 나타나며 해당 자바스크립트 코드는 Heap_Spray 오버플로우(Overflow)를 발생하는 쉘코드(Shellcode)와 함께 exploit.tif 취약점을 악용하는 코드가 아래 이미지와 같이 포함되어 있다.


실제 포함된 취약한 exploit.tif 파일의 내부 구조를 아래 이미지와 같이 살펴보면, "DotRange" 태그가 보이고 그 Value 값에 특정 문자열이 포함되어 있는 것을 알 수 있다.


결국 취약한 PDF 파일 내부에는 자바스크립트를 통해 힙(Heap)을 쉘코드로 채우고 난 이후에 해당 파일의 Value 값으로 RET를 덮어써서 쉘코드로 점프하여 실행하도록 조작되어 있었다.

실제 디버깅 과정에서도 스택(Stack)의 경계를 넘어서는 RET 주소 번지를 "DotRange"의 특정 값을 주소 번지로 채우고 해당 주소로 점프(Jump)하도록 되어 있다.


실제 해당 주소 번지로 점프를 하게되면 해당 취약한 PDF 파일이 가지고 있는 쉘코드가 실행되고 아래 이미지에서와 같이 다른 악성코드를 생성하고 실행하도록 되어 있다.


이러한 방식으로 취약한 PDF 파일을 통해 다른 악성코드의 감염을 시도하는 악성코드는 V3 제품군에서 다음과 같이 진단한다.

PDF/CVE-2010-0188

이러한 어도비 아크로뱃 리더(Adobe Acrobat Reader)의 보안 취약점을 악용하는 악성코드의 감염을 예방하기 위해서는 아래 이미지와 같이 사용하는 제품의 업데이트 기능을 통해 보안 패치를 설치하는 것이 중요하다.

댓글