論文の概要: Unsafe's Betrayal: Abusing Unsafe Rust in Binary Reverse Engineering
toward Finding Memory-safety Bugs via Machine Learning
- arxiv url: http://arxiv.org/abs/2211.00111v1
- Date: Mon, 31 Oct 2022 19:32:18 GMT
- ステータス: 処理完了
- システム内更新日: 2022-11-02 15:02:24.717269
- Title: Unsafe's Betrayal: Abusing Unsafe Rust in Binary Reverse Engineering
toward Finding Memory-safety Bugs via Machine Learning
- Title(参考訳): unsafe's betrayal: バイナリリバースエンジニアリングにおけるunsafe rustの悪用 - マシンラーニングによるメモリセーフなバグ発見に向けて
- Authors: Sangdon Park and Xiang Cheng and Taesoo Kim
- Abstract要約: Rustは、プログラミングにおけるメモリセーフなバグを避けるために、メモリセーフなメカニズムを提供する。
Rustのユーザビリティを高めるアンセーフコードは、メモリセーフなバグを見つけるための明確な場所を提供する。
これらの安全でないスポットは、マシンラーニングを介してRustバイナリコードで識別可能である、と私たちは主張しています。
- 参考スコア(独自算出の注目度): 20.68333298047064
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Memory-safety bugs introduce critical software-security issues. Rust provides
memory-safe mechanisms to avoid memory-safety bugs in programming, while still
allowing unsafe escape hatches via unsafe code. However, the unsafe code that
enhances the usability of Rust provides clear spots for finding memory-safety
bugs in Rust source code. In this paper, we claim that these unsafe spots can
still be identifiable in Rust binary code via machine learning and be leveraged
for finding memory-safety bugs. To support our claim, we propose the tool
textttrustspot, that enables reverse engineering to learn an unsafe classifier
that proposes a list of functions in Rust binaries for downstream analysis. We
empirically show that the function proposals by textttrustspot can recall
$92.92\%$ of memory-safety bugs, while it covers only $16.79\%$ of the entire
binary code. As an application, we demonstrate that the function proposals are
used in targeted fuzzing on Rust packages, which contribute to reducing the
fuzzing time compared to non-targeted fuzzing.
- Abstract(参考訳): メモリセーフティバグは重要なソフトウェアセキュリティ問題を引き起こす。
rustは、プログラミングにおけるメモリセーフなバグを回避するために、メモリセーフなメカニズムを提供する。
しかし、rustのユーザビリティを高めるunsafeコードは、rustソースコードのメモリセーフなバグを見つけるための明確なスポットを提供する。
本稿では、これらの安全でないスポットは、機械学習によってrustバイナリコード内でも識別可能であり、メモリセーフなバグ発見に活用できると主張している。
このツールでは、リバースエンジニアリングが、下流分析のためにRustバイナリ内の関数のリストを提案するアンセーフな分類器を学習することができる。
textttrustspotによる関数の提案は、メモリセーフティバグの92.92セントをリコールできるが、バイナリコード全体の16.79セントをカバーしているのはわずか16.79ドルである。
アプリケーションとして、関数の提案がRustパッケージのターゲットファジングに使用されていることを示し、非ターゲットファジングと比較してファジング時間を削減することに寄与する。
関連論文リスト
- BEEAR: Embedding-based Adversarial Removal of Safety Backdoors in Instruction-tuned Language Models [57.5404308854535]
大型言語モデル(LLM)における安全バックドア攻撃は、正常な相互作用中の検出を回避しながら、安全でない振る舞いをステルス的に引き起こすことができる。
モデル埋め込み空間において,バックドアトリガーが比較的均一なドリフトを引き起こすという知見を活かした緩和手法であるBEEARを提案する。
両レベル最適化手法は、不要な振る舞いを誘発する普遍的な埋め込み摂動を特定し、モデルパラメータを調整し、これらの摂動に対する安全な振舞いを強化する。
論文 参考訳(メタデータ) (2024-06-24T19:29:47Z) - Characterizing Unsafe Code Encapsulation In Real-world Rust Systems [2.285834282327349]
内部アンセーフは、システムソフトウェア開発においてRustコミュニティによって提唱される重要な設計パラダイムである。
Rustコンパイラは、安全でないコードを含む安全な関数の健全性を検証することができない。
安全でないコードの本質的な使用法とカプセル化をモデル化するための,新しいアンセーフティアイソレーショングラフを提案する。
論文 参考訳(メタデータ) (2024-06-12T06:59:51Z) - VERT: Verified Equivalent Rust Transpilation with Large Language Models as Few-Shot Learners [6.824327908701066]
Rustはメモリ安全性と低レベルのコントロールを組み合わせたプログラミング言語で、Cライクなパフォーマンスを提供する。
既存の作業はルールベースと大規模言語モデル(LLM)という2つのカテゴリに分類される。
私たちは、正式な正確性を保証する形で、可読性のあるRustトランスパイルを生成するツールであるVERTを紹介します。
論文 参考訳(メタデータ) (2024-04-29T16:45:03Z) - FoC: Figure out the Cryptographic Functions in Stripped Binaries with LLMs [54.27040631527217]
削除されたバイナリの暗号関数を抽出するFoCと呼ばれる新しいフレームワークを提案する。
まず、自然言語における暗号関数のセマンティクスを要約するために、バイナリ大言語モデル(FoC-BinLLM)を構築した。
次に、FoC-BinLLM上にバイナリコード類似モデル(FoC-Sim)を構築し、変更に敏感な表現を作成し、データベース内の未知の暗号関数の類似実装を検索する。
論文 参考訳(メタデータ) (2024-03-27T09:45:33Z) - Fast Summary-based Whole-program Analysis to Identify Unsafe Memory Accesses in Rust [23.0568924498396]
Rustは40年以上にわたって低レベルのソフトウェアに悩まされてきたメモリ安全性問題を解決する最も有望なシステムプログラミング言語の1つである。
アンセーフなRustコードと直接リンクされたアンセーフな外部ライブラリは、メモリ安全違反自体を導入するだけでなく、セーフなRustと同じモノリシックなアドレス空間で実行されるプログラム全体を侵害する可能性がある。
我々は、安全でないヒープの割り当てと、それらの安全でないヒープオブジェクトへのメモリアクセスの両方を識別するためのプログラム全体をプロトタイプ化した。
論文 参考訳(メタデータ) (2023-10-16T11:34:21Z) - rCanary: Detecting Memory Leaks Across Semi-automated Memory Management Boundary in Rust [4.616001680122352]
Rustはコンパイル時の検証を通じてメモリ安全性を保証するシステムプログラミング言語である。
本稿では,半自動境界を越えたリークを検出する静的,非自動,完全自動モデルチェッカーであるrCanaryを提案する。
論文 参考訳(メタデータ) (2023-08-09T08:26:04Z) - Is unsafe an Achilles' Heel? A Comprehensive Study of Safety
Requirements in Unsafe Rust Programming [4.981203415693332]
Rustは、効率性とメモリ安全性を重視した、新しく、強く型付けされたプログラミング言語である。
標準ライブラリの現在の安全でないAPIドキュメントには、一貫性や不十分さなど、さまざまなバリエーションがあった。
Rustのセキュリティを強化するために、ユーザに従うべき安全要件の体系的な記述をリストアップするために、安全でないAPIドキュメントを提案する。
論文 参考訳(メタデータ) (2023-08-09T08:16:10Z) - A Multiplicative Value Function for Safe and Efficient Reinforcement
Learning [131.96501469927733]
本稿では,安全評論家と報酬評論家からなる新しい乗法値関数を持つモデルフリーRLアルゴリズムを提案する。
安全評論家は、制約違反の確率を予測し、制限のないリターンのみを見積もる報酬批評家を割引する。
安全制約を付加した古典的RLベンチマークや、画像を用いたロボットナビゲーションタスク、生のライダースキャンを観察する4つの環境において、本手法の評価を行った。
論文 参考訳(メタデータ) (2023-03-07T18:29:15Z) - Safe Deep Reinforcement Learning by Verifying Task-Level Properties [84.64203221849648]
コスト関数は、安全深層強化学習(DRL)において一般的に用いられる。
このコストは通常、国家空間における政策決定のリスクの定量化が難しいため、指標関数として符号化される。
本稿では,ドメイン知識を用いて,そのような状態に近接するリスクを定量化するための代替手法について検討する。
論文 参考訳(メタデータ) (2023-02-20T15:24:06Z) - Provable Safe Reinforcement Learning with Binary Feedback [62.257383728544006]
状態, アクションペアの安全性に対するバイナリフィードバックを提供するオフラインオラクルへのアクセスを与えられた場合, 証明可能な安全なRLの問題を考える。
我々は,その設定に対してブラックボックスPAC RLアルゴリズムに与えられた任意のMDP設定に適用可能な,新しいメタアルゴリズムSABREを提案する。
論文 参考訳(メタデータ) (2022-10-26T05:37:51Z) - Sample-Efficient Safety Assurances using Conformal Prediction [57.92013073974406]
早期警戒システムは、安全でない状況が差し迫ったときに警告を提供することができる。
安全性を確実に向上させるためには、これらの警告システムは証明可能な偽陰性率を持つべきである。
本稿では,共形予測と呼ばれる統計的推論手法とロボット・環境力学シミュレータを組み合わせたフレームワークを提案する。
論文 参考訳(メタデータ) (2021-09-28T23:00:30Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。