論文の概要: Fun with flags: How Compilers Break and Fix Constant-Time Code
- arxiv url: http://arxiv.org/abs/2507.06112v1
- Date: Tue, 08 Jul 2025 15:52:17 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-07-09 16:34:38.27361
- Title: Fun with flags: How Compilers Break and Fix Constant-Time Code
- Title(参考訳): フラグで楽しむ - コンパイラの破壊と定時コードの修正方法
- Authors: Antoine Geimer, Clementine Maurice,
- Abstract要約: コンパイラの最適化が定数時間コードをどのように壊すかを分析する。
キーとなる洞察は、パスの小さなセットが、ほとんどのリークの根元にあるということだ。
ソースコードの変更やカスタムコンパイラを必要としない,オリジナルかつ実践的な緩和を提案する。
- 参考スコア(独自算出の注目度): 0.0
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: Developers rely on constant-time programming to prevent timing side-channel attacks. But these efforts can be undone by compilers, whose optimizations may silently reintroduce leaks. While recent works have measured the extent of such leakage, they leave developers without actionable insights: which optimization passes are responsible, and how to disable them without modifying the compiler remains unclear. In this paper, we conduct a qualitative analysis of how compiler optimizations break constant-time code. We construct a dataset of compiler-introduced constant-time violations and analyze the internals of two widely used compilers, GCC and LLVM, to identify the specific optimization passes responsible. Our key insight is that a small set of passes are at the root of most leaks. To the best of our knowledge, we are also the first to characterize how the interactions between these passes contribute to leakage. Based on this analysis, we propose an original and practical mitigation that requires no source code modification or custom compiler: disabling selected optimization passes via compiler flags. We show that this approach significantly reduces leakage with minimal performance overhead, offering an immediately deployable defense for developers.
- Abstract(参考訳): 開発者は、タイミングサイドチャネルアタックを防ぐために、定時プログラミングに依存している。
しかし、これらの取り組みはコンパイラーによって取り除かれ、最適化は静かにリークを再導入する可能性がある。
最近の研究は、そのようなリークの程度を計測しているが、実行可能な洞察は残っていない。どの最適化パスが責任を持ち、コンパイラを変更することなく、どのように無効にするかは、まだ不明である。
本稿では,コンパイラ最適化が定数時間符号を破る方法の定性的な解析を行う。
我々は,コンパイラが導入した定数時間違反のデータセットを構築し,広く使用されている2つのコンパイラ,GCCとLLVMの内部を解析して,特定の最適化パスが責任を負うかを同定する。
私たちの重要な洞察は、パスの小さなセットが、ほとんどのリークの根元にあるということです。
私たちの知る限りでは、これらの間の相互作用が漏洩にどのように貢献するかを最初に特徴づける人物です。
この分析に基づいて,ソースコードの変更やカスタムコンパイラを必要とせず,コンパイラフラグを介して選択した最適化パスを無効にする,オリジナルかつ実用的な緩和法を提案する。
このアプローチがパフォーマンスオーバーヘッドを最小限に抑えてリークを著しく低減し、即時にデプロイ可能なディフェンスを開発者に提供することを示しています。
関連論文リスト
- D-LiFT: Improving LLM-based Decompiler Backend via Code Quality-driven Fine-tuning [49.16469288280772]
D-LiFT(D-LiFT)は、LLMを活用して強化学習(RL)によるデコンパイルコードの品質向上を図る自動デコンパイラバックエンドである。
D-LiFTは、コンパイルされたコードの品質を高めるための鍵となる原則に準拠している。
D-LiFT の中心となる D-SCORE は、複数の側面から逆コンパイルされたコードを評価するための統合品質評価システムである。
論文 参考訳(メタデータ) (2025-06-11T19:09:08Z) - RAG-Based Fuzzing of Cross-Architecture Compilers [0.8302146576157498]
OneAPIは、開発者による最小限の努力で、クロスアーキテクチャなソフトウェア開発をサポートするオープンスタンダードである。
OneAPIはDPC++とC++コンパイラを提供しており、その正確性、信頼性、セキュリティを検証するために徹底的にテストする必要がある。
本稿では,検索拡張生成(RAG)の概念を統合した大規模言語モデル (LLM) ベースのコンパイラファジィツールを提案する。
論文 参考訳(メタデータ) (2025-04-11T20:46:52Z) - Compiler Optimization Testing Based on Optimization-Guided Equivalence Transformations [3.2987550056134873]
本稿では,コンパイラ最適化にインスパイアされたメタモルフィックテスト手法を提案する。
提案手法ではまず,最適化条件を満たす入力プログラムを生成するために,最適化されたコード構築戦略を用いる。
事前変換プログラムと後変換プログラムの出力を比較することで、不正な最適化バグを効果的に識別する。
論文 参考訳(メタデータ) (2025-04-06T01:37:57Z) - ReF Decompile: Relabeling and Function Call Enhanced Decompile [50.86228893636785]
逆コンパイルの目標は、コンパイルされた低レベルコード(アセンブリコードなど)を高レベルプログラミング言語に変換することである。
このタスクは、脆弱性識別、マルウェア分析、レガシーソフトウェアマイグレーションなど、さまざまなリバースエンジニアリングアプリケーションをサポートする。
論文 参考訳(メタデータ) (2025-02-17T12:38:57Z) - Finding Missed Code Size Optimizations in Compilers using LLMs [1.90019787465083]
我々は,大規模言語モデルと一連の差分テスト戦略を組み合わせた新しいテスト手法を開発した。
当社のアプローチでは,実装に150行未満のコードが必要です。
現在までに、本番コンパイラの24のバグが報告されている。
論文 参考訳(メタデータ) (2024-12-31T21:47:46Z) - Breaking Bad: How Compilers Break Constant-Time~Implementations [12.486727810118497]
本稿では,ディフェンシブプログラミング手法によって導入されたプロテクションを,コンパイラがどのように壊すかを検討する。
我々は,現在最先端の暗号ライブラリにそのようなコンパイラによって引き起こされる問題が現れるかどうかを,大規模な実験で検証する。
本研究は,最も高い評価を受けている暗号ライブラリのいくつかにおいて,コンパイラが引き起こす秘密の操作がいくつか発生していることを明らかにする。
論文 参考訳(メタデータ) (2024-10-17T12:34:02Z) - Accurate Coverage Metrics for Compiler-Generated Debugging Information [0.0]
多くのツールは、プログラム状態のソース言語ビューを示すために、コンパイラが生成したメタデータに依存している。
局所変数のカバー範囲を測定するための現在のアプローチは粗末な仮定に基づいている。
我々は,デバッグ品質を改善するための言語実装のモチベーションとして,ツールによって計算可能な,いくつかの新しいメトリクスを提案する。
論文 参考訳(メタデータ) (2024-02-07T13:01:28Z) - Dcc --help: Generating Context-Aware Compiler Error Explanations with
Large Language Models [53.04357141450459]
dcc --helpはCS1とCS2のコースにデプロイされ、2565人の学生が10週間で64,000回以上このツールを使っている。
LLMが生成した説明は、コンパイル時間の90%と実行時の75%で概念的に正確であるが、コードに解決策を提供しない命令を無視することが多かった。
論文 参考訳(メタデータ) (2023-08-23T02:36:19Z) - Learning Performance-Improving Code Edits [107.21538852090208]
本稿では,大規模言語モデル(LLM)を高レベルプログラム最適化に適用するためのフレームワークを提案する。
まず、競争力のある77,000以上のC++プログラミングサブミッションペアによる、人間のプログラマによるパフォーマンス改善編集のデータセットをキュレートする。
提案手法は,検索をベースとした少数ショットプロンプトとチェーン・オブ・シンクレットを提案し,その微調整には,自己再生に基づく性能条件付き生成と合成データ拡張が含まれる。
論文 参考訳(メタデータ) (2023-02-15T18:59:21Z) - PolyDL: Polyhedral Optimizations for Creation of High Performance DL
primitives [55.79741270235602]
本稿では,Deep Learningプリミティブの高性能実装を自動的に生成するコンパイラアルゴリズムを提案する。
我々は多面体モデルを用いた新しいデータ再利用分析アルゴリズムを開発した。
また、このようなハイブリッドコンパイラとライブラリ使用の最小限のアプローチが、最先端のパフォーマンスをもたらすことを示す。
論文 参考訳(メタデータ) (2020-06-02T06:44:09Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。