論文の概要: 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、現実世界のバイナリが含まれる。
関連論文リスト
- 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) - SERL: A Software Suite for Sample-Efficient Robotic Reinforcement
Learning [85.21378553454672]
筆者らは,報酬の計算と環境のリセットを行う手法とともに,効率的なオフ・ポリティクス・ディープ・RL法を含むライブラリを開発した。
我々は,PCBボードアセンブリ,ケーブルルーティング,オブジェクトの移動に関するポリシを,非常に効率的な学習を実現することができることを発見した。
これらの政策は完全な成功率またはほぼ完全な成功率、摂動下でさえ極端な堅牢性を実現し、突発的な堅牢性回復と修正行動を示す。
論文 参考訳(メタデータ) (2024-01-29T10:01:10Z) - 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) - Boosting Neural Networks to Decompile Optimized Binaries [13.255618541522436]
Decompilation は低レベルプログラム言語 (LPL) を機能的に等価な高レベルプログラム言語 (HPL) に変換することを目的としている。
本稿では,コンパイラ最適化バイナリをターゲットとしたNeurDPという新しい学習手法を提案する。
論文 参考訳(メタデータ) (2023-01-03T06:45:54Z) - Evolving Pareto-Optimal Actor-Critic Algorithms for Generalizability and
Stability [67.8426046908398]
汎用性と安定性は,実世界における強化学習(RL)エージェントの運用において重要な2つの目的である。
本稿では,アクター・クリティック・ロス関数の自動設計法であるMetaPGを提案する。
論文 参考訳(メタデータ) (2022-04-08T20:46:16Z) - 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) - Semantic-aware Binary Code Representation with BERT [27.908093567605484]
バグ発見、マルウェア分析、コードクローン検出など、幅広いバイナリ分析アプリケーションでは、バイナリコード上でのコンテキスト意味の回復が必要である。
近年,バイナリのコード表現を自動再構築するために,機械学習に基づくバイナリ解析手法が提案されている。
本稿では,バイナリコードのセマンティックなコード表現を生成するためにBERTを利用するDeepSemanticを提案する。
論文 参考訳(メタデータ) (2021-06-10T03:31:29Z) - Improving type information inferred by decompilers with supervised
machine learning [0.0]
ソフトウェアリバースエンジニアリングでは、逆コンパイルはバイナリファイルからソースコードを回復するプロセスである。
関数によって返される高レベルな型を推測できる異なる分類モデルを構築する。
私たちのシステムは、79.1%のF1測定で関数戻り型を予測できますが、最良の逆コンパイラは30%のF1測定を得ます。
論文 参考訳(メタデータ) (2021-01-19T11:45:46Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。