論文の概要: LiteRSan: Lightweight Memory Safety Via Rust-specific Program Analysis and Selective Instrumentation
- arxiv url: http://arxiv.org/abs/2509.16389v1
- Date: Fri, 19 Sep 2025 20:09:20 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-09-30 15:17:55.740079
- Title: LiteRSan: Lightweight Memory Safety Via Rust-specific Program Analysis and Selective Instrumentation
- Title(参考訳): LiteRSan:Rust固有のプログラム分析と選択的なインスツルメンテーションによる軽量メモリ安全性
- Authors: Tianrou Xia, Kaiming Huang, Dongyeon Yu, Yuseok Jeon, Jie Zhou, Dinghao Wu, Taegyu Kim,
- Abstract要約: Rustはメモリセーフな言語であり、強力な安全性保証が広く採用されている。
Rustのメモリ安全性バグを検出するための広く採用されているアプローチとして、Address Sanitizer(ASan)がある。
本稿では、従来のアプローチの限界に対処する新しいメモリセーフティサニタイザであるLiteRSanを紹介する。
- 参考スコア(独自算出の注目度): 19.377860990540444
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Rust is a memory-safe language, and its strong safety guarantees combined with high performance have been attracting widespread adoption in systems programming and security-critical applications. However, Rust permits the use of unsafe code, which bypasses compiler-enforced safety checks and can introduce memory vulnerabilities. A widely adopted approach for detecting memory safety bugs in Rust is Address Sanitizer (ASan). Optimized versions, such as ERASan and RustSan, have been proposed to selectively apply security checks in order to reduce performance overhead. However, these tools still incur significant performance and memory overhead and fail to detect many classes of memory safety vulnerabilities due to the inherent limitations of ASan. In this paper, we present LiteRSan, a novel memory safety sanitizer that addresses the limitations of prior approaches. By leveraging Rust's unique ownership model, LiteRSan performs Rust-specific static analysis that is aware of pointer lifetimes to identify risky pointers. It then selectively instruments risky pointers to enforce only the necessary spatial or temporal memory safety checks. Consequently, LiteRSan introduces significantly lower runtime overhead (18.84% versus 152.05% and 183.50%) and negligible memory overhead (0.81% versus 739.27% and 861.98%) compared with existing ASan-based sanitizers while being capable of detecting memory safety bugs that prior techniques miss.
- Abstract(参考訳): Rustはメモリセーフな言語であり、その強力な安全性保証とハイパフォーマンスが組み合わさって、システムプログラミングとセキュリティクリティカルなアプリケーションに広く採用されている。
しかし、Rustは、コンパイラが強化した安全性チェックをバイパスし、メモリ脆弱性を導入するアンセーフコードの使用を許可している。
Rustのメモリ安全性バグを検出するアプローチとして広く採用されているのがAddress Sanitizer(ASan)だ。
ERASanやRustSanのような最適化されたバージョンは、パフォーマンスのオーバーヘッドを軽減するためにセキュリティチェックを選択的に適用するために提案されている。
しかしながら、これらのツールは依然として大幅なパフォーマンスとメモリオーバーヘッドを発生させており、ASan固有の制限のため、多くのクラスのメモリ安全性の脆弱性を検出することができない。
本稿では,従来のアプローチの限界に対処する新しいメモリ安全性サニタイザであるLiteRSanを提案する。
Rustのユニークなオーナシップモデルを活用することで、LiteRSanは、リスクのあるポインタを特定するために、ポインタ寿命を認識するRust固有の静的解析を実行する。
その後、危険なポインタを選択的に計測し、必要な空間的または時間的メモリ安全性チェックのみを強制する。
その結果、LiteRSanは、既存のASanベースのサニタイザと比較して、実行時のオーバーヘッド(18.84%対152.05%対183.50%)と無視可能なメモリオーバーヘッド(0.81%対739.27%と861.98%)をはるかに低くし、以前の技術が見逃したメモリ安全性のバグを検出することができる。
関連論文リスト
- Rethinking Safety in LLM Fine-tuning: An Optimization Perspective [56.31306558218838]
我々は、本質的にトレードオフではなく、最適化の貧弱な選択が、しばしば安全上の問題を引き起こすことを示し、敵のプロンプトに対する有害な応答として測定する。
安全性能を保ったパラメータ空間における簡易指数移動平均(EMA)運動量法を提案する。
複数のデータセットにまたがるLlamaファミリーに関する実験は、安全性の問題が特別な介入なしに回避できることを実証している。
論文 参考訳(メタデータ) (2025-08-17T23:46:36Z) - ARMOR: Aligning Secure and Safe Large Language Models via Meticulous Reasoning [49.47193675702453]
大規模言語モデル(LLM)は、顕著な生成能力を示している。
LLMは、安全上の制約を回避できる悪意のある命令に弱いままである。
推論に基づく安全アライメントフレームワークARMORを提案する。
論文 参考訳(メタデータ) (2025-07-14T09:05:54Z) - deepSURF: Detecting Memory Safety Vulnerabilities in Rust Through Fuzzing LLM-Augmented Harnesses [8.093479682590825]
Rustはメモリ安全性をデフォルトで保証するが、安全でないコードの使用も許可している。
本稿では,Large Language Model (LLM) を用いたファジングハーネス生成と静的解析を統合したDeepSURFを提案する。
私たちは、27の現実世界のRustクレート上でDeepSURFを評価し、既知の20のメモリ安全性バグを再発見し、これまで知らなかった6つの脆弱性を明らかにしました。
論文 参考訳(メタデータ) (2025-06-18T17:18:23Z) - 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) - SafeSwitch: Steering Unsafe LLM Behavior via Internal Activation Signals [51.49737867797442]
大規模言語モデル(LLM)は、様々なタスクにまたがる例外的な能力を示すが、有害なコンテンツを生成することでリスクを引き起こす。
LLMは、内部状態の安全性に関する内部評価を同様に行うことができることを示す。
本稿では,プロバーをベースとした内部状態モニタを用いて,安全でない出力を規制するSafeSwitchを提案する。
論文 参考訳(メタデータ) (2025-02-03T04:23: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) - Top of the Heap: Efficient Memory Error Protection of Safe Heap Objects [37.992322891101374]
既存のメモリセーフティディフェンスは、すべてのオブジェクトを保護することを目的としており、高いパフォーマンスコストと不完全な保護をもたらす。
本稿では,コストのかかるオブジェクトを正確に識別する手法を提案し,メモリエラーのすべてのクラスから包括的に保護する方法を設計する。
論文 参考訳(メタデータ) (2023-10-10T08:04:08Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。