全2209文字

 米Google(グーグル)は2022年5月、企業向けセキュリティー関連の新しい施策を2つ発表した。1つは「コンフィデンシャルコンピューティング」に関する米AMDとの連携強化。もう1つはオープンソースソフトウエア(OSS)のセキュリティー強化版をグーグルが開発してクラウド顧客に提供するというものだ。

 コンフィデンシャルコンピューティングとは、プロセッサーが搭載するセキュリティー機能を使って仮想マシン(VM)のメモリーのデータを暗号化する技術だ。これまでも主要なパブリッククラウドにおいては、VMのストレージに保存したデータや、VMとストレージ間などで転送されるデータについては暗号化されていたが、メモリー上のデータは暗号化されていなかった。

 それに対してコンフィデンシャルコンピューティングでは、データがメモリー上にあってプロセッサーが処理している間もデータが暗号化される。そのためハイパーバイザーなどVMの下で動いているソフトウエアにセキュリティー脆弱性があっても、ユーザーのデータは読み出せない。同様にパブリッククラウドの運営側であってもデータは読み出せない。

AMDのファームウエア、ソースコードもチェック

 グーグルは2020年7月からGoogle Cloudで、AMDのサーバー向けプロセッサーEPYCが搭載するセキュリティー機能「AMD SEV(Secure Encrypted Virtualization)」を用いて、コンフィデンシャルコンピューティングが利用できるVMを提供している。

 今回、グーグルとAMDが2022年5月10日に発表したのは、AMDがプロセッサーに実装してきたセキュリティー機能を、グーグルのセキュリティーチームである「Project Zero」とGoogle Cloudのセキュリティーチームがレビューして、その安全性を検証するとの取り組みだ。

 Project ZeroのチームはAMDのセキュリティー機能であるSEVなどの仕様に加えて、セキュリティー機能を実現するためにAMDが開発したファームウエアのソースコードなどもチェックして安全性を検証した。プロセッサーメーカーが開発したファームウエアのソースコードを外部の企業が検証するのは珍しい。Project Zeroのチームは同日、AMDのセキュリティー機能を検証したホワイトペーパーも公表している。

グーグルが19個の問題を発見、AMDはすぐに修正

 Project Zeroのチームが検証したのは、第3世代EPYCプロセッサー(開発コード名は「Milan」)のセキュリティー機能だ。第3世代EPYCプロセッサーには、新しいセキュリティー機能であるSEV-SNP(Secure Nested Paging)が追加されている。SEV-SNPは、サーバーハードウエアの物理現象(電源電流など)を観察してデータの在りかを推定する「サイドチャネル攻撃」を防御できる機能だ。実際にサイドチャネル攻撃を防御できるかどうか、物理的なテストなども加えてセキュリティーを検証した。

サイドチャネル攻撃への耐性を調べるテストの様子
サイドチャネル攻撃への耐性を調べるテストの様子
(出所:米グーグル)
[画像のクリックで拡大表示]

 Project Zeroのチームが検証した結果、AMDのファームウエアなどに19点の問題を見つけたという。これらの問題の中には、ファームウエアのセキュリティー脆弱性が含まれており、悪用されるとメモリー上のデータが破壊される恐れがあった。既にAMDはグーグルから指摘された問題点を修正済みだ。