世界中のほぼすべてのコンピュータとデバイスが、攻撃に対して脆弱なままになっているセキュリティ上の欠陥にさらされています。幸いなことに、現在に至るまで情報漏えいは報告されていないものの、今回発見されたバグは、プロセッサにおける最悪のセキュリティ欠陥のひとつと考えられます。
この記事では、このバグのほぼすべての側面(技術的な側面とビジネス的な側面)を取り上げます。では、いったい何が起こったのか、見てみましょう。
1. この欠陥はどんなものか?
セキュリティ上の欠陥には、Meltdown【メルトダウン】とSpectre【スペクター】と呼ばれる2つの似たようなものがあります。
Meltdown:インテル・プロセッサを搭載したデスクトップ・コンピュータ、ラップトップ、サーバーに影響を及ぼすハードウェアの脆弱性。オペレーティング・システムとユーザー・アプリケーションの間の基本的な分離が破られ、プログラムが他のプログラムのメモリや秘密情報にアクセスできるようになる。
具体的には、Meltdownは昨今のチップにおけるアウトオブオーダー実行【命令の実行順を本来の順序(プログラムにおける出現順)に縛られずに準備が整ったものから次々実行していく方式】の副作用を利用して、任意のカーネル・メモリ位置を読み取ります。この攻撃は、オペレーティング・システムやソフトウェアの脆弱性には依存しません。
いったんデバイスが影響を受けると、Meltdownは特権やユーザー権限なしにクラウド上の他のプロセスや仮想マシンのメモリを読み取ることができ、PCの事実上すべてのユーザーに影響を及ぼします。
詳細情報:Meltdown
【詳細情報は英語です】
Spectre:より広範囲に及ぶ。インテル、AMD、ARMのコンピュータ、タブレット、スマートフォンに影響を及ぼす。異なるアプリケーション間の分離を破り、攻撃者がエラーのないプログラムを騙して個人データを漏えいさせることを可能にする。
Spectreは、ほぼすべての最新チップで使用されている「投機的実行」【コンピュータの処理を高速化する手法のひとつで、将来必要になるかもしれない処理を、あらかじめ行い結果を用意しておくこと】を悪用します。正しいプログラム実行中に、実行されるはずのない命令シーケンスを投機的に実行するようプロセッサを騙すのです。
ネイティブコードによるプロセス分離境界の侵害に加え、Spectre攻撃は、攻撃者のプロセス内のメモリにアクセスするために、ブラウザで実行されているJavaScriptコードでも使用することができます。
詳細情報:Spectre攻撃-投機的実行の悪用
【詳細情報は英語です】
MeltdownとSpectreは、いずれも、アクセスされたメモリ位置からデータを取り出すためにサイドチャネルを使用します。両者を比較すると、SpectreはMeltdownよりも悪用されにくいものの、軽減することも困難です。
2. どのような情報が危険にさらされるのか?
これらのバグは、ブラウザやパスワードマネージャのパスワード、キー入力、インスタントメッセージ、電子メール、個人的な写真、ビジネスに不可欠なデータを漏えいさせる可能性があります。
3. 影響を受けるシステムとその規模は?
上述したように、Meltdown欠陥はインテル・プロセッサにのみ適用されます(AMDやARMには適用されない)。研究者たちは、2011年に発売されたCPUでこれをテストしました。理論的には、1995年以降に発売されたすべてのインテル・プロセッサが対象となります。インテルは、これらの欠陥は情報を変更、破損、消去する可能性はないと考えています。
一方、Spectre欠陥はもっと深刻で、インテル、AMD、ARMプロセッサで動作するすべてのデバイスに害を及ぼす可能性があります。さらに、クラウドプロバイダーの設計やインフラによっては、他の顧客から機密データを盗むことも可能です。LXC、Docker、OpenVZのようなサービスが危険にさらされています。
お使いのデバイスがこれらのバグの影響を受けるかどうか気になるのであれば、「間違いなくそうだ」と言えるでしょう。
4. コンピュータを守るには?
影響を受けるすべての企業は、できるだけ早くパッチを発行するよう努めています。幸いなことに、Meltdownに対してはソフトウェア・パッチが提供されています。Google、Microsoft、Mozillaは、第一の防御策として、ブラウザ用のパッチをリリースしています。
自分でできる簡単な対策は、次のようなことです。
1.Chromeの最新版(1月23日リリース予定)とFirefox 57をアップデートする。
2.Windows10のKB4056892がインストールされていることを確認する。
3.Linuxユーザーは、KAISERをチェックアウトすることができる。
4.OEMサイトでファームウェアのアップデートとサポート情報を確認し、迅速に適用する。
Googleによると、同社のAndroid端末(NexusとPixel)については、最新のセキュリティ・アップデートで問題を修正したということです。
研究者はまた、将来的なSpectreの悪用に対する恒久的な解決策を考え出すために取り組んでいます。この問題を修正するのは容易ではないため、しばらくは悩まされることになるでしょう。
5. その修正でデバイスの動作が遅くなるか?
残念ながら、答えはイエスです。何人かの研究者は、どんな修正でもデバイスを最大30%遅くする可能性があると述べています。しかしインテルは、これは過大評価だと考えています。同社によれば、パフォーマンスへの影響は作業負荷に左右され、平均的なコンピュータの使用者にとっては大きな影響はないはずだということです。
つまり、電子メールのチェックやWebの閲覧にコンピュータを使用するのであれば、何の違いも感じないということです。
6. テクノロジー業界と市場の反応は?
これはおそらく、これまで発見されたプロセッサのバグの中でも最悪のものであり、すべてのテクノロジー業界にとって大きな問題です。OSの再設計やプロセッサのアーキテクチャの調整が必要になるでしょう。
Googleは、2017年6月にSpectreバグについて影響を受ける企業に通知し、その後7月にMeltdownバグについて通知したと述べています。
2017年11月、インテルのブライアン・クルザニッチCEO【当時】は2,400万ドル相当の株式を売却しました。BusinessInsider社は、彼が株を売却した際にチップの脆弱性を認識していたと報じています。
これらのバグはインテルの株価に大きな打撃を与えており、一方でライバルのAMDの株価は急騰しています。
SpectreとMeltdownが、コンピュータ・プロセッサの構造における非常に根本的な欠陥を明らかにしたため、将来そのようなテクノロジーがどのように開発されるかについて深刻な影響があり、再考されることになるでしょう。
7. 誰がこれらのバグを報告したのか?
Meltdownは、Cyberus Technology社、グラーツ工科大学、Google Project Zeroの研究者たちの、3つのチームによって発見・報告されました。
Spectreについては、Google Project Zeroとグラーツ工科大学の同じ研究者らが発見・報告しました。
8. 公式リファレンス
CVE(Common Vulnerabilities and Exposuresの略【共通脆弱性識別子】)は情報セキュリティ脆弱性の標準であり、一般公開されている情報セキュリティの脆弱性がデータベース化されていて、それぞれ固有の名前やID番号が付けられています。MITREシステムと米国国家脆弱性データベースで閲覧・共有できます。
Meltdownの公式リファレンスはCVE-2017-5754であり、Spectreの公式リファレンスはCVE-2017-5715とCVE-2017-5753です。