当前位置: X-MOL 学术Cybersecurity › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Neutron: an attention-based neural decompiler
Cybersecurity ( IF 3.9 ) Pub Date : 2021-03-05 , DOI: 10.1186/s42400-021-00070-0
Ruigang Liang , Ying Cao , Peiwei Hu , Kai Chen

Decompilation aims to analyze and transform low-level program language (PL) codes such as binary code or assembly code to obtain an equivalent high-level PL. Decompilation plays a vital role in the cyberspace security fields such as software vulnerability discovery and analysis, malicious code detection and analysis, and software engineering fields such as source code analysis, optimization, and cross-language cross-operating system migration. Unfortunately, the existing decompilers mainly rely on experts to write rules, which leads to bottlenecks such as low scalability, development difficulties, and long cycles. The generated high-level PL codes often violate the code writing specifications. Further, their readability is still relatively low. The problems mentioned above hinder the efficiency of advanced applications (e.g., vulnerability discovery) based on decompiled high-level PL codes.In this paper, we propose a decompilation approach based on the attention-based neural machine translation (NMT) mechanism, which converts low-level PL into high-level PL while acquiring legibility and keeping functionally similar. To compensate for the information asymmetry between the low-level and high-level PL, a translation method based on basic operations of low-level PL is designed. This method improves the generalization of the NMT model and captures the translation rules between PLs more accurately and efficiently. Besides, we implement a neural decompilation framework called Neutron. The evaluation of two practical applications shows that Neutron’s average program accuracy is 96.96%, which is better than the traditional NMT model.



中文翻译:

中子:基于注意的神经反编译器

反编译旨在分析和转换诸如二进制代码或汇编代码之类的低级程序语言(PL)代码,以获得等效的高级PL。反编译在网络空间安全领域(例如软件漏洞发现和分析,恶意代码检测和分析)以及软件工程领域(例如源代码分析,优化和跨语言跨操作系统迁移)中起着至关重要的作用。不幸的是,现有的反编译器主要依靠专家来编写规则,这导致了诸如低可伸缩性,开发困难和周期长的瓶颈。生成的高级PL代码经常违反代码编写规范。此外,它们的可读性仍然相对较低。上述问题阻碍了高级应用程序的效率(例如,本文提出了一种基于注意力的神经机器翻译(NMT)机制的反编译方法,该方法将低级PL转换为高级PL,同时获得了可读性和保持功能相似。为了补偿低级和高级PL之间的信息不对称,设计了一种基于低级PL基本操作的转换方法。该方法提高了NMT模型的泛化能力,并更准确,更有效地捕获了PL之间的转换规则。此外,我们实现了一个称为Neutron的神经反编译框架。对两个实际应用的评估表明,Neutron的平均程序精度为96.96%,优于传统的NMT模型。在本文中,我们提出了一种基于注意力的神经机器翻译(NMT)机制的反编译方法,该方法将低级PL转换为高级PL,同时获得易读性并保持功能相似。为了补偿低级和高级PL之间的信息不对称,设计了一种基于低级PL基本操作的转换方法。该方法提高了NMT模型的泛化能力,并更准确,更有效地捕获了PL之间的转换规则。此外,我们实现了一个称为Neutron的神经反编译框架。对两个实际应用的评估表明,Neutron的平均程序精度为96.96%,优于传统的NMT模型。在本文中,我们提出了一种基于注意力的神经机器翻译(NMT)机制的反编译方法,该方法将低级PL转换为高级PL,同时获得易读性并保持功能相似。为了补偿低级和高级PL之间的信息不对称,设计了一种基于低级PL基本操作的转换方法。该方法提高了NMT模型的泛化能力,并更准确,更有效地捕获了PL之间的转换规则。此外,我们实现了一个称为Neutron的神经反编译框架。对两个实际应用的评估表明,Neutron的平均程序精度为96.96%,优于传统的NMT模型。我们提出了一种基于注意力的神经机器翻译(NMT)机制的反编译方法,该方法可将低级PL转换为高级PL,同时获得易读性并保持功能相似。为了补偿低级和高级PL之间的信息不对称,设计了一种基于低级PL基本操作的转换方法。该方法提高了NMT模型的泛化能力,并更准确,更有效地捕获了PL之间的转换规则。此外,我们实现了一个称为Neutron的神经反编译框架。对两个实际应用的评估表明,Neutron的平均程序精度为96.96%,优于传统的NMT模型。我们提出了一种基于注意力的神经机器翻译(NMT)机制的反编译方法,该方法可将低级PL转换为高级PL,同时获得易读性并保持功能相似。为了补偿低级和高级PL之间的信息不对称,设计了一种基于低级PL基本操作的转换方法。该方法提高了NMT模型的泛化能力,并更准确,更有效地捕获了PL之间的转换规则。此外,我们实现了一个称为Neutron的神经反编译框架。对两个实际应用的评估表明,Neutron的平均程序精度为96.96%,优于传统的NMT模型。为了补偿低级和高级PL之间的信息不对称,设计了一种基于低级PL基本操作的转换方法。该方法提高了NMT模型的泛化能力,并更准确,更有效地捕获了PL之间的转换规则。此外,我们实现了一个称为Neutron的神经反编译框架。对两个实际应用的评估表明,Neutron的平均程序精度为96.96%,优于传统的NMT模型。为了补偿低级和高级PL之间的信息不对称,设计了一种基于低级PL基本操作的转换方法。该方法提高了NMT模型的泛化能力,并更准确,更有效地捕获了PL之间的转换规则。此外,我们实现了一个称为Neutron的神经反编译框架。对两个实际应用的评估表明,Neutron的平均程序精度为96.96%,优于传统的NMT模型。我们实现了一个称为Neutron的神经反编译框架。对两个实际应用的评估表明,Neutron的平均程序精度为96.96%,优于传统的NMT模型。我们实现了一个称为Neutron的神经反编译框架。对两个实际应用的评估表明,Neutron的平均程序精度为96.96%,优于传统的NMT模型。

更新日期:2021-03-05
down
wechat
bug