論文の概要: Breaking Bad: How Compilers Break Constant-Time~Implementations
- arxiv url: http://arxiv.org/abs/2410.13489v1
- Date: Thu, 17 Oct 2024 12:34:02 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-10-18 13:17:47.838284
- Title: Breaking Bad: How Compilers Break Constant-Time~Implementations
- Title(参考訳): Breaking Bad: コンパイラが定数時間—実装を壊す方法
- Authors: Moritz Schneider, Daniele Lain, Ivan Puddu, Nicolas Dutly, Srdjan Capkun,
- Abstract要約: 本稿では,ディフェンシブプログラミング手法によって導入されたプロテクションを,コンパイラがどのように壊すかを検討する。
我々は,現在最先端の暗号ライブラリにそのようなコンパイラによって引き起こされる問題が現れるかどうかを,大規模な実験で検証する。
本研究は,最も高い評価を受けている暗号ライブラリのいくつかにおいて,コンパイラが引き起こす秘密の操作がいくつか発生していることを明らかにする。
- 参考スコア(独自算出の注目度): 12.486727810118497
- License:
- Abstract: The implementations of most hardened cryptographic libraries use defensive programming techniques for side-channel resistance. These techniques are usually specified as guidelines to developers on specific code patterns to use or avoid. Examples include performing arithmetic operations to choose between two variables instead of executing a secret-dependent branch. However, such techniques are only meaningful if they persist across compilation. In this paper, we investigate how optimizations used by modern compilers break the protections introduced by defensive programming techniques. Specifically, how compilers break high-level constant-time implementations used to mitigate timing side-channel attacks. We run a large-scale experiment to see if such compiler-induced issues manifest in state-of-the-art cryptographic libraries. We develop a tool that can profile virtually any architecture, and we use it to run trace-based dynamic analysis on 44,604 different targets. Particularly, we focus on the most widely deployed cryptographic libraries, which aim to provide side-channel resistance. We are able to evaluate whether their claims hold across various CPU architectures, including x86-64, x86-i386, armv7, aarch64, RISC-V, and MIPS-32. Our large-scale study reveals that several compiler-induced secret-dependent operations occur within some of the most highly regarded hardened cryptographic libraries. To the best of our knowledge, such findings represent the first time these issues have been observed in the wild. One of the key takeaways of this paper is that the state-of-the-art defensive programming techniques employed for side-channel resistance are still inadequate, incomplete, and bound to fail when paired with the optimizations that compilers continuously introduce.
- Abstract(参考訳): 最も強化された暗号ライブラリの実装は、サイドチャネル耐性のための防御プログラミング技術を使用している。
これらのテクニックは通常、使用または回避するための特定のコードパターンに関するディベロッパのガイドラインとして指定されます。
例えば、秘密依存のブランチを実行する代わりに、2つの変数を選択する算術演算を実行する。
しかし、このようなテクニックは、コンパイル全体にわたって持続する場合にのみ意味がある。
本稿では,現代のコンパイラが使用する最適化が,防御プログラミング技術によって導入された保護をいかに破壊するかを検討する。
具体的には、コンパイラがタイミングサイドチャネル攻撃を緩和するために使用される高レベルな定数時間実装を破る方法である。
我々は,現在最先端の暗号ライブラリにそのようなコンパイラによって引き起こされる問題が現れるかどうかを,大規模な実験で検証する。
仮想的に任意のアーキテクチャをプロファイルできるツールを開発し、44,604の異なるターゲット上でトレースベースの動的解析を実行する。
特に、サイドチャネル耐性の提供を目的とした、最も広くデプロイされている暗号化ライブラリに焦点を当てる。
x86-64、x86-i386、armv7、aarch64、RISC-V、MIPS-32など、さまざまなCPUアーキテクチャにその主張が当てはまるかどうかを評価することができる。
我々の大規模研究は、最も高度に評価された暗号化ライブラリのいくつかにおいて、コンパイラが引き起こす秘密の操作がいくつか発生していることを明らかにする。
私たちの知る限りでは、このような発見は、これらの問題が野生で初めて観測されたことを表している。
本稿の重要な特徴の1つは、サイドチャネル抵抗に使われている最先端の防御プログラミング技術は、コンパイラが継続的に導入する最適化と組み合わせると、まだ不十分であり、不完全であり、フェールしがちであるということである。
関連論文リスト
- Scaling Symbolic Execution to Large Software Systems [0.0]
シンボル実行は、プログラム検証とバグ検出ソフトウェアの両方で使用される一般的な静的解析手法である。
我々は、Clang Static Analyzerと呼ばれるエラー検出フレームワークと、その周辺に構築されたインフラストラクチャーであるCodeCheckerに焦点を当てた。
論文 参考訳(メタデータ) (2024-08-04T02:54:58Z) - FoC: Figure out the Cryptographic Functions in Stripped Binaries with LLMs [54.27040631527217]
削除されたバイナリの暗号関数を抽出するFoCと呼ばれる新しいフレームワークを提案する。
FoC-BinLLMは、ROUGE-LスコアでChatGPTを14.61%上回った。
FoC-Simは52%高いRecall@1で過去のベストメソッドを上回っている。
論文 参考訳(メタデータ) (2024-03-27T09:45:33Z) - Robust Constant-Time Cryptography [11.064951083714883]
定時暗号は暗号コードのセキュリティ標準と考えられている。
定数タイムは、コードベース全体が一定時間であることに依存します。
一定時間には、実行中のすべてのコードのメモリ安全性が要求される。
論文 参考訳(メタデータ) (2023-11-10T02:35:46Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - A LLM Assisted Exploitation of AI-Guardian [57.572998144258705]
IEEE S&P 2023で発表された敵に対する最近の防衛であるAI-Guardianの堅牢性を評価する。
我々は、このモデルを攻撃するためのコードを書かず、代わりに、GPT-4に命令とガイダンスに従って全ての攻撃アルゴリズムを実装するよう促します。
このプロセスは驚くほど効果的で効率的であり、言語モデルでは、この論文の著者が実行したよりも高速に曖昧な命令からコードを生成することもあった。
論文 参考訳(メタデータ) (2023-07-20T17:33:25Z) - CONCORD: Clone-aware Contrastive Learning for Source Code [64.51161487524436]
セルフ教師付き事前トレーニングは、多くのダウンストリームSEタスクに価値のあるジェネリックコード表現を学ぶための牽引役になった。
汎用的な表現学習のために、開発者が日々どのようにコードをコーディングするかは、要因としても不可欠である、と私たちは主張する。
特に,表現空間に良性クローンを近づける自己教師型コントラスト学習戦略であるCONCORDを提案する。
論文 参考訳(メタデータ) (2023-06-05T20:39:08Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - Revisiting Lightweight Compiler Provenance Recovery on ARM Binaries [10.38910167947036]
我々は、ARMバイナリのコンパイラ構成プロパティを効率よく正確に復元する浅層学習モデルにより、以前の作業を拡張した。
我々は、最先端のディープラーニングアプローチと同等の精度を99%以上達成し、トレーニング中に583回、推論時に3,826回達成した。
論文 参考訳(メタデータ) (2023-05-06T05:20:39Z) - CryptOpt: Verified Compilation with Randomized Program Search for
Cryptographic Primitives (full version) [12.790826917588575]
暗号は例外であり、多くのパフォーマンスクリティカルなルーチンがアセンブリで直接書かれてきた。
CryptOptは、GCCやClangが生成するものよりもはるかに高速なアセンブリコードに高レベルの暗号関数プログラムを専門とする、最初のコンパイルパイプラインである。
形式検証の面では、FiatOptフレームワーク(関数型プログラムをCライクなIRコードに変換する)に接続し、新たに公式に認証されたプログラム等価チェッカーで拡張する。
論文 参考訳(メタデータ) (2022-11-19T11:07:39Z) - Securing Optimized Code Against Power Side Channels [1.589424114251205]
セキュリティエンジニアは、コンパイラの最適化をオフにしたり、ローカルでコンパイル後の変換を実行することで、コードの効率を犠牲にすることが多い。
本稿では,最適化されたセキュアなコードを生成する制約ベースのコンパイラであるSecConCGを提案する。
論文 参考訳(メタデータ) (2022-07-06T12:06:28Z) - PolyDL: Polyhedral Optimizations for Creation of High Performance DL
primitives [55.79741270235602]
本稿では,Deep Learningプリミティブの高性能実装を自動的に生成するコンパイラアルゴリズムを提案する。
我々は多面体モデルを用いた新しいデータ再利用分析アルゴリズムを開発した。
また、このようなハイブリッドコンパイラとライブラリ使用の最小限のアプローチが、最先端のパフォーマンスをもたらすことを示す。
論文 参考訳(メタデータ) (2020-06-02T06:44:09Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。