PERFUME: Programmatic Extraction and Refinement for Usability of Mathematical Expression. Weideman, N., Felkner, V. K., Wu, W., May, J., Hauser, C., & Garcia, L. In Proceedings of the 2021 Research on offensive and defensive techniques in the Context of Man At The End (MATE) Attacks, of Checkmate '21, pages 59–69, New York, NY, USA, November, 2021. Association for Computing Machinery.
PERFUME: Programmatic Extraction and Refinement for Usability of Mathematical Expression [link]Paper  doi  abstract   bibtex   
Algorithmic identification is the crux for several binary analysis applications, including malware analysis, vulnerability discovery, and embedded firmware reverse engineering. However, data-driven and signature-based approaches often break down when encountering outlier realizations of a particular algorithm. Moreover, reverse engineering of domain-specific binaries often requires collaborative analysis between reverse engineers and domain experts. Communicating the behavior of an unidentified binary program to non-reverse engineers necessitates the recovery of algorithmic semantics in a human-digestible form. This paper presents PERFUME, a framework that extracts symbolic math expressions from low-level binary representations of an algorithm. PERFUME works by translating a symbolic output representation of a binary function to a high-level mathematical expression. In particular, we detail how source and target representations are generated for training a machine translation model. We integrate PERFUME as a plug-in for Ghidra–an open-source reverse engineering framework. We present our preliminary findings for domain-specific use cases and formalize open challenges in mathematical expression extraction from algorithmic implementations.
@inproceedings{weideman_perfume_2021,
	address = {New York, NY, USA},
	series = {Checkmate '21},
	title = {{PERFUME}: {Programmatic} {Extraction} and {Refinement} for {Usability} of {Mathematical} {Expression}},
	isbn = {978-1-4503-8552-7},
	shorttitle = {{PERFUME}},
	url = {https://doi.org/10.1145/3465413.3488575},
	doi = {10.1145/3465413.3488575},
	abstract = {Algorithmic identification is the crux for several binary analysis applications, including malware analysis, vulnerability discovery, and embedded firmware reverse engineering. However, data-driven and signature-based approaches often break down when encountering outlier realizations of a particular algorithm. Moreover, reverse engineering of domain-specific binaries often requires collaborative analysis between reverse engineers and domain experts. Communicating the behavior of an unidentified binary program to non-reverse engineers necessitates the recovery of algorithmic semantics in a human-digestible form. This paper presents PERFUME, a framework that extracts symbolic math expressions from low-level binary representations of an algorithm. PERFUME works by translating a symbolic output representation of a binary function to a high-level mathematical expression. In particular, we detail how source and target representations are generated for training a machine translation model. We integrate PERFUME as a plug-in for Ghidra--an open-source reverse engineering framework. We present our preliminary findings for domain-specific use cases and formalize open challenges in mathematical expression extraction from algorithmic implementations.},
	urldate = {2021-11-21},
	booktitle = {Proceedings of the 2021 {Research} on offensive and defensive techniques in the {Context} of {Man} {At} {The} {End} ({MATE}) {Attacks}},
	publisher = {Association for Computing Machinery},
	author = {Weideman, Nicolaas and Felkner, Virginia K. and Wu, Wei-Cheng and May, Jonathan and Hauser, Christophe and Garcia, Luis},
	month = nov,
	year = {2021},
	keywords = {binary analysis, mentions sympy, reverse engineering},
	pages = {59--69},
}

Downloads: 0