ASEC에서는 그 동안 악성코드에 의해 정상 윈도우(Windows) 시스템 파일을 변조시켜 악의적인 기능을 수행하는 패치드(Patched) 형태의 악성코드에 대한 정보들을 공개하였다.


특히 다양한 온라인 게임의 사용자 정보들을 탈취하는 온라인 게임 관련 트로이목마(OnlineGameHack)에 의해 온라인 게임의 메인 실행 프로세스의 주소 공간에 악성코드인  DLL 파일을 안정적으로 실행시키기 위해 윈도우 시스템의 정상 DLL 파일들을 감염 시키는 형태가 자주 발견되고 있다.


이러한 형태의 악성코드들을 일반적으로 패치드(Patched) 형태의 악성코드라고 불리고 있으며, 현재까지 발견된 악성코드에 의해 사용되는 패치드 기법들을 다음과 같이 정리 할 수 있다.


1. DLL 파일에 악의적인 DLL 파일을 로드하는 코드 삽입 후 이 코드로 분기하도록 패치하는 형태


일반적으로 많이 알려진 패치드 형태로서, 과거 3년 전부터 발견되기 시작하였으며, 주로 패치의 대상이 되었던 윈도우 정상 DLL 파일들은 imm32.dll, olepro32.dll, dsound.dll과 같다. 


패치가 된 DLL 파일은 위 이미지와 같이 파일의 섹션 끝 부분에 쉘코드(Shellcode)가 삽입 되어 있다



엔트리포인트(EntryPoint) 변경 후에는 콜 패치(Call Patch) 등의 방법으로 삽입된 코드가 실행이 되면 아래 이미지와 같이 LoadLibraryA가 호출이 되어 악의적인 DLL 파일이 로드 된다.



2. 윈도우 정상 DLL 파일을 악의적인 DLL 파일로 교체 한 뒤, 정상의 Export 함수들을 리다이렉트(Redirect) 시키는 형태

직접적으로 윈도우 정상 DLL 파일을 악의적인 DLL 파일로 교체하는 형태를 이야기 한다. 

이렇게 윈도우 정상 DLL 파일을 감염 시켰을 경우 원래 정상 DLL 파일의 익스포트(Export) 함수들이 정상적으로 호출이 되어야 함으로 익스포트 네임 테이블(Export Name Table)에서 이 함수들로 리다이렉트(Redirect) 시켜 주게 된다.

일반적으로 대상이 되었던 윈도우 정상 DLL 파일들은 ws2help.dll이나 wshtcpip.dll 들이다.


3. AppInit_DLL 레지스트리를 이용한 악의적인 DLL 파일 로드


윈도우 정상 DLL 파일들을 직접적으로 감염 시키는 형태는 아니지만, 온라인 게임 프로세스에 악의적인 DLL을 로드하기 위해 AppInit_DLL 레지스트리를 이용하는 형태이다.


해당 레지스트리에 악의적인 DLL 파일의 파일명을 삽입하게 되면 프로세스가 생성이 될 때, 레지스트리에 있는 존재하는 악의적인 DLL 파일이 로드되는 형태 이다.


4. 온라인 게임 프로세스와 동일 경로에 윈도우 정상 DLL 파일들과 동일한 파일명의 악의적인 DLL 파일 생성


전통적인 DLL 인젝션(Injection) 기법 중 하나로 많이 알려진 형태이며, 2012년 상반기에 발견되기 시작하여 최근 자주 발견되고 있는 온라인 게임 관련 악성코드에서 사용하는 기법이다. 주 대상이 되고 있는 윈동 정상 DLL 파일은  Usp10.dll 을 들 수 있다.

 

온라인 게임 관련 트로이목마 드로퍼(Dropper)가 온라인 게임 프로세스와 같은 경로에 악의적인 usp10.dll 파일을 생성한다. 그 이후 온라인 게임 프로세스가 생성이 될 때 윈도우 시스템 폴더(system32)에 존재하는 정상 usp10.dll 파일 보다 우선 순위가 높은 CurrentPath에 존재하는 악의적인 usp10.dll을 먼저 로드 하게 된다. 그 후 악의적인 usp10.dll 파일이 악의적인 행위를 수행한 뒤에  정상 usp10.dll로 로드하여 정상적인 기능도 제공을 해주는 형태로 동작한다.


5. 리다이렉트(Redirect) 대신 LoadLibrary로 직접 정상 DLL 파일을 로드한 뒤, 해당 익스포트(Export) 함수를 호출하는 형태


각 익스포트(Export) 함수에서 직접 정상 DLL 파일을 로드한 후, GetProcAddress 함수를 이용해 정상 DLL 파일의 익스포트(Export) 함수 주소를 얻은 후 호출하여 정상적인 기능을 제공한다.

이러한 형태로 각각의 익스포트(Expor)t 함수들을 분석을 해보면 아래 이미지와 같이 쉽게 백업된 정상 DLL 파일의 파일명인 ws2helpxp.dll을 확인 할 수 있다.




6. 각각의 익스포트(Export) 함수가 널(Null)로 채워져 있거나, 인코딩(Encoding) 되어 있는 형태

 

정상 DLL 파일명을 확인하기 어려도록 하기 위한 목적으로 각 익스포트(Export) 함수가 아래 이미지와 같이 널(Null)로 채워져 있거나 인코딩(Encoding) 되어 있는 형태들이다.



최근에는 아래 이미지와 같이 문자열을 바로 보여지지 않으려는 시도까지 하고 있다.



앞서 우리는 윈도우 시스템 정상 DLL 파일들을 변조하는 패치드 형태의 악성코드들의 다양한 기법들을 살펴 보았다.


이러한 패치드 형태의 악성코드들이 자주 발견되고 있는 배경으로는 온라인 게임의 사용자 개인 정보를 탈취 하려는 목적과 연관이 되어 있으며, 최근에는 보안 소프트웨어를 무력화하기 위한 목적까지 포함되기 시작하였다.


특히 몇 년전부터 온라인 게임 관련 악성코드들은 유저모드(User Mode)와 커널 모드(Kernel Mode)에 걸쳐 다양한 기법들을 이용해 보안 소프트웨어를 무력화하고자 시도하고 있다. 최근에는 직접적으로 보안 소프트웨어를 공격하기 보다는 좀더 취약하고 방어하기 어려운 윈도우 정상 DLL 파일을 감염시켜 보안 소프트웨어를 무력화 시키고자 시도하고 있다.


이렇게 보안 소프트웨어의 발전과 함께 악성코드 역시 다양한 기법들을 동원하여 진단 및 치료를 어렵게 함과 동시에 직접적으로 보안 소프트웨어를 무력화하기 위한 다양한 기법들을 사용하고 있다. 그러므로 컴퓨터 시스템을 사용하는 개별 사용자가 시스템 관리와 보안에 대한 각별한 관심이 필요하다.

저작자 표시 비영리 변경 금지
신고
Posted by 비회원

10월 17일 ASEC에서는 윈도우 도움말(HLP) 파일을 이용해 내부 정보들을 탈취하기 위한 목적으로 제작된 악성코드가 국내에 유포 된 것을 발견하였다.


이번에 윈도우 도움말 파일을 이용하여 유포된 악성코드는 아래 이미지와 동일하게 이메일의 첨부 파일 형태로 유포되었다.



유포된 이메일은 "쟁점 Q&A 통일외교"와 "전략보고서"라는 제목을 가지고 있는 2가지 형태이며 공통적으로 메일 본문에는 아무런 내용이 존재하지 않는다.


그리고 메일을 보낸 송신인은 국내 유명 포털 웹 사이트에서 제공하는 메일 서비스를 이용해 동일한 메일 주소를 사용하고 있다.


유포된 이메일에는 총 2가지 형태의 "쟁점Q&A 통일외교.zip (62,247 바이트)"와 "전략보고서.zip (61,742 바이트)" 의 첨부 파일이 존재하며, 압축 파일의 압축을 풀게 되면 "쟁점Q&A 통일외교.hlp (129,883 바이트)"와 "전략보고서.hlp (129,375 바이트)" 이 생성된다.


생성된 해당 HLP 파일들을 실행하게 되면 아래 이미지와 동일한 내용이 보여지게 된다.




그리고 해당 HLP 파일들에 의해 백그라운드로 아래의 경로에 동일한 "winnetsvr.exe (114,688 바이트)" 파일을 생성하고 실행하게 된다.


C:\WINDOWS\Temp\winnetsvr.exe 


생성된 winnetsvr.exe 파일은 다음의 윈도우 레지스트리 키를 생성하여 "Windows Kernel Srv" 명칭의 윈도우 서비스로 실행되도록 구성하게 된다.


HKLM\SYSTEM\ControlSet001\Services\Windows Kernel Srv\

ImagePath = "C:\WINDOWS\Temp\winnetsvr.exe"


그리고 감염된 시스템에서 다음의 정보들을 수집하여 외부 네트워크에 존재하는 특정 시스템으로 수집한 정보들을 전송하게 된다. 


감염된 시스템의 IP

감염된 시스템의 프록시(Proxy) IP

사용자 계정명

감염된 시스템의 운영체제 정보

HTTP를 이용한 파일 업로드 및 다운로드

CMD.exe를 이용한 콘솔 명령 실행


이 번에 발견된 윈도우 도움말 파일을 이용해 유포된 악성코드는 V3 제품 군에서 다음과 같이 진단한다.


HLP/Exploit

Trojan/Win32.Agent


그리고 향후 출시 예정인 V3 인터넷 시큐리티(Internet Security) 9.0 에 포함된 ASD 2.0의 MDP 엔진에서도 시그니처 없이 다음과 같이 탐지가 가능하다.


Dropper/MDP.Exploit

Suspicious/MDP.Exploit


앞서 언급한 바와 같이 이번에 유포된 악성코드는 외부 메일 서비스를 이용하여 내부 임직원들에게 유포되었다. 그러므로 잘 모르는 메일 주소나 송신인이 보낸 메일에 첨부된 파일들은 실행 시에 각별한 주의가 필요하다.

저작자 표시 비영리 변경 금지
신고
Posted by 비회원

ASEC에서는 2009년부터 익스플로잇 툴킷(Web Exploit Toolkit)이라는 웹을 기반으로 하여 웹 브라우저(Web Browser)나 웹 기반 애플리케이션(Web Application)들에 존재하는 취약점들을 자동으로 악용하도록 제작된 툴킷의 위험성에 대해 언급하였다.


그리고 웹 익스플로잇 투킷의 한 종류인 블랙홀(Blackhole) 웹 익스플로잇 툴킷을 이용하여 실제 사회적 주요 이슈나 소셜 네트워크(Social Network)와 같은 일반 사람들이 관심을 가질 만한 내용들을 포함한 스팸 메일(Spam Mail)의 사회 공학(Social Engineering) 기법으로 악성코드 유포를 시도한 사례들이 다수 존재한다.


2012년 6월 - 스팸 메일과 결합된 웹 익스플로잇 툴킷


2012년 7월 - 링크드인 스팸 메일과 결합된 블랙홀 웹 익스플로잇 툴킷


2012년 8월 - 페이팔 스팸 메일과 결합된 블랙홀 웹 익스플로잇 툴킷


특히 올해 2012년 4분기에는 미국과 한국에는 대통령 선거라는 정치적인 중요한 이슈가 존재하다. 이러한 중요한 이슈를 악용하여 스팸 메일에 존재하는 악의적인 웹 사이트 링크로 유도하는 사례가 발견되었다.


이 번에 발견된 스팸 메일 사례에는 아래 이미지와 같이 미국 대통령 선거의 후보 중 한 명인 미트 롬니(Mitt Romney)가 60% 차이로 앞서고 있다는 허위 사실을 포함하여, 하단에 존재하는 웹 사이트 링크를 클릭하도록 유도하고 있다.



해당 링크를 클릭하게 될 경우에는 블랙홀 웹 익스플로잇 툴킷의 악의적인 웹 사이트로 연결되도록 설정되어 있어, 사용하는 시스템에 웹 브러우저와 웹 애플리케이션에 취약점이 존재 할 경우에는 이를 악용하여 다른 악성코드의 감염을 시도하게 된다.


이 번에 발견된 미국 대통령 선거 뉴스로 위장한 스팸 메일을 통해 유포된 악성코드들은 V3 제품 군에서 다음과 같이 진단한다. 


PDF/Exploit

Java/Cve-2012-1723

Trojan/Win32.Pakes 


현재 웹 익스플로잇 툴킷을 이용하여 다양한 악성코드를 유포 중에 있음으로 각별한 주의가 필요하다. 그리고 향후에도 미국과 한국의 대통령 선거와 관련된 사회적 중요 이슈들을 악용한 보안 위협이 발생할 가능성이 높음으로 주의가 필요하다.

저작자 표시 비영리 변경 금지
신고
Posted by 비회원

ASEC에서는 그 동안 한글 소프트웨어에 존재하는 취약점들을 악용하는 악성코드 유포 사례들을 공개 한 바가 있다.


그리고 2012년 6월 15일에는 한글 소프트웨어에 존재하는 알려지지 않은 제로 데이(Zero-Day, 0-Day) 취약점을 악용한 악성코드 유포 사례가 있음을 공개하기도 하였다.


2012년 10월 8일 한글 소프트웨어에 존재하는 알려지지 않은 제로 데이 취약점을 악용하여 악성코드 유포를 시도한 사레가 다시 발견되었으다.


이 번에 발견된 제로 데이 취약점을 악용하느 취약한 한글 파일은 아래 이미지와 같은 내용을 가지고 있으며, 유포 당시에는 "한반도통일대토론회-120928.hwp (225,792 바이트)"라는 파일명을 사용하였다.



해당 취약한 한글 파일은 앞서 언급한 바와 같이 한글 소프트웨어에 존재하는 알려지지 않은 제로 데이 취약점을 악용하고 있으며, 현재 한글과 컴퓨터에서 관련 보안 패치를 제공하지 않고 있다.


악용되는 취약점은 한글 소프트웨어에서 사용되는 HwpApp.dll에 존재하는 한글 문서 내용을 파싱 할 때 발생하는 힙 스프레이 오버플로우(Heap-spray Overflow)로 인한 코드 실행 취약점이다.


이 번에 유포된 취약한 한글 파일을 한글 소프트웨어가 설치된 시스템에서 열게 되면 다음 아미지와 같은 순서에 의해 악성코드들에 감염 된다.



먼저 취약한 한글 파일을 열게 되면 kbs.dll (115,200 바이트)가 다음 경로에 생성 된다.


C:\Documents and Settings\[사용자 계정명]\Local Settings\Temp\kbs.dll


생성된 kbs.dll는 다시 동일한 경로에 kbs.exe (90,112 바이트)를 생성하게 되며, kbs.exe 다시 아래의 경로에 자신의 복사본인 svchost.exe (90,112 바이트)와 함께 p_mail.def (10 바이트)와 com.dat (40,960 바이트)를 순차적으로 다음 경로에 생성하게 된다.


C:\WINDOWS\system32\2065\p_mail.def

C:\WINDOWS\system32\2065\svchost.exe

C:\WINDOWS\system32\2065\com.dat


그리고 레지스트리(Registry)에 다음의 키 값을 생성하여 자신의 복사본인 svchost.exe이 "SMS Loader"라는 윈도우 서비스로 시스템 재부팅 시에도 자동 실행되도록 구성하게 된다.


HKLM\SYSTEM\ControlSet001\Services\SMS Loader

ImagePath = "C:\WINDOWS\system32\2065\svchost.exe"


kbs.exe에 의해 생성된 p_mail.def 는 악성코드가 시스템에서 실행된 최초의 시각을 기록한 로그 파일이며, kbs.exe에 의해 생성된 자신의 복사본인 svchost.exe에 의해 다음의 악의적인 기능들을 수행하게 된다.


윈도우 내장 방화벽 무력화

AhnLab V3 Internet Security 8.0 및 2007 방화벽 무력화

윈도우 사용자 정보 수집

감염 시스템 IP, 운영체제 및 하드웨어 정보 수집

키보드 입력 가로채기


그리고 감염된 시스템에서 수집한 키보드 입력 데이터와 시스템 및 하드웨어 정보는 다음과 같은 경로에 key.datlog.dat 파일들을 생성하여 기록하게 된다. 그리고 악성코드에 의해 감염된 시각을 jpg 파일명으로 생성하게 된다.


C:\Documents and Settings\[사용자 계정명]\Local Settings\Temp\key.dat

C:\WINDOWS\system32\2065\log.dat

C:\WINDOWS\system32\2065\[월일시분초10자리].jpg


감염된 시스템에서 수집한 정보들이 기록된 key.datlog.dat 파일들은 com.dat에 의해 한국에서 운영되는 특정 웹하드 웹 사이트에 접속하여 지정된 공유 폴더에 업로드 하게 된다.


이 번에 발견된 한글 소프트웨어에 존재하는 알려지지 않은 제로 데이 취약점을 악용하는 악성코드들은 V3 제품군에서 다음과 같이 진단한다.


HWP/Exploit

Trojan/Win32.Npkon

Trojan/Win32.Dllbot


APT 전문 대응 솔루션인 트러스와쳐(TrusWatcher)에 포함된 DICA(Dynamic Intelligent Content Analysis)에 의해 시그니처 없이 아래와 같이 탐지가 가능하다.


Exploit/HWP.AccessViolation-DE


향후 출시 예정인 V3 인터넷 시큐리티(Internet Security) 9.0 에 포함된 ASD 2.0의 MDP 엔진에서도 시그니처 없이 다음과 같이 탐지가 가능하다.


Dropper/MDP.Exploit

Suspicious/MDP.DropExecutable

Suspicious/MDP.DropMalware

Suspicious/MDP.Behavior


앞서 언급한 바와 같이 이 번에 발견된 취약한 한글 파일은 한글 소프트웨어 존재하는 알려지지 않은 제로 데이 취약점을 악용하여 악성코드 감염을 시도하였다.


그러므로 잘 알지 못하는 사람이 발송한 이메일에 첨부된 한글 파일의 실행 시에는 각별한 주의가 필요하다.

저작자 표시 비영리 변경 금지
신고
Posted by 비회원

추석 연휴가 끝난 이후 ASEC에서는 최근 다양한 형태의 전자 문서들에 존재하는 취약점을 악용하는 악성코드들을 발견하였다.


전자 문서와 관련된 악성코드들이 발견되는 것이 이 번이 처음 발생한 사항이 아니지만, 마이크로소프트 워드(Microsoft Word), 한글 소프트웨어 그리고 어도비 리더(Adobe Reader) 파일인 PDF에 존재하는 알려진 취약점 등을 악용하는 악성코드가 동시 다발적으로 발견된 것은 특이 사항으로 볼 수 있다.


먼저 한글 소프트웨어와 관련된 악성코드는 크게 3가지 형태로 기존에 알려진 취약점을 악용하는 형태, 특이하게 내부에 악의적인 목적으로 제작된 자바 스크립트(Java Script)가 포함된 형태 그리고 한글 문서 자체가 특이한 OLE 포맷을 가지고 있는 형태가 발견되었다.


기존에 알려진 한글 취약점을 악용하는 취약한 한글 파일은 아래 이미지와 동일한 내용을 포함하고 있는 "붙임1_국방기술정보 위원명단_[2].hwp (1,061,892 바이트)"로 유포되었다.



해당 취약한 한글 파일은 HncApp.dll에 존재하는 문단 정보를 파싱하는 과정에서 발생하는 버퍼 오버플로우로 인한 임의의 코드 실행 취약점을 악용하고 있으며, 이는 기존에 알려진 취약점으로 이미 한글과 컴퓨터에서 보안 패치를 배포 중에 있다.


두 번째 발견된 취약한 한글 파일은 아래 이미지와 동일하게 문서 암호가 설정되어 있는 "122601.hwp (213,133 바이트)"와 동일 한 파일명에 파일 크기만 217,231 바이트로 다른 파일이 존재한다.


해당 한글 파일들의 내부에는 아래 이미지와 동일한 형태로 특이하게 자바 스크립트(Java Script)가 포함되어 있다.



내부에 포함되어 있는 해당 자바 스크립트 코드를 디코딩하게 되면, 특정 시스템에서 ie67.exe (99,328 바이트)의 다른 악성코드를 다운로드 후 실행하도록 되어 있다.


그리고 마지막으로 아래 이미지와 동일한 내용을 포함하고 있는 "실험 리포트.hwp (7,887,360 바이트)"라는 파이명으로 유포되었으나, 해당 문서를 여는 것만으로는 악성코드 감염 행위가 발생하지 않는다.



해당 한글 파일의 OLE 포맷을 보게되면 아래 이미지와 동일하게 기존에 발견된 특이항 형태의 섹션명이 포함된 한글 파일과 유사한 형태를 가지고 있다.



어도비 아크로뱃(Adobe Acrobat)에 존재하는 알려진 취약점을 악용하는 PDF 파일은 아래 이미지와 동일한 내용을 포함하고 있는 "안보현안분석.pdf  (679,753 바이트)" 파일명으로 유포 되었다.



해당 취약한 PDF 파일은 기존에 알려진 CVE-2009-0927 취약점을 악용하고 있으며, 2009년 3월 어도비에서 보안 권고문 "APSB09-04 Security Updates available for Adobe Reader and Acrobat"을 통해 이미 보안 패치가 배포 중에 있다.


마지막으로 발견된 마이크로소프트 워드에 존재하는 취약점을 악용하는 취약한 워드 파일은 유포 당시의 정확한 파일명은 확인 되지 않지만, 265,395 바이트의 크기를 가지고 있다.


그리고 해당 워드 파일은 CVE-2012-0158 취약점을 악용하며 보안 권고문 "Microsoft Security Bulletin MS12-027 - 긴급 Windows 공용 컨트롤의 취약점으로 인한 원격 코드 실행 문제점 (2664258)" 을 통해 이미 보안 패치가 배포 중인 알려진 취약점이다.


마이크로소프트 워드, 한글 소프트웨어 그리고 어도비 리더에 존재하는 취약점들을 악용하여 악성코드 감염을 시도하는 악성코드들 모두 V3 제품군에서 다음과 같이 진단한다.


HWP/Exploit

Dropper/Exploit-HWP

Dropper/Cve-2012-0158

PDF/Exploit

Backdoor/Win32.PcClient

Dropper/Win32.OnlineGameHack 

Win-Trojan/Infostealer.28672.K

Win-Trojan/Infostealer.81920.B


APT 전문 대응 솔루션인 트러스와쳐(TrusWatcher)에 포함된 DICA(Dynamic Intelligent Content Analysis)에 의해 시그니처 없이 아래와 같이 탐지가 가능하다.


Exploit/HWP.AccessViolation-SEH

Exploit/DOC.AccessViolation-DE


향후 출시 예정인 V3 인터넷 시큐리티(Internet Security) 9.0 에 포함 예정인 ASD 2.0의 MDP 엔진에서도 시그니처 없이 다음과 같이 탐지가 가능하다.


Dropper/MDP.Document


앞서 언급한 바와 같이 이 번에 발견된 취약한 전자 문서 파일들은 모두 기존에 알려진 취약점들을 악용하고 있으며, 마이크로소프트, 한글과 컴퓨터 그리고 어도비에서 모두 해당 취약점들을 제거할 수 있는 보안 패치들을 배포 중에 있다.


그러므로 향후 유사한 보안 위협들로 인한 피해를 예방하기 위해서는 관련 보안 패치를 설치하는 것이 중요하다.

저작자 표시 비영리 변경 금지
신고
Posted by 비회원

안랩 ASEC에서 2012년 8월 국내,외에서 발생한 다양한 보안 위협 이슈와 동향들을 정리한 ASEC 리포트 2012 Vol.32을 발간하였다. 



이 번에 발간된 ASEC 리포트는 2012년 8월 주요 보안 위협 이슈들을 다음과 같이 분석하고 있다.


1) 악성코드 이슈

보안 프로그램으로 위장한 악성코드

변조된 정상 프로그램을 이용한 게임핵 유포

ActiveX라는 이름의 악성코드

게임부스터 패스트핑으로 위장한 악성코드

국내 업체를 대상으로 유포된 악성 스팸 메일

이메일을 이용한 어도비 CVE-2009-0927 취약점 악성코드 유포

오라클 자바 JRE 7 제로데이 취약점을 악용한 악성코드 유포

MS12-060(CVE-2012-1856) 취약점을 악용한 타깃 공격

어도비 플래시 플레이어의 CVE-2012-1535 취약점 악용 악성코드

페이팔 스팸 메일과 결합된 블랙홀 웹 익스플로잇 툴킷

런던 올림픽 악성 스팸메일

Xanga 초대장을 위장한 악성 스팸메일

Flame 변형으로 알려진 Gauss 악성코드

YSZZ 스크립트 악성코드의 지속 발견

사우디아라비아 정유 업체를 공격한 Disttrack 악성코드

악성코드 감염으로 알려진 일본 재무성 침해 사고

usp10.dll 파일을 생성하는 악성코드의 버그 발견

스크랩된 기사 내용을 이용하는 악성 한글 파일

또다시 발견된 한글 취약점을 악용한 취약한 문서 파일


2) 모바일 악성코드 이슈

2012 런던 올림픽 게임으로 위장한 안드로이드 악성코드

SMS를 유출하는 ZitMo 안드로이드 악성코드의 변형


3) 보안 이슈

지속적인 서드파티 취약점 악용에 따른 보안 업데이트의 중요성

어도비 플래시 플레이어 취약점 악용(CVE-2012-1535)

Oracle Java JRE 7 제로데이 취약점 악용(CVE-2012-4681)

윈도우 공용 컨트롤의 취약점으로 인한 원격 코드 실행 문제점 MS12-060(CVE-2012-1856)


4) 웹 보안 이슈

자바 제로데이 취약점의 등장


ASEC에서 발간하는 월간 보안 위협 동향 리포트는 아래 웹 사이트에서 확인 할 수 있다. 


ASEC 보안 위협 동향 리포트 2012 Vol.32 발간


저작자 표시 비영리 변경 금지
신고
Posted by 비회원

제로엑세스(ZeroAccess)로도 알려진 스미서(Smiscer) 변형은 얼마 전 국내 언론의 "악성코드 ‘제로액세스’, 전 세계 900만대 감염시켜" 기사를 통해 전 세계적으로 많은 감염 피해를 유발하고 있다.


ASEC에서는 9월 초에 발견된 스미서의 변형에 대해 상세한 분석을 통해 이 번에 발견된 스미서 변형이 어떠한 방식으로 동작하는지 파악하였다.


우선 스미서 변형의 감염 기법을 이해하기 위해서는 EA(Extended Attributes)에 대한 이해가 선행되어야 한다. 


EA(Extended Attributes)는 원래 HPFS(High Performance File System)에 있는 기능을 NTFS에서 구현 해 놓은 것을 말하며, 쉽게 설명하면 파일의 추가적인 속성을 "Name=Value" 처럼 환경 변수 형태로 파일에 붙이는 것을 이야기 한다.

 

윈도우 시스템에서는 ZwSetEaFile과 ZwQueryEaFile 두 개의 API로 해당 값들을 Set 혹은 Query 할 수 있게 제공하고 있으며 FILE_FULL_EA_INFORMATION이라는 구조체의 링크드 리스트(Linked List)로서 EA를 구현해 놓았다. 물론 EaValueLength가 2 Byte 변수이므로 최대 64K 바이트(Byte)까지 값을 쓸수 있다.



위 이미지와 같은 구조체가 아래 이미지와 같은 형태로 파일마다 확장 속성으로 부여 될 수 있다. 예전에 ADS(Alternate Data Steam)에 데이터(Data)를 숨겼 놓았 던 것처럼 여기에도 악성코드의 코드 혹은 데이터를 저장 할 수 있는 익스플로잇(Exploit)이 존재하며 이 번에 발견된 시미서 제작자 역시 이를 이용하였다. 



이 번에 발견된 스미서 변형은 다음과 같은 기능들을 가지고 동작하게 된다.
 
1. 윈도우(Windows) 보안 프로세스들의 스레드(Thread) 중지
 
스미서 변형에 감염이 되면 스미서 변형은 자신의 작업을 위하여 아래 이미지와 같은 윈도우 시스템의 보안 프로세스의 스레드(Thread)들을 중지 시켜 놓는다.


2. Explorer.exe에 코드 삽입

 

윈도우 시스템에 존재하는 정상 시스템 파일 중 하나인 Explorer.exe에 0x430 Byte의 코드를 삽입하고 이를 실행 시킨다. 여기서 스레드(Thread)를 새로 생성하지 않고 Explorer.exe의 스레드(Thread) 중에서 WaitReason이 DelayExecution인 스레드(Thread)를 찾아 이 스레드(Thread)가 삽입된 코드를 수행하게끔 Context에서 EIP를 변조하게 된다. 그리고 삽입된 코드는 Explorer.exe 프로세스에 로드된 ActionCenter와 Wscntfy 모듈을 언로드 시키는 기능을 수행하게 된다. 

 

3. 페이로드(Payload)에 의한 DLL 파일 생성

 

윈도우 시스템의 아래 경로에 접근하게 된다.


\??\C:\Documents and Settings\<User Name>\Local Settings\Applicatuin Data\{043A.....}\ 


해당 경로에는 다음과 같은 파일과 디렉토리를 생성하게 되는데, 그 중 "@"은 데이터 파일로 시간 정보를 포함한 특정 정보를 포함하고 있다. 그리고 "n"은 PE 파일로 제작자의 명령에 따라 동작하는 악의적인 봇(Bot) 기능을 수행하게 된다.


U : 디렉토리(Directory)

L : 디렉토리(Directory)

@ : 데이터(Data) 파일

n : PE 파일

  

4. 윈도우(Windows) 보안 무력화를 위한 스레드(Thread) 생성

 

스미서는 스레드(Thread)를 하나 생성하게 되는데, 윈도우에 포함되어 있는 보안 기능들을 무력화 시키는데 사용된다.


1) 특정 서비스들 제거

MsMpSvc, windefend, SharedAccess, iphlpSvc, wscsvc, mpssvc, bfe


2) 특정 프로세스 강제 종료

wscntfy.exe, MSASUci.exe, MpCmdRun.exe, NisSrv.exe, msseces.exe

  

5. CMD 프로세스를 생성하여 코드를 삽입

 

스미서는 CMD 프로세스를 생성하여, 해당 프로세스의 스택(Stack)에 데이터를 삽입하게 된다. 아래와 같은 특정 API들의 파라미터를 차례로 스택(Stack)에 넣어 코드 없이 API 만으로 스미서 자신의 프로세스가 종료 된 이후에는 Cmd가 자신 파일을 삭제 할수 있게끔 조작하게 된다.

 

ZwClose -> ZwDelayExecution -> ZwSetInformation -> ZwClose

 

 6. 외부 네트워크에 존재하는 시스템으로 접속 시도

 

스미서는 감염 된 시스템에서 외부 네트워크에 존재하는 promos.fling.com 도메인을 가진 시스템에 역 접속을 시도하여 성공하게 되면, 감염 시스템에서 운영체제 정보 및 스미서 의 동작 진행 상황들을 전송 하게 된다..

  

7. 자신의 복제본 및 허위 InstallFlashPlayer 생성

 

스미서는 자신의 복제본을 DLL 파일의 속성만 부여한 후에 msimg32.dll 파일 명으로 생성 한 이후에  Explorer.exe 프로세스에 의해 로드하게 된다. 그리고 허위 InstallFlashPlayer 를 생성히게 된다. 

 

9. ExitProcess의 후킹(Hooknig)

 

스미서 자신이 필요로 하는 감염된 시스템의 정보들을 수집하여, 제작자에게 전송 하기 전에 프로세스가 강제로 종료 되는 것을 막기 위해 ExitProcess를 후킹하게 된다.

  

9. Services.exe를 감염

 

스미서에 의해 EA(Extended Attributes)가 이용 되는 부분은 Services.exe를 감염 시킬 때로  Services.exe의 중간에 0x300 바이트(Byte)를 자신의 코드로 덮어 쓰게 된다. 여기서 덮어 쓰여진 코드는 자신 파일(Services.exe)에서 스미서 드로퍼(Dropper)가 생성해 놓은 EA(Extended Attributes) 데이터를 읽는 역할을 수행하게 된다.


이 EA(Extended Attributes) 데이터에는 페이로드(Payload)를 수행하는 코드와 패치(Patch)한 0x300 바이트(Byte)의 원본 코드를 포함하고 있다. 


그래서 정확한 치료를 위해서는 EA(Extended Attributes)를 읽어 이 0x300 바이트(Byte)를 찾아 원래 위치로 복구 해주어야 하며 이 부분의 동작을 간략하게 도식화 하게 되면 아래 이미지와 동일하다.



앞서 언급한 바와 같이 제로엑세스(ZeroAccess)로도 알려진 스미서(Smiscer) 변형은 윈도우 시스템에 존재하는 정상 파일인 Services.exe를 감염시킴으로서 외부 네트워크에 존재하는 시스템에 접속하여 제작자에 의해 내려지는 악의적인 명령들을 수행하게 된다.


그리고 EA(Extended Attributes)를 이용함으로서 윈도우 시스템에서 치료를 더욱 어렵도록 제작되어 있다. ASEC에서는 스미서 변형에 대한 정확한 진단 및 치료를 위해 아래와 같이 별도의 전용 백신을 제작하여 배포 중에 있다.


Win-Trojan/Smiscer 전용 백신


* 주의 사항

전용백신 실행 전 작업중인 데이타는 반드시 저장하시고, 전용백신 이외에 다른 응용 프로그램은 반드시 종료하시기 바랍니다. 또한 전용백신의 동작중 다른 응용 프로그램의 실행은 가급적 권장 하지 않습니다.

저작자 표시 비영리 변경 금지
신고
Posted by 비회원

ASEC에서는 그 동안 한글과 컴퓨터에서 개발하는 한글 워드프로세스에 존재하는 알려진 코드 실행 취약점을 악용하는 취약한 한글 파일들이 유포된 사례들 다수를 공개하였다.


유포되었던 취약한 한글 파일들 대부분은 아래 3가지 형태의 취약점을 가장 많이 악용하여 백도어 형태의 악성코드 감염을 시도하였다.


1. HncTextArt_hplg에 존재하는 스택(Stack)의 경계를 체크하지 않아 발생하는 버퍼 오버플로우(Buffer Overflow)로 인한 임의의 코드 실행 취약점


2. HncApp.dll에 존재하는 문단 정보를 파싱하는 과정에서 발생하는 버퍼 오버플로우로 인한 임의의 코드 실행 취약점


3. EtcDocGroup.DFT에 존재하는 버퍼 오버플로우로 인한 임의의 코드 실행 취약점


그러나 9월 10일과 11일 이틀 동안 그 동안 알려진 한글 워드프로세스에 존재하는 취약점을 악용하지 않는 다른 형태의 한글 파일들 다수가 발견되었다.


이 번에 발견된 한글 파일들은 총 4개로 안전여부.hwp (47,616 바이트), 운영체제 레포트 제목.hwp (31,744 바이트), 120604 전북도당 통합진보당 규약(6월 2주차).hwp (63,488 바이트)와 민주통합전라남도당 입당,정책 입당원서(제1호).hwp (102,912 바이트)이다.






해당 한글 파일들 모두 앞서 언급한 바와 같이 기존에 알려진 한글 워드프로세스의 취약점을 악용하지 않고 있으며, 특이하게 OLE 포맷이 아래 이미지와 같은 형태로 구성되어 있다.



위 이미지와 같이 인코딩 되어 있는 형태의 ahnurl.sys 파일을 내부에 임베디드 된 형태로 가지고 있으며, 다른 하나의 한글 파일에서는 이와는 다르게 레지스트리에 쓸 수 있는 데이터인 ahnurlahnrul.sys 모두 가지고 있는 형태도 존재한다. 



해당 한글 파일들은 파일 자체에는 취약점을 악용할 수 있는 익스플로잇(Exploit) 코드와 쉘코드(Shellcode)가 포함되어 있지 않음으로 해당 한글 파일들을 열어보는 것만으로 악성코드에 감염되지는 않는다.


현재 ASEC에서는 해당 한글 파일 제작자가 어떠한 용도와 목적으로 해당 한글 파일들을 유포한 것인지 지속적으로 확인 중에 있다.


해당 한글 파일들은 V3 제품군에서는 다음과 같이 모두 진단한다.


HWP/Agent


앞서 언급한 바와 같이 한글 워드프로세스의 알려진 취약점을 악용하여 다른 악성코드 감염을 시도하는 취약한 한글 파일들 유포 사례가 자주 발견되고 있다. 그러므로 한글과 컴퓨터에서 배포 중인 보안 패치를 설치하는 것이 악성코드 감염을 근본적으로 차단하는 방안이다.

저작자 표시 비영리 변경 금지
신고
Posted by 비회원

몇 년전부터 금전적인 목적을 가지고 있는 허위 백신들들은 사회적인 이슈들 또는 소셜 네트워크(Social Network)등을 통해 지속적으로 유포되었다. 


다양한 기법으로 유포되는 허위 백신 형태의 악성코들은 감염된 시스템에 존재하지 않는 악성코드 감염이라는 허위 정보를 시스템 사용자들에게 보여줌으로서 금전적인 결제를 유도하여 직접적인 금전 획득의 목적을 가지고 제작되었다.


특히 다양한 사회적인 이슈들과 IT 트렌드를 반영하여 PC 또는 모바일(Mobile) 형태까지 다양한 형태로 유포 되는 사례가 많았다.


2011년 1월 - AVG 백신으로 위장해 유포된 허위 백신


2011년 10월 - SNS로 전파되는 맥 OS X 대상의 허위 백신


2011년 10월 - 클라우드 백신으로 위장한 허위 백신 발견


2011년 12월 - 2012년 버전으로 위장한 허위 클라우드 백신


2012년 5월 - 안드로이드 모바일 허위 백신 유포


최근 윈도우(Windows) 운영체제를 개발하는 마이크로소프트(Microsoft)에서는 10월 26일 전 세계적으로 차기 윈도우 운영체제인 윈도우 8을 출시 할 계획이라고 밝힌 바가 있다.


이러한 시기를 맞추어 윈도우 8로 신뢰할 수 있는 백신이라는 이미지로 위장한 허위 백신이 발견되었다.


해당 허위 백신 형태의 악성코드에 감염되면 아래 이미지와 같이 "Win 8 Security System"이라는 명칭을 사용하여 최신의 신뢰 할 수 있는 백신으로 위장하고 있다.



해당 허위 백신은 과거에 발견되었던 다른 허위 백신 형태의 악성코드들과 동일하게 사용자의 실행 여부와 상관 없이 자동 실행되고 시스템 전체를 검사하게 된다. 


검사가 종료되면 위 이미지에서와 같이 시스템에 존재하지 않는 다수의 악성코드들에 감염되었음을 시스템 사용자에게 알리고 치료가 필요하다고 허위 정보를 제공하게 된다.


그리고 최종적으로는 아래 이미지와 동일하게 다수의 악성코드들에 감염된 시스템을 정상적으로 사용하기 위해서는 금전 결제를 제공하라는 이미지를 보여주어, 금전 결제를 유도하게 된다.



이 번에 발견된 윈도우 8 관련 백신으로 위장한 허위 백신은 V3 제품군에서 다음과 같이 진단한다.


Spyware/Win32.Zbot


저작자 표시 비영리 변경 금지
신고
Posted by 비회원

ASEC에서는 8월 29일 "오라클 자바 JRE 7 제로 데이 취약점 악용 악성코드 유포"를 통해 자바(Java) JRE에서 알려지지 않은 제로 데이(Zero-Day, 0-Day) 취약점이 발견되었으며, 이를 악용한 악성코드가 유포되었다고 공개하였다.


해당 CVE-2012-4681 자바 취약점외에도 다른 CVE-2012-0507 자바 취약점 역시 다수의 악성코드 유포에 사용되고 있다.


일반적으로 자바의 경우 JVM을 이용한 샌드박스(SandBox) 개념의 보안 기능을 운영체제에 제공하고 있다. 악의적인 코드의 경우 JVM에서 시큐리티 매니져(Security Manager)를 기준으로 차단을 하게 된다. 예를 들어 파일을 디스크에 쓰거나 실행하는 경우에 정책(Policy)에 허용 되지 않은 경우에는 해당 명령은 허용 되지 않는다.


그러나 최근에 발견된 자바 취약점을 악용하는 악성코드 제작자들은 샌드박스를 우회 하기 위해 2가지 방법을 사용하고 있다.


1. 샌드박스 자체 무력화 - CVE-2012-0507 취약점



해당 CVE-2012-0507 취약점은 AtomicReferenceArray에서 발생한다. AtomicReferenceArray 클래스의 경우 시큐리티 매니져에서 ArrayObject에 대한 타입(Type)을 체크 하지 않으며, 해당 배열 생성시 역직렬화를 하고, 역직렬화된 악의적인 코드를 doWork에 정의된 클래스가 샌드박스 밖에서 실행하도록 한다.


역직렬화를 하게 되면 메모리에 악의적인 코드가 쓰일 수 있기 때문에 시큐리티 매니져에서 해당 객체에 대해서 접근에 대한 체크가가 필요하지만, 체크 하지 않아 문제가 발생하게 된다.


2. 샌드박스 내부의 정책 우회를 위하여 시큐리티 매니져를 setSecurityManger(Null)로 우회 - CVE-2011-3544와 CVE-2012-4681 취약점


샌드박스에서 시큐리티 매니져는 정책으로서 접근제어를 수행하게 된다. 하지만 시큐리티 매니져가 무력화 될 경우 접근제어를 수행하지 않기 때문에 악의적인 코드 실행이 가능해진다.


자바는 JVM에서 명령을 수행하기 위해서는 시큐리티 매니저가 함수내에서 빈번하게 호출되며, 자바 애플릿 역시 예외가 아니다. JVM이 포함되어 있는 웹 브라우저가 애플릿이 포함된 웹 사이트 접속시 JVM으로 애플릿을 다운 받아 실행하게 된다. 이 과정에서 로컬에서 실행하기 위해서는 디스크에 파일을 쓰고 실행을 하여야 하는데, 시큐리티 매니져를 우회 하여야 악성코드를 감염 시킬 수 있게 된다.



CVE-2011-3544와 CVE-2012-4681의 경우가 시큐리티 매니져를 우회하는 취약점으로 해당 취약점들은 toString Method에서 해당 함수를 실행할 경우 시큐리티 매니져를 우회 하는 취약점이였다. 


시큐리티 매니져를 해제하기 위해서는 setSecurityManager함수를 이용하여 시큐리티 매니져를 해제 해야한다. 하지만 JRM에서 setSecurityManger(NULL)을 호출하게 되면, 에러(Error)와 함께 함수 호출에 대해 실행을 허가 하지 않지만, toString Method를 이용하게 되면 해당 함수를 호출할 수 있는 취약점이다.


이와 비슷한 원리로 작동하는 취약점이 CVE-2012-4681으로 해당 취약점은 sun.awt.SunToolkit을 이용하여 파일시스템에 대한 모든 권한을 부여함으로서 시큐리티 매니져를 비활성화하도록 한다. 


현재 앞서 설명한 자바 취약점들 모두 다수의 악성코드에서 악용되고 있음으로 오라클(Oracle)에서 제공하는 보안 패치를 설치하여야만 다른 보안 위협들로보터 시스템을 보호 할 수 있다.

저작자 표시 비영리 변경 금지
신고
Posted by 비회원