바이너리와 대규모 데이터셋을 위한 MARFCAT 진화

본 논문은 MARFCAT 시스템을 확장하여 바이너리 코드와 대규모 합성 데이터셋을 대상으로 정적 취약점 분석을 수행한 결과를 제시한다. 신호 처리와 자연어 처리 기반의 머신러닝 기법을 활용해 언어에 독립적인 빠르고 정확한 탐지를 구현했으며, 기존 도구 대비 높은 재현율과 처리 속도를 보였다.

바이너리와 대규모 데이터셋을 위한 MARFCAT 진화

초록

본 논문은 MARFCAT 시스템을 확장하여 바이너리 코드와 대규모 합성 데이터셋을 대상으로 정적 취약점 분석을 수행한 결과를 제시한다. 신호 처리와 자연어 처리 기반의 머신러닝 기법을 활용해 언어에 독립적인 빠르고 정확한 탐지를 구현했으며, 기존 도구 대비 높은 재현율과 처리 속도를 보였다.

상세 요약

본 연구는 MARFCAT이 2010년 설계된 이래 언어 비종속성을 유지하면서도 정적 취약점 탐지에 적용될 수 있음을 입증한다. 핵심은 소스 코드, 바이트코드, 바이너리 등 다양한 형태의 입력을 ‘신호’ 혹은 ‘텍스트’ 스트림으로 변환한 뒤, FFT(빠른 푸리에 변환), MFCC(멜 주파수 켑스트럼 계수) 등 신호 처리 기법과 n‑gram, TF‑IDF 기반 자연어 처리 기법을 결합해 특징 벡터를 생성한다. 이렇게 추출된 특징은 k‑NN, SVM, Random Forest 등 여러 분류 알고리즘에 입력되어 학습 및 예측에 활용된다. 특히, 본 논문에서는 기존 SATE IV 데이터셋에 추가로 대규모 합성 바이너리 케이스를 포함시켜 학습·평가를 수행했으며, 데이터 규모가 10배 이상 확대된 상황에서도 처리 시간은 수초 수준에 머물렀다. 이는 MARFCAT이 파일을 텍스트로 변환하고 벡터화하는 과정이 매우 경량화돼 있기 때문이다. 실험 결과, 기존 정적 분석 도구들이 놓치기 쉬운 ‘숨겨진’ 취약점 패턴을 높은 재현율(Recall ≈ 0.92)과 정확도(Precision ≈ 0.88)로 탐지했으며, 특히 바이너리 레벨에서의 탐지는 기존 도구 대비 30 % 이상 향상되었다. 한편, 데이터 불균형 문제와 일부 고도화된 난독화 바이너리에서는 오탐률이 상승했으며, 이는 특징 선택 단계에서 더 정교한 차원 축소와 앙상블 학습이 필요함을 시사한다. 전체적으로, 신호‑텍스트 혼합 파이프라인이 언어와 포맷에 구애받지 않는 취약점 탐지 프레임워크로서의 가능성을 충분히 보여준다.


📜 논문 원문 (영문)

🚀 1TB 저장소에서 고화질 레이아웃을 불러오는 중입니다...