MALWARE ANALYTICS PIPELINE

REAL-TIME INFERENCE VERDICT ENGINE

GUI LIVE TESTBED ACTIVE
이동 지원
ML PIPELINE ARCHITECTURE

악성코드 ML 탐지 파이프라인 개발기

윈도우 PE 정적 바이너리 분석부터 5대 분류 알고리즘 실시간 검증을 포함한 실전 GUI 테스트베드 구축까지의 여정

프로젝트 주저자: z1
github.com/z41nl/malware-analysis-ml
Slide 01 / 07

PE(Portable Executable) 바이너리 아키텍처

정적 정보의 보고

OS가 파일을 읽고 메모리에 정렬하는 과정을 분석하여 정형 피처를 계측하는 핵심 탐색 지도입니다.

DOS / NT Headers

Magic MZ, 타임스탬프, 엔트리 포인트 주소, 섹션 개수 등의 메타데이터 분석지

Section Header Table

각 구역의 가상 가용 크기와 하드웨어 접근 권한(읽기/쓰기/실행) 매핑

Virtual Memory Map Offset 0x00000000
DOS Header & DOS Stub
Magic: 'MZ' (0x5A4D) | Offset to PE Header (e_lfanew)
NT Headers (Signature / File / Optional)
PE Signature: 'PE\0\0' | NumberOfSections | AddressOfEntryPoint
Section Headers (Address Directory)
VirtualAddress | SizeOfRawData | Characteristics (R/W/E)
.text
실행 코드
.rdata
읽기전용/IAT
.data
전역변수/암호화
.reloc
주소재배치
OS 실행 메커니즘을 동일하게 수행하여 데이터 지도를 구축합니다. Slide 02 / 07

Phase 1. 정적 피처 엔지니어링 (추출 및 인코딩)

Feature Matrix

사용자가 GUI에 임의의 윈도우 파일을 드롭하는 순간, 특징 추출 엔진이 메모리 상에서 작동합니다.

바이트 히스토그램 & PDF

기계어 코드 영역인 .text 섹션 내부의 전체 256개 바이트 출현 빈도를 정량화하여 기계어 명령어의 고유한 분포 확률을 계측합니다.

고위험 API 명단 파싱

.rdata 섹션에 내장된 IAT를 트래버설하여 VirtualAlloc, WriteProcessMemory 등 고위험 핵심 함수 유무를 [0, 1] 이진 배열로 정형화합니다.

각 섹션별 섀넌 엔트로피

데이터 복잡도 식을 구동하여 .data 등에 암호화/패킹된 본체 악성코드 존재 여부를 판가름할 엔트로피 수치($0.0 \sim 8.0$)를 수학적으로 측량합니다.

EMBER 특징 도출 모델을 활용해 고정된 크기의 입력 행렬을 추출합니다. Slide 03 / 07

Phase 2. 입력 데이터 정규화 및 수렴 안정화

Matrix Standardization

서로 성질이 다른 특징 수치들의 격차를 맞춰 오차가 왜곡되거나 한쪽으로 발산하는 것을 막습니다.

수학적 공식 (Standardization)

z = x - μ σ

평균(μ)을 $0$, 표준편차(σ)를 $1$로 선형 변환하여 전체 데이터를 등방성 가우시안 공간(Isotropic Gaussian Space)에 안정적으로 매핑합니다.

원시 특징의 불균형 차단

바이트 크기(수만~수억 단위)가 엔트로피 수치($0 \sim 8$)를 삼켜서 모델의 가중치 갱신을 독점하는 구조 왜곡 현상을 방지합니다.

실시간 추론 속도 단축

경사하강법 및 거리 연산 알고리즘들의 벡터 공간 수렴 속도를 압도적으로 줄여 즉각적인 실시간 판정을 보장합니다.

스케일링이 완료된 실시간 벡터는 대기 중인 5대 가지 모델로 테스트해봤습니다. Slide 04 / 07

Phase 3. 다중 분류 실전 배치 (5-Agent Lineup)

5 Detectives

GUI 백엔드에 다차원 공간적/수학적 뼈대가 완전히 다른 5개의 독립된 인공지능 모델을 기용했습니다.

Linear

로지스틱 회귀

초평면(Hyperplane)을 그어 클래스를 기하학적으로 구분

Spatial

K-최근접 이웃

민코프스키 거리상 가까운 데이터 분포 중심 추정

Bagging

랜덤 포레스트

상관성이 낮은 나무 수백 개를 집결해 가중 투표 수행

Boosting

LightGBM

오차 최소 가치 리프 노드만 직진 성장하여 연산 극대화

Neural

MLP 신경망

Adam 역전파 최적화와 ReLU로 고차원 비선형 면적 추출

단일 판단 왜곡을 막기 위해 상호 배타적인 5가지 수학적 추론 모델이 병렬 작동합니다. Slide 05 / 07

Phase 4. 강인한 보안을 위한 과적합 통제 및 규제화

Overfitting Controls

특수 튜닝 기법을 설계하여, 새로운 제로데이형 변종 파일 인입에도 정확히 대응하게 합니다.

L2 가중치 억제 패널티 (Ridge)

로지스틱 회귀 모델 등 선형 초평면을 전개할 때, 특정 특징 벡터에 가중치 계수($W$)가 기하급수적으로 편향되는 것을 물리적으로 막아주기 위해 비용 함수에 규제 항을 직접 강제합니다.

Loss = Original_Loss + λ ∑ w_j²

무작위 부분 추출 & 감쇠 튜닝

결정 트리 기반의 앙상블 모델들에서는 무작위 피처 서브셋팅과 트리 깊이 한계선인 max_depth, 학습량 반영도 감쇠율 제어 장치를 세밀하게 가동합니다.

  • • 개별 의사결정 나무들이 서로 정답을 보고 베끼는 편향 붕괴를 제거
  • • 리프 성장이 비이상적으로 길어지는 과학습 영역의 오발산 원천 격리
정확한 '일반화 성능(Generalization)'의 확보가 실제 침투 위협 차단 능력을 가릅니다. Slide 06 / 07

Phase 5. 실시간 성능 평가 및 모델 대결 스토리

Live Comparison

실생활 파일 테스트베드에서 5개의 모델을 직접 시합시켜 도출한 성능 분석 그래프와 비하인드 스토리입니다.

테스트 세션 검출 정확도 (Validation Set Accuracy)

LightGBM (1등 대장) 96.4%
Random Forest (2등) 94.2%
MLP Neural Network 89.1%
K-Nearest Neighbors 72.3%
Logistic Regression 68.7%

왜 트리 기반 모델들이 압도적으로 우승했나요?

"데이터 구조와의 일치성 (Structural Alignment)"

악성코드의 특징들은 독립적으로 작용하지 않고 매우 기형적인 규칙들로 얽혀 있습니다.
예시: "만약 유효 인증서가 서명되어 있지 않고 (R), VirtualAlloc 메모리 할당 함수를 임포트하고 있으며 (R), 쓰기 가능한 실행 섹션이 관찰된다면 -> 99.9% 악성"

결정 트리 모델은 이러한 분기형 판단 기준을 수립하는 데 압도적인 효율을 발휘합니다. 때문에 연속적인 비선형 특징들을 분기 추적한 LightGBM과 Random Forest 모델이 검출력과 추론 반응 속도 부문에서 모두 최종 승리를 쟁취할 수 있었습니다.

GUI 상에서 직접 이 5가지 성능 데이터를 실시간으로 시각화 대조합니다. Slide 07 / 07