CPUの脆弱性「Meltdown」対策の2018年1月と2月のWindows用パッチは別の事態悪化を招く可能性
By laboratorio linux
2018年1月初頭に明らかにされたIntel、AMDおよびARM製のCPUに関連する脆弱性「Spectre」と「Meltdown」は、CPUを高速化するための技術「投機的実行」の仕組みがそのまま情報流出を招くセキュリティホールとなっている問題で、この件が衝撃とともに伝えられた以降は各社が対応に追われる事態となりました。Microsoftからも1月以降に問題に対処したパッチがリリースされているのですが、セキュリティ専門家の調査から、1月と2月のパッチを当てることでWindows 7およびServer 2008 R2においてさらに別の問題が生じて、事態が悪化する可能性があることが明らかになっています。
Security | DMA | Hacking: Total Meltdown?
http://blog.frizk.net/2018/03/total-meltdown.html
この問題はセキュリティ専門家のUlf Frisk(@UlfFrisk)氏が発見したもので、自身のブログで明らかにしています。
Ulf Frisk氏によると、確かに2018年1月のパッチはMeltdown問題を食い止めることには成功しているものの、一方であらゆるプロセスが毎秒数GBのスピードでメモリの中身にアクセスし、任意のアドレスに情報を書き込むことが可能になってしまっているとのこと。この問題を実行するために特殊なAPIやシステムコールなどは必要なく、Windows 7に備わっているバーチャルメモリがメモリを読み書きする機能を利用するだけ。
Ulf Frisk氏が実際に脆弱性を突いた時の画面キャプチャが公開されています。左の画面には、アクセス速度が「4339MB/s」と表示されており、毎秒4GB以上の速度でアクセスできていることが示されていますが、一方でデータをディスクにダンプする速度は転送速度がボトルネックになって遅くなっているとのこと。
この問題の原因は、ユーザーもしくはスーパーバイザー権限を示すビットがPML4のエントリに含まれているため、とのこと。これにより、通常はカーネルのみがアクセスできるはずのページテーブルが、全てのプロセスのユーザーモードコードに利用可能になります。
Windows 7においては、PML4の自己参照先が「ポジション0x1ED、オフセット0xF68」に固定されており、これはバーチャルメモリに置き換えられる際に「アドレス0xFFFFF6FB7DBED000」にマッピングされることを意味します。通常、特権を持つカーネルのみが使用できるメモリアドレスなのですが、間違って許可を示すビットがユーザーにセットされることで、本来は見えるはずのないアドレスが見えるようになり、内部にアクセスできるようになってしまうとのこと。
この問題は、Githubで公開されているPCILeech direct memory access attack toolkitを使用することで、誰でも自分で再現することが可能になっているとのこと。プログラムをダウンロードして脆弱性のあるWindows 7マシン上でデバイスタイプ「-device totalmeltdown」で実行するだけです。
以下の画面は実際に実行している際の様子で、メモリマップとPML4にアクセスが行われている状態が示されているとのこと。
この問題の影響を受けているのは、2018年1月と同2月のパッチを当てた64ビット版Windows 7とServer 2008 R2のマシン。2017年12月以降のパッチを当てていない場合や、2018年3月以降のパッチが当てられている状態であれば問題は発生しないとのことなので、心当たりのある人はすぐに最新のパッチを導入して置いた方がベターです。
なお、この問題に対してIntelは、「Spectre」と「Meltdown」の問題をハードウェアレベルで対策したCPUを2018年後半にリリースすると発表しています。
Intelが脆弱性「Spectre」「Meltdown」をハードウェアレベルで対策したCPUを2018年後半にリリースすると発表 - GIGAZINE
・関連記事
CPUに内在する脆弱性問題「メルトダウン」「スペクター」への各社の対応まとめ - GIGAZINE
MicrosoftがWindowsの臨時アップデートを公開、Intel製チップの脆弱性問題「Spectre」の緩和策を無効に - GIGAZINE
Intelのプロセッサチップに根本的な設計上の欠陥が発覚、各OSにアップデートの必要性 - GIGAZINE
Intel製CPUに内在する脆弱性問題の根は深く「すべてのプロセッサが安全性と高速性を両立できない問題を抱える」との指摘 - GIGAZINE
CPUの脆弱性問題の根本原因の「投機的実行」との格闘はXbox 360時代から存在する - GIGAZINE
・関連コンテンツ