ニュース

Spectreのようなサイドチャネル攻撃からCPUを守る技術、NTTなどが開発

従来の共通鍵暗号のモデルと、今回設計したキャッシュランダム化関数特化型のモデル

 日本電信電話株式会社(NTT)は、東北大学電気通信研究所、独Ruhr University BochumCASA(Cyber Security in the Age of Large-Scale Adversaries)との共同研究を行ない、SpectreやMeltdownなどCPUへのキャッシュサイドチャネル攻撃に対して有効なキャッシュランダム関数「SCARF」を開発した。

 近年のCPUでは、次回以降のデータ参照を高速化するためにキャッシュメモリを導入しているが、キャッシュの状態によって発生する遅延の差は脆弱性にもなり得る。中でも、攻撃対象のプログラムと攻撃プログラムがキャッシュを取り合うContention型キャッシュ攻撃は、攻撃者の前提条件が少なく、現実的な脅威とされている。これに対しては、キャッシュインデックスのランダム化が有効だが、どのレベルで実装すればよいかが明確でなかった。

 研究グループでは、キャッシュランダム関数に対して攻撃者が実際に実行できることについて調査し、キャッシュランダム関数特化型の攻撃者モデルとしてEnc-then-Decモデルを設計。これを最大限有効活用したキャッシュランダム関数としてSCARF(Secure CAche Ransomization Function)を提案した。既存の低遅延ブロック暗号に対し、SCARFは遅延を半減できるとしている。

 今回の研究成果により、PC向けCPUに対するContention型キャッシュ攻撃の無効化が期待でき、同様の攻撃を悪用したSpectreやMeltdownをはじめとする脆弱性の排除が可能になるという。また、SCARFは現行の多くのキャッシュアーキテクチャに適合するよう設計されているが、一部互換性の乏しいものも存在するため、より広範囲に対応すべく構造の一般化が期待されるとしている。

Contention型キャッシュ攻撃のメカニズム