Skip to main content
QUICK REVIEW

[論文レビュー] TurboCC: A Practical Frequency-Based Covert Channel With Intel Turbo Boost

Manuel Kalmbach, Mathias Gottschlag|arXiv (Cornell University)|Jul 14, 2020
Security and Verification in Computing参考文献 29被引用数 4
ひとこと要約

本稿では、Intel Turbo Boostを活用して、隔離されたプロセス間で共通の周波数を介した隠れ通信を可能にする周波数ベースのコモンチャnel「TurboCC」を提案する。この手法は、制御されたコアのアクティベートによってCPU周波数を変調することで、空き状態のシステムでは最大61ビット/秒、37.5%のバックグラウンドCPU負荷下でも12ビット/秒を維持する。これは、現実のワークロードに強く、パフォーマンスコストを伴わずにブロックすることが難しいことを示している。

ABSTRACT

Covert channels are communication channels used by attackers to transmit information from a compromised system when the access control policy of the system does not allow doing so. Previous work has shown that CPU frequency scaling can be used as a covert channel to transmit information between otherwise isolated processes. Modern systems either try to save power or try to operate near their power limits in order to maximize performance, so they implement mechanisms to vary the frequency based on load. Existing covert channels based on this approach are either easily thwarted by software countermeasures or only work on completely idle systems. In this paper, we show how the automatic frequency scaling provided by Intel Turbo Boost can be used to construct a covert channel that is both hard to prevent without significant performance impact and can tolerate significant background system load. As Intel Turbo Boost selects the maximum CPU frequency based on the number of active cores, our covert channel modulates information onto the maximum CPU frequency by placing load on multiple additional CPU cores. Our prototype of the covert channel achieves a throughput of up to 61 bit/s on an idle system and up to 43 bit/s on a system with 25% utilization.

研究の動機と目的

  • 従来の周波数ベースのチャネルが失敗する可能性がある現実的なシステム負荷下でも効果を発揮する隠れチャネルの開発。
  • Intel Turbo Boostのコア依存型周波数スケーリングを活用し、信頼性の高いクロスコア通信を実現。
  • バックグラウンドのシステム負荷や実用的な対策に対して耐性を持つチャネルの設計。
  • 仮想化環境を含むさまざまなワークロード下でのパフォーマンスと耐障害性の評価。
  • システムパフォーマンスに影響を与える対策の実現可能性の評価。

提案手法

  • 送信側は、複数のCPUコアを同期的にアクティベートまたはデアクティベートすることで、最大ブースト周波数を変調して情報を送信する。
  • 受信側は、別々のコア上でタイミングループを用いて現在のターボ周波数を測定し、周波数の変化を検出する。
  • システムはIntel Turbo Boost 2の特性を活用しており、アクティブなコア数が増えると周波数が低下するため、周波数ベースのシグナリングが可能になる。
  • エラー耐性はCRC-16チェックサムと再送信方式により実現され、パフォーマンスに大きな影響を与える高負荷のエラーチェックコードを避ける。
  • 個々のコアの周波数変更ではなく、アクティブなコア数に基づくシンプルなオン/オフシグナリング方式を採用。
  • sysfsなどのシステムコールインターフェースに依存しないため、OSレベルのアクセス制限に対してもより静かに動作する。

実験結果

リサーチクエスチョン

  • RQ1生産データセンターのような深刻なバックグラウンドCPU負荷下でも、周波数ベースの隠れチャネルは効果を発揮するのか?
  • RQ2Intel Turbo Boostのコア依存型周波数スケーリングは、実用的な隠れチャネルを可能にするか?
  • RQ3仮想化やバックグラウンドプロセスを含む現実的なシステム条件下でのチャネルのスループットはどの程度か?
  • RQ4CPU負荷ノイズのような一般的な対策はチャネルをどれほど効果的に遮断できるのか。また、それらの対策はどのようなパフォーマンスコストを伴うのか?
  • RQ5複雑なエラーチェックコードに依存せずに、チャネルを耐障害性を高めることができるか?

主な発見

  • プロトタイプは空き状態のシステムで61ビット/秒のスループットを達成し、理想的な条件下での高い性能を示した。
  • 25%のバックグラウンドCPU利用率下でも43ビット/秒を維持しており、中程度の負荷下でも強い耐性を示した。
  • 37.5%のバックグラウンド負荷下でも12ビット/秒の送信が可能であり、実世界の環境でも実用可能であることを裏付けた。
  • 同様の先行チャネルが劣化する仮想化のオーバーヘッドに対しても、本チャネルは効果を発揮した。
  • 人工的なCPU負荷ノイズのような対策はスループットを著しく低下させるが、顕著なパフォーマンスコストを伴う。
  • CRC-16と再送信方式は、リード・ソロモンのような複雑なエラーチェックコードよりもパフォーマンス効率に優れた性能を発揮した。

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

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

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

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