악성 코드 정적 분석
정적 분석의 특징
- 의심되는 파일을 실행하지 않고, 파일 자체가 가지고 있는 내용들을 확인해서 악의적인 코드를 지니고 있는지 여부를 분석하는 방식
- 프로그램의 전체적인 구조를 파악하고, 어떤 함수로 구성이 되어 있는지, 어떠한 API 를 사용하고, 어떤 문자열을 포함하는지 등을 종합적으로 확인하는 분석 형태
정적 분석 방법
- 해당 파일의 해시값 확인 => 원본 파일의 해시값과 비교해 다르다면 변조된 것, 해시값 Virustotal 검색
- 파일 패킹* 여부 확인 및 PE 구조 확인 => 어떠한 DLL 을 import 했는지 등을 확인
- 악성 코드가 사용하는 문자열 확인
- Resource 확인 => 악성 코드 실행 파일에 저장된 리소스 분석
* 패킹 : 실행 파일 압축, 디버깅을 방해하는 요소
※ 파일을 실행하지 않는 특징을 가지고 있는 정적 분석이라도 툴을 사용해 분석하다 파일이 간혹 실행되는 경우가 발생할 수 있기 때문에 가상 샌드박스 환경에서 분석을 진행하여야 합니다.
정적 분석 Tool
Exeinfo PE
- 파일의 패킹여부를 파악하는 툴
- 해당 파일의 패킹 여부, 패킹을 하였으면 어떠한 툴로 패킹을 하였는지 파악이 가능함
- 만약 패킹이 되어있지 않을 경우 어떠한 언어로 컴파일이 되었는지 확인이 가능
- EX ) 윗 사진 -> UPX 로 패킹
EX ) 아래 사진 -> Microsoft Visual C++ 로 컴파일
PE View
- 해당 파일의 PE 구조를 파악 할 수 있는 툴
- 파일 크기를 확인해서 패킹 여부도 파악이 가능함
- IMAGE_FILE_HEADER 탭에 와서 Time Data Stamp 를 확인해 파일이 컴파일된 날짜도 확인이 가능
BinText
- 해당 파일이 포함하고 있는 문자열을 확인할 수 있는 툴
- 단, 패킹이 되어있을 경우에는 언패킹을 진행한 후에 사용할 것 !
'보안 관제 관련 > 악성코드' 카테고리의 다른 글
악성 코드 샘플 사이트 (0) | 2022.12.03 |
---|---|
악성 코드 동적 분석 ( 특징, 동적 분석 툴, 가상환경 ) (0) | 2022.11.27 |
Virustotal 기능 / Virustotal 사용법 / 악성 코드 기초 분석 / 바이러스 토탈 (0) | 2022.11.19 |
악성 코드의 유형 및 특징 사례 (0) | 2022.11.05 |
탐지 구분 ( 정탐, 오탐, 미탐 ) (0) | 2022.11.05 |