Skip to main content
QUICK REVIEW

[論文レビュー] Software Variants for Hardware Trojan Detection and Resilience in COTS Processors

Mahmudul Hasan, Jonathan Cruz|arXiv (Cornell University)|Dec 1, 2021
Physical Unclonable Functions (PUFs) and Hardware Security被引用数 4
ひとこと要約

本論文は、COTSプロセッサにおけるハードウェアトロイの攻撃をソフトウェアオンリーのランタイム防御によって対処する手法を提案する。コンパイラベースの変換により機能的に同等のプログラムバリアントを生成し、複数のバリアントを実行して出力を比較することで、ハードウェア変更なしに一時的な破損を検出する。評価ベンチマークにおいて、測定可能ではあるが管理可能なランタイムおよびコードサイズのオーバーヘッドを伴いながらも、耐障害性を実現する。

ABSTRACT

The commercial off-the-shelf (COTS) component based ecosystem provides an attractive system design paradigm due to the drastic reduction in development time and cost compared to custom solutions. However, it brings in a growing concern of trustworthiness arising from the possibility of embedded malicious logic, or hardware Trojans in COTS components. Existing trust-verification approaches are typically not applicable to COTS hardware due to the absence of golden models and the lack of observability of internal signals. In this work, we propose a novel approach for runtime Trojan detection and resilience in untrusted COTS processors through judicious modifications in software. The proposed approach does not rely on any hardware redundancy or architectural modification and hence seamlessly integrates with the COTS-based system design process. Trojan resilience is achieved through the execution of multiple functionally equivalent software variants. We have developed and implemented a solution for compiler-based automatic generation of program variants, metric-guided selection of variants, and their integration in a single executable. To evaluate the proposed approach, we first analyzed the effectiveness of program variants in avoiding the activation of a random pool of Trojans. By implementing several Trojans in an OpenRISC 1000 processor, we analyzed the detectability and resilience during Trojan activation in both single and multiple variants. We also present delay and code size overhead for the automatically generated variants for several programs and discuss future research directions to reduce the overhead.

研究の動機と目的

  • 金型モデルや設計アクセスが欠如している未信頼のCOTSプロセッサにおいて、従来の検証手法が失敗する中で、ハードウェアトロイの検出と緩和という重要な課題に対処すること。
  • ハードウェアの冗長性、アーキテクチャの変更、またはネットリストへのアクセスを必要としないランタイム防御機構を開発することにより、既存のCOTSベースシステムへのシームレスな統合を可能にすること。
  • 生成されたコードバリアントにおける機能的および構造的多様性を最大化することで、複数のバリアントにおける同時にトロイの木馬が作動する可能性を低減すること。
  • OpenRISC 1000プロセッサに実装された実際のトロイの木馬を対象に、バリアントベースの検出および耐障害性の有効性を評価し、オーバーヘッドと検出可能性を測定すること。
  • 実行時およびコードサイズのオーバーヘッドを最小限に抑える技術を検討しながらも、強力なトロイの木馬検出および耐障害性の保証を維持すること。

提案手法

  • コンパイラベースの自動生成により、コードセグメント(比較ブロック)を機能的に同等のソフトウェアバリアントのペアに変換し、意味的同等性を保ちつつオペコードおよびオペランドの順序を異なるものにする。
  • 各比較ブロックは2回実行される:最初のバリアントの状態を保存し、2番目のバリアントの状態をそれと比較する。不一致が生じた場合は、トロイの木馬が作動している可能性がある。
  • 最初の2つが合意しない場合には、第3のバリアントを実行し、3つのうちの多数決によって正しく出力されるようにする。これにより、1つのバリアントが破損していても正しく出力が得られる。
  • トロイの木馬が同時に作動する確率を低減するために、$VS$指標を用いてバリアント選択をガイドする。この指標は、構造的および動作的多様性を測定し、同時に作動する可能性を最小限に抑える。
  • システムコール(system() や execl())を用いて、バリアントを1つの実行可能ファイルに統合し、マルチコアシステム上で順次または並列実行することで、ランタイムオーバーヘッドを低減する。
  • 本ソリューションは、OpenRISC 1000プロセッサに実装された実際のトロイの木馬に適用され、CRC32、susan、Triple DESなどのプログラムを用いてオーバーヘッドと検出能力を測定した。

実験結果

リサーチクエスチョン

  • RQ1コンパイラ変換により生成された機能的に同等のソフトウェアバリアントは、未信頼のCOTSプロセッサにおける一時的なハードウェアトロイのペイロードを効果的に検出できるか?
  • RQ2バリアント間のオペコードおよびオペランドの順序の多様性は、同時にトロイの木馬が作動する確率にどのように影響するか?
  • RQ3複数のバリアントを1つの実行可能ファイルに統合する際の、実世界のアプリケーションにおける実行時およびコードサイズのオーバーヘッドはどの程度か?
  • RQ4本アプローチは、恒久的な破損や情報漏洩といったより複雑なトロイの木馬行動を検出できるか?
  • RQ5システムコールを介したバリアントの並列実行は、マルチコア環境におけるランタイムオーバーヘッドをどのように低減できるか?

主な発見

  • 提案されたバリアントベースのアプローチは、機能的に同等のバリアント間での不一致を検出することで、COTSプロセッサにおける一時的なハードウェアトロイペイロードを効果的に検出できた。
  • バリアント選択に$VS$指標を用いることで、コードレベルの多様性を最大化し、複数のバリアントで同時にトロイの木馬が作動する確率を顕著に低減した。
  • ランタイムオーバーヘッドはベンチマークごとに変動した:susan や Triple DES はコード変更が少なかったため低オーバーヘッドであったが、CRC32 はバリアント実行後の大きな変数比較のため、高いオーバーヘッドを示した。
  • 実行時間のオーバーヘッドは最小から中程度までであり、プログラムや保護対象変数の数に応じて平均してわずかに増加した。これは、特定の保護を適用することで、パフォーマンスに敏感なアプリケーションへの適用が可能であることを示している。
  • 2つのバリアントが合意しない場合に多数決によって正しく出力を特定できたため、フレームワークはトロイの木馬による破損を正しく識別・耐性する能力を示した。
  • 今後の課題として、順序を入れ替えたり予測実行を行うプロセッサ向けに、より低いコードおよび実行時オーバーヘッドで多様なバリアントを生成するコンパイラパスの最適化を進めるべきである。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。