[논문 리뷰] Malware Classification based on Call Graph Clustering
이 논문은 실재하는 악성코드 샘플을 대상으로 근사적인 그래프 편집 거리 기반 유사도 측정을 통해 콜 그래프 유사도를 계산하고, DBSCAN 및 k-medoids와 같은 클러스터링 알고리즘을 적용하여 자동화된 악성코드 패밀리 분류를 위한 콜 그래프 클러스터링 기법을 제안한다. 이 방법은 악성코드 변종 간의 구조적 유사성을 효과적으로 식별하여 수동 분류 기준으로 90%의 정확도를 달성하는 일반화된 탐지 기반 시스템을 가능하게 한다.
Each day, anti-virus companies receive tens of thousands samples of potentially harmful executables. Many of the malicious samples are variations of previously encountered malware, created by their authors to evade pattern-based detection. Dealing with these large amounts of data requires robust, automatic detection approaches. This paper studies malware classification based on call graph clustering. By representing malware samples as call graphs, it is possible to abstract certain variations away, and enable the detection of structural similarities between samples. The ability to cluster similar samples together will make more generic detection techniques possible, thereby targeting the commonalities of the samples within a cluster. To compare call graphs mutually, we compute pairwise graph similarity scores via graph matchings which approximately minimize the graph edit distance. Next, to facilitate the discovery of similar malware samples, we employ several clustering algorithms, including k-medoids and DBSCAN. Clustering experiments are conducted on a collection of real malware samples, and the results are evaluated against manual classifications provided by human malware analysts. Experiments show that it is indeed possible to accurately detect malware families via call graph clustering. We anticipate that in the future, call graphs can be used to analyse the emergence of new malware families, and ultimately to automate implementation of generic detection schemes.
연구 동기 및 목표
- 기존 시그니처 기반 탐지 기법을 회피하는 지속적으로 진화하는 대량의 악성코드 변종을 분류하는 데 도전하는 것.
- 콜 그래프를 고수준 추상화로 활용하여 악성코드 샘플 간의 구조적 유사성을 자동으로 탐지하고 확장 가능한 방법을 개발하는 것.
- 실제 악성코드 콜 그래프에 대해 클러스터링 알고리즘을 적용하여 정확한 악성코드 패밀리 식별을 평가하는 것.
- 개별 샘플이 아닌 악성코드 패밀리 간의 공통적인 구조적 패턴을 타깃으로 삼아 일반화된 탐지 기반 시스템을 구현하는 것.
제안 방법
- 함수를 정점으로, 함수 호출을 방향성 간선으로 하는 방향성 콜 그래프로 악성코드 샘플을 표현한다.
- 그래프 편집 거리를 최소화하기 위해 근사적인 그래프 매칭을 사용하여 쌍별 그래프 유사도를 계산함으로써 콜 그래프 간의 효율적 비교를 가능하게 한다.
- 구조적으로 유사한 악성코드 샘플을 패밀리로 묶기 위해 k-medoids 및 DBSCAN 클러스터링 알고리즘을 적용한다.
- 클러스터링의 핵심 거리 측정 기준으로 그래프 편집 거리 기반의 유사도 메트릭을 사용하며, 수동 분류를 통해 검증한다.
- 인간 분석가의 분류 결과와의 일치도를 극대화하기 위해 클러스터링 파라미터(예: DBSCAN의 Rad 및 MinPts)를 최적화한다.
- 설치자 대신 숨겨진 페이로드를 분리하고 분석함으로써 콜 그래프 추출 방식을 수정하여 '드롭퍼'를 탐지한다.
실험 결과
연구 질문
- RQ1코드 오버클로징 및 변형에도 불구하고 콜 그래프 표현 방식이 악성코드 변종 간의 구조적 유사성을 효과적으로 포착할 수 있는가?
- RQ2DBSCAN 및 k-medoids와 같은 클러스터링 알고리즘이 콜 그래프 유사도 기반으로 알려진 패밀리로 악성코드 샘플을 그룹화하는 데 얼마나 잘 성능을 내는가?
- RQ3그래프 편집 거리 근사화가 악성코드 패밀리 분류 정확도에 어떤 영향을 미치는가?
- RQ4제안된 방법은 구조적 진화가 상당히 이루어진 악성코드 패밀리의 다양한 세대를 탐지하고 구분할 수 있는가?
- RQ5보안 분석가의 수동 분류 대비 실제 세계의 악성코드 샘플에 대해 이 방법은 어떤 성능을 보이는가?
주요 결과
- DBSCAN은 k-medoids보다 악성코드 패밀리 탐지에서 뛰어난 성능을 보였으며, 수동으로 분류된 악성코드 패밀리와 밀도 높은 일치를 보이는 클러스터를 성공적으로 식별했다.
- F-Secure 분석가의 수동 분류 기준으로 비교했을 때, 이 방법은 약 90%의 분류 정확도를 달성했다.
- 클러스터 16에는 서로 다른 악성코드 패밀리에서 유도된 동형 콜 그래프가 포함되어 있었으며, 이는 다양한 페이로드를 가진 드롭퍼가 콜 그래프 수준에선 구분되지 않는다는 것을 시사한다.
- 클러스터 2 및 6와 같이 하나의 클러스터 내에 여러 패밀리가 존재한 것은, 서로 다른 패밀리에 속한 샘플들이 Rad 거리 기준 이내에 들어가 있었기 때문으로 분석되었다.
- 연구는 그래프 편집 거리가 특히 확장성을 확보하기 위해 근사 알고리즘과 조합될 경우 콜 그래프 유사도 측정에 실용적인 메트릭임을 확인했다.
- 설치자 대신 드롭퍼의 페이로드를 분석하기 위해 콜 그래프 추출 방식을 조정함으로써 이 악성코드 유형의 탐지 정확도가 향상되었다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.