배이빗의 공부 공간

정적 분석 정의, 정적 분석 도구 본문

보안/보안관제

정적 분석 정의, 정적 분석 도구

배이빗 2023. 8. 31. 05:16

정적 분석이란?

 

- 악성코드로 의심되는 파일을 실행하지 않고 파일 자체의(ex.소스코드) 속성을 분석하는 방식

 

- 동적분석에 비해 쉽고 빠르게 분석 가능

 

 

정적분석 방법

1. 파일 종류 판별

악성코드는 파일 종류를 감추기 위해 다른 확장자를 사용함.

=> 파일의 종류 별로 자신만의 고유한 시그니처를 가지고 있기 때문에 시그니처를 확인을 통해 파일의 종류를 파악할 수 있다.

 

2. 파일 구조 파악

exe, sys, dll 등의 확장자를 가진 파일들은 PE 파일 구조를 가지고 있음.

=> PE 구조 확인을 통해(코드에 관한 정보, 애플리케이션의 유형 등) 파일의 구조를 확인하여 악성코드 감염 여부를 확인해야 함.

 

3. 패킹(실행 파일 압축) 여부 확인

악성코드를 패킹한 뒤 배포한다

=> 도구를 통해 언패킹하여 암호화를 풀어 평문 상태에서 분석을 해야한다

 

※ 패킹(packing): 실행 파일 압축

 

 4. 문자열 확인

프로그램에는 다양한 문자열(에러, 출력, 프로그램 처리 메시지 등)이 존재.

=> 문자열을 통해 해당 파일의 특성을 판단할 수 있다. 악성코드의 경우 제작자의 메시지 또는 악성코드에 관한 힌트가 있을 수도 있다.

 

5. 파일 비교

악성코드로 의심되는 경우 다른 시스템의 파일과 비교해본다

=> 같은 이름의 파일을 바이너리 상태로 비교했을 때 차이가 있다면 악성 파일에 의한 변조 가능성을 의심

 

 

 

 

 

정적 분석 Tool

패킹 여부 확인: Peid, Exeinfo PE

PEID

  

- 해당 도구를 통해 패킹 여부를 확인할 수 있다.

 

※Peid는 버전이 업데이트 되지않아 새로나온 패킹기법을 탐지를 못해서 잘 사용하지 않음

언패킹 전: upx도구를 이용해 언패킹할 것을 권장                                                            언패킹 후 Delphi 언어를 사용한 것을 확인

 

 

- 언패킹된 파일일 경우 어떤 언어로 만든 파일인지 추측할 수 있다

 =>패킹된 파일의 경우 언패킹 툴을 이용한다

 

 

 

언패킹 도구: GUnpacker, UPX

 

GUnpacker                                                                                                                            UPX

 

- 실행파일들을 언패킹하는 도구

 

- 패킹 기법에 따라 언패킹에 실패할 수 있기 때문에 여러 언패킹 도구를 사용해보는 것이 좋다

 

 

 

 

3. 문자열 확인 도구: bintext

bintext

 

- 언패킹한 파일을 분석하면 평문으로 출력되어 문자열을 통해 악성코드들의 정보를 알 수 있다

 

 

파일 종류 및 구조 파악: peview

peview

- 윈도우용 실행 파일인 pe의 구조를 분석할 수 있는 도구

- 파일의 패킹여부, 컴파일된 날짜, 확장자 등 다양한 정보를 알 수 있다.

 

 

 

 

 

 

 

'보안 > 보안관제' 카테고리의 다른 글

Snort란 Snort Rule Signature  (0) 2023.09.01
동적 분석 정의, 동적 분석 도구  (0) 2023.08.31
VirusTotal 이란?  (1) 2023.08.27
보안관제란?  (0) 2023.08.27
악성코드 종류  (0) 2023.08.23
Comments