Project

Cuckoo Sandbox 결과분석

2014. 12. 23. 21:47

KaliCuckoo SandBox를 이용하여 웹을 통해 악성코드를 보내면 Cuckoo SandBox에서 자동으로 분석하여 결과를 보내주는데, 그 결과를 하나하나 알아보자

Cuckoo SandBox는 일반적으로 http://malwr.com과 같은 웹 분석 툴이다.

파일을 업로드 하면 가상의 SandBox 환경을 실행하여 분석해 준다.

분석 결과로는 File Details, Signatures, Static Analysis, Dropped Files, Network Analysis, Behavior Summary, Processes, Processes를 확인 할 수 있다.

(테스트는 기본적으로 Sony Pictures Malware 으로 하였고, 다양한 정보를 얻기 위해

3.20 DarkSeoul Malware / CyberGate Malware도 이용하였다)

 

File Details


업로드한 파일의 정보와 MD5, SHA1, SHA256, SHA512 값을 알려주고 패킹여부도 알려준다. Yara라는 툴을 이용하여 시그니처 기반의 패턴 탐지 결과도 알려준다.

마지막에있는 VirusTotal은 이 악성코드 파일에 대한 Virustotal사이트의 결과이다.

(Expand를 클릭하면 결과가 나온다)



Signatures


다음 Signatures에서는 Cuckoo Community에서 받을 수 있는 Signatures로 분석 대상이 어떤 Signatures를 가지고 있는지 분석해 준다.

(Cuckoo Install Root/module/signatures/)

 

Screenshots


Screenshots 부분에는 Cuckoo Sandbox가 자동 분석을 하는 순간을 스크린샷을 찍어 Reporting 할 때 볼 수 있게 해준다.



Static Analysis


Static Analysis에서는 정적 분석 결과를 보여준다. Sections, Resources, Imports, Strings의 결과가 나와있는데, 하나하나 클릭하면 자세한 결과를 볼 수 있다.

 

- Sections

 

정적 분석 툴을 이용하였을 때와 결과가 같은걸 알 수 있다.

 

 

- Resources


 

- Imports


 

- Strings

 


Dropped Files


Malware가 삭제한 File 목록이 나온다. Sony Pictures MalwareDropper형태의 Malware이지만 다른 프로세서를 생성하여 File을 지우도록 하기 때문에 자동 분석 결과에서는 Dropped Files에 아무것도 나오지 않았다.

(아래는 DarkSeoul Malware를 테스트 했을 때 Dropped Files이다)


 

Network Analysis


분석 대상이 Network 통해 무엇을 하였는지 분석해 준다.

(아래는 CyberGate MalwareNetwork Analysis이다)



클릭하면 자세한 정보를 볼 수 있다.


 

Behavior Summary

 

Sony Pictures를 분석한 결과에서는 Behavior Summary의 결과가 나오지 않았다.

(아래는 CyberGate MalwareBehavior Summary이다)

 

- Files


- Mutexes


- Registry Keys


어떤 FileMutex, Registry Key를 이용하였는지 볼 수 있다.

 

**MutexMutual Exclusion으로 Critical Section을 가진 Thread들의 Running Time이 서로 겹치지 않게, 각각 단독으로 실행되게 하는 기술이다.

**Critical Section란 프로그램 상에서 동시에 실행 될 경우 문제를 일으킬 수 있는 부분이다.

 

Processes


(위의 분성 대상은 DarkSeoul Malware이다.)

분성 대상이 사용한 Process 목록을 보여준다. Malware 자신을 포함한 PIDPPID를 보여준다.

여기서 DarkSeoul MalwarePPID 1140이고, PID 4016이다. 그리고 AgentBase.exePPID 4016이고, PID1820이다

DarkSeoul MalwareAgentBase.exe Process를 생성 했다는 것을 알 수 있다.

 

추가로 Volatility를 설치하면 Memory Dump하고 분석해준다. 하지만 시간과 Cuckoo SandBox에 공간을 많이 차지하기 때문에 필요한 경우만 사용하자.


 

마지막으로 YaraSignature를 이용한 패턴 탐지 기능을 이용하여 Sony Pictures Malware를 탐지하게끔 Rule을 설정해 보겠다.

 

Yara?

Yara 악성코드 샘플에 포함된 패턴(시그니처)을 이용하여 특성과 행위를 기준으로 악성 파일을 분류하는데 사용되는 툴이다.

비교적 간단한 문법의 Yara Rule을 작성하는 것만으로 악성코드 샘플(파일 또는 프로세스)이 특정 기능을 하는지, 명시된 조건이 포함되어 있는지 여부를 확인할 수 있어 악성코드 연구자들 사이에서 널리 쓰이고 있다.

여기서 악성코드의 시그니처라는 것은 샘플 파일, 프로세스에 포함되어 있는 text string 또는 binary 패턴으로, 분석가가 text string 또는 binary 패턴을 이용한 logic을 구현하여 알고자 하는 샘플 파일에 Yara 명령을 넣을 경우, Yara는 해당 시그니처가 포함되어 있는지 여부를 판단해준다.

또한, 단순히 text stringbinary 패턴만을 이용해 악성파일의 시그니처를 찾는 것이 아닌, 특정 엔트리포인트 값을 지정하거나 파일 오프셋, 가상 메모리 주소를 제시하고 정규 표현식(Regular Expression)을 이용하는 등 효율적인 패턴 매칭 작업이 가능하도록 한다.

 

복합적인 rule 적용 및 태그 기능 지원으로 여러 악성 파일을 검사할 때 각 rule에 적용된 시그니처를 기준으로 악성 파일을 분류를 할 수 있게 해 준다. Yara2008년 최초 1.0 버전이 등장하여 오픈소스로 관리 되고 있으며 20137월 기준 버전 1.7까지 업데이트 되었다.

최초 제작은 VirusTotal2에서 하였고 현재 소스관리는 Google에서 하고 있다. 현재 Yara를 제품에 적용해 사용하고 있는 업체로는 VirusTotalFireEye가 있다.

 




Yara란?

Yara는 악성코드의 행동 패턴을 분석하여 시그니처를 통해 분류하는데 사용되는 툴이다. 비교적 간단한 Rule을 작성하는 것만으로 악성코드가 어떤 행동을 하는지 탐지 할 수 있다.

Yara는 분석가가 text string 또는 binary 패턴을 이용한 logic을 구현하여 알고자 하는 샘플 파일에 Yara 명령을 넣을 경우, Yara는 해당 시그니처가 포함되어 있는지 여부를 판단해준다.

또한, 단순히 text string과 binary 패턴만을 이용해 악성파일의 시그니처를 찾는 것이 아닌, 특정 엔트리포인트 값을 지정하거나 파일 오프셋, 가상 메모리 주소를 제시하고 정규 표현식(Regular Expression)을 이용하는 등 효율적인 패턴 매칭 작업이 가능하도록 한다.

 

참조 문서를 보고 sony_malware라는 rule을 설정 하였다. 사실 악성코드의 패턴을 기반으로 어떤 행동을 하는지 탐지를 해야 하지만 아직 악성코드 분석이 되질 않아 어떤 패턴이 어떤 행동을 하게되는지 알지 못한다.. 그래서 악성코드 자체를 탐지하도록 테스트 rule을 만들어 본다.

strings$a, $b WindowsPE구조의 Signature이고 $c ~ $j 는 모두 정적 분석 결과의 Strings에서 특정 단어들을 모와서 rule을 만들었다. 여기서 핵심 적인 stringsigfxtrayex.exe이다. sony.exe가 실행되고 나면 바로 igfxtrayex.exe를 만들기 때문이다.

그리고 나머지 CreateFile, DeleteFile, cmd.exe, Service 등은 악성 실행을 할 수 있기 때문에 추가해 주었다. 그리고 condition:에서 $a ~ $j 까지 모두 만족(all of them)으로 하여 오탐일 확률을 낮추었다.

 

 

Cuckoo SandBox 분석 결과에서 Yara 탐지 결과:



성공적으로 Sony  Malware탐지




Yara 참고자료

http://blog.naver.com/chogar/220153761369