論文の概要: Do we still need canaries in the coal mine? Measuring shadow stack effectiveness in countering stack smashing
- arxiv url: http://arxiv.org/abs/2412.16343v1
- Date: Fri, 20 Dec 2024 21:08:17 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-12-24 15:55:21.966294
- Title: Do we still need canaries in the coal mine? Measuring shadow stack effectiveness in countering stack smashing
- Title(参考訳): 炭鉱にはまだカナリアは必要か? -スタックスマッシング対策におけるシャドースタックの有効性の測定-
- Authors: Hugo Depuydt, Merve Gülmez, Thomas Nyman, Jan Tobias Mühlberg,
- Abstract要約: 我々は,64ビットx86 (x86-64) システムは,x86-64シャドウスタックの実施に加えてスタックカナリアの有効性にもメリットがあるかを評価する。
x86-64シャドウスタックの実装は、スタックプロテクターのようなスタックレイアウトと組み合わせることで、スタックカナリアよりも効果的で、優れたスタックカナリアであることが分かりました。
- 参考スコア(独自算出の注目度): 1.9042151977387252
- License:
- Abstract: Stack canaries and shadow stacks are widely deployed mitigations to memory-safety vulnerabilities. While stack canaries are introduced by the compiler and rely on sentry values placed between variables and control data, shadow stack implementations protect return addresses explicitly and rely on hardware features available in modern processor designs for efficiency. In this paper we hypothesize that stack canaries and shadow stacks provide similar levels of protections against sequential stack-based overflows. Based on the Juliet test suite, we evaluate whether 64-bit x86 (x86-64) systems benefit from enabling stack canaries in addition to the x86-64 shadow stack enforcement. We observe divergence in overflow detection rates between the GCC and Clang compilers and across optimization levels, which we attribute to differences in stack layouts generated by the compilers. We also find that x86-64 shadow stack implementations are more effective and outperform stack canaries when combined with a stack-protector-like stack layout. We implement and evaluate an enhancement to the Clang x86-64 shadow stack instrumentation that improves the shadow stack detection accuracy based on this observation.
- Abstract(参考訳): スタックカナリアとシャドースタックは、メモリ安全性の脆弱性に対して広くデプロイされている緩和である。
スタックカナリアはコンパイラによって導入され、変数と制御データの間に置かれるセンタリー値に依存するが、シャドースタックの実装は戻りアドレスを明示的に保護し、現代のプロセッサ設計で利用可能なハードウェア機能に依存している。
本稿では、スタックカナリアとシャドースタックが、シーケンシャルスタックベースのオーバーフローに対して同様のレベルの保護を提供するという仮説を立てる。
Julietテストスイートに基づいて、x86-64シャドウスタックの実施に加えて、64ビットx86(x86-64)システムがスタックカナリアを有効にするメリットがあるかどうかを評価する。
我々はGCCコンパイラとClangコンパイラ間のオーバーフロー検出率のばらつきと最適化レベルの差異を観察する。
また、x86-64のシャドウスタック実装はスタックプロテクターのようなスタックレイアウトと組み合わせることで、スタックカナリアよりも効果的で、優れたスタックカナリアであることが判明した。
我々は、この観測に基づいて、影スタック検出精度を向上させるために、Clang x86-64シャドウスタックインスツルメンテーションの強化を実装し、評価する。
関連論文リスト
- FullStack Bench: Evaluating LLMs as Full Stack Coders [108.63536080569877]
FullStack Benchは、幅広いアプリケーションドメインを含むフルスタックプログラミングに焦点を当てている。
FullStack Benchのマルチ言語プログラミング機能を評価するために,16の広く使用されているプログラミング言語から実世界の命令とそれに対応する単体テストケースを設計する。
論文 参考訳(メタデータ) (2024-11-30T16:58:42Z) - BitStack: Any-Size Compression of Large Language Models in Variable Memory Environments [53.71158537264695]
大規模言語モデル(LLM)は、多くのアプリケーションに革命をもたらしたが、ローカルデバイスにおけるメモリ制限により、その展開は依然として困難である。
textbfBitStackは,メモリ使用量とモデル性能のトレードオフを可能にする,新しいトレーニング不要な重み圧縮手法である。
論文 参考訳(メタデータ) (2024-10-31T13:26:11Z) - Breaking the Memory Barrier: Near Infinite Batch Size Scaling for Contrastive Loss [59.835032408496545]
本稿では, コントラスト損失計算を任意の小ブロックに分割するタイルベースの戦略を提案する。
分散システムの階層構造を活用するためのマルチレベルタイリング戦略も導入する。
SOTAメモリ効率のソリューションと比較すると、同等の速度を維持しながら、メモリの2桁の削減を実現している。
論文 参考訳(メタデータ) (2024-10-22T17:59:30Z) - Breaking Bad: How Compilers Break Constant-Time~Implementations [12.486727810118497]
本稿では,ディフェンシブプログラミング手法によって導入されたプロテクションを,コンパイラがどのように壊すかを検討する。
我々は,現在最先端の暗号ライブラリにそのようなコンパイラによって引き起こされる問題が現れるかどうかを,大規模な実験で検証する。
本研究は,最も高い評価を受けている暗号ライブラリのいくつかにおいて,コンパイラが引き起こす秘密の操作がいくつか発生していることを明らかにする。
論文 参考訳(メタデータ) (2024-10-17T12:34:02Z) - DeTRAP: RISC-V Return Address Protection With Debug Triggers [20.807256514935084]
DeTRAPは、戻りアドレスのための書き込み保護されたシャドウスタックを提供する。
メモリ保護ハードウェアを必要とせず、コンパイラツールチェーンに小さな変更しか必要としない。
論文 参考訳(メタデータ) (2024-08-30T12:42:54Z) - CAMP: Compiler and Allocator-based Heap Memory Protection [23.84729234219481]
我々は,ヒープメモリの破損を検知し,キャプチャする新しいサニタイザであるCAMPを提案する。
CAMPは様々なコンパイラ最適化戦略を可能にし、冗長で不要なチェックインスツルメンテーションを排除する。
実環境アプリケーションとSPEC CPUベンチマークの両方を用いてCAMPと既存のツールを比較した結果,実行時のオーバーヘッドを低減して,より優れたヒープ破損検出能力が得られることがわかった。
論文 参考訳(メタデータ) (2024-06-04T19:37:41Z) - Mayhem: Targeted Corruption of Register and Stack Variables [4.5205468816535594]
Rowhammerはどのようにしてスタック変数に障害を注入し、被害者のプロセスに値を登録するかを示す。
我々は、プロセスのスタックに格納されたレジスタ値をターゲットとし、その後メモリにフラッシュアウトすることでこれを実現する。
スタックとレジスタがもはやRowhammer攻撃から安全でないことを示す。
論文 参考訳(メタデータ) (2023-09-05T19:31:49Z) - HDCC: A Hyperdimensional Computing compiler for classification on
embedded systems and high-performance computing [58.720142291102135]
この研究は、HDC分類メソッドの高レベルな記述を最適化されたCコードに変換する最初のオープンソースコンパイラである、ネームコンパイラを紹介している。
nameは現代のコンパイラのように設計されており、直感的で記述的な入力言語、中間表現(IR)、再ターゲット可能なバックエンドを備えている。
これらの主張を裏付けるために,HDC文献で最もよく使われているデータセットについて,HDCCを用いて実験を行った。
論文 参考訳(メタデータ) (2023-04-24T19:16:03Z) - LoopStack: a Lightweight Tensor Algebra Compiler Stack [61.04098601022665]
LoopStackはテンソル操作のためのドメイン固有のコンパイラスタックである。
最先端の機械学習フレームワークのパフォーマンスにマッチし、頻繁なマシンコードを生成する。
メモリフットプリントは非常に小さく、バイナリサイズは245KBで、30K行未満の効率的なコードによって、モバイルや組み込みデバイスでの使用に適している。
論文 参考訳(メタデータ) (2022-05-02T01:57:58Z) - Segment and Complete: Defending Object Detectors against Adversarial
Patch Attacks with Robust Patch Detection [142.24869736769432]
敵のパッチ攻撃は最先端の物体検出器に深刻な脅威をもたらす。
パッチ攻撃に対して物体検出器を防御するフレームワークであるSegment and Complete Defense (SAC)を提案する。
SACは、物理的パッチ攻撃の標的攻撃成功率を著しく低減できることを示す。
論文 参考訳(メタデータ) (2021-12-08T19:18:48Z) - Differentiate Everything with a Reversible Embeded Domain-Specific
Language [0.0]
逆モード自動微分(Reverse-mode Automatic differentiation, AD)は、バックプロパゲーションのための中間計算状態をトレースするには空間オーバーヘッドが多すぎるという問題に悩まされる。
本稿では、逆計算を用いて、可逆プログラミングeを設計、実装することで、状態のトレースを行うことを提案する。
暗黙のスタック操作がないため、プログラムは既存のコンパイラ機能と互換性がある。
論文 参考訳(メタデータ) (2020-03-10T10:16:51Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。