論文の概要: MallocSan: A Memory Safety Tool for Native Closed-Source Applications
- arxiv url: http://arxiv.org/abs/2609.38499v1
- Date: Tue, 29 Sep 2026 20:24:40 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-10-01 18:57:26.715773
- Title: MallocSan: A Memory Safety Tool for Native Closed-Source Applications
- Title(参考訳): MallocSan: ネイティブクローズドソースアプリケーションのためのメモリセーフティツール
- Abstract要約: MallocSanは、ネイティブでクローズドなx86-64 Linuxアプリケーションのためのヒープサニタイザである。
保護された各ポインタの未使用高ビットにオブジェクト識別子を埋め込む。
実行時にデコードしてパッチをパッチするので、その後の実行では、オブジェクトごとのバウンドチェックが完全にユーザ空間で実行される。
- 参考スコア(独自算出の注目度): 2.5425323889482336
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Memory-corruption errors remain a leading cause of high-impact vulnerabilities in C and C++ software. Deterministic detection, however, remains difficult to deploy: compiler-based sanitizers require source code and control of the build pipeline, hardware-assisted schemes depend on specific platforms, and dynamic binary translation can impose order-of-magnitude slowdowns. This paper presents MallocSan, a heap sanitizer for native, potentially closed-source x86-64 Linux applications that requires no source access, recompilation, or specialized hardware. MallocSan interposes on memory allocation through LD_PRELOAD and embeds an object identifier in the unused high bits of each protected pointer. Dereferencing the resulting noncanonical pointer faults at the offending instruction, which MallocSan decodes and patches at runtime so that subsequent executions perform per-object bounds checks entirely in userspace. Sites that cannot be patched fall back to in-handler emulation or single-stepping, while an optional profile-guided pass rewrites frequently executed residual sites offline. MallocSan also extends identity-based checking to vector gather/scatter instructions and supports policy-scoped coverage. Across seven SPEC CPU 2017 benchmarks, MallocSan outperforms Valgrind Memcheck on five, with a geometric-mean execution-time factor of 4.82x relative to native execution, compared with 18.55x for Memcheck, while preserving substantial parallel scaling on both evaluated multithreaded workloads: 644.nab_s and pigz. On the in-scope Juliet tests, MallocSan detects all seeded violations with no false reports on the good executions. It also detects heap-buffer errors in real-world applications, including a known one-byte overread in LibTIFF's tiffcrop utility.
- Abstract(参考訳): メモリ破壊エラーは、CとC++ソフトウェアにおける高影響の脆弱性の主要な原因である。
コンパイラベースのサニタイザはソースコードとビルドパイプラインの制御を必要とし、ハードウェア支援のスキームは特定のプラットフォームに依存し、動的バイナリ変換はマグニチュード・オブ・マグニチュード・スローダウンを課す。
本稿では,ネイティブでクローズドソースなx86-64 Linuxアプリケーション用のヒープサニタイザであるMallocSanについて述べる。
MallocSanはLD_PRELOADを通じてメモリ割り当てをインターセプトし、保護された各ポインタの未使用高ビットにオブジェクト識別子を埋め込む。
MallocSanが実行時にデコードとパッチをデコードし、その後の実行でオブジェクトごとのバウンダリチェックが完全にユーザ空間で実行されるようにする。
パッチをパッチできないサイトは、ハンドラー内エミュレーションやシングルステッピングにフォールバックし、オプションのプロファイル誘導パスリライトは、頻繁に実行された残留サイトをオフラインにする。
MallocSanはまた、アイデンティティベースのチェックをベクトル集合/散乱命令に拡張し、ポリシースコープによるカバレッジをサポートする。
7つのSPEC CPU 2017ベンチマークで、MallocSanはValgrind Memcheckを5倍に上回り、ネイティブ実行と比較して幾何平均実行時間係数は4.82倍、Memcheckは18.55倍である。
顕微鏡内のJulietテストでは、MallocSanは、優れた実行に関する誤った報告なしで、すべてのシードされた違反を検出する。
また、LibTIFFのtiffcropユーティリティで知られている1バイトオーバーリードを含む、現実世界のアプリケーションにおけるヒープバッファエラーを検出する。
関連論文リスト
- PTSan: A Practical Memory Safety Sanitizer for C/C++ with Pointer-Object Authority [0.0]
PTSanはポインタベースのチェックを、各ポインタの高ビットとそのバウンダリを固定サイズの実行テーブルでオブジェクト識別子で実践する。
PTSanは、最も早く公開された位置ベースのサニタイザと同等に動作する。
論文 参考訳(メタデータ) (2026-07-21T16:16:27Z) - Outrunning LLM Cutoffs: A Live Kernel Crash Resolution Benchmark for All [57.23434868678603]
Live-kBenchは、新たに発見されたカーネルバグのエージェントをスクラップし、評価するセルフ進化ベンチマークの評価フレームワークである。
kEnvは、カーネルのコンパイル、実行、フィードバックのためのエージェントに依存しないクラッシュ解決環境である。
kEnvを用いて3つの最先端エージェントをベンチマークし、最初の試行で74%のクラッシュを解決したことを示す。
論文 参考訳(メタデータ) (2026-02-02T19:06:15Z) - GreenMalloc: Allocator Optimisation for Industrial Workloads [0.0]
GreenMallocは、メモリアロケータを自動的に設定するフレームワークである。
効率を損なうことなく,平均ヒープ使用量において最大4.1パーカンテージの減少を示す。
論文 参考訳(メタデータ) (2025-10-24T12:49:38Z) - KGym: A Platform and Dataset to Benchmark Large Language Models on Linux Kernel Crash Resolution [59.20933707301566]
大規模言語モデル(LLM)は、ますます現実的なソフトウェア工学(SE)タスクにおいて一貫して改善されている。
現実世界のソフトウェアスタックでは、Linuxカーネルのような基本的なシステムソフトウェアの開発にSEの取り組みが費やされています。
このような大規模システムレベルのソフトウェアを開発する際にMLモデルが有用かどうかを評価するため、kGymとkBenchを紹介する。
論文 参考訳(メタデータ) (2024-07-02T21:44:22Z) - CAMP: Compiler and Allocator-based Heap Memory Protection [23.84729234219481]
我々は,ヒープメモリの破損を検知し,キャプチャする新しいサニタイザであるCAMPを提案する。
CAMPは様々なコンパイラ最適化戦略を可能にし、冗長で不要なチェックインスツルメンテーションを排除する。
実環境アプリケーションとSPEC CPUベンチマークの両方を用いてCAMPと既存のツールを比較した結果,実行時のオーバーヘッドを低減して,より優れたヒープ破損検出能力が得られることがわかった。
論文 参考訳(メタデータ) (2024-06-04T19:37:41Z) - SeMalloc: Semantics-Informed Memory Allocator [18.04397502953383]
UAF(Use-after-free)は、メモリアンセーフ言語において重要な問題である。
ヒープオブジェクトに関するより多くのセマンティクスをアロケータに渡すことで、トリニティをバランスさせる方法の1つを示します。
SeMallocでは、同じコールサイトから割り当てられたヒープオブジェクトと、同じ関数呼び出しスタックを介して、仮想メモリアドレスを共有することができる。
論文 参考訳(メタデータ) (2024-02-02T21:02:15Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。