PE file format 을 분석하고 코드 raw data를 살펴보았다.
다만, 실행 압축을 하면 PE file 및 내부 코드가 압축되어 분석이 어려워진다. 남는건 resource section뿐..
그래서 MS Soft에서는 악성코드를 찾는 머신러닝에 resource section을 활용한다는 이야기도 들었다.
실행압축된 파일을 압축해제하면 되긴 하지만, 패키징 방법이 약 2천개 정도로 많아 적절하게 압축을 해제하는 것이 거의 불가능하다고 한다. 실행압축된 실행파일을 매뉴얼언팩(손으로 직접 압축해제) 방법을 알아보았다.
매뉴얼 언팩 과정은 거의 수련 과정에 맞먹는데, 이를 머신러닝을 활용하여 더욱 효율적으로 진행하는 프로젝트를 기획
할 수 있을 것 같다.
# UPX 실행 압축 전 notepad.exe 의 PE file
세 개의 섹션을 확인할 수 있다. section.text | section.data | section.rsrc
# UPX 실행 압축 진행
C:\Users\user\Desktop\UPX Utility>upx.exe notepad.exe
Ultimate Packer for eXecutables
Copyright (C) 1996 - 2011
UPX 3.08w Markus Oberhumer, Laszlo Molnar & John Reiser Dec 12th 2011
File size Ratio Format Name
-------------------- ------ ----------- -----------
67584 -> 48128 71.21% win32/pe notepad.exe
Packed 1 file.
<참고: 실행 압축은 압축이 되어도 실행이 가능하다.>
# UPX 실행 압축 후 notepad.exe 의 PE file
기존에 확인되었던 세 개의 섹션은 확인되지 않고, SECTION UPX0 | SECTION UPX1 | SECTION .rsrc 가 보인다.
결국 리소스 부분만 남고 나머지는 안보이는거
# PE 파일부분이 안보이기 때문에 악성코드 분석 방향은?
-> 리소스 섹션을 분석한다.
-> 매뉴얼 언팩 (이라 부르고 노가다라 쓴다?..)
-> 머신러닝을 활용한다????
반응형
'[혁신성장 청년인재] 인공지능을 활용한 보안전문가 양성과정' 카테고리의 다른 글
Day50: 악성코드 초기분석 실습 | 정적 분석 4개 (0) | 2020.09.12 |
---|---|
Day49: 악성코드 동적 분석 | 악성코드 만들어서 배포 | 포트 - 서비스 - 프로세스 분석 | 레지스터분석 | 동적분석 자동화도구 | malware 자동분석 사이트 소개 (0) | 2020.09.11 |
Day47 : 리버싱 기초 학습 | 리틀엔디언 표기법 | 스택 | 스택 프레임 | 함수호출규약(stdcall, cdecl, fastcall) | 휴식 (0) | 2020.09.09 |
Day46 : 악성코드 분석을 위한 리버싱엔지니어링 기초 학습 (0) | 2020.09.08 |
Day 40 ~ 44 : 이벤트 대응 및 탐지 패턴 개발 프로젝트 진행 (0) | 2020.09.08 |