論文の概要: Automatically Mitigating Vulnerabilities in Binary Programs via
Partially Recompilable Decompilation
- arxiv url: http://arxiv.org/abs/2202.12336v2
- Date: Mon, 12 Jun 2023 16:28:54 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-24 15:39:09.818945
- Title: Automatically Mitigating Vulnerabilities in Binary Programs via
Partially Recompilable Decompilation
- Title(参考訳): 部分再コンパイルによるバイナリプログラムにおける脆弱性の自動緩和
- Authors: Pemma Reiter, Hui Jun Tay, Westley Weimer, Adam Doup\'e, Ruoyu Wang,
Stephanie Forrest
- Abstract要約: 部分再コンパイル可能デコンパイル(PRD)を提案する。
PRDは疑わしいバイナリ関数をソースに持ち上げ、分析、リビジョン、レビューに使用でき、パッチされたバイナリを生成する。
我々は、ソースレベルの自動プログラム修復(APR)手法を組み込んだ完全自動化プロセスと、人為的に編集されたソースレベルの修復という2つの文脈でPRDを評価した。
- 参考スコア(独自算出の注目度): 8.31538179550799
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: Vulnerabilities are challenging to locate and repair, especially when source
code is unavailable and binary patching is required. Manual methods are
time-consuming, require significant expertise, and do not scale to the rate at
which new vulnerabilities are discovered. Automated methods are an attractive
alternative, and we propose Partially Recompilable Decompilation (PRD). PRD
lifts suspect binary functions to source, available for analysis, revision, or
review, and creates a patched binary using source- and binary-level techniques.
Although decompilation and recompilation do not typically work on an entire
binary, our approach succeeds because it is limited to a few functions, like
those identified by our binary fault localization.
We evaluate these assumptions and find that, without any grammar or
compilation restrictions, 70-89% of individual functions are successfully
decompiled and recompiled with sufficient type recovery. In comparison, only
1.7% of the full C-binaries succeed. When decompilation succeeds, PRD produces
test-equivalent binaries 92.9% of the time.
In addition, we evaluate PRD in two contexts: a fully automated process
incorporating source-level Automated Program Repair (APR) methods; human-edited
source-level repairs. When evaluated on DARPA Cyber Grand Challenge (CGC)
binaries, we find that PRD-enabled APR tools, operating only on binaries,
performs as well as, and sometimes better than full-source tools, collectively
mitigating 85 of the 148 scenarios, a success rate consistent with these same
tools operating with access to the entire source code. PRD achieves similar
success rates as the winning CGC entries, sometimes finding higher-quality
mitigations than those produced by top CGC teams. For generality, our
evaluation includes two independently developed APR tools and C++, Rode0day,
and real-world binaries.
- Abstract(参考訳): 特にソースコードが使用不能でバイナリパッチが必要な場合には、脆弱性の発見と修正が難しい。
手動メソッドは時間を要するものであり、かなりの専門知識が必要であり、新しい脆弱性が発見された速度までスケールしない。
自動解法は魅力的な代替手段であり,部分再コンパイル可能な解法(PRD)を提案する。
prdは疑わしいバイナリ機能をソースに持ち上げ、分析、リビジョン、レビューが可能で、ソースレベルとバイナリレベルの技術を使ってパッチ付きバイナリを作成する。
逆コンパイルと再コンパイルは通常バイナリ全体で動作するわけではないが、我々のアプローチは、バイナリ障害ローカライゼーションによって識別されるような、いくつかの関数に限定されているため成功している。
これらの仮定を評価し,文法やコンパイルの制限がなければ,70~89%の関数が再コンパイルされ,十分な型回復が得られた。
一方、完全Cバイナリの1.7%しか成功していない。
逆コンパイルが成功すると、RDはテスト等価なバイナリを92.9%生成する。
さらに,ソースレベルの自動プログラム修復(APR)手法を組み込んだ完全自動化プロセス,人為的に編集されたソースレベルの修復という2つの文脈でPRDを評価する。
DARPA Cyber Grand Challenge (CGC)バイナリで評価すると、PDD対応のAPRツールがバイナリ上でのみ動作し、148のシナリオの85を全体として軽減し、ソースコード全体へのアクセスと整合性のある成功率である、という結果が出ています。
PRDは、勝利したCGCエントリーと同様の成功率を獲得し、時には上位CGCチームによって作成されたものよりも高品質な緩和を見出す。
我々の評価には、独立して開発されたAPRツールとC++、Rode0day、現実世界のバイナリが含まれる。
関連論文リスト
- ReF Decompile: Relabeling and Function Call Enhanced Decompile [50.86228893636785]
逆コンパイルの目標は、コンパイルされた低レベルコード(アセンブリコードなど)を高レベルプログラミング言語に変換することである。
このタスクは、脆弱性識別、マルウェア分析、レガシーソフトウェアマイグレーションなど、さまざまなリバースエンジニアリングアプリケーションをサポートする。
論文 参考訳(メタデータ) (2025-02-17T12:38:57Z) - Fine-Grained 1-Day Vulnerability Detection in Binaries via Patch Code Localization [12.73365645156957]
バイナリの1日間の脆弱性は、ソフトウェアセキュリティに対する大きな脅威になっている。
パッチの有無テストは 脆弱性を検出する効果的な方法の1つです
パッチコードとそのコンテキストから安定な値を利用するPLocatorという新しい手法を提案する。
論文 参考訳(メタデータ) (2025-01-29T04:35:37Z) - ExecRepoBench: Multi-level Executable Code Completion Evaluation [45.963424627710765]
本稿では,リポジトリレベルのベンチマークであるExecRepoBenchの作成を通じて,ソフトウェア開発におけるコード補完を強化する新しいフレームワークを紹介する。
本稿では,抽象構文木をベースとした多段階文法ベースの補完手法を提案し,様々な論理単位のコードフラグメントをマスキングする。
次に,Repo-Instruct の 7B パラメータでオープンソースの LLM を微調整し,強力なコード補完ベースラインモデル Qwen2.5-Coder-Instruct-C を生成する。
論文 参考訳(メタデータ) (2024-12-16T17:14:35Z) - Enhancing Reverse Engineering: Investigating and Benchmarking Large Language Models for Vulnerability Analysis in Decompiled Binaries [2.696054049278301]
新しくコンパイルされたバイナリコード脆弱性データセットであるDeBinVulを紹介します。
DeBinVulを使って最先端のLLMを微調整し、バイナリコード脆弱性の検出においてパフォーマンスが19%、24%、21%向上したことを報告します。
論文 参考訳(メタデータ) (2024-11-07T18:54:31Z) - Tractable Offline Learning of Regular Decision Processes [50.11277112628193]
この研究は、正則決定過程(RDP)と呼ばれる非マルコフ環境のクラスにおけるオフライン強化学習(RL)を研究する。
インスは、未来の観測と過去の相互作用からの報酬の未知の依存を実験的に捉えることができる。
多くのアルゴリズムは、まずこの未知の依存関係を自動学習技術を用いて再構築する。
論文 参考訳(メタデータ) (2024-09-04T14:26:58Z) - The Power of Resets in Online Reinforcement Learning [73.64852266145387]
ローカルシミュレータアクセス(あるいはローカルプランニング)を用いたオンライン強化学習を通してシミュレータのパワーを探求する。
カバー性が低いMPPは,Qstar$-realizabilityのみのサンプル効率で学習可能であることを示す。
ローカルシミュレーターアクセス下では, 悪名高いExogenous Block MDP問題が抽出可能であることを示す。
論文 参考訳(メタデータ) (2024-04-23T18:09:53Z) - BinaryAI: Binary Software Composition Analysis via Intelligent Binary Source Code Matching [8.655595404611821]
BinaryAIは2フェーズのバイナリソースコードマッチングを備えた新しいバイナリ・ソースSCA技術で、構文的および意味的両方のコード特徴をキャプチャする。
実験の結果、バイナリソースコードマッチングと下流SCAタスクにおいて、BinaryAIの優れた性能を示しました。
論文 参考訳(メタデータ) (2024-01-20T07:57:57Z) - RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic
Program Repair [75.40584530380589]
新たな検索型パッチ生成フレームワーク(RAP-Gen)を提案する。
RAP-Gen 以前のバグ修正ペアのリストから取得した関連する修正パターンを明示的に活用する。
RAP-GenをJavaScriptのTFixベンチマークとJavaのCode RefinementとDefects4Jベンチマークの2つのプログラミング言語で評価する。
論文 参考訳(メタデータ) (2023-09-12T08:52:56Z) - Break-It-Fix-It: Unsupervised Learning for Program Repair [90.55497679266442]
我々は2つの重要なアイデアを持つ新しいトレーニング手法であるBreak-It-Fix-It (BIFI)を提案する。
批判者は、実際の悪い入力でフィクスダーの出力をチェックし、トレーニングデータに良い(固定された)出力を追加する。
これらのアイデアに基づいて、よりペア化されたデータを生成するために、ブレーカとフィクスチャを同時に使用しながら、繰り返し更新する。
BIFIは既存のメソッドより優れており、GitHub-Pythonで90.5%、DeepFixで71.7%の修正精度がある。
論文 参考訳(メタデータ) (2021-06-11T20:31:04Z) - Improving type information inferred by decompilers with supervised
machine learning [0.0]
ソフトウェアリバースエンジニアリングでは、逆コンパイルはバイナリファイルからソースコードを回復するプロセスである。
関数によって返される高レベルな型を推測できる異なる分類モデルを構築する。
私たちのシステムは、79.1%のF1測定で関数戻り型を予測できますが、最良の逆コンパイラは30%のF1測定を得ます。
論文 参考訳(メタデータ) (2021-01-19T11:45:46Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。