論文の概要: Targeted Fuzzing for Unsafe Rust Code: Leveraging Selective Instrumentation
- arxiv url: http://arxiv.org/abs/2505.02464v1
- Date: Mon, 05 May 2025 08:48:42 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-05-06 18:49:35.607526
- Title: Targeted Fuzzing for Unsafe Rust Code: Leveraging Selective Instrumentation
- Title(参考訳): 安全でないRustコードのターゲットファジィング - 選択的なインスツルメンテーションを活用する
- Authors: David Paaßen, Jens-Rene Giesen, Lucas Davi,
- Abstract要約: Rustは、ユーザビリティとセキュリティに焦点を当てた、有望なプログラミング言語である。
プログラマは、厳格なRustセキュリティポリシーに従わない、安全でないコードを書くことができる。
ファジィアが注目すべきプログラムのどの部分にフォーカスするかを決定するために、安全で安全なコードコンポーネントを自動的に検出する手法を提案する。
- 参考スコア(独自算出の注目度): 3.6968220664227633
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Rust is a promising programming language that focuses on concurrency, usability, and security. It is used in production code by major industry players and got recommended by government bodies. Rust provides strong security guarantees achieved by design utilizing the concepts of ownership and borrowing. However, Rust allows programmers to write unsafe code which is not subject to the strict Rust security policy. Empirical studies show that security issues in practice always involve code written in unsafe Rust. In this paper, we present the first approach that utilizes selective code coverage feedback to focus the fuzzing efforts on unsafe Rust code. Our approach significantly improves the efficiency when fuzzing Rust programs and does not require additional computational resources while fuzz testing the target. To quantify the impact of partial code instrumentation, we implement our approach by extending the capabilities of the Rust compiler toolchain. We present an automated approach to detect unsafe and safe code components to decide which parts of the program a fuzzer should focus on when running a fuzzing campaign to find vulnerabilities in Rust programs. Our approach is fully compatible with existing fuzzing implementations and does not require complex manual work, thus retaining the existing high usability standard. Focusing on unsafe code, our implementation allows us to generate inputs that trigger more unsafe code locations with statistical significance and therefore is able to detect potential vulnerabilities in a shorter time span while imposing no performance overhead during fuzzing itself.
- Abstract(参考訳): Rustは、並行性、ユーザビリティ、セキュリティに焦点を当てた有望なプログラミング言語である。
主要産業企業によって生産コードに使われ、政府機関によって推奨されている。
Rustは、オーナシップと借入の概念を活用した設計によって達成される強力なセキュリティ保証を提供する。
しかし、Rustでは、厳格なRustセキュリティポリシーに従わない、安全でないコードを書くことができる。
実証的な研究によると、実際のセキュリティ問題は、常に安全でないRustで書かれたコードを含んでいる。
本稿では、選択的なコードカバレッジフィードバックを利用して、安全でないRustコードにファジングの取り組みを集中させる、最初のアプローチを提案する。
我々の手法は、Rustプログラムをファズする際の効率を大幅に改善し、ターゲットをファズテストしている間に、追加の計算リソースを必要としない。
部分的なコードインスツルメンテーションの影響を定量化するために、Rustコンパイラツールチェーンの機能を拡張することで、アプローチを実装しました。
Rustプログラムの脆弱性を見つけるためにファジィキャンペーンを実行する際に、ファジィアがどの部分に注力すべきかを決定するために、安全で安全なコードコンポーネントを自動的に検出するアプローチを提案する。
我々のアプローチは既存のファジィ実装と完全に互換性があり、複雑な手作業を必要としないため、既存の高ユーザビリティ標準を維持している。
安全でないコードにフォーカスすることで、統計的に意味のあるより安全でないコードロケーションをトリガーするインプットを生成することができ、そのため、ファジイング自体のパフォーマンスオーバーヘッドを伴わず、短時間で潜在的な脆弱性を検出することができます。
関連論文リスト
- CRUST-Bench: A Comprehensive Benchmark for C-to-safe-Rust Transpilation [63.23120252801889]
CRUST-Benchは100のCリポジトリのデータセットで、それぞれが安全なRustとテストケースで手書きのインターフェースとペアリングされている。
我々は、このタスクで最先端の大規模言語モデル(LLM)を評価し、安全で慣用的なRust生成が依然として難しい問題であることを確認した。
最高のパフォーマンスモデルであるOpenAI o1は、ワンショット設定で15タスクしか解決できない。
論文 参考訳(メタデータ) (2025-04-21T17:33:33Z) - Characterizing Unsafe Code Encapsulation In Real-world Rust Systems [2.285834282327349]
内部アンセーフは、システムソフトウェア開発においてRustコミュニティによって提唱される重要な設計パラダイムである。
Rustコンパイラは、安全でないコードを含む安全な関数の健全性を検証することができない。
安全でないコードの本質的な使用法とカプセル化をモデル化するための,新しいアンセーフティアイソレーショングラフを提案する。
論文 参考訳(メタデータ) (2024-06-12T06:59:51Z) - A Mixed-Methods Study on the Implications of Unsafe Rust for Interoperation, Encapsulation, and Tooling [2.2463451968497425]
Rust開発者は、マルチ言語アプリケーション内の健全性を保証するための検証ツールが必要である。
開発者は、外部関数呼び出しの理由、現在使用しているツールの制限、安全でないコードを使用する動機、そしてそれをカプセル化する理由について調査する。
論文 参考訳(メタデータ) (2024-04-02T18:36:21Z) - CodeAttack: Revealing Safety Generalization Challenges of Large Language Models via Code Completion [117.178835165855]
本稿では,自然言語入力をコード入力に変換するフレームワークであるCodeAttackを紹介する。
我々の研究は、コード入力に対するこれらのモデルの新たな、普遍的な安全性の脆弱性を明らかにした。
CodeAttackと自然言語の分布ギャップが大きくなると、安全性の一般化が弱くなる。
論文 参考訳(メタデータ) (2024-03-12T17:55:38Z) - 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) - 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) - Safe Deep Reinforcement Learning by Verifying Task-Level Properties [84.64203221849648]
コスト関数は、安全深層強化学習(DRL)において一般的に用いられる。
このコストは通常、国家空間における政策決定のリスクの定量化が難しいため、指標関数として符号化される。
本稿では,ドメイン知識を用いて,そのような状態に近接するリスクを定量化するための代替手法について検討する。
論文 参考訳(メタデータ) (2023-02-20T15:24:06Z) - Unsafe's Betrayal: Abusing Unsafe Rust in Binary Reverse Engineering
toward Finding Memory-safety Bugs via Machine Learning [20.68333298047064]
Rustは、プログラミングにおけるメモリセーフなバグを避けるために、メモリセーフなメカニズムを提供する。
Rustのユーザビリティを高めるアンセーフコードは、メモリセーフなバグを見つけるための明確な場所を提供する。
これらの安全でないスポットは、マシンラーニングを介してRustバイナリコードで識別可能である、と私たちは主張しています。
論文 参考訳(メタデータ) (2022-10-31T19:32:18Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。