セキュリティ
攻撃者はゲストVMの内部からでもデータを抽出できる可能性があります
ドイツのヘルムホルツ情報セキュリティセンターの研究者たちは、中国のLoongsonが製造するプロセッサーにキャッシュ漏洩の欠陥があり、攻撃者が特定のデータを狙って取得できる可能性があることを発見しました。
Loongsonは、MIPSとRISC-Vの手法を組み合わせた独自の命令セットアーキテクチャ(ISA)「LoongArch」を開発しています。
LoongLeakAttack.comというサイトで、研究者たちはファザーを使ってこの漏洩キャッシュを発見した経緯を説明しています。その後、LoongArch ISAのマニュアルにおいて、メモリレジスタの32ビットを「不確定」な状態のまま残す命令についての記述があることに気付いたといいます。
「私たちの分析により、特定の状況下では、この『不確定』なデータがL1データキャッシュに由来することが明らかになりました」と4人の研究者は記しています。「このキャッシュはアプリケーション間で分離されていないため、LoongLeakは他のアプリケーションやオペレーティングシステムからデータを漏洩させることができます。さらに悪いことに、攻撃者はCPUの内部状態をあらかじめ操作しておくことで、特定のキャッシュセットを狙って漏洩させることも可能です」
今回の研究について説明する論文[PDF]の中で、著者であるLorenz Hetterich氏、Tristan Hornetz氏、Fabian Thomas氏、Michael Schwarz氏は、いくつかの事例研究を紹介しています。それには「カーネルからのフルディスクAES鍵の復元、ユーザー空間からの部分的なrootパスワードハッシュの取得、そしてASLRやスタックカナリアといった従来のソフトウェア防御機構の回避」が数秒以内に可能になることが含まれるとしています。
これだけでも十分に恐ろしい話ですが、彼らはさらに「LoongLeakは非特権のユーザー空間、コンテナ、あるいは仮想マシンからも悪用可能」だと指摘しています。この欠陥は「LoongLeakが仮想マシンの境界を越え、VM内部からホストのデータを漏洩させることも可能」であることを意味します。
「この漏洩はアーキテクチャ上のものであるため、高精度タイマーや従来型のサイドチャネル増幅を必要とせず、攻撃者はキャッシュセットとラインオフセットを正確に制御できます」と彼らは付け加えています。
そしてダメ押しとなるのが、ソフトウェアによる緩和策が不可能だという点です。この欠陥を持つチップを使用しているユーザーは、チップを交換するか、あるいは機密データがL1キャッシュに入り込んだり残留したりしないよう徹底する必要があります。これを実現するには、コアごとに1スレッドを無効化する必要が生じる場合があり、事実上ハイパースレッディングを無効にすることになります。
朗報もあります。Loongsonはモデル3A6000プロセッサーのアップデートでこの欠陥を修正しており、キャッシュデータを排出する緩和策による性能低下は、最悪の場合でもわずか1.4パーセントにとどまるとのことです。
また、この欠陥の影響範囲もおそらく限定的です。Loongson製チップは中国国外ではほとんど使用されていないためです。
同社はPC、サーバー、プリンターなどの機器向けにチップを提供しています。中国政府は、輸入技術への依存を減らす計画の一環として、Loongson製チップの利用を推進しています。
LenovoはLoongson製チップを搭載したノートパソコンを製造していますが、販売しているのは中国国内のみです。The Registerは他の大手PCメーカー各社ともLoongsonのチップについて話をしたことがありますが、いずれも「ユーザーが求めるなら採用する」あるいは「中国のハードウェア市場に参入するために必要になれば採用する」と回答しています。ただし、これまでのところ中国以外の企業がこのプロセッサーを採用した例は確認されていません。
もっとも、中国政府はこの研究結果に神経をとがらせているかもしれません。というのも、同政府は公共部門の調達先に対して国産製品の購入を指示しているためです。もしかすると、脆弱性のあるデバイスを稼働させている政府機関もあるのではないでしょうか。もしそうだとすれば、北京にとって攻撃の検知は一筋縄ではいかない仕事になりそうです。研究者たちによれば、「LoongLeakが悪用されているかどうかを検知するための特別なツールや手法は存在しない」とのことだからです。®