プロセッサのタイミング脆弱性への対処
新しい方法がハードウェア設計のタイミング脆弱性の検出を強化する。
― 1 分で読む
コンピュータプロセッサのタイミング問題が増えてきてるよ。この欠陥はセキュリティリスクにつながる可能性があって、プロセッサはコンピュータシステムの重要な部分だからね。今、ファジングみたいな新しい手法が、主にソフトウェア用だったのがハードウェアデザイン、特にプロセッサの問題を見つけるために使われてるんだ。
今の方法はタイミング問題を見つけることはできるけど、どこからくるのかやどう直すのかを特定するのが難しい。そこでホワイトボックスファザーっていう新しいファジングツールが開発された。このツールは静的解析と連携して、プロセッサ内のタイミング問題を見つけて、マイクロアーキテクチャがどれだけうまく動いてるかを評価するんだ。
背景
ハードウェアデザインの分野はどんどん複雑になってきてる。現代のプロセッサは多くの機能が追加されてるけど、その分セキュリティを確認するのが難しくなってる。新しい技術が出るたびに、特にタイミング関連の脆弱性のリスクが大きくなってる。
タイミングの脆弱性は機密情報が漏れる可能性があって、コンピュータシステム全体の整合性にリスクを与える。代表的な攻撃としてはSpectreやMeltdownがあり、これらはセキュリティ対策をバイパスして機密データにアクセスできちゃう。ハードウェアが製造される前にこれらの脆弱性を特定することが重要で、製造後に直すことは通常不可能だから。
今の戦略は、一般的に形式手法やファジング技術に頼ってる。形式手法は徹底的だけど、複雑なハードウェアデザインには時間がかかって効率が悪いことが多い。現代のプロセッサがどんどん複雑になる中で、これらの方法はあまり効果的じゃなくなってきてる。
一方、ファジングはもっと柔軟で大きなデザインを扱えるけど、どこに脆弱性があるかの詳細なフィードバックを提供できないことが多い。これがリスクの軽減を遅らせて、重要な脆弱性を見逃す可能性を高めちゃう。
目標と貢献
既存の方法の限界を克服するために、ファジング戦略と静的解析を組み合わせた新しいアプローチが導入された。この新しい方法はタイミングの脆弱性を検出するだけでなく、その原因も特定するんだ。
この研究の主な貢献は、レジスタ転送レベル(RTL)で動作できるホワイトボックスファザーを作成し、マイクロアーキテクチャの状態遷移を抽出・監視し、タイミングの挙動を測定して脆弱性を特定すること。
この新しいアプローチはデザインスペースを効率的にナビゲートしてタイミング問題を見つけ、原因に対する洞察を提供して、設計者がハードウェア製造前にセキュリティを改善するための自信を持てるようにする。
方法論
マイクロアーキテクチャ遷移とタイミングの挙動
タイミングの挙動がデジタル回路の遷移にどのように関連しているかを理解することは、脆弱性を特定する上で重要だ。デジタルシステムの各状態は有限状態機械(FSM)に例えられる。入力が与えられたとき、デバイスは異なる状態を移動して出力を生成する。その出力を生成するのにかかる時間は状態遷移の順序に依存する。
例えば、キャッシュシステムを考えてみて。キャッシュシステムには複数の状態があって、データがキャッシュにあるかどうか(キャッシュヒット)によって、異なるパスが異なる時間をかけて操作を完了する。このばらつきはちゃんと分析しないとタイミング脆弱性につながるかもしれない。
この状態遷移をより効果的に分析するために、マイクロイベントグラフ(MEG)が開発された。これらのグラフはデジタル回路内で発生するマイクロアーキテクチャイベントのより詳細な表現を提供する。各ノードはイベントを表し、有向エッジはそれらのイベントがどう相互作用するかを示す。
MEGを使うことで、異なる入力値によって引き起こされるタイミングの違いを明らかにする実行パスを追跡できる。この技術により、脆弱性の検出がより正確になり、タイミング挙動がシリコン内でどう展開されるかを明確に理解できるようになる。
タイミング脆弱性の検出
この研究の主な目標は、タイミング脆弱性を検出し、プロセッサデザイン内でその根本原因を特定すること。タイミングの違いを示す命令シーケンスと対応するデータ入力を生成するファジング技術が使用される。
各入力について、MEG内で実行パスを追跡して、パスが異なる最初のポイントが潜在的なタイミング脆弱性を示すことができる。根本原因の特定は、動的シミュレーションと静的解析を組み合わせて実現し、より迅速で効率的な検出を可能にする。
階層的な漏洩分析
現代のプロセッサは一般的に複数のモジュールインスタンスを持っていて多くの相互依存関係があるから、分析が複雑になりがち。これを解決するために、依存関係に基づいてモジュールを優先する階層的アプローチが採用されて、タイミング問題をより早く特定できるようになる。
まずは実行時間の不一致を最初に特定できる低レベルのモジュールから始める。この方法で、下位レベルに存在するタイミングの脆弱性が検出できることを保証してから、より複雑なモジュールに進む。
タイミング脆弱性の根源を特定する
タイミングの違いが特定されたら、次のステップはRTLコード内でこれらの脆弱性の正確な原因を突き止めること。これは異なる入力ペアから生成されたシミュレーショントレースを比較して、どこに違いがあるかを探すことを含む。
分析では、どの特定の信号が最初に変わったのかを特定して、この情報を使ってタイミング問題の源を追跡する。さまざまな要素間の依存関係を理解することで、分析はこれらの脆弱性に対処して軽減するのに最適な方法を提供できる。
評価
新しいファザーの効果を検証するために、いくつかのオープンソースプロセッサで評価が行われた。目的は、新たなタイミング脆弱性と既知の脆弱性の両方を特定できるかを示すこと。
ファジングプロセスでは、多数の入力が生成され、タイミングの挙動に大きく焦点を当てた結果、多くの脆弱性が発見された。発見結果はさまざまなモジュールの重要な弱点を明らかにし、ターゲットを絞った修復努力を可能にした。
タイミングカバレッジ分析
カバレッジ分析は、タイミングの挙動を探るファジングの効果を評価する上で重要な役割を果たした。MEG内のパスを監視可能なプロパティに変換することで、異なるモジュールがどれだけテストされたかを定量的に測ることができる。
カバレッジ分析の結果は、デザインスペースの重要な部分が探査されていることを示し、タイミング問題に最も脆弱なエリアを強調した。このフィードバックは、設計を最終決定する前に重要なエリアが放置されないようにするために欠かせない。
検出された脆弱性の攻撃可能性
このプロセスで特定された脆弱性は、さまざまなシナリオで悪用されるリスクを持っている。タイミングチャネルはプロセス間の隔離を壊して、攻撃者が機密情報を抽出できるようにする。
例えば、タイミングの違いを利用して、攻撃者がプロセス間で情報のビットを通信する秘密のチャネルを構築することができる。これは大きなプライバシーとセキュリティのリスクにつながる。
全体的に見ると、ハードウェアが展開される前にタイミングの脆弱性を特定して対処する能力は、現代のコンピューティングシステムの整合性を維持する上で非常に重要だ。
結論
静的解析とファジング技術の組み合わせは、プロセッサ内のタイミング脆弱性を検出して特定するためのより堅牢なフレームワークを提供する。このアプローチは、各方法の強みを活かして、脅威を悪用される前に特定する能力を大幅に向上させる。
ハードウェアデザインが進化し続ける中で、この研究で開発された方法は、脆弱性が早期に検出され、効果的に軽減されるために不可欠だ。タイミングの挙動に強く焦点を当てることで、設計者は現代のシステムが変化する環境でも安全であり続けることを確実にすることができる。
タイトル: WhisperFuzz: White-Box Fuzzing for Detecting and Locating Timing Vulnerabilities in Processors
概要: Timing vulnerabilities in processors have emerged as a potent threat. As processors are the foundation of any computing system, identifying these flaws is imperative. Recently fuzzing techniques, traditionally used for detecting software vulnerabilities, have shown promising results for uncovering vulnerabilities in large-scale hardware designs, such as processors. Researchers have adapted black-box or grey-box fuzzing to detect timing vulnerabilities in processors. However, they cannot identify the locations or root causes of these timing vulnerabilities, nor do they provide coverage feedback to enable the designer's confidence in the processor's security. To address the deficiencies of the existing fuzzers, we present WhisperFuzz--the first white-box fuzzer with static analysis--aiming to detect and locate timing vulnerabilities in processors and evaluate the coverage of microarchitectural timing behaviors. WhisperFuzz uses the fundamental nature of processors' timing behaviors, microarchitectural state transitions, to localize timing vulnerabilities. WhisperFuzz automatically extracts microarchitectural state transitions from a processor design at the register-transfer level (RTL) and instruments the design to monitor the state transitions as coverage. Moreover, WhisperFuzz measures the time a design-under-test (DUT) takes to process tests, identifying any minor, abnormal variations that may hint at a timing vulnerability. WhisperFuzz detects 12 new timing vulnerabilities across advanced open-sourced RISC-V processors: BOOM, Rocket Core, and CVA6. Eight of these violate the zero latency requirements of the Zkt extension and are considered serious security vulnerabilities. Moreover, WhisperFuzz also pinpoints the locations of the new and the existing vulnerabilities.
著者: Pallavi Borkar, Chen Chen, Mohamadreza Rostami, Nikhilesh Singh, Rahul Kande, Ahmad-Reza Sadeghi, Chester Rebeiro, Jeyavijayan Rajendran
最終更新: 2024-03-14 00:00:00
言語: English
ソースURL: https://arxiv.org/abs/2402.03704
ソースPDF: https://arxiv.org/pdf/2402.03704
ライセンス: https://creativecommons.org/licenses/by-sa/4.0/
変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。
オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。