본문 바로가기

악성코드 분석 방법 본문

악성코드 분석

악성코드 분석 방법

Seongjun_You 2022. 8. 6. 19:06

악성코드 분석 방법

순서 
기초 정적 분석 - 비실행
기초 동적 분석 - 실행
고급 정적 분석 - 비실행
고급 동적 분석 - 실행

악성코드 분석의 네 가지 접근 방법
완전 자동화 분석 
- 정적 분석 및 동적 분석을 통해 악의적인 행위를 판단
- 자동 분석 수행
- 전문가에 의해 분석되는 만큼 상세하거나 정확하지 않을 수 있음
- 악성코드 분석 제공 서비스

정적 속성 분석
- 악성코드의 추가 분석을 위해 필요한 단계
- 문자열 헤더 정보, 해시 값, 리소스 정보, 패킹 여부 등 신속하게 정보 획득
- 정보들을 활용해 실행 파일 간의 비교 데이터베이스를 구성
- 바이러스 토탈 서비스 

대화형 동적 분석
- 레지스트리, 파일시스템, 프로세스, 네트워크 활동을 위해 분리된 가상 머신 환경에서
실행하며 분석
- 메모리 분석을 통해 다른 행위를 추가적으로 분석
- 악의적인 행위의 상세한 과정들을 확인
- 분석가들의 분석 시간이 많이 소요

수동 코드 역공학 분석
- 위 왁정이 완료된 후에 추가적인 정보를 획득하기 위해 분석하는 행위
- 수동 코드 역공한 분석이 필요한 예
   - 특정 루틴에 난독화가 되어서 복호화가 이루어지는 부분을 더 분석해 
   추가적인 정보를 획득 
   - 악의적인 도메인 이름 생성 과정의 알고리즘 분석
   - 행동 분석 과정에서 자신을 숨기고 보여주지 않았던 부분으로 발생되는 다른 기능 이해

기초 정적 분석
- 기초 정적 분석이란?
   - 악성코드 분석 시 가장 먼저 수행
   - 프로그램의 기능을 파악하기 위해 코드나 프로그램의 구조를 분석

- 분석 방법
   - 악성 여부를 판단하는 안티바이러스 도구 사용
   - 악성코드 판별 해시 가용
   - 파일의 문자열, 함수, 헤더에서 개략정인 정보 확인

- 분석 도구
   - 악성코드의 지문(Finger Pring) 확인
      - 해시를 이름으로 사용
      - 악성코드 식별을 위해 해시 공유
      - 식별 여부를 위해 해시 검색
   - 문자열 검색
      - 프로그램 메시지 출력
      - URL 접속
      - 특정 위치로 파일 복사
   - 패킹 확인
      - 패킹의 여부 확인 후 언패킹하여 리버싱을 쉽게 하기 위한 단계
   - PE 세부 구조 확인
   -  패킹 징후
      - Size of Raw Data보다 Virtual Size가 월등히 크다면 다른 파일을
      올리기  위함으로 의심해 볼 수 있다.
      - 섹션의 이름이 변경됨
   - DLL 의존성 조사
      - Dependency Walker
         - Kernel32.dll : 메모리, 파일, 하드웨어 접근과 조작
         - Advapi32.dll : 서비스 관리자,  레지스트리 같은 추가 윈도우 핵심 컴포넌트
         - User32.dll : 유저 인터페이스
         - Gdi32.dll : 그래픽 보기 및 조작
         - Ntdll.dll : 윈도우 커널 인터페이스
         - WS2_32.dll : 윈도우 소켓 네트워크
         - Wininet.dll : FTP, HTTP, NTP와 같은 상위 수준 프로토콜 구현
   - 리소스 확인
      - 리소스 해커
      - 아이콘 섹션
      - 메뉴 섹션
      - 대화상자 섹션
      - 문자열 테이블
      - 버전정보 세션

'악성코드 분석' 카테고리의 다른 글

IDA 실습-1  (0) 2022.09.05
기초동적분석  (0) 2022.08.22
PESTUDIO  (0) 2022.08.06
PE파일  (0) 2022.07.31
악성코드 분석 개념과 종류  (0) 2022.07.31
Comments