2018年01月04日 13時26分 セキュリティ

Intel製CPUに内在する脆弱性問題の根は深く「すべてのプロセッサが安全性と高速性を両立できない問題を抱える」との指摘



Intelプロセッサの設計上の欠陥によって機密情報が盗み出される可能性があり、対策ソフトウェアでのアップデートが必要でパフォーマンスのダウンが避けられないと報じられて大きな問題となっています。Intelプロセッサ固有の問題と思われている脆弱性については大きく2種類あり、その1つはAMDやARMなどのプロセッサも影響を受けるとされていることが明らかになっています。



Critical "Meltdown" and "Spectre" Flaws Breaks Basic Security for Intel, AMD, ARM Computers | WIRED

https://www.wired.com/story/critical-intel-flaw-breaks-basic-security-for-most-computers/



Researchers Discover Two Major Flaws in the World’s Computers - The New York Times

https://www.nytimes.com/2018/01/03/business/computer-flaws.html



◆MeltdownとSpectre

2018年初から大騒動になっているCPUに内在する脆弱性は2種類あり、それぞれ「Meltdown(メルトダウン)」「Spectre(スペクター)」と命名されています。なお、メルトダウンはIntel製CPUに特有の脆弱性で、スペクターはIntel・AMD・ARMなどのすべてのプロセッサに内在する可能性が指摘されています。



メルトダウンは、悪意あるプログラムがメモリ内のより高い特権が要求される領域へアクセスするのを許します。これは、Intelが高速処理を実現するためにチップ内に導入した「speculative execution(投機的実行)」技術が原因と考えられています。投機的実行では、入力データに応じてアルゴリズムが命令処理を分岐させ、論理的な「予測」に基づいて処理を事前に行うことで処理速度を高速化します。予測が正しければ処理はそのまま続行され、仮に予測が間違っていれば処理は中断され分岐点に戻って処理が再実行されます。しかし、セキュリティ専門家のエリック・ボスマン氏によると、Intelプロセッサは投機的実行においてプロセスを分離しておらず、カーネルメモリ内での低い特権と高い特権のそれぞれのデータを区別していないとのこと。このため、悪意あるプログラムは投機的実行において特権のないコードでカーネルメモリにアクセスすることが可能になります。



プロセッサが投機的実行を停止して命令の分岐点に戻る際に、データは破棄されるため特権付きデータの取得は通常は困難ですが、直近のデータをより高速にアクセスするためのキャッシュメモリにデータは一時的に保存されています。悪意あるコードはプロセッサの命令を注視してその応答速度から要求データがキャッシュにあるかどうかどうかを判断することができるとのこと。以上の通り、Intel製CPUが行う一連の投機的実行処理を悪用して本来、アクセス不可能だったはずのキャッシュメモリを読み取ることで、悪意あるプログラムはパスワードや個人情報などの機密情報を盗み出すそうです。



Intelのプロセッサチップに根本的な設計上の欠陥が発覚、各OSにアップデートの必要性 - GIGAZINE





このメルトダウンはGoogleやAmazon、Microsoftなどのクラウドコンピューティングサービス特有の問題です。クラウドコンピューティングサービスでは、クライアントのために単独のサーバーを提供する例は少なく、複数のクライアントがサーバーを共用しています。同一サーバー内の他のクライアントの情報へのアクセスは専用のセキュリティツールやプロトコルによって分離されていますが、サーバーを駆動するCPUの脆弱性は、これらのセキュリティ機構を回避できる可能性があります。



サーバー用OSとして約30％のシェアを持つLinuxでは、すでにメルトダウンを回避するためのパッチを公開していますが、パッチを適用することでパフォーマンスが5～30％落ちると報じられており、ソフトウェア開発者のアンドレス・フレンド氏のようにパッチを適用したマシンのパフォーマンスは20～30％も落ちるという指摘もあります。他方で投機的実行における推測的なメモリの参照が許可されていないためメルトダウンの影響を受けないAMD製CPUにLinuxパッチを適用するとパフォーマンスが落ちるので、有効にしないように、との注意喚起をAMD技術者のTom Lendacky氏は行っています。



LKML: tip-bot for Tom Lendacky: [tip:x86/pti] x86/cpu, x86/pti: Do not enable PTI on AMD processors

https://lkml.org/lkml/2018/1/3/425





メルトダウンの影響を受けるサーバーCPUにおいてIntelは90％以上のシェアを誇りますが、既報の通りメルトダウン問題がIntelのCPU特有の問題でAMDのCPUに影響を与えないのであれば、AMDの「EPYC」シリーズとのパフォーマンス競争で不利になりかねないためIntelは利益率の高いサーバー向けCPU市場で大きな打撃を受ける可能性が指摘されています。



もう一つの脆弱性「スペクター」については記事作成時点で情報は多くありません。ただし、スペクターとメルトダウンは、基本的な原理において共通する脆弱性だと言われています。しかし、メルトダウンがサーバーCPUで問題になるのに対して、スペクターはIntelだけでなく、AMDやARMなどのチップ全般に関係する脆弱性であり、PCだけでなくARMベースのCPUを採用するスマートフォンを含めた、より広い端末に影響を及ぼしかねない脆弱性と言えそうです。





Cryptography Researchのポール・コーチャー氏は、スペクターは20年来、プロセッサーに内在してきた構造的な問題であり、事実上、すべてのマイクロプロセッサーに影響を与えると述べています。コーチャー氏は「業界では可能な限り速くかつ安全なプロセッサーへの願望がありました。しかし、スペクターはこれを両立することが不可能であることを示しています」と述べ、新しいチップ設計で演算能力の高速化に重点を置くことでセキュリティ問題に対して脆弱になっているという構造上の欠点を指摘しています。



◆Googleの対応

Googleのセキュリティ対策部門Project Zeroは、今回問題になっている投機的実行によって引き起こされる深刻なセキュリティ上の脆弱性を2017年段階で把握し、Intelなどのチップベンダーに通知するとともに、影響を受けるサーバーで駆動するGoogleサービスの対策を進めていたとのこと。本来は2018年1月9日に公開予定だったセキュリティアップデートについて、すでに脆弱性問題が広く知られたこともあり、前倒しで情報公開に踏み切っています。



Google Online Security Blog: Today's CPU vulnerability: what you need to know

https://security.googleblog.com/2018/01/todays-cpu-vulnerability-what-you-need.html



影響を受け得るサービスと対策は以下の通り。なお、記載のないGoogleサービスは、ユーザーの操作が不要だとのこと。



・「Android」

最新のセキュリティ更新プログラムが適用されている端末は保護済み。



・「Google Apps/G Suite」(Gmail、Googleカレンダー、Googleドライブなど)

対策済み。追加のアクションは不要。



・「Google Chrome」「Google Chrome OS」「Google Cloud Platform」

一部、ユーザーによる操作が必要。詳細は以下のサイトで確認可能。



Product Status - Google ヘルプ

https://support.google.com/faqs/answer/7622138#chrome



・「Google Home」「Chromecast」「Google wifi」「OnHub」

ユーザーによる操作は不要。



◆Microsoftの対応

The Vergeによると、Microsoftは各Windows OSに対して今回のCPUに内在する脆弱性に対する緊急のセキュリティ更新プログラムを提供するとのこと。Windows 10では自動的に更新が行われる予定です。



Microsoft issues emergency Windows update for processor security bugs - The Verge

https://www.theverge.com/2018/1/3/16846784/microsoft-processor-bug-windows-10-fix



ただし先に提供されるのはWindows 10向けの更新プログラムで、Windows 7やWindows 8.1などのOSは次回のWindows Updateを通じて配布される予定です。



The Vergeが情報筋から得た情報によると、更新プログラムやファームウェアアップデートによって比較的、新しいIntelプロセッサではパフォーマンスの大幅な低下はない見込みだとのこと。ただし、古いIntelプロセッサではパフォーマンスの大幅ダウンの可能性があるそうです。



また、Microsoftはクラウドサーバー向けに最新のファームウェアとソフトウェア更新プログラムを導入する予定。なお、記事作成時点においては脆弱性を悪用した攻撃は確認されていないと述べています。



・つづき

CPUに内在する脆弱性問題「メルトダウン」「スペクター」への各社の対応まとめ - GIGAZINE





