Detecting Obfuscated Function Clones in Binaries using Machine Learning

Abstract

The complexity and functionality of malware is ever-increasing. Obfuscation is used to hide the malicious intent from virus scanners and increase the time it takes to reverse engineer the binary. One way to minimize this effort is function clone detection. Detecting whether a function is already known, or similar to an existing function, can reduce analysis effort. Outside of malware, the same function clone detection mechanism can be used to find vulnerable versions of functions in binaries, making it a powerful technique. This work introduces a slim approach for the identification of obfuscated function clones, called Ofci, building on recent advances in machine learning based function clone detection. To tackle the issue of obfuscation, Ofci analyzes the effect of known function calls on function similarity. Furthermore, we investigate function similarity classification on code obfuscated through virtualization by applying function clone detection on execution traces. While not working adequately, it nevertheless provides insight into potential future directions. Using the Albert transformer Ofci can achieve an 83% model size reduction in comparison to state-of-the-art approaches, while only causing an average 7% decrease in the ROC-AUC scores of function pair similarity classification. However, the reduction in model size comes at the cost of precision for function clone search. We discuss the reasons for this as well as other pitfalls of building function similarity detection tooling.

Publication
Proceedings of the 5th Workshop on Binary Analysis Research
Michael Pucher
Michael Pucher
Researcher

My research interests include systems security, malware analysis and embedded security, focusing on software reverse engineering and dynamic binary analysis.

Christian Kudera
Christian Kudera
Researcher

My research interests include Internet of Things security, embedded systems security, embedded systems virtualization, honeypots and cyber threat intelligence.

Georg Merzdovnik
Georg Merzdovnik
Senior Researcher

My research interests include IoT/Systems Security & Privacy.