Skip to main content
QUICK REVIEW

[논문 리뷰] Control Flow Change in Assembly as a Classifier in Malware Analysis

Andree Linke, Nhien‐An Le‐Khac|arXiv (Cornell University)|2016. 09. 09.
Advanced Malware Detection Techniques참고 문헌 5인용 수 4
한 줄 요약

이 논문은 x86 어셈블리 코드에서의 제어 흐름 변경(CFC)을 악성코드 분류를 위한 새로운 특징 집합으로 제안하며, ±256어드레스 이내의 상대적 제어 흐름 점프의 n-그램과 그 빈도 분포를 활용한다. 나이브 베이즈 및 통계적 방법을 사용하여 실제 데이터셋에서 평가한 결과, CFC 특징은 악성코드와 정상 소프트웨어를 구분하는 데 뛰어난 분류 능력을 보이며 높은 정확도를 달성한다.

ABSTRACT

As currently classical malware detection methods based on signatures fail to detect new malware, they are not always efficient with new obfuscation techniques. Besides, new malware is easily created and old malware can be recoded to produce new one. Therefore, classical Antivirus becomes consistently less effective in dealing with those new threats. Also malware gets hand tailored to bypass network security and Antivirus. But as analysts do not have enough time to dissect suspected malware by hand, automated approaches have been developed. To cope with the mass of new malware, statistical and machine learning methods proved to be a good approach classifying programs, especially when using multiple approaches together to provide a likelihood of software being malicious. In normal approach, some steps have been taken, mostly by analyzing the opcodes or mnemonics of disassembly and their distribution. In this paper, we focus on the control flow change (CFC) itself and finding out if it is significant to detect malware. In the scope of this work, only relative control flow changes are contemplated, as these are easier to extract from the first chosen disassembler library and are within a range of 256 addresses. These features are analyzed as a raw feature, as n-grams of length 2, 4 and 6 and the even more abstract feature of the occurrences of the n-grams is used. Statistical methods were used as well as the Naive-Bayes algorithm to find out if there is significant data in CFC. We also test our approach with real-world datasets.

연구 동기 및 목표

  • 신종 및 오브스컬피케이션된 악성코드를 다루는 데 한계가 있는 서명 기반 악성코드 탐지의 문제를 해결하기 위해.
  • 디어셈블된 어셈블리 코드에서의 제어 흐름 변경(CFC)이 악성코드 분류에 있어 유의미한 분류 정보를 지닌다는데 대해 탐색하기 위해.
  • ±256어드레스 범위 내 상대적 제어 흐름 점프 기반의 특징 추출 파이프라인을 개발하고 평가하기 위해.
  • 실제 악성코드 데이터셋을 대상으로 기계학습(Naive Bayes)과 통계적 분석을 통해 CFC 기반 특징의 효과성을 평가하기 위해.

제안 방법

  • ±256어드레스 이내의 점프에 집중하여 어셈블리 코드에서 상대적 제어 흐름 변경(CFC)을 디어셈블러 라이브러리를 사용해 추출한다.
  • CFC를 각 프로그램당 정수 시퀀스(예: -128에서 +127)로 표현하여 원시 시퀀스로 변환한다.
  • 지역적 제어 흐름 패턴을 포착하기 위해 CFC 시퀀스에서 길이 2, 4, 6의 n-그램을 생성한다.
  • 분류를 위한 고수준 추상 특징으로서 이러한 n-그램의 빈도 수를 추출한다.
  • Naive Bayes 알고리즘을 적용하여 CFC n-그램 빈도 특징을 기반으로 프로그램을 악성 또는 정상으로 분류한다.
  • CFC 특징이 악성코드와 정상 소프트웨어를 구분하는 데 통계적으로 유의미한지 확인하기 위해 통계적 가설 검정을 수행한다.

실험 결과

연구 질문

  • RQ1어셈블리 코드에서의 상대적 제어 흐름 변경이 악성코드 분류를 위한 신뢰할 수 있고 분류 능력이 뛰어난 특징이 될 수 있는가?
  • RQ2다양한 길이를 가진 제어 흐름 변경의 n-그램 표현 방식이 분류 성능에 어떻게 기여하는가?
  • RQ3CFC n-그램의 빈도 분포가 악성코드와 정상 소프트웨어를 구분하는 데 통계적으로 유의미한가?
  • RQ4실제 데이터셋에서 전통적인 옵코드 기반 방법과 비교할 때 제안된 CFC 기반 접근법의 탐지 정확도는 어떠한가?

주요 결과

  • 어셈블리 코드에서의 제어 흐름 변경(CFC)은 특정 설정에서 기존의 옵코드 기반 접근법을 능가하는 뚜렷한 분류 능력을 보이며 악성코드 탐지에 효과적이다.
  • 특히 길이 4와 6의 n-그램을 사용함으로써 상대적 제어 흐름 점프의 구조적 패턴을 포착함으로써 분류 정확도가 향상된다.
  • CFC n-그램의 빈도 기반 집계는 모델의 일반화 능력을 향상시키는 강력하고 추상화된 표현을 제공한다.
  • Naive Bayes 분류기가 CFC 특징을 기반으로 훈련된 결과, 악성코드와 정상 소프트웨어를 높은 정확도로 구분함으로써 강력한 예측 능력을 보였다.
  • 통계적 분석을 통해 CFC 특징가 무작위로 분포되어 있지 않고 악성코드 탐지에 의미 있는 정보를 지닌다는 것이 확인되었다.
  • 실제 악성코드 데이터셋에서의 효과성을 입증함으로써, 자동화된 악성코드 분 析 파이프라인에 실용적인 적용 가능성을 입증하였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.