論文の概要: 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パッケージのターゲットファジングに使用されていることを示し、非ターゲットファジングと比較してファジング時間を削減することに寄与する。
関連論文リスト
- Static Deadlock Detection for Rust Programs [6.596623081054982]
Rustはスレッドとメモリの安全性を確保するために独自のオーナシップメカニズムに依存している。
Rustの新しい言語機能は、脆弱性検出に新たな課題をもたらす。
本稿では,Rustプログラムに適した静的デッドロック検出手法を提案する。
論文 参考訳(メタデータ) (2024-01-02T09:09:48Z) - A Closer Look at the Security Risks in the Rust Ecosystem [0.0]
Rustは、システムソフトウェアの開発用に設計された新しいプログラミング言語である。
Rustコードの再利用を容易にするため、Rustエコシステムの中心的なパッケージレジストリであるcrates.ioでは、数千のサードパーティのRustパッケージがホストされている。
crates.ioのオープン性はRustエコシステムの成長を可能にするが、深刻なセキュリティアドバイザリによるセキュリティリスクも伴う。
論文 参考訳(メタデータ) (2023-08-29T06:05:25Z) - Fixing Rust Compilation Errors using LLMs [2.1781086368581932]
Rustプログラミング言語は、C/C++のような従来の安全でない代替言語よりも、低レベルのシステムプログラミング言語に実行可能な選択肢として、自らを確立している。
本稿では,Large Language Models(LLMs)の創発的機能を活用し,Rustコンパイルエラーの修正を自動的に提案するRustAssistantというツールを提案する。
RustAssistantは、人気のあるオープンソースRustリポジトリの実際のコンパイルエラーに対して、約74%の驚くべきピーク精度を達成することができる。
論文 参考訳(メタデータ) (2023-08-09T18:30:27Z) - rCanary: Detecting Memory Leaks Across Semi-automated Memory Management
Boundary in Rust [4.981203415693332]
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) - Safety Shielding under Delayed Observation [59.86192283565134]
シールドは安全な実行を保証するコンストラクション・バイ・コンストラクション・インストラクタである。
シールドは、将来の干渉が最小化される可能性が最も高い方法で、安全な修正行動を選択するべきである。
現実的な運転シミュレータにおけるシールドの最初の統合について述べる。
論文 参考訳(メタデータ) (2023-07-05T10:06: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) - Kanerva++: extending The Kanerva Machine with differentiable, locally
block allocated latent memory [75.65949969000596]
エピソディックメモリとセマンティックメモリは、人間のメモリモデルの重要なコンポーネントです。
我々は、エピソードメモリとセマンティックメモリのギャップを埋める新しい原理ベイズメモリ割り当てスキームを開発しました。
この割り当て方式がメモリ条件画像生成の性能を向上させることを実証する。
論文 参考訳(メタデータ) (2021-02-20T18:40:40Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。