タイミング攻撃
キャッシュメモリまたは仮想メモリの両方を用いた単一のシステム上で実行されている安全に分離されたプロセスは、意図的にページフォールトおよび/またはキャッシュミスを1つのプロセスで発生させ、その結果生じるアクセス時間の変化をもう一方から監視することにより通信を可能にする。同様に、アプリケーションは信頼できるものの、そのページング/キャッシングが分岐ロジックの影響を受ける場合においては、アクセス時間の変化を監視することにより分岐条件で比較されたデータの値を決定することが、第2アプリケーションで可能となり得る。極端な例では、これが暗号鍵ビットの復元を可能にさせてしまう。
CPU製造業者(インテル、AMD、ARM、IBMを含む)にCPUの再設計を強いることになった2017年のMeltdownとSpectre攻撃は、どちらもタイミング攻撃に依拠したものである。
2018年の初頭に、世界のほぼ全てのコンピュータシステムがSpectreに襲われたが、それがタイミング攻撃の歴史上最も強力な例となっている。
以下のVisual Basicコードは、文字の不一致があると即座に検査を停止する、安全性に欠けた典型的なデータ列(string)比較を表したものである。例えば、これは "ABCDE"と "ABxDE"を比べる時に3回のループ反復後に(結果を)返すことになる。
比較すると、次のバージョンは全ての文字を検査し、ビット演算を使用して条件付きジャンプなしで検査することにより、一定時間で実行される。