Concepts de base
現代のインテルCPUのクロック変調機能を悪用して、特権分離されたプロセス間でコバートな通信チャネルを確立することができる。
Résumé
本論文では、インテルCPUのクロック変調機能を利用したコバートチャネルの設計と実装について述べている。
- 特権の高いプロセス(送信側)と特権の低いプロセス(受信側)が同一のCPUコアで実行されている状況を想定している。
- 送信側プロセスはIA32_CLOCK_MODULATION MSRを操作することで、CPUのデューティサイクルを変調し、これを受信側プロセスが検知することで、コバートな通信チャネルを確立する。
- 送信側は"0"を送信する際は低いデューティサイクルに、"1"を送信する際は高いデューティサイクルに設定する。
- 受信側は定期的にデューティサイクルの値を監視し、変化を検知することで受信データを復元する。
- 送受信プロセスの同期を取るため、送信開始と終了のシグナルを送信側が送る。
- 実験の結果、最大55.24 bpsの通信速度が達成できることを示した。
Stats
送信側プロセスは、IA32_CLOCK_MODULATION MSRの下位4ビットを0100bに設定することで、16クロックサイクルのうち4クロックサイクルだけCPUコアに信号を送る。
送信側プロセスは、IA32_CLOCK_MODULATION MSRの下位4ビットを1111bに設定することで、16クロックサイクルのうち16クロックサイクルだけCPUコアに信号を送る。