1月2日にKernel-memory-leaking Intel processor design flaw forces Linux, Windows redesign(The Register)で報道された脆弱性について、各種文献を読んだ結果をまとめます。
専門外かつ個人的なメモなので間違っている箇所が多くあると思います。すみません。
脆弱性の概要
- GoogleのProject Zeroによって発見され、2017年6月1日に各ベンダに報告されていた。
- 本来1月9日に公表される予定であったが、メディアに「憶測による報道」をされたため、現時点でProject ZeroやIntel等からまとまった情報が出てきている
- CVE-2017-5753, CVE-2017-5715, CVE-2017-5754が関係
- プロセッサの投機的実行に由来する脆弱性で、主にIntelのPentiumより後のCPUにある問題であるが、一定条件化でAMDやARMも影響を受けるとされる
- 対策のためカーネルページテーブルアイソレーションという技術が導入されたが、これによりシステムコールの実行パフォーマンスが低下する1
- この脆弱性により、ユーザープロセスやKVMゲスト上のプロセスからカーネルメモリを読み取られてしまう
- PoCが存在するが現時点(2018/1/5)では公開されていない。将来公開される。
- 追記 すでにこれらの脆弱性を実証できるコードが各所で公開されています。例: Meltdown , Spectre
Bingo! #kpti #intelbug pic.twitter.com/Dml9g8oywk
— brainsmoke (@brainsmoke) 2018年1月3日
文献など
英語の情報
- The Registerの記事 ... おそらく脆弱性の存在に関する情報としては一番最初に出たもの。
- Google Project Zeroのブログポスト ... 脆弱性の詳細がレポートされている。
- intelの声明 ... Intel製品のみが影響を受ける、とした報道記事に反論している
- Google Security Blog ... Google製品ユーザーの脆弱性への対応方法などがアナウンスされている
- AMDの発表 ... 脆弱性のAMD製品への影響はほぼないと言っている
- Linux Kernel Mailing Listに送られたパッチ ... AMD製CPUではKPTIを有効にする必要はないという内容2
- Phoronixの記事 ... 脆弱性緩和策のパフォーマンスに対する影響をベンチマークしている
- Project Zeroのissue
- https://meltdownattack.com/ ... 論文が公開されている
Qiita上の情報
各OSでの対策
Linux
-
Linux-4.15-rc6
3,Linux-4.14.11
^2にてページテーブルアイソレーションの機能がマージされた - Kconfigで
PAGE_TABLE_ISOLATION
を有効にする必要がある4
確認方法
-
uname -a
等で、Linuxカーネルのバージョンが上記の脆弱性緩和策が適用されたもの(Linux-4.14.11
以降, など)になっているか確認する -
cat /proc/cpuinfo
を実行し、表示される文字列にcpu_insecure
が含まれていることを確認する(AMD製CPUの場合は必要ない)
Windows
- セキュリティ アドバイザリ ADV180002 | Guidance to mitigate speculative execution side-channel vulnerabilities
- デスクトップ用Windowsでの対応 Windows Client Guidance for IT Pros to protect against speculative execution side-channel vulnerabilities
- サーバー用Windowsでの対応 Windows Server Guidance to protect against the speculative execution side-channel vulnerabilities
最新のWindows 10の場合、2018/1/3のKB4056892に対策が含まれているのでないかと考えられる5
確認方法
KB4056892がインストールされていることを確認するには、設定 > システム > バージョン情報 より、OSビルドが16299.192となっていることを確認する
FreeBSD
現在対応中であり、対応日程は未定である6
There is team of 3 individuals already working on it, none of whom I can name.
— Devin Teske (@freebsdfrau) 2018年1月3日
macOS
すでに一部については(2017/12/6)の時点で対策が完了(macOS 10.13.2)しており、現在追加の緩和策をテストしている
Intel responds to CPU security flaw as macOS 10.13.2 said to include fix for Macs
ユーザーができる対策
- OSを常に最新にアップデートする
- Google Chromeを使用している場合は、Full Site Isolationを有効にする7
-
https://www.phoronix.com/scan.php?page=article&item=linux-415-x86pti ↩
-
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/diff/?id=v4.15-rc6&id2=v4.15-rc5&dt=2 ↩
-
https://support.microsoft.com/en-us/help/4072698/windows-server-guidance-to-protect-against-the-speculative-execution ↩
-
https://www.freebsd.org/ja/news/newsflash.html#event20180104:01 ↩