부동산, 채권, 주식, 경제흐름 자료를 모아 보는 블로그입니다.

메모리 교체형 악성 코드 분석 - 1 본문

Analysis

메모리 교체형 악성 코드 분석 - 1

runardor 2016. 4. 4. 22:08

안녕하십니까 runardor입니다.



금일부터 포스팅할 내용은 메모리 교체형 악성코드입니다. ( 메모리 교체형 악성코드라는 단어는 없으나 가칭으로 정하였습니다. )



사실 포스팅 할 주제가 너무많은데요... 요즘 악성코드가 기본 장착(?) 하는 메모리 교체형 악성코드에 먼저 알아보고자 합니다. ( 많은 도움이 되고자 )



메모리 교체형 악성코드는 최근에 FUD 툴에 기본 기능으로 제공되면서 폭발적으로 증가하고 있습니다. ( 사실 유사 코드 역시 쉽게 구할 수 있습니다. )



정확하게 말하면 악성코드가 아닌 악성코드가 AV 진단 우회를 하기 위해 쓰는 기법이라는 의미가 정확합니다.



유사 기술(Memory Relocation을 이용한 파일 실행이나, 커널 이미지를 재구성하여 후킹을 한다거나...)이 이미 많이 사용되고 있었습니다.


하지만 이런 유사기술들은 기본적으로 File이라는 형태의 DATA를 가공하여 사용하였으며, 악성코드 자신이 재구성되는 경우는 흔하지 않았습니다.




그렇다면 메모리 교체형 악성코드(가칭)란 무엇일까요?


파일로 존재하는 PE파일과 =! 메모리에서 존재하는 PE


파일 외형은 .Net -> 실행시 VB로 실행되는 경우

파일 외형은 .Net -> 실행시 Visual C++로 실행되는 경우

파일 외형은 VB -> 실행시 .Net으로 실행되는 경우

파일 외형은 VB -> 실행시 Visual C++로 실행되는 경우

파일 외형은 Visual C++ -> 실행시 Visual C++ ( 이런 경우 파일과 메모리에 존재하는 파일이 전혀 다른 파일 )



그럼 이러한 행위를 하는 이유는 무었을까요???


크게 4가지로 생각해 볼 수 있습니다.


1. AV의 행위기반 엔진을 우회하기 위한 의도

2. AV의 진단을 회피하거나 오진을 유도하기 위한 의도

3. 분석을 굉장히 어렵게 하기 위한 의도  ( PE Image Switching + Anti Debug + Anti Vm 코드는 최고의 조합입니다. )

4. 악성코드 자신이 은밀하게 실행하기 위한 의도



1번의 경우 아래와 같이 생각해 볼 수 있습니다.

A라는 악성코드가 notepad.exe를 자식 프로세스로 실행합니다. 이 notepad.exe를 메모리 교체를 통해 랜섬웨어 악성코드로 교체를 하고 

실행을 하게되면 notepad.exe라는 프로세스를 통해 랜섬웨어가 실행되어 문서파일이 감염되었다고 가정해봅니다.


AV엔진에서는 겉으로 볼때는 notepad.exe가 실행되고 문서파일을 변경(?)하였기 때문에 행위기반으로 Notepad.exe가 악성으로 보지 않을 것입니다.

(예외적인 3초이내 5개파일을 변조한다.이런 조건이 없는 단순 변경이라는 행위를 보았을때만 가정!! )


하지만 악성코드는 AV의 행위기반 탐지를 우회하여 문서파일을 변조할 수 있습니다.



2번의 경우는 또 이렇게 생각해 볼 수 있습니다.

정상적으로 보이는 EXE( Stub EXE라고 불리기도 합니다.)내부에 Encoding Data( Decode + 메모리 교체 코드 포함 )를 강제 삽입합니다.

이때 Encoding Data를 제외한 EXE는 동일하고 정상파일중에서 이 공통적인 특징을 가지고 있을때 AV는 공통 특징을 진단으로 삼을 경우 오진을 할 수도 있습니다.



3번의 경우 메모리 교체 이후 Anti VM, Anti Debug 체크를 하고 사용할 DATA를 메모리상에 풀지 않는다거나 프로세스가 종료된다면, 메모리 교체과정까지 다시 디버깅 해야할 수도 있기 때문에 분석가 입장에서는 상당히 까다롭거나 귀찮게 느껴집니다.



4번의 경우 1번과 비슷한 의미로 사용자가 Notepad가 아닌 svhost, calc 같은 프로세스를 이용하여 동작할 경우 Process Explorer나 작업관리자에서는 이를 찾을 수 있는 방법이 없습니다. 


이러한 이유로 요즘 악성코드들은 메모리교체 기능을 자주 사용하여 동작합니다.


다음에는 좀더 자세하게 메모리 교체정 악성코드에 대해 살펴보겠습니다.



'Analysis' 카테고리의 다른 글

Script Downloader 분석 - 4 ( XMLHTTP)  (0) 2016.04.01
Script Downloader 분석 - 3 ( WINHTTP )  (0) 2016.03.31
Script Downloader 분석 - 2  (0) 2016.03.30
Script Downloader 분석 - 1  (0) 2016.03.30
Comments