본문 바로가기
Study/LLM

AI 보안 실험실: PE 파일 분석부터 악성코드 탐지, 그리고 탐지 우회까지! 🚀

by GodKim 2025. 5. 17.

AI 보안 실험실: PE 파일 분석부터 악성코드 탐지, 그리고 탐지 우회까지! 🚀

머신러닝 기반 악성코드 탐지 실습, 엔트로피 조작, 보안 연구 로드맵


목차

  1. PE 파일이란?
  2. 엔트로피(Entropy)와 악성코드 탐지
  3. 머신러닝 기반 악성코드 탐지 실습
  4. 엔트로피 조작을 통한 탐지 우회 실험
  5. 정상 파일이 없는 경우의 대안
  6. 앞으로의 AI 보안 공부 로드맵
  7. 오늘의 실험에서 얻은 인사이트
  8. 마치며
  9. 깃허브 레포지토리
  10. 키워드
  11. 주의사항

PE 파일이란?

PE(Portable Executable) 파일은 Windows에서 실행되는 프로그램(.exe), 라이브러리(.dll) 등에서 사용되는 파일 포맷입니다.
PE 파일은 DOS 헤더, 파일 헤더, 섹션(.text, .data, .rsrc 등) 등 다양한 구조로 이루어져 있습니다.
이 구조를 이해하면 악성코드 분석, 탐지, 그리고 우회 기법까지 다양한 보안 연구에 활용할 수 있습니다.


엔트로피(Entropy)와 악성코드 탐지

엔트로피란 파일의 무작위성, 복잡성을 수치로 나타낸 값입니다.
일반적으로 정상 파일보다 악성코드는 암호화, 패킹 등으로 인해 엔트로피가 높게 나타나는 경우가 많습니다.
이러한 엔트로피 값을 활용해 머신러닝 모델이 악성코드를 탐지할 수 있습니다.


머신러닝 기반 악성코드 탐지 실습

오늘 실습에서는 PE 파일의 다양한 특징(헤더 정보, 섹션 엔트로피 등 총 67개)을 추출하고,
RandomForestClassifier와 같은 머신러닝 모델을 활용해 악성코드 여부를 예측했습니다.

  • 32비트 PE 파일만 처리 가능
  • 특징 추출 후, 사전 학습된 모델(rf_model.joblib)로 예측
  • 90% 이상 확률이면 악성코드, 그 이하면 정상 파일로 분류

이 과정에서 실제로 악성코드 파일과 정상 파일을 비교하며,
머신러닝 기반 탐지기의 원리와 한계를 직접 체험할 수 있었습니다.


엔트로피 조작을 통한 탐지 우회 실험

악성코드 탐지기는 엔트로피, 헤더, 섹션 이름 등 통계적 특성을 기반으로 탐지하는 경우가 많습니다.
오늘 실습에서는 악성코드 파일의 .text, .data 섹션에 의미 없는 데이터를 패딩(padding)으로 추가해
엔트로피를 정상 파일과 유사하게 조작하는 실험을 진행했습니다.

  • 반복문을 통해 패딩 크기를 조절하며, 두 파일의 엔트로피 차이가 최소가 되는 지점을 탐색
  • 최종적으로 엔트로피 기반 탐지기를 우회하는 데 성공

이 실험을 통해 단순한 통계적 특성 조작만으로도 탐지 확률이 크게 낮아질 수 있음을 확인했습니다.


정상 파일이 없는 경우의 대안

실습 환경에 정상 파일(normal.exe)이 없는 경우,
공개된 정상 PE 파일의 평균 엔트로피, 윈도우 기본 파일(notepad.exe 등),
혹은 통계적 평균값을 기준으로 엔트로피/헤더 값을 맞추는 방법도 활용할 수 있습니다.


앞으로의 AI 보안 공부 로드맵

START
  |
  |-- 🖼️ 이미지/영상 처리 & 특징 추출
  |      └─> 데이터 전처리, HOG, SVM, YOLO, LIME 등
  |
  |-- 🌀 GAN(생성적 적대 신경망)
  |      └─> 이미지 생성, 변조, 위조 데이터 탐지
  |
  |-- ⚔️ Adversarial Attack/Defense
  |      └─> 적대적 공격/방어 기법, 모델 취약점 실험
  |
  |-- 🔒 PE 파일 구조 & 악성코드 탐지
  |      └─> 엔트로피, 섹션, 헤더, 머신러닝 기반 탐지/우회
  |
  |-- 🛡️ XAI(설명 가능한 AI) & 보안
  |      └─> 모델 해석, 보안적 투명성
  |
  |-- 💬 챗봇 & 자연어 처리 보안
  |      └─> HMM, n-gram, word2vec, 감성분석 등
  |
  |-- 🕵️ 피싱/딥페이크 탐지
  |      └─> 이메일 피싱, 딥페이크, 실제 공격 시나리오
  |
  |-- 📝 로그 분석 & 이상 탐지
  |      └─> 시스템 로그 기반 위협 탐지
  |
  └─> ...그리고 godkim의 호기심이 이끄는 모든 AI+보안 실험들!

오늘의 실험에서 얻은 인사이트

  • 머신러닝 기반 탐지기는 통계적 특성(엔트로피, 헤더 등)에 의존하는 경우가 많아,
    단순 조작만으로도 탐지 우회가 가능할 수 있다.
  • 하지만 실제 보안 환경에서는 이러한 조작 자체가 의심스러운 행위로 탐지될 수 있다.
  • 파일의 기능에 영향을 주지 않는 선에서 조작할 수 있는 특성은 제한적이며,
    탐지 우회가 항상 성공하는 것은 아니다.
  • 다양한 탐지 기법(동적 분석, 시그니처, 휴리스틱 등)과의 결합이 필요하다.

마치며

AI 보안은 빠르게 진화하는 분야입니다.
직접 실험하고, 실패도 경험하며, 새로운 시도를 해보는 것이 가장 빠르고 재미있게 배우는 방법이라고 생각합니다.
오늘의 실습과 정리가 AI 보안에 관심 있는 분들께 작은 도움이 되길 바랍니다!

궁금한 점이나, 더 깊이 다뤄줬으면 하는 주제가 있다면 댓글로 남겨주세요.
함께 성장하는 보안 연구자가 되길 바라며, 다음 실습에서 또 만나요! 🚀


깃허브 레포지토리

더 많은 코드와 실습 자료는 아래 깃허브에서 확인하세요!
https://github.com/godkim/Security-TIL


주의사항

  • 이 글은 godkim의 AI 보안 실험/학습 기록입니다.
  • 실제 악성코드 파일을 다룰 때는 반드시 안전한 환경(가상머신, 샌드박스 등)에서 실습하세요!
  • 악용은 절대 금지입니다.
반응형

댓글