欠陥のないプロセッサは作れるのか
発見者が解説――「Spectre」を発見したリバースエンジニアリング手法
IT業界の2018年は「Spectre」と「Meltdown」で始まった。こうした欠陥はどのようにして発見されたのか。この欠陥を発見した研究者の1人に聞いた。
2018年1月3日、Googleの「Project Zero」チームは、モダンなマイクロプロセッサの性能を向上させる技術を悪用するとデータが漏えいすると報告した。“ローカルのセキュリティ境界を越えて任意の仮想メモリを読み取る脆弱(ぜいじゃく)性”につながるものだ。
Computer Weekly日本語版 2月21日号無料ダウンロード
本記事は、プレミアムコンテンツ「Computer Weekly日本語版 2月21日号」(PDF)掲載記事の抄訳版です。本記事の全文は、同プレミアムコンテンツで読むことができます。
なお、同コンテンツのEPUB版およびKindle(MOBI)版も提供しています。
攻撃には、「Spectre」と「Meltdown」の2種類があるとGoogleは特定した。Spectreはモダンな全てのマイクロプロセッサに影響するが、MeltdownはIntel製品のみが影響を受けるようだ。
Spectreについての概念実証(PoC)が行われた結果、Intel製品はHaswell世代の「Xeon」、AMD製品は「FX」「PRO」、Arm製品は「Cortex A57」にこの脆弱性が存在することが分かった。
サイバー犯罪者がこの欠陥を悪用すれば、モバイル端末、PC、サーバなど、クラウドネットワーク上で稼働するコンピュータから、そのメモリの中身をそっくり盗み出すことができる。
業界の反応
Spectreの脆弱性には、3つのバリアントが存在する。バリアント1とバリアント2は、AMD、Arm、Intelのプロセッサに影響を与えるとみられている。一方、研究者たちが提示したPoCはバリアント3のみを対象にしており、これはIntelのチップのみに含まれる「Meltdown」と呼ばれる脆弱性だ。
2018年1月に米ラスベガスで開かれたCESで基調講演を行ったIntelのCEO、ブライアン・クルザニック氏は次のように述べている。「この5年間に当社が出荷したプロセッサについて、90%以上のモデルに対しては向こう1週間以内に、残りは今月末日までにアップデートを公開する予定だ」
「こうしたアップデートがパフォーマンスに与える影響は、ワークロードによって大きく変わってくるとわれわれは考えている。つまりその結果、一部のワークロードについては、他よりも大きな影響を受けると予測している。そこで当社は引き続き各業界との協力体制を維持し、そうしたワークロードへの影響を最小限に抑えるための取り組みを続ける」
一方AMDは以下のコメントを発表している。「対象とされたプロセッサに関して、経験とスキルの豊富なチームが、制御された専用のラボ環境において、非公開で詳細な調査を実施し、その結果を記録した」
AMDは、バリアント1対応のパッチを公開した。これはシステムプロバイダーに対しての公開となっている。バリアント2については、同社のプロセッサは影響を受けないとしている。Armは、カーネルパッチを発行してバリアント2の影響を軽減させると同時に、バリアント1からLinuxを保護する方法の説明を提供している。
iOSとAndroidは両方とも更新されて、悪意のあるブラウザスクリプトがSpectreを悪用するのを防止している。
プロセスの欠陥に苦しむ
電気機器メーカーのRambusでセキュリティ担当シニアエンジニアとして働くマイク・ハンバーグ氏は、独自の調査によってこの欠陥を発見した研究者の1人だ。
「複雑なプロセッサは、RISC(Reduced Instruction Set Computer:縮小命令セットコンピュータ)でもCISC(Complex Instruction Set Computer:複合命令セットコンピュータ)でも、その大半が投機的実行を利用している。これは、プロセッサが将来実行する計算を事前に推測することでパフォーマンスを向上させる手法だ」と同氏は説明する。「ただしこの手法を実行することで、プロセッサは結果的に、意図していなかった処理を実行する可能性もある」
Spectreは、将来実行する命令を推測する際にプロセッサが犯す過ちを利用して、メモリから特権情報を盗み出す、いわゆる「サイドチャネル攻撃」を実行するとハンバーグ氏は話す。
「Spectreはそもそも、仕掛けるのも困難だが、この攻撃を防ぐのはそれよりもずっと難しい。プロセッサに対して物理的な改変を加える必要があるからだ」と同氏は警告する。
「Spectreの脆弱性が発生する理由は、ユーザーが指示した命令をCPUが実行するからだけではない。CPUは先を読んで、プログラムが次に実行する命令を推測しようとする。少しでも早く処理を実行するためだ」
例えば、プログラムがループを5回実行した場合、プロセッサは6回目を実行するだろうと推測するかもしれない。プログラムが次に何を実行したいかを的確に推測してメモリやデータキャッシュをあらかじめ変更することができれば、パフォーマンスが大幅に向上する。ただし予測が誤っている場合は、変更を元に戻さなければならない。
プロセッサメモリの冗長化
ハイエンドなプロセッサであれば、何百ものプログラム命令を先読みできる。だが、予測が間違っていても、メモリからキャッシュに読み込んでおいたデータを削除するなどの取り消し処理は行わない、とハンバーグ氏は指摘する。
マイクロプロセッサの欠陥を利用すれば、アクセス特権を取得していなくても503kbpsのペースでPCから物理メモリを読み取ることができることを、研究者たちは実証した。これにより、攻撃者は、パスワードや暗号化キーなど、メモリに格納された機密情報を非常に迅速に取得できる。
プロセッサが直近の数秒間、または数ミリ秒間に実行したプログラムの挙動に基づいて予測を下すことを踏まえて、攻撃者はプロセッサの予測の精度を故意に下げるような不正なプログラムを作成するとハンバーグ氏は説明する。
脆弱性から保護するためには、プロセッサの設計において、コアレベルで安全性を確保する仕組みが必要だとハンバーグ氏は主張する。「ハードウェア優先戦略を採用し、チップは物理的に分割されたセキュアなコアで暗号機能を実行するように設計すべきだ」
タイミングの悪用
Spectreについては、命令の最適化方法を単純に把握すれば、マイクロプロセッサ自体が侵害される過程も理解できる。また、この脆弱性によりタイミング実行の仕組みや、タイミングがどのように機密データのリバースエンジニアリングに利用されるのかも全て明らかになる。
Rambusは、タイミング、電力消費、電波放射など、演算の副作用から、コンピュータの挙動に関する情報がどのように流出するのかを調査した。
続きはComputer Weekly日本語版 2月21日号にて
本記事は抄訳版です。全文は、以下でダウンロード(無料)できます。
■Computer Weekly日本語版 最近のバックナンバー
Computer Weekly日本語版 2月7日号 キャッシュレス先進国の現実
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社クレオ] IT部門を“価値創造組織”へ転換 IT管理プロセスの改革で戦略的リソースを確保 -
製品資料
[株式会社クレオ] Excel管理が限界に――ITサービス管理の脱・属人化と運用高度化を実現する方法 -
製品資料
[株式会社クレオ] 西武グループやイオングループも実践 事例に学ぶ「ITサービスデスク業務」改善 -
製品レビュー
[株式会社クレオ] 「使われないITシステム」から脱却 現場が求める業務改善を実現する方法 -
事例
[TXOne Networks Japan合同会社] 工場を止めずにOTの潜在リスクを可視化 事例に学ぶOTセキュリティの第一歩
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
生成AIが普及しても「技術書」を手放せないエンジニアの本音
-
2
「Windows」の不要なファイルを安全に消して容量を空ける方法
-
3
IT業界の女性は9割が10年で消える 人材枯渇を招く“見えない壁”の正体
-
4
世界PC出荷数が20%急減 情シスを直撃するPC先行調達の反動と価格高騰
-
5
脱VMwareか、継続か? 仮想化ソフト主要6製品の運用管理と統制機能を徹底比較
-
6
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
7
326のIPアドレスで1200超のアクセス AIエージェント関与が疑われる攻撃の中身
-
8
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
9
「業務改善とツール活用」に関するアンケート
-
10
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
-
4
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
5
プログラミング不要で誰でも実現できる、ネットワーク運用管理の自動化とは
-
6
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
7
東大教授と考える、AI時代の「データ主権」「信頼性」「ガバナンス」の在り方
-
8
Linux初心者でも知らないとまずい「RHEL」「SLES」の違いとは?
-
9
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
10
ランサムウェア攻撃“究極の対策”はこれだ
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー