악성코드 분석 절차

라메드랩스(LahmedLabs)·2022년 11월 29일
0

Information Security

목록 보기
2/3

악성코드를 분석하기 위해서는 실행을 해보아야 한다. 그러기 위해서 외부와 통제된 환경을 구축한다. VMware같은 가상머신을 보통 활용한다.

일단 악성코드로 의심되는 파일을 발견하면 다음의 단계를 통해 분석을 수행한다.

악성코드 분석 절차

악성코드 분석은 크게 3단계로 진행된다. 1)초기분석, 2)정적분석, 3)동적분석 순서이다.

1. 초기 분석

이 분석은 자동화 도구를 이용하여 악성코드의 외형과 동작을 빠르게 분석한다. 의심되는 악성코드의 파일 용량, 패킹여부, 이미 보고된 악성코드와의 유사성 비교 등을 수행한다.

  • 안티 바이러스를 이용하여 기존에 알려진 코드인지 여부 판단
  • 파일 확장자를 통한 동작 예측
  • 실행 파일의 압축 여부(packing) 확인

2. 정적 분석

이 분석은 악성코드를 실행하지 않고 분석하는 방식이다. 역공학 기법을 통해 파일의 구조와 문자열, 헤더 정보, 추가 리스트 등을 파악한다.

  • PE(Portable Executable) 파일 구조 분석
  • 리소스 분석
  • HEX 코드 분석을 통한 문자열 확인이나 암호화 여부 등 파악
  • 문자열 추출하여 서버/이메일 주소등 도출
  • 디스어셈블러를 이용하여 프로그램의 구조적 흐름 파악

3. 동적 분석

이 분석은 악성코드를 실제 또는 가상환경에서 수행하면서 분석하는 방식이다.
행위 분석을 통해 악성 코드가 레지스트리, 파일 시스템, 프로세스, 네트워크와 어떻게 상호작용하는지를 파악한다.
리버싱 분석을 통해 복호화하고, 악성코드의 알고리즘을 침해 사고 관점에서 파악한다.

분석 후 작업

무엇보다 악성코드 분석을 마친 후 이를 삭제해야한다. 예를 들어 윈도우즈 기반 시스템의 백도어 악성코드를 분석했다면, 해당 프로세스 중지, 수행 파일 삭제, 관련 레지스트리 정보 삭제 등의 작업을 수행해야 한다.

profile
Field-oriented software engineering

0개의 댓글