論文の概要: SafeFFI: Efficient Sanitization at the Boundary Between Safe and Unsafe Code in Rust and Mixed-Language Applications
- arxiv url: http://arxiv.org/abs/2510.20688v1
- Date: Thu, 23 Oct 2025 16:02:45 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-10-25 03:08:18.320342
- Title: SafeFFI: Efficient Sanitization at the Boundary Between Safe and Unsafe Code in Rust and Mixed-Language Applications
- Title(参考訳): SafeFFI: RustとMixed-Languageアプリケーションにおけるセーフコードとアンセーフコードの境界における効率的な衛生
- Authors: Oliver Braunsdorf, Tim Lange, Konrad Hohentanner, Julian Horsch, Johannes Kinder,
- Abstract要約: 安全でないRustコードは、C/C++ライブラリとの相互運用性と低レベルのデータ構造を実装するために必要である。
Sanitizerは、実行時にそのようなメモリエラーをキャッチできるが、Rustの型システムによって安全性が保証されているメモリアクセスに対しても、多くの不要なチェックを導入する。
我々は,Rustバイナリにおけるメモリ安全機器の最適化システムであるSafeFFIを紹介する。
- 参考スコア(独自算出の注目度): 5.578413517654703
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Unsafe Rust code is necessary for interoperability with C/C++ libraries and implementing low-level data structures, but it can cause memory safety violations in otherwise memory-safe Rust programs. Sanitizers can catch such memory errors at runtime, but introduce many unnecessary checks even for memory accesses guaranteed safe by the Rust type system. We introduce SafeFFI, a system for optimizing memory safety instrumentation in Rust binaries such that checks occur at the boundary between unsafe and safe code, handing over the enforcement of memory safety from the sanitizer to the Rust type system. Unlike previous approaches, our design avoids expensive whole-program analysis and adds much less compile-time overhead (2.64x compared to over 8.83x). On a collection of popular Rust crates and known vulnerable Rust code, SafeFFI achieves superior performance compared to state-of-the-art systems, reducing sanitizer checks by up to 98%, while maintaining correctness and flagging all spatial and temporal memory safety violations.
- Abstract(参考訳): 安全でないRustコードは、C/C++ライブラリとの相互運用性と低レベルのデータ構造の実装のために必要だが、メモリセーフなRustプログラムではメモリ安全違反を引き起こす可能性がある。
Sanitizerは、実行時にそのようなメモリエラーをキャッチできるが、Rustの型システムによって安全性が保証されているメモリアクセスに対しても、多くの不要なチェックを導入する。
セーフファイ(SafeFFI)は、安全でないコードと安全でないコードのバウンダリで発生するチェックを、サニタイザからRustタイプシステムへのメモリ安全性の強制を代行する、Rustバイナリのメモリ安全性インスツルメンテーションを最適化するシステムである。
従来のアプローチとは異なり、我々の設計では、高価なプログラム全体の解析を回避し、コンパイル時のオーバーヘッド(8.83倍)をはるかに少なくする。
一般的なRustクレートと既知の脆弱性のあるRustコードのコレクションでは、SafeFFIは最先端のシステムよりも優れたパフォーマンスを実現し、サニタイザチェックを最大98%削減し、正確性を維持し、空間的および時間的メモリ安全違反をすべて警告する。
関連論文リスト
- LiteRSan: Lightweight Memory Safety Via Rust-specific Program Analysis and Selective Instrumentation [19.377860990540444]
Rustはメモリセーフな言語であり、強力な安全性保証が広く採用されている。
Rustのメモリ安全性バグを検出するための広く採用されているアプローチとして、Address Sanitizer(ASan)がある。
本稿では、従来のアプローチの限界に対処する新しいメモリセーフティサニタイザであるLiteRSanを紹介する。
論文 参考訳(メタデータ) (2025-09-19T20:09:20Z) - ARMOR: Aligning Secure and Safe Large Language Models via Meticulous Reasoning [64.32925552574115]
ARMORは、jailbreak戦略を分析し、コアインテントを抽出する、大規模な言語モデルである。
ARMORは最先端の安全性能を達成し、平均有害率は0.002であり、高度な最適化ベースのジェイルブレイクに対する攻撃成功率は0.06である。
論文 参考訳(メタデータ) (2025-07-14T09:05:54Z) - CRUST-Bench: A Comprehensive Benchmark for C-to-safe-Rust Transpilation [51.18863297461463]
CRUST-Benchは100のCリポジトリのデータセットで、それぞれが安全なRustとテストケースで手書きのインターフェースとペアリングされている。
我々は、このタスクで最先端の大規模言語モデル(LLM)を評価し、安全で慣用的なRust生成が依然として難しい問題であることを確認した。
最高のパフォーマンスモデルであるOpenAI o1は、ワンショット設定で15タスクしか解決できない。
論文 参考訳(メタデータ) (2025-04-21T17:33: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) - Friend or Foe Inside? Exploring In-Process Isolation to Maintain Memory Safety for Unsafe Rust [3.284045052514266]
Rustはインフンセーフな言語機能を提供し、メモリ安全性を開発者に保証する責任をシフトさせる。
本研究では,安全なプログラムセクションを安全違反から保護するためのメカニズムとして,メモリ保護キーを用いたプロセス内分離について検討する。
論文 参考訳(メタデータ) (2023-06-13T20:48:13Z) - 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) - BarrierNet: A Safety-Guaranteed Layer for Neural Networks [50.86816322277293]
BarrierNetは、ニューラルコントローラの安全性の制約が環境の変化に適応できるようにする。
本研究では,2次元空間と3次元空間における交通統合やロボットナビゲーションといった一連の制御問題について評価する。
論文 参考訳(メタデータ) (2021-11-22T15:38:11Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。