A Natural Language Processing Approach for Instruction Set Architecture Identification

04/13/2022
by   Dinuka Sahabandu, et al.
0

Binary analysis of software is a critical step in cyber forensics applications such as program vulnerability assessment and malware detection. This involves interpreting instructions executed by software and often necessitates converting the software's binary file data to assembly language. The conversion process requires information about the binary file's target instruction set architecture (ISA). However, ISA information might not be included in binary files due to compilation errors, partial downloads, or adversarial corruption of file metadata. Machine learning (ML) is a promising methodology that can be used to identify the target ISA using binary data in the object code section of binary files. In this paper we propose a binary code feature extraction model to improve the accuracy and scalability of ML-based ISA identification methods. Our feature extraction model can be used in the absence of domain knowledge about the ISAs. Specifically, we adapt models from natural language processing (NLP) to i) identify successive byte patterns commonly observed in binary codes, ii) estimate the significance of each byte pattern to a binary file, and iii) estimate the relevance of each byte pattern in distinguishing between ISAs. We introduce character-level features of encoded binaries to identify fine-grained bit patterns inherent to each ISA. We use a dataset with binaries from 12 different ISAs to evaluate our approach. Empirical evaluations show that using our byte-level features in ML-based ISA identification results in an 8 features based on byte-histograms and byte pattern signatures. We observe that character-level features allow reducing the size of the feature set by up to 16x while maintaining accuracy above 97

READ FULL TEXT

page 1

page 8

page 9

research
03/14/2022

Toward the Detection of Polyglot Files

Standardized file formats play a key role in the development and use of ...
research
12/23/2018

A Cross-Architecture Instruction Embedding Model for Natural Language Processing-Inspired Binary Code Analysis

Given a closed-source program, such as most of proprietary software and ...
research
08/16/2019

FiFTy: Large-scale File Fragment Type Identification using Neural Networks

We present FiFTy, a modern file type identification tool for memory fore...
research
08/08/2018

Neural Machine Translation Inspired Binary Code Similarity Comparison beyond Function Pairs

Binary code analysis allows analyzing binary code without having access ...
research
11/17/2021

Using Convolutional Neural Networks to Detect Compression Algorithms

Machine learning is penetrating various domains virtually, thereby proli...
research
10/29/2020

Short Text Classification Approach to Identify Child Sexual Exploitation Material

Producing or sharing Child Sexual Exploitation Material (CSEM) is a seri...
research
01/18/2023

Understand Code Style: Efficient CNN-based Compiler Optimization Recognition System

Compiler optimization level recognition can be applied to vulnerability ...

Please sign up or login with your details

Forgot password? Click here to reset