PE파일의 악성 및 비정상 여부 식별 방법 이론

2025. 3. 4. 18:26·악성코드 분석

침해사고 대응 단계에서 피해 시스템 내에 정상적인 파일/비정상 징후 파일을 식별해야

분석과 후속 대처 단계로 넘어갈 수 있다

실행파일 PE 파일의 악성여부를 판별하는 방법을 알아보자

 

섹션의 엔트로피 분석

 

파일 엔트로피: 악성코드 여부 식별 역할
→ 악성 파일의 경우 노출되지 않기 위해 인코딩, 암호화를 거쳐 엔트로피가 높다
→ 엔트로피 값을 계산해보면 0~8에서 7 이상인 경우


도구는 PEScanner, PE studio

 

 

엔트리 포인트 분석

 

EXE파일을 실행하면 로더가 EXE파일과 추가적인 DLL 파일들을 링킹 해주고, 일을 마치면 실행파일 내에서 가장 먼저 실행되어야 하는 곳(엔트리포인트)으로 흐름을 바꾼다 

→ 주로 .text, .code → 다른 곳에 속하면 악성코드 가능성 O

엔트리 포인트는 실행파일의 헤더안에 Image_optional_header에 위치해 있음

→ AddressOfEntryPoint(가장 먼저 실행될 코드의 주소값)

도구는 StudPE, CFF Explorer, PE_View, IDA

 

 

CRC Checksum 값 검사

 


CRC(Cyclic Redundancy Check)
: 실행 파일을 일정 비트 별로 검사해서 체크섬 값을 계산하기 위해 사용되는 순환중복검사, 보통은 전송되는 데이터 전송 중 손상여부 확인을 위해 사용

공격자가 시그니처 분석 기법을 우회하기 위해 악성코드 제너레이터로 매번 다른 코드를 자동생성하면, CRC Checksum 값 역시 변해야 함
→ CRC Checksum 값이 변하면 헤더에도 반영이 되어야 하지만, 제너레이터가 정교하게 만들어지지 않아 반영이 안 되면 CRC Checksum 값이 서로 달라짐
→ CRC Checksum 값이 헤더와 다르면 악성코드일 가능성 O

도구는 PEScanner

 

 

버전 및 설명 정보 분석


일반적인 실행 파일은 관리를 위해 리소스 섹션 .rsrc 내부에 파일의 버전(Version_info), 벤더 등 정보가 있음
→ 누락되어있거나 제대로 없으면 악성코드 의심

 

 

임포트 API 목록 분석


위험한 API로 분류되는 API를 임포트 하는 실행파일은 의심할만함

분석도구는 PE Studio, IDA

Ex)

Process Injection

: VirtualAllocEx(), WriteProcessMemory(), CreateRemoteThread()

File Down

: InternetOpenUrl()

InternetReadFile()

 

 

API 해시 사용여부 분석


위와 같은 위험한 API나 함수를 이름 그대로 호출하면 들키기 때문에 우회/은닉을 위해서
API 해시를 이용해서 동적 바인딩을 시도하는 경우 → API 해시 패턴 매칭을 이용해서 확인

 

해결방법: 악성 함수나 API 해시값 패턴 매칭을 해놓으면 됨!

 

 

실행파일 포함 여부

 

내부에 또 다른 실행파일이 포함되어 있는 경우
자체 파일에는 별 기능이 없는데 압축을 풀거나 복호화하는 식으로 악성파일을 실행

 

분석도구는 YARA, PE Carver 등의 도구로 mz 시그너처 확인

 

 

배치 스크립트 포함 여부

 

내부에 배치 스크립트(.BAT)를 포함하고 있는 경우, 악성파일 가능성 O

 

위와 유사한 경우로, 배치 스크립트가 내장된 경우가 흔치 않기 때문에 의심할만하고,
배치스크립트는 주로 전역변수 영역이나 리소스 섹션 내에 임베드되어있음
문자열 분석도구인 IDA, 리소스 섹션 내의 내용 확인 도구 CFF Explorer 사용

 

 

서명 정보 분석


MS 서명 정책에 따라 개발자에 의해 생성된 서명정보가 임베드되어있어야 정상(PE Authenticdoe)
서명정보는 PKCS#7 기반의 공개키 구조 → window os는 신뢰성을 검증하여 실행 여부 결정
→ 악성 실행파일은 signed 자료구조를 가지기가 어렵다

도구는 Sysinternals Suites\sigcheck

 

 

맬웨어 식별 훈련 :: 프로세스 이상징후 분석을 위한 정보추출 실습

이 포스팅은 KISA 아카데미(실전형 사이버훈련장) 에서 진행되는[중급]멜웨어 식별 훈련 교육 과정을 수료한 후 공부한 내용을 정리한 글입니다.프로세스의 이상징후 분석을 위한 정보추출 과정

eggsmong.tistory.com

 

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

PE파일의 악성 및 비정상 여부 식별 실습  (0) 2025.03.05
맬웨어 식별 훈련 :: 악성 오피스 문서 식별방법 이론과 실습  (0) 2025.02.16
맬웨어 식별 훈련 :: 오피스 문서의 포맷 실습  (0) 2025.02.16
맬웨어 식별 훈련 :: 오피스 문서의 포맷 이론  (0) 2025.02.15
맬웨어 식별 훈련 :: 악성파일의 구성요소  (0) 2025.02.14
'악성코드 분석' 카테고리의 다른 글
  • PE파일의 악성 및 비정상 여부 식별 실습
  • 맬웨어 식별 훈련 :: 악성 오피스 문서 식별방법 이론과 실습
  • 맬웨어 식별 훈련 :: 오피스 문서의 포맷 실습
  • 맬웨어 식별 훈련 :: 오피스 문서의 포맷 이론
이둥둥
이둥둥
"><script>prompt(document.cookie)</script>
  • 이둥둥
    시골쥐 해커
    이둥둥
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 방통대
      • 리버싱
      • 웹해킹
      • 악성코드 분석
      • Defensive
      • 네트워크
      • 포렌식
      • Writeup
      • 사이버보안
      • 정보처리기사
      • Troubleshooting
      • 취준
  • 블로그 메뉴

    • 홈
    • 사이버보안
    • 방통대
    • 독후감
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    리버싱
    웹해킹
    CTF
    burpsuite
    hackthebox
    정보보안
    사이버보안
    독후감
    tryhackme
    악성코드분석
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이둥둥
PE파일의 악성 및 비정상 여부 식별 방법 이론
상단으로

티스토리툴바