Optimizing symbolic execution for malware behavior classification. Issue 93 (June 2020) - Sebastio, Stefano
Highlights: Improving effective symbolic execution state exploration. Optimization of SMT solving for binary execution and malware. Improving behavioral representation of binary program signatures. Behavioral graph-based signatures for effective multi-class malware classification. Optimizing whole toolchains and understanding their relations holistically. Abstract: Increasingly software correctness, reliability, and security is being analyzed using tools that combine various formal and heuristic approaches. Often such analysis becomes expensive in terms of time and at the cost of high quality results. In this experience report we explore the tuning and optimization of the tools underlying binary malware detection and classification. We identify heuristics and SMT solver tactics for the effective symbolic execution of binary files. We combine these with effective heuristics for the construction of behavioral signatures of programs that can be used for a supervised learning multi-class malware classifier. Further, a set of experiments following the full-factorial design allowed us to identify the correlations between heuristics and the overall performance of the classifier.