論文の概要: Byte-level Object Bounds Protection
- arxiv url: http://arxiv.org/abs/2603.20347v1
- Date: Fri, 20 Mar 2026 11:51:18 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-03-24 19:11:38.856681
- Title: Byte-level Object Bounds Protection
- Title(参考訳): バイトレベルのオブジェクト境界保護
- Authors: Piyus Kedia,
- Abstract要約: PRISMは、これらの制約をなくす、正確なゼロルックアップオブジェクトバウンドスキームである。
PRISM は算術平均 CPU オーバーヘッドを 46.1% で32バイトの q-padding で達成している。
並列性の高い実世界のワークロードでは、PRISMは11.1%のスループットしか低下しない完全に飽和したApache Webサーバを確保する。
- 参考スコア(独自算出の注目度): 0.0
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Low-level C programs remain highly vulnerable to out-of-bounds memory corruption. State-of-the-art precise defenses either introduce severe runtime overhead due to metadata memory lookups, or break standard C semantics by disallowing partial structs or the creation of an object's end address (EA), a legal operation ubiquitous in real-world C code. Conversely, practical alignment-based solutions achieve efficiency only by relaxing protected bounds. We present PRISM, a precise, zero-lookup object-bounds scheme that eliminates these restrictions. PRISM compresses a 47-bit EA into the 17-bit unused tag area of a 64-bit pointer. By enforcing the invariant that a statically known starting address (KSA) cannot exceed the EA, PRISM completely eliminates the need for costly metadata memory fetches in nearly all bounds checks, while strictly retaining precise object bounds. Our invariant also simplifies the lower-bound checks in existing alignment-based solutions, thus improving their performance. To achieve high throughput, PRISM introduces q-padding, an optimization that safely removes bounds checks for constant-offset accesses (such as struct fields) while maintaining precise, byte-level protection for the variable-indexed accesses primarily exploited by attackers. Evaluated on SPEC 2017, PRISM achieves an arithmetic mean CPU overhead of 46.1\% with a 32-byte q-padding (dropping to 31.3\% in a 32-bit address space). On highly concurrent, real-world workloads, PRISM secures a fully saturated Apache web server with only an 11.1\% throughput reduction, demonstrating its readiness for production deployment. Furthermore, PRISM successfully detected an out-of-bounds violation in \texttt{gcc} that prior tools missed due to their lack of support for partial structs.
- Abstract(参考訳): 低レベルのCプログラムは、アウトオブバウンドメモリの破損に対して非常に脆弱である。
最先端の正確な防御は、メタデータメモリのルックアップによる厳しいランタイムオーバーヘッドや、部分的な構造体を無効にしたり、オブジェクトの終端アドレス(EA)を作成することで標準のCセマンティクスを壊すかのどちらかである。
逆に、現実的なアライメントに基づく解は、保護された境界を緩和することによってのみ効率を達成する。
PRISMは、これらの制約をなくす、正確なゼロルックアップオブジェクトバウンドスキームである。
PRISMは47ビットEAを64ビットポインタの17ビット未使用タグ領域に圧縮する。
静的に知られたスタートアドレス(KSA)がEAを超えることができない不変性を強制することにより、PRISMは、正確なオブジェクト境界を厳密に保持しつつ、ほぼすべての境界チェックでコストのかかるメタデータメモリフェッチの必要性を完全に排除する。
私たちの不変性は、既存のアライメントベースのソリューションの低いバウンドチェックを単純化し、パフォーマンスを改善します。
高いスループットを達成するため、PRISMはq-paddingを導入し、これは定数オフセットアクセス(構造体フィールドなど)のバウンドチェックを安全に除去すると同時に、主に攻撃者が悪用した可変インデックスアクセスに対するバイトレベル保護を正確に維持する最適化である。
SPEC 2017 で評価された PRISM は、演算平均 CPU オーバーヘッドが 46.1 % で、32 バイトの q-パディング(32 ビットアドレス空間では 31.3 % に低下)である。
並列性の高い実世界のワークロードにおいて、PRISMは11.1\%のスループットで完全に飽和したApache Webサーバを確保する。
さらに PRISM は \texttt{gcc} でアウトオブバウンド違反を検出した。
関連論文リスト
- Learning Accurate Segmentation Purely from Self-Supervision [87.78965637247107]
Selfmentは完全に自己管理型のフレームワークで、人間のラベルなしでオブジェクトを生画像から直接分割する。
Selfmentは、複数のベンチマークで新しい最先端(SoTA)結果を設定する。
論文 参考訳(メタデータ) (2026-02-27T07:36:32Z) - Trace: Securing Smart Contract Repository Against Access Control Vulnerability [58.02691083789239]
GitHubはソースコード、ドキュメント、設定ファイルを含む多数のスマートコントラクトリポジトリをホストしている。
サードパーティの開発者は、カスタム開発中にこれらのリポジトリからコードを参照、再利用、フォークすることが多い。
スマートコントラクトの脆弱性を検出する既存のツールは、複雑なリポジトリを扱う能力に制限されている。
論文 参考訳(メタデータ) (2025-10-22T05:18:28Z) - Decompiling Smart Contracts with a Large Language Model [51.49197239479266]
Etherscanの78,047,845のスマートコントラクトがデプロイされているにも関わらず(2025年5月26日現在)、わずか767,520 (1%)がオープンソースである。
この不透明さは、オンチェーンスマートコントラクトバイトコードの自動意味解析を必要とする。
バイトコードを可読でセマンティックに忠実なSolidityコードに変換する,先駆的な逆コンパイルパイプラインを導入する。
論文 参考訳(メタデータ) (2025-06-24T13:42:59Z) - ReF Decompile: Relabeling and Function Call Enhanced Decompile [50.86228893636785]
逆コンパイルの目標は、コンパイルされた低レベルコード(アセンブリコードなど)を高レベルプログラミング言語に変換することである。
このタスクは、脆弱性識別、マルウェア分析、レガシーソフトウェアマイグレーションなど、さまざまなリバースエンジニアリングアプリケーションをサポートする。
論文 参考訳(メタデータ) (2025-02-17T12:38:57Z) - Mon CHÉRI: Mitigating Uninitialized Memory Access with Conditional Capabilities [3.5465353320225113]
CやC++のような言語におけるメモリセーフティの脆弱性の最大10%は、und変数に由来する。
この研究は、メモリ問題とメモリ問題に対する適切なソフトウェア緩和の頻度と欠如に対処する。
我々は、CHERI機能モデルを拡張して、以前の操作に基づいたメモリアクセスポリシーを可能にする「条件付き機能」を含むようにします。
論文 参考訳(メタデータ) (2024-07-11T16:51:36Z) - ShadowBound: Efficient Heap Memory Protection Through Advanced Metadata Management and Customized Compiler Optimization [24.4696797147503]
ヒープの破損は システムのセキュリティに深刻な脅威をもたらす
ユニークなヒープメモリ保護設計であるShadowBoundを紹介します。
LLVMフレームワーク上にShadowBoundを実装し、最先端の3つの無防備を統合しました。
論文 参考訳(メタデータ) (2024-06-04T07:02:53Z) - CGuard: Efficient Spatial Safety for C [0.5249805590164903]
CGuardは、アプリケーションアドレス空間を制限することなく、SGXBoundsに匹敵するオーバーヘッドで、Cアプリケーションに対してオブジェクトバウンド保護を提供するツールです。
CGuardは、オブジェクトのベースアドレスの直前に境界情報を格納し、x86_64アーキテクチャで利用可能な仮想アドレスのスペアビットにベースアドレスの相対オフセットを符号化する。
論文 参考訳(メタデータ) (2021-07-22T09:09:37Z) - ISTR: End-to-End Instance Segmentation with Transformers [147.14073165997846]
ISTRと呼ばれるインスタンスセグメンテーショントランスフォーマーを提案します。これは、その種類の最初のエンドツーエンドフレームワークです。
ISTRは低次元マスクの埋め込みを予測し、それらのマスクの埋め込みと一致する。
ISTRは、提案されたエンドツーエンドのメカニズムにより、近似ベースのサブオプティマティック埋め込みでも最先端のパフォーマンスを発揮します。
論文 参考訳(メタデータ) (2021-05-03T06:00:09Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。