Visualizing Machine Learning Explanations to Support Software Reverse Engineers

Abstract

Software reverse engineering is a complex and time-consuming process. Machine learning is a tool that has potential to increase the efficiency of this process. In particular, machine learning explanations allow models to explain themselves in a way that can provide beneficial information to reverse engineers. This research develops a novel visualization tool that can heat map machine learning explanations within Binary Ninja. We determine how precisely the tool can identify function starts, for loops, and switch statements present in a compiled binary's source code. We also collect precision metrics from Binary Ninja's high-level intermediate language and compare these with the tool's. Overall, the experimental results show the tool and Binary Ninja can identify functions starts with 100 accuracy. The tool was able detect for loops with 76.47 accuracy and switch statements with 91.67 . Meanwhile, Binary Ninja's high-level intermediate view detected 0 of the for loops and only 12.5 of the switch statements.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Sep 01, 2022
Accession Number
AD1181415

Entities

People

  • Alec Mcgahee

Organizations

  • Air Force Institute of Technology

Tags

Communities of Interest

  • Autonomy
  • Cyber
  • Engineered Resilient Systems

DTIC Thesaurus Topics

  • Air Force
  • Artificial Intelligence
  • Computer Languages
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Convolutional Neural Networks
  • Deep Learning
  • Graphical User Interface
  • Information Science
  • Instruction Set Architecture
  • Machine Learning
  • Neural Networks
  • Operating Systems
  • Reverse Engineering
  • Statistical Analysis

Fields of Study

  • Computer science

Readers

  • Agent-Based Social Robotics and Mobile-Assisted Learning in Virtual Environments.
  • Computer Programming and Software Development.
  • Theoretical Analysis.

Technology Areas

  • AI & ML
  • AI & ML - Neural Networks