論文の概要: XDA: Accurate, Robust Disassembly with Transfer Learning
- arxiv url: http://arxiv.org/abs/2010.00770v3
- Date: Thu, 19 Nov 2020 04:40:24 GMT
- ステータス: 処理完了
- システム内更新日: 2022-10-12 02:37:19.554022
- Title: XDA: Accurate, Robust Disassembly with Transfer Learning
- Title(参考訳): xda: トランスファー学習による正確で堅牢な分解
- Authors: Kexin Pei, Jonas Guan, David Williams-King, Junfeng Yang, Suman Jana
- Abstract要約: XDAは、トランスファーラーニングベースの分解フレームワークである。
マシンコードに存在するさまざまなコンテキスト依存を学習する。
IDA Proのような手書きの分解器より最大38倍速い。
- 参考スコア(独自算出の注目度): 23.716121748941138
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Accurate and robust disassembly of stripped binaries is challenging. The root
of the difficulty is that high-level structures, such as instruction and
function boundaries, are absent in stripped binaries and must be recovered
based on incomplete information. Current disassembly approaches rely on
heuristics or simple pattern matching to approximate the recovery, but these
methods are often inaccurate and brittle, especially across different compiler
optimizations.
We present XDA, a transfer-learning-based disassembly framework that learns
different contextual dependencies present in machine code and transfers this
knowledge for accurate and robust disassembly. We design a self-supervised
learning task motivated by masked Language Modeling to learn interactions among
byte sequences in binaries. The outputs from this task are byte embeddings that
encode sophisticated contextual dependencies between input binaries' byte
tokens, which can then be finetuned for downstream disassembly tasks.
We evaluate XDA's performance on two disassembly tasks, recovering function
boundaries and assembly instructions, on a collection of 3,121 binaries taken
from SPEC CPU2017, SPEC CPU2006, and the BAP corpus. The binaries are compiled
by GCC, ICC, and MSVC on x86/x64 Windows and Linux platforms over 4
optimization levels. XDA achieves 99.0% and 99.7% F1 score at recovering
function boundaries and instructions, respectively, surpassing the previous
state-of-the-art on both tasks. It also maintains speed on par with the fastest
ML-based approach and is up to 38x faster than hand-written disassemblers like
IDA Pro. We release the code of XDA at https://github.com/CUMLSec/XDA.
- Abstract(参考訳): 削除されたバイナリの正確かつ堅牢な分解は難しい。
難易度の根源は、命令や関数境界のような高レベルな構造が削除されたバイナリには存在せず、不完全な情報に基づいて回復しなければならないことである。
現在の分解アプローチは、リカバリを近似するためにヒューリスティックや単純なパターンマッチングに依存するが、これらのメソッドはしばしば不正確で不安定であり、特にコンパイラの最適化が違う。
我々は,機械コードに存在する異なるコンテキスト依存を学習し,その知識を正確かつ堅牢な分解のために伝達する,移動学習に基づく分解フレームワークXDAを提案する。
マスキング言語モデリングによる自己教師型学習タスクを設計し,バイナリ内のバイト列間の相互作用を学習する。
このタスクからの出力は、入力バイナリのバイトトークン間の高度なコンテキスト依存をエンコードするバイト埋め込みで、下流の分解タスク用に微調整することができる。
本研究では,SPEC CPU2017,SPEC CPU2006,BAPコーパスから抽出した3,121個のバイナリから,関数境界とアセンブリ命令を復元する2つの分解タスクにおけるXDAの性能を評価する。
バイナリはGCC、ICC、MSVCによって、x86/x64 WindowsおよびLinuxプラットフォーム上で4つの最適化レベルでコンパイルされる。
XDAは、関数境界と命令をそれぞれ回復する際の99.0%と99.7%のF1スコアを達成した。
また、最速のMLベースのアプローチと同等の速度を維持しており、IDA Proのような手書きの分解器よりも最大38倍高速である。
我々はXDAのコードをhttps://github.com/CUMLSec/XDAでリリースします。
関連論文リスト
- Disassembling Obfuscated Executables with LLM [9.897996716496982]
本稿では,難読化可能ファイルの解析における課題を克服する新しいディスサンブラであるDisasLLMを提案する。
DisasLLMは、アセンブリコードスニペット内の命令が正しくデコードされているかどうかを決定するLLMベースの分類器と、このモデルを利用して難読化された実行ファイルをエンドツーエンドに分解する分解戦略の2つのコンポーネントで構成されている。
我々は、DisasLLMを非常に難解な実行ファイルの集合で評価し、他の最先端の分解ソリューションよりも大幅に優れていることを示した。
論文 参考訳(メタデータ) (2024-07-12T02:10:07Z) - KGym: A Platform and Dataset to Benchmark Large Language Models on Linux Kernel Crash Resolution [59.20933707301566]
大規模言語モデル(LLM)は、ますます現実的なソフトウェア工学(SE)タスクにおいて一貫して改善されている。
現実世界のソフトウェアスタックでは、Linuxカーネルのような基本的なシステムソフトウェアの開発にSEの取り組みが費やされています。
このような大規模システムレベルのソフトウェアを開発する際にMLモデルが有用かどうかを評価するため、kGymとkBenchを紹介する。
論文 参考訳(メタデータ) (2024-07-02T21:44:22Z) - CP-BCS: Binary Code Summarization Guided by Control Flow Graph and
Pseudo Code [79.87518649544405]
本稿ではCP-BCSと呼ばれる制御フローグラフと擬似コード案内バイナリコード要約フレームワークを提案する。
CP-BCSは双方向の命令レベル制御フローグラフと擬似コードを利用して、専門家の知識を取り入れ、包括的なバイナリ関数の実行動作と論理意味論を学ぶ。
論文 参考訳(メタデータ) (2023-10-24T14:20:39Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - Exploring Continual Learning for Code Generation Models [80.78036093054855]
継続的学習(CL)は、コードドメインの中でまだ過小評価されていない重要な側面である。
コード生成,翻訳,要約,改良など,幅広いタスクをカバーするCodeTask-CLというベンチマークを導入する。
即時選択機構の不安定な訓練により,プロンプトプール (PP) などの有効手法が破滅的な忘れ込みに悩まされることが判明した。
論文 参考訳(メタデータ) (2023-07-05T16:58:39Z) - Revisiting Lightweight Compiler Provenance Recovery on ARM Binaries [10.38910167947036]
我々は、ARMバイナリのコンパイラ構成プロパティを効率よく正確に復元する浅層学習モデルにより、以前の作業を拡張した。
我々は、最先端のディープラーニングアプローチと同等の精度を99%以上達成し、トレーニング中に583回、推論時に3,826回達成した。
論文 参考訳(メタデータ) (2023-05-06T05:20:39Z) - Harnessing Deep Learning and HPC Kernels via High-Level Loop and Tensor Abstractions on CPU Architectures [67.47328776279204]
この研究は、効率的でポータブルなDeep LearningとHigh Performance Computingカーネルを開発するためのフレームワークを導入している。
1)プロセッシングプリミティブ(TPP)を用いた計算コアの表現と,2)高レベルな宣言的手法でTPPのまわりの論理ループの表現の2つのステップでカーネルの開発を分解する。
我々は、スタンドアロンカーネルと、さまざまなCPUプラットフォームにおける最先端実装よりも優れたエンドツーエンドワークロードを使用して、このアプローチの有効性を実証する。
論文 参考訳(メタデータ) (2023-04-25T05:04:44Z) - HDCC: A Hyperdimensional Computing compiler for classification on
embedded systems and high-performance computing [58.720142291102135]
この研究は、HDC分類メソッドの高レベルな記述を最適化されたCコードに変換する最初のオープンソースコンパイラである、ネームコンパイラを紹介している。
nameは現代のコンパイラのように設計されており、直感的で記述的な入力言語、中間表現(IR)、再ターゲット可能なバックエンドを備えている。
これらの主張を裏付けるために,HDC文献で最もよく使われているデータセットについて,HDCCを用いて実験を行った。
論文 参考訳(メタデータ) (2023-04-24T19:16:03Z) - NeuDep: Neural Binary Memory Dependence Analysis [28.33030658966508]
本稿では,バイナリプログラムの実行方法に関する学習知識を活用して,メモリ依存を予測するための機械学習に基づく新しいアプローチを提案する。
我々はNeuDepにアプローチを実装し、2つのコンパイラ、4つの最適化、4つの難読パスでコンパイルされた41の人気のあるソフトウェアプロジェクトで評価する。
論文 参考訳(メタデータ) (2022-10-04T04:59:36Z) - SimCLF: A Simple Contrastive Learning Framework for Function-level
Binary Embeddings [2.1222884030559315]
関数レベルのバイナリ埋め込みのための単純なコントラスト学習フレームワークSimCLFを提案する。
我々は教師なし学習アプローチを採用し、インスタンス識別としてバイナリコード類似性検出を定式化する。
SimCLFは分解されたバイナリ関数を直接操作し、任意のエンコーダで実装できる。
論文 参考訳(メタデータ) (2022-09-06T12:09:45Z) - UNIT: Unifying Tensorized Instruction Compilation [11.193044425743981]
ハードウェアベンダは、Intel VNNI、Core、ARM-DOTなどの混合精度操作に対して、テンソル化命令を提供する。
これに対するコンパイルテクニックの欠如は、これらの命令の活用を困難にしている。
これらの命令のコンパイルを統一するコンパイラフレームワークを開発する。
論文 参考訳(メタデータ) (2021-01-21T06:22:58Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。