特集:IoTがもたらす製造業の革新〜進化する製品、サービス、工場のかたち〜

IoTデバイスも対象、“現代的な”CPUの脆弱性「Meltdown」と「Spectre」IoTセキュリティ

投機的実行機能を持つ現代的な(Modern)CPUの脆弱性が見つかった。インテル、AMD、アームのCPUが対象になっており「Meltdown」「Spectre」と呼ばれている。IoTデバイスに広く用いられている「Cortex-Aシリーズ」も含まれており、OSやアプリケーションのアップデートによる対策が必要だ。

» 2018年01月05日 15時00分 公開
[朴尚洙MONOist]

 グーグル(Google)のセキュリティチームであるProject Zero(GPZ)は2018年1月3日(現地時間)、インテル(Intel)やAMD、アーム(Arm)のCPUに脆弱性が存在すると報告した(GPZのブログ)。投機的実行(Speculative Execution)機能を持つ、パイプライン化された現代的な(Modern)CPUのデータキャッシュタイミングに関わる「サイドチャネル攻撃」が可能な脆弱性であり、最悪の場合は任意の仮想メモリを読み出すことが可能になるという。オーストリアのグラーツ大学の研究者も同様の報告を行っている。

 今回の脆弱性は3つのバリアント(Variant)に分けられる。バリアント1が「bounds check bypass」(CVE-2017-5753)、バリアント2が「branch target injection」(CVE-2017-5715)、バリアント3が「rogue data cache load」(CVE-2017-5754)で、バリアント1とバリアント2が「Spectre」、バリアント3が「Meltdown」と呼ばれている。

グラーツ大学のWebサイトでは「Meltdown」と「Spectre」の概要を報告している グラーツ大学のWebサイトでは「Meltdown」と「Spectre」の概要を報告している(クリックでWebサイトへ)

 Spectreは、異なるアプリケーション間のアイソレーション(分離)を破るもので、パスワードなどの機密情報が漏えいする可能性がある。グラーツ大学によれば、先述した現代的なCPUの全てが対象になり得る。アプリケーションごとに対策を行うことで脆弱性に対応できるものの、全てのアプリケーションで対策を行う必要があり、完全な対応が難しいとされている。

 Meltdownは、アプリケーションとOS間の分離を破るもので、Spectreと同様に機密情報が漏えいする可能性がある。グラーツ大学によれば、1995年以降に発売されたアウトオブオーダー実行機能を持つインテルのCPU(2013年以前の「Itanium」と「Atom」は除く)が対象になる可能性がある。少なくとも2011年以降のインテルのCPUで、Meltdownの脆弱性を確認している。OS側で対策パッチを当てるなどして対応できる。

 なおGPZは、インテルのHaswell世代「Xeon E5-1650 v3」、AMDの「FX-8320」と「PRO A8-9600 R7」、アームの「Cortex-A57」(スマートフォン「Google Nexus 5」の搭載品)とLinux環境を用いたPoC(概念実証)により脆弱性を確認している。

インテルは過去5年以内発売のCPUへの対応を進める

 インテルは2018年1月4日(現地時間)、過去5年以内に発売したCPUの多くに対応するアップデートを既にリリースしたとしている。また来週末(同年1月13日)までに、過去5年以内に発売したCPUの90%以上に対応するアップデートをリリースする計画だ(同社の発表文、英語)。

 AMDは、バリアント1についてはソフトウェアやOSのアップデートで対処可能であり、バリアント2はリスクがほぼゼロで、バリアント3の脆弱性はアーキテクチャが異なるためリスクはゼロとしている(同社のセキュリティ情報、英語)。

 アームは、バリアント1とバリアント2については「Cortex-R7」「Cortex-R8」「Cortex-A8」「Cortex-A9」「Cortex-A15」「Cortex-A17」「Cortex-A57」「Cortex-A72」「Cortex-A73」「Cortex-A75」が対象になると報告している。また、バリアント3でも「Cortex-A75」が対象になるという。これらの他、アームが確認したバリアント3の亜種「バリアント3a」が存在し、これについては「Cortex-A15」「Cortex-A57」「Cortex-A72」が対象になるとしている(同社のセキュリティ情報、英語)。

 なお、アームの「Cortex-Mシリーズ」などに代表されるMCUは、“現代的”とされる投機的実行、パイプライン化、アウトオブオーダー実行などの機能は実装されていないため今回の脆弱性の対象にはなっていない。

 しかし、Cortex-R7やCortex-R8といったリアルタイム処理が必要な機器向けに高性能化したプロセッサコアや、IoT(モノのインターネット)デバイスに広く用いられている「Cortex-Aシリーズ」は対象になっている。OSやアプリケーションのアップデートを着実に行うことが必要だ。

 また、組み込み機器に広く用いられているOSとしてはマイクロソフト(Microsoft)のWindowsとLinuxがある。Windowsはアップデートがリリースされているが、アンチウイルスなどカーネルのメモリを使用する一部のアプリケーションの影響で起動できなくなる事例が報告されている(Windowsのセキュリティ情報、英語)。Linuxは、Red HatやDebianなどのディストリビューターからアップデート情報が発表されている(Red Hatのセキュリティ情報、英語Debianのセキュリティ情報、英語)。

関連キーワード

Cortex | CPU | 脆弱性 | Intel | IoT | AMD | Linux | Windows | ARM


Copyright © ITmedia, Inc. All Rights Reserved.