Applications of Graph Integration to Function Comparison and Malware Classification
We classify .NET files as either benign or malicious by examining directed graphs derived from the set of functions comprising the given file. Each graph is viewed probabilistically as a Markov chain where each node represents a code block of the corresponding function, and by computing the PageRank vector (Perron vector with transport), a probability measure can be defined over the nodes of the given graph. Each graph is vectorized by computing Lebesgue antiderivatives of hand-engineered functions defined on the vertex set of the given graph against the PageRank measure. Files are subsequently vectorized by aggregating the set of vectors corresponding to the set of graphs resulting from decompiling the given file. The result is a fast, intuitive, and easy-to-compute glass-box vectorization scheme, which can be leveraged for training a standalone classifier or to augment an existing feature space. We refer to this vectorization technique as PageRank Measure Integration Vectorization (PMIV). We demonstrate the efficacy of PMIV by training a vanilla random forest on 2.5 million samples of decompiled .NET, evenly split between benign and malicious, from our in-house corpus and compare this model to a baseline model which leverages a text-only feature space. The median time needed for decompilation and scoring was 24ms.
Code (1)
Tasks
ClassificationGeneral ClassificationMalware ClassificationSimilar Papers 제목 키워드 기반
A Comparison of Graph Neural Networks for Malware Classification
Managing the threat posed by malware requires accurate detection and classification techniques. Traditional detection strategies, such as signature scanning, rely on manual analysis of malware to extract relevant feature…
ClassificationGraph ClassificationGraph Neural NetworkMalware ClassificationRepresentation learning with function call graph transformations for malware open set recognition
Open set recognition (OSR) problem has been a challenge in many machine learning (ML) applications, such as security. As new/unknown malware families occur regularly, it is difficult to exhaust samples that cover all the…
Malware ClassificationOpen Set LearningRepresentation LearningOn Benchmarking Code LLMs for Android Malware Analysis
Large Language Models (LLMs) have demonstrated strong capabilities in various code intelligence tasks. However, their effectiveness for Android malware analysis remains underexplored. Decompiled Android malware code pres…
BenchmarkingMalware AnalysisBetter Call Graphs: A New Dataset of Function Call Graphs for Malware Classification
Function call graphs (FCGs) have emerged as a powerful abstraction for malware detection, capturing the behavioral structure of applications beyond surface-level signatures. Their utility in traditional program analysis …
Malware ClassificationMalware DetectionClassifying Malware Using Function Representations in a Static Call Graph
We propose a deep learning approach for identifying malware families using the function call graphs of x86 assembly instructions. Though prior work on static call graph analysis exists, very little involves the applicati…
Feature EngineeringMalware ClassificationMalware Family Detection