관리 메뉴

HeeJ's

[04]악성코드분석_5주차 본문

<Information Security>/<Malware>

[04]악성코드분석_5주차

meow00 2021. 11. 3. 16:59

악성코드 분석의 네 가지 접근 방법

1. 완전 자동화 분석 (Fully-automated analysis)

- 정적 분석 및 동적 분석을 통해 악의적인 행위를 판단

- 자동 분석 수행

(파일 생성, 수정 과정의 분석, 레지스트리 분석, 네트워크 분석 등)
- 전문가에 의해 분석되는 만큼 상세하거나 정확하지 않을 수 있음

- 악성코드 분석 제공 서비스

 

2. 정적 속성 분석 (Static properties analysis)

- 악성코드의 추가 분석을 위해 필요한 단계

- 문자열 헤더 정보, 해시 값, 리소스 정보, 패킹 여부 등신속하게 정보 획득

- 정보들을 활용해 실행 파일 간의 비교 데이터베이스를 구성

- 바이러스 토탈(VirsuTotal) 서비스

 

3. 대화형 동적 분석 (Interactive Behavior Analysis)

- 레지스트리, 파일시스템, 프로세스, 네트워크 활동을 이해하기 위해 분리된 가상 머신 환경에서 실행하며 분석

- 메모리 분석을 통해 다른 행위를 추가적으로 분석

- 악의적인 행위의 상세한 과정들을 확인

- 분석가들의 분석 시간이 많이 소요

 

4. 수동 코드 역공학 분석 (Manual Code Reversing)

- 위 과정이 완료된 후에 추가적인 정보를 획득하기 위해 분석하는 행위

- 수동 코드 역공학 분석이 팔요한 예

1. 특정 루틴에 난독화가 되어서 복호화가 이루어지는 부분을 더 분석해 추가적인 정보 획득

2. 악의적인 도메인 이름 생성 과정의 알고리즘 분석

3. 행동 분석 과정에서 자신을 숨기고 보여주지 않았던 부분으로 발생되는 다른 기능 이해

 

악성코드 기초 분석

1. 기초 정적 분석

- 악성코드 분석 시 가장 먼저 반드시 진행 (악성코드 연구의 시작 단계)

- 프로그램의 기능을 파악하기 위해 코드나 프로그램의 구조를 분석 (프로그램 실행 X)

- 분석 방법

[1] 악성 여부를 판단하는 안티바이러스 도구 사용

[2] 악성코드 판별 해시 사용

[3] 파일의 문자열, 함수, 헤더에서 개략적인 부분 확인

 

2. 기초 정적 분석 도구

[1] 악성코드의 지문(Finger Print) 확인

ex. WinMD5Free

[2] 문자열 검색

ex. Strings

[3] 패킹(Packing) 확인

ex. PEiD

[4] PE 세부 구조를 확인

ex. PEview

[5] DLL 의존성 조사

ex. Dependency Walker

[6] 리소스 확인

ex. Resource Hacker

 

기초 동적 분석

- 프로그램을 직접 실행하며 분석

- 악성코드 분석에서 가장 프로그램의 영향을 쉽게 파악

- 프로그램의 기능을 파악하기 위해 악성코드 실행 전후 상태를 조사 및 분석

 

- 분석 방법

악성코드 실습 시 발생하는 호스트/네트워크 환경 구성

파일, 프로그램 실행, 레지스트리, 서비스 등 관련 항목 변경 사항 확인

실행 시 발생하는 네트워크 트래픽 분석

 

 

'<Information Security> > <Malware>' 카테고리의 다른 글

[06]악성코드분석_7주차  (0) 2021.11.16
[05]악성코드분석_6주차  (0) 2021.11.10
[03]악성코드분석_4주차  (0) 2021.10.06
[02] 악성코드 분석_3주차  (0) 2021.09.29
[01] 악성코드 분석_2주차  (0) 2021.09.21