Is Function Similarity Over-Engineered? Building a Benchmark

dc.contributor.authorSaul, Rebecca
dc.contributor.authorLiu, Chang
dc.contributor.authorFleischmann, Noah
dc.contributor.authorZak, Richard
dc.contributor.authorMicinski, Kristopher
dc.contributor.authorRaff, Edward
dc.contributor.authorHolt, James
dc.date.accessioned2024-12-11T17:02:34Z
dc.date.available2024-12-11T17:02:34Z
dc.date.issued2024-10-30
dc.description38th Conference on Neural Information Processing Systems (NeurIPS 2024), Track on Datasets and Benchmarks, Dec 10-Dec 15 2024
dc.description.abstractBinary analysis is a core component of many critical security tasks, including reverse engineering, malware analysis, and vulnerability detection. Manual analysis is often time-consuming, but identifying commonly-used or previously-seen functions can reduce the time it takes to understand a new file. However, given the complexity of assembly, and the NP-hard nature of determining function equivalence, this task is extremely difficult. Common approaches often use sophisticated disassembly and decompilation tools, graph analysis, and other expensive pre-processing steps to perform function similarity searches over some corpus. In this work, we identify a number of discrepancies between the current research environment and the underlying application need. To remedy this, we build a new benchmark, REFuSE-Bench, for binary function similarity detection consisting of high-quality datasets and tests that better reflect real-world use cases. In doing so, we address issues like data duplication and accurate labeling, experiment with real malware, and perform the first serious evaluation of ML binary function similarity models on Windows data. Our benchmark reveals that a new, simple basline, one which looks at only the raw bytes of a function, and requires no disassembly or other pre-processing, is able to achieve state-of-the-art performance in multiple settings. Our findings challenge conventional assumptions that complex models with highly-engineered features are being used to their full potential, and demonstrate that simpler approaches can provide significant value.
dc.description.urihttp://arxiv.org/abs/2410.22677
dc.format.extent20 pages
dc.genreconference papers and proceedings
dc.genrepostprints
dc.identifierdoi:10.13016/m2dxma-enco
dc.identifier.urihttps://doi.org/10.48550/arXiv.2410.22677
dc.identifier.urihttp://hdl.handle.net/11603/37083
dc.language.isoen_US
dc.relation.isAvailableAtThe University of Maryland, Baltimore County (UMBC)
dc.relation.ispartofUMBC Faculty Collection
dc.relation.ispartofUMBC Computer Science and Electrical Engineering Department
dc.relation.ispartofUMBC Data Science
dc.rightsThis item is likely protected under Title 17 of the U.S. Copyright Law. Unless on a Creative Commons license, for uses protected by Copyright Law, contact the copyright holder or the author.
dc.subjectComputer Science - Machine Learning
dc.subjectComputer Science - Cryptography and Security
dc.titleIs Function Similarity Over-Engineered? Building a Benchmark
dc.typeText
dcterms.creatorhttps://orcid.org/0000-0002-9900-1972
dcterms.creatorhttps://orcid.org/0000-0003-4272-2565

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
2410.22677v1.pdf
Size:
491.98 KB
Format:
Adobe Portable Document Format