根本的解決はCPUの世代交代か、脆弱性問題:各社の対策法まとめ(4/4 ページ)
2018年の年明けすぐに、CPU業界で発生した「Spectre」「Meltdown」問題。Googleのチームなどが同年1月3日に報告した当初、情報が錯綜(さくそう)して混乱したものの、情報が公開されるにつれて落ち着きを取り戻しつつある。本稿では、主要ベンダーが用意した最新の対策情報と、いまひとつ分かりにくい「分岐先予測」「投機的実行」「データキャッシュ」に脆弱性が潜んでいた理由を解説する。
データキャッシュと投機的実行
ここまで(Spectreと呼んでいたVariant1とVariant2の脆弱性問題)は、分岐予測と分岐先予測が関係していたが、ここから先(Meltdownと呼んでいるVariant3の脆弱性問題)では、データキャッシュと投機的実行が関係する。CPUでは実行するプログラムによってアクセスできるメモリ領域を制限している。一般に、「誰が使っているか分からない可能性がある」というリスクの高いユーザーアプリケーションは、通常のメモリ領域だけにアクセスして、そのデータをキャッシュメモリに置くことができる一方で、カーネルメモリ領域にはアクセスできない。
しかし、ユーザーアプリケーションのプログラムで投機的実行が発生すると、特定の条件下でカーネルメモリにアクセスしてそこにあるデータをユーザーアプリケーションが使えるキャッシュメモリに置くことが分かってしまった。このとき、1次キャッシュメモリに置いたデータが、後に続く命令にわたってしまう可能性がある。
この仕組みを利用すると、もともとカーネルメモリ領域に置いておいた秘密データを不正なユーザーが利用しているアプリケーションで参照できてしまう(これがVariant3で問題になる、CPUの投機的実行機能とユーザープログラムの組み合わせによるカーネルメモリ領域へのアクセスで可能になるデータキャッシュの不正読み込みだ)。
Varitant1は分岐予測、分岐先予測、投機的実行ができるCPUは全て影響を受ける。この手法は1995年以降に広く導入されており、IntelもAMDもArmも1995年以降に登場したモデルは攻撃の対象になりえる。「古い世代のCPU」のために更新プログラムを用意しているのもそのためだ。一方、Variant2は、間接分岐予測器を実装するCPUは影響を受けるものの、そこで採用している予想アルゴリズムによって攻撃の難易度が変わってくる。これまでの検証でIntel製CPUとArm製プロセッサでは影響が確認された一方で、AMD製CPUでは成功事例が確認できていないというのも、このあたりが影響している。
Variant3は、データキャッシュとキャッシュにアクセスする仕組みの実装方法によって影響が変わってくる。AMDがVariant3は影響しないと述べているのは、データキャッシュの実装方法の違いによって、ユーザーアプリケーションがカーネルメモリ領域にアクセスできないように保護しているからと説明している。
根本的解決はCPUの世代交代
以上で述べたように、1月18日時点で主要なベンダーのほとんどは今回の脆弱性への対策を用意できている。一部、対策が遅れている製品や更新プログラムの不具合に追われているベンダーもあるが、1月中には作業を終える見通しだ。ただ、現在の対策は、対症療法なもので、一部の用途、特にデータの入出力を多用する場合に最大25%のベンチマークテストスコアの低下が確認されている。根本的な解決には、現在開発中の次世代CPUへの移行が必要とCPUベンダーは案内している。
また、更新プログラムの配信が始まったものの、一部のモデルでは自動更新でなくユーザーの操作で更新する必要がある。特に、最近数を増やしているIoT対応デバイスは、設置したらあとはそのままというケースも多く、問題を抱えたまま稼働し続ける可能性がある。
Armは2017年12月に日本で開催したテクノロジーカンファレンス「Arm Tech Symposia 2017」にて、「IoTデバイスに共通のセキュリティ基盤」と訴え、同社の「Platform Security Architecture(PSA)」を訴求していたが、そこで危惧していた「Arm IPを搭載するデバイスの急激な増加によって困難になるセキュリティ確保の問題」が現実になってしまったといえるだろう(関連記事:「IoTデバイスに共通のセキュリティ基盤を、Arm「PSA」 」)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- IoT機器を“ゆりかごから墓場まで”保護する
ルネサス エレクトロニクスはドイツで開催中の「embedded world 2016」で、IoT(モノのインターネット)向けの設計基盤である「Renesas Synergyプラットフォーム」について、「Device Lifecycle Management」と呼ばれるセキュリティ戦略や、IAR Systemsとの協業などを発表した。 - IIC、産業用IoTのセキュリティフレームワークを発表
Intelらが設立したIIC(Industrial Internet Consortium)が、産業向けIoT(IIoT)の開発に関するセキュリティフレームワークを発表した。IIoTは民生用IoTとはセキュリティ要件が異なるので、IIoTにフォーカスしたセキュリティフレームワークを作る必要があったと、専門家は述べる。 - MCUにIC1つ加えるだけのセキュリティ対策を提案
Maxim Integrated Products(マキシム・インテグレーテッド・プロダクツ)は、一般的なマイコンとともに使用することで、組み込み機器に必要とされる各種セキュリティ機能を実現できる暗号コントローラーICの提案を展開している。 - ルネサス、セキュリティ強化したIIoT用MCU
ルネサス エレクトロニクスは2017年11月13日、産業用IoT(モノのインターネット)機器向けの32ビットマイコンとして、セキュリティ機能を強化した「RX65N/RX651グループ」のサンプル出荷を開始した。 - 新たなセキュリティ脅威、DNAを使ったマルウェア
米国のワシントン大学が、DNAにマルウェアを埋め込んで、DNA解析用コンピュータに不正に侵入できることを実証した。新たな脅威になり得ると警告する。 - IoTでは“セキュリティの悪夢”が起こり得る、専門家も警告
盛り上がる一方のモノのインターネット(IoT)市場だが、最大の課題の1つがセキュリティだ。何十億個もの機器がインターネットにつながるようになれば、その全てに最新のセキュリティ対策を施すのは非常に難しい。