악성 샘플을 분석하기 위해서는 로컬 환경이 아닌
윈도우와 동일한 가상환경을 구성하여, 해당 환경에서 진행을 해야 한다.
효과가 미미한 악성샘플의 경우는 백신에 의한 치료를 하면 되겠지만,
랜섬웨어 같은 크리티컬 한 악성코드의 경우는 해결 방법이 없기 때문에 별도의 환경을 구성하여 분석을 실행해야만 한다.
가상 환경에서 악성코드 분석을 진행할 때, 로컬 환경에 있는 백신에서
악성코드가 감지되었다는 알람이 발생되는 경우들이 있다.
이 백신 같은 경우는 가상 환경과 로컬 환경 사이를 구분하지 못한다.
하지만 가상 환경 내에서 일어나고 있는 동작까지는 탐지가 가능한 것이다.
즉, 위와 같은 경우가 발생하더라도 로컬 환경에 영향을 미치지는 않는다.
그리고 동적분석 진행할 때 앞으로 여러 가지 툴을 사용할 것이다.
아무튼 동적분석은 악성 코드를 실행시키기 전과 후를 비교해서 변화된 부분을 분석하는 것이다.
이 동적분석을 진행하면서 악성 행위가 우리가 원하는 찰나의 순간에 캐치가 되면 좋겠지만,
하필 정상적인 동작이 일어난 것들이 동시에 걸려서 마치 악성 코드가 행위를 한 것처럼 보이는 경우들이 종종 발생을 할 것이다.
그렇기 때문에 이 동적분석을 진행을 할 때는 여러 가지 툴을 켜놓고 한 번에 진행을 하기보단,
한 가지 툴을 사용해서 분석을 진행하되, 그 한 가지 툴에 대해서도 정말로 악성행위에 의해서만 일어나는 것이 맞는지
최소 두 번 ~ 세 번 정도 반복을 하면서 정말로 악성행위에 의한 행위가 맞는지 검증하는 식으로 차근차근 진행하는 것이 좋다.
툴이 다양하고 많기 때문에 시간적인 부분들은 당연히 소요가 많이 되겠지만,
많은 툴을 모두 사용하는 것보다는 하나의 툴을 사용을 하더라도
정확하게 그 툴에 대한 사용법을 익히고 나서 그다음 툴로 넘어가는 방식으로 진행을 해보자.
VMware 가상환경 구성
https://www.vmware.com/kr.html
VMware는 가상화 기술을 제공하는 소프트웨어 회사로,
가상 머신(VM, Virtual Machine)을 생성하고 관리하는 솔루션을 제공한다.
#1
VMware을 설치하고 실행하면 다음과 같은 화면을 볼 수 있다.
가상환경 구성을 위해서 "Create a New Virtual Machine"을 클릭한다.
#2
위의 "Installer disc image file (iso)"에서
사전에 준비한 Windows 7 Professional k x64.iso 파일을 선택한다.
윈도우 7 환경을 구축하기 위함이다.
#3
가상환경이 생성되고 있는 모습을 볼 수 있다.
#4
"Window 7 Professional k x64"를 선택한다.
#5
가상환경 내에서 "제어판 → 네트워크 및 인터넷 → 네트워크 및 공유 센터"를 확인해 보면,
네트워크가 정상적으로 연결됨을 확인할 수 있다.
#6
드래그 앤 드롭 또는 공유 폴더를 생성하여 정적분석 Tool을 해당 가상환경으로 이동한다.
실시간 네트워크 트래픽 및 패킷 분석을 위한 smsniff
실시간 네트워크 연결 분석을 위한 Currports(cports)
실시간 프로세스 모니터링을 위한 ProcessMonitor, ProcessExplorer
윈도우 시작 프로그램 분석을 위한 Autoruns를 설치해 주었다.
#7
Wireshark, 패킹 관련 tool(exeinfo, peid), 문자열 및 string 관련 tool(bintext, strings) 등을
추가로 설치하여 전반적인 환경구성을 완료하였다.
#8
위의 표시된 부분은 '스냅샷(Snapshot)'을 위한 탭이다.
스냅샷이란 가상환경의 현재 상태 및 데이터를 저장 및 추후 해당 상태로 돌아갈 수 있는 기능이다.
활용법은 테스트 및 개발 환경에서 원하지 않는 결과가 생성될 경우,
이전의 스냅샷으로 가상환경을 복원하여 다시 시작할 수 있다.
추가로 주기적인 백업에도 활용이 가능하다.
첫 번째 : 스냅샷 추가
두 번째 : 바로 이전 스냅샷으로 이동
세 번째 : 스냅샷 관리 (Snapshot Manager)
혹은 VM 탭에서 ’Snapshot’ → ‘Snapshot Manager’으로 스냅샷 관리가 가능하다.
동적분석을 수행할 때, 한 가지의 툴을 사용하더라도 해당 툴이 정말로 악성코드에 의해서
발생되어서 보이는 것들이 맞는지 검증하기 위해서는 중간중간 이 스냅샷 기능을 활용해야 한다.
스냅샷을 잘 저장해두고 해당 스냅샷을 기반으로 동적분석을 반복적으로 진행할 수 있도록 신경쓰는 것이 중요하다.
#9
"Take Snapshot"을 클릭 시 스냅샷 저장이 가능하며,
'You Are Here' 바로 직전 시점으로 스냅샷이 저장된다.
추가로 스냅샷 이름도 지정가능하다.
악성샘플 수집 사이트
악성코드를 분석하기 위해서는 악성코드 샘플을 구해야 한다.
이 샘플을 구하는 경로는 생각보다 많지만, 현재 시점까지 꾸준히 업로드가 되는 사이트들은 많지 않다.
1. VirusShare ( https://virusshare.com/ )
2. Malware Traffic Analysis ( https://www.malware-traffic-analysis.net/ )
3. ANY.RUN ( https://app.any.run/submissions )
4. Malshare ( https://malshare.com/ )
5. MarwareBazaar ( https://bazaar.abuse.ch/browse/ )
6. URLhaus ( https://urlhaus.abuse.ch/browse/ )
악성코드 URL 수집이 가능하다.
7. Yomi ( https://yomi.yoroi.company/ )
8. Contagio Malware Dump ( http://contagiodump.blogspot.com/ )
해당 사이트는 과거에 정말 크리티컬 했던 악성 샘플들이 많이 업로드가 되었지만,
어느 시점부터 업로드는 되지 않고 사이트만 유지되고 있는 형태이다.
다음 글에서는 구성한 환경을 바탕
정적 및 동적분석 Tool을 실제로 실습해보는 과정을 가질 것이다.
'IT_정보보안 > 보안관제 프로젝트' 카테고리의 다른 글
14. 악성코드 샘플 분석(1) (1) | 2024.01.28 |
---|---|
13. 정적, 동적 Tool 실습 (1) | 2024.01.24 |
11. 정적 / 동적분석 / Tools (2) | 2024.01.09 |
10. Virustotal (1) | 2023.12.24 |
9. 보안관제 (1) | 2023.12.20 |