論文の概要: Boosting Neural Networks to Decompile Optimized Binaries
- arxiv url: http://arxiv.org/abs/2301.00969v1
- Date: Tue, 3 Jan 2023 06:45:54 GMT
- ステータス: 処理完了
- システム内更新日: 2023-01-04 15:17:24.123249
- Title: Boosting Neural Networks to Decompile Optimized Binaries
- Title(参考訳): 最適化バイナリを非コンパイルするニューラルネットワークの強化
- Authors: Ying Cao, Ruigang Liang, Kai Chen, Peiwei Hu
- Abstract要約: Decompilation は低レベルプログラム言語 (LPL) を機能的に等価な高レベルプログラム言語 (HPL) に変換することを目的としている。
本稿では,コンパイラ最適化バイナリをターゲットとしたNeurDPという新しい学習手法を提案する。
- 参考スコア(独自算出の注目度): 13.255618541522436
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Decompilation aims to transform a low-level program language (LPL) (eg.,
binary file) into its functionally-equivalent high-level program language (HPL)
(e.g., C/C++). It is a core technology in software security, especially in
vulnerability discovery and malware analysis. In recent years, with the
successful application of neural machine translation (NMT) models in natural
language processing (NLP), researchers have tried to build neural decompilers
by borrowing the idea of NMT. They formulate the decompilation process as a
translation problem between LPL and HPL, aiming to reduce the human cost
required to develop decompilation tools and improve their generalizability.
However, state-of-the-art learning-based decompilers do not cope well with
compiler-optimized binaries. Since real-world binaries are mostly
compiler-optimized, decompilers that do not consider optimized binaries have
limited practical significance. In this paper, we propose a novel
learning-based approach named NeurDP, that targets compiler-optimized binaries.
NeurDP uses a graph neural network (GNN) model to convert LPL to an
intermediate representation (IR), which bridges the gap between source code and
optimized binary. We also design an Optimized Translation Unit (OTU) to split
functions into smaller code fragments for better translation performance.
Evaluation results on datasets containing various types of statements show that
NeurDP can decompile optimized binaries with 45.21% higher accuracy than
state-of-the-art neural decompilation frameworks.
- Abstract(参考訳): Decompilation は低レベルプログラム言語 (LPL) を機能的に等価な高レベルプログラム言語 (HPL) に変換することを目的としている(C/C++ など)。
これはソフトウェアセキュリティ、特に脆弱性発見とマルウェア分析における中核技術である。
近年、自然言語処理(NLP)におけるニューラルマシン翻訳(NMT)モデルの適用が成功し、研究者はNMTのアイデアを借用してニューラルデコンパイラの構築を試みた。
LPLとHPLの翻訳問題として,分解処理を定式化し,分解ツールの開発に必要な人的コストを削減し,一般化性を向上させる。
しかし、最先端の学習ベースのデコンパイラはコンパイラ最適化バイナリにはうまく対応しない。
現実世界のバイナリは大部分がコンパイラに最適化されているため、最適化されたバイナリを考慮しない逆コンパイラは実用的重要性が限られている。
本稿では,コンパイラ最適化バイナリを対象とするNeurDPという新しい学習手法を提案する。
NeurDPはグラフニューラルネットワーク(GNN)モデルを使用して、LPLを中間表現(IR)に変換することで、ソースコードと最適化バイナリ間のギャップを埋める。
また,関数を小さなコードフラグメントに分割するための最適化翻訳ユニット (otu) も設計した。
さまざまな種類のステートメントを含むデータセットの評価結果は、NeurDPが最適化されたバイナリを45.21%の精度で分解可能であることを示している。
関連論文リスト
- DSTC: Direct Preference Learning with Only Self-Generated Tests and Code to Improve Code LMs [56.24431208419858]
UnderlinetextbfDirect Preference Learning with only underlinetextbfSelf-Generated underlinetextbfTests and underlinetextbfCode (DSTC)を紹介する。
DSTCは自己生成コードスニペットとテストのみを使用して信頼性の高い選好ペアを構築する。
論文 参考訳(メタデータ) (2024-11-20T02:03:16Z) - SLaDe: A Portable Small Language Model Decompiler for Optimized Assembly [6.080751346188323]
本稿では,実世界のコード上で訓練されたシーケンス・ツー・シーケンス・トランスフォーマをベースとした小型言語モデルデコンパイラであるSLaDeを提案する。
型推論を利用して、標準的な分析や最近のニューラルアプローチよりも読みやすく正確なプログラムを生成する。
論文 参考訳(メタデータ) (2023-05-21T17:31:39Z) - Compacting Binary Neural Networks by Sparse Kernel Selection [58.84313343190488]
本稿は,BNNにおけるバイナリカーネルの分散化がほぼ不可能であることを示すものである。
我々は、選択過程をエンドツーエンドに最適化するだけでなく、選択したコードワードの非反復的占有を維持できる置換ストレートスルー推定器(PSTE)を開発した。
実験により,提案手法はモデルサイズとビット幅の計算コストの両方を削減し,同等の予算下での最先端のBNNと比較して精度の向上を実現する。
論文 参考訳(メタデータ) (2023-03-25T13:53:02Z) - Extending Source Code Pre-Trained Language Models to Summarise
Decompiled Binaries [4.0484792045035505]
ソースコードの事前訓練済み言語モデルを拡張して、逆コンパイルされたバイナリ関数を要約する。
このようなモデルの性能に及ぼす入力特性とデータ特性の影響について検討する。
BinT5は最先端のBLEU-4スコアを60.83、58.82、44.21で達成し、ソースを要約し、逆コンパイルし、合成的に削除した。
論文 参考訳(メタデータ) (2023-01-04T16:56:33Z) - Beyond the C: Retargetable Decompilation using Neural Machine
Translation [5.734661402742406]
我々は,新しい言語に容易に再ターゲティング可能なプロトタイプ・デコンパイラを開発した。
トークン化やトレーニングデータ選択などのパラメータが逆コンパイルの品質に与える影響について検討する。
トレーニングデータ、トレーニングされた逆コンパイルモデル、そして将来の言語に依存しない逆コンパイルの研究を促進するためのコードをリリースします。
論文 参考訳(メタデータ) (2022-12-17T20:45:59Z) - Towards Accurate Binary Neural Networks via Modeling Contextual
Dependencies [52.691032025163175]
既存のバイナリニューラルネットワーク(BNN)は主にバイナライズ機能を備えた局所畳み込みで動作する。
本稿では,二元系ニューラルモジュールの設計を新たに提案し,二元系ニューラルモジュールを大きなマージンで導く。
論文 参考訳(メタデータ) (2022-09-03T11:51:04Z) - Learning to Superoptimize Real-world Programs [79.4140991035247]
本稿では,ニューラルシークエンス・ツー・シーケンス・モデルを用いて,実世界のプログラムを最適化するフレームワークを提案する。
我々は、x86-64アセンブリでオープンソースプロジェクトから抽出された25万以上の実世界の関数からなるデータセットであるBig Assemblyベンチマークを紹介した。
論文 参考訳(メタデータ) (2021-09-28T05:33:21Z) - Quantized Neural Networks via {-1, +1} Encoding Decomposition and
Acceleration [83.84684675841167]
本稿では,量子化されたニューラルネットワーク(QNN)をマルチブランチバイナリネットワークに分解するために,-1,+1を用いた新しい符号化方式を提案する。
本稿では,大規模画像分類,オブジェクト検出,セマンティックセグメンテーションにおける提案手法の有効性を検証する。
論文 参考訳(メタデータ) (2021-06-18T03:11:15Z) - Improving type information inferred by decompilers with supervised
machine learning [0.0]
ソフトウェアリバースエンジニアリングでは、逆コンパイルはバイナリファイルからソースコードを回復するプロセスである。
関数によって返される高レベルな型を推測できる異なる分類モデルを構築する。
私たちのシステムは、79.1%のF1測定で関数戻り型を予測できますが、最良の逆コンパイラは30%のF1測定を得ます。
論文 参考訳(メタデータ) (2021-01-19T11:45:46Z) - PolyDL: Polyhedral Optimizations for Creation of High Performance DL
primitives [55.79741270235602]
本稿では,Deep Learningプリミティブの高性能実装を自動的に生成するコンパイラアルゴリズムを提案する。
我々は多面体モデルを用いた新しいデータ再利用分析アルゴリズムを開発した。
また、このようなハイブリッドコンパイラとライブラリ使用の最小限のアプローチが、最先端のパフォーマンスをもたらすことを示す。
論文 参考訳(メタデータ) (2020-06-02T06:44:09Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。