Ubuntu Weekly Topics

2019年5月17日号 Meltdown/Spectre/Foreshadowの後の世界:“MDS”攻撃への対応,WSL2のFAQ

この記事を読むのに必要な時間:およそ 3 分

Meltdown/Spectre/Foreshadowの後の世界・“MDS”攻撃への対応

2019年5月14日午前10時(太平洋標準時)⁠Intelを始めとする各社から⁠MDS⁠(Microarchitectural Data Sampling)と呼ばれる,新しいCPU脆弱性についての発表が行われました。

ただし,慌てる必要はありません。まず最初にやるべきは,昨年8月のForeshadowへどのように対応したかを思い出すことです。

“MDS⁠攻撃(それぞれZombieLoadRIDL・FalloutStore-to-Leaf Forwardingなどと呼ばれることもあります)のそれぞれへの対処は,ほとんど⁠Foreshadow⁠のときのものと同じで,⁠マイクロコードを更新してカーネルを更新,そしてより厳密な対応を目指すのであればHyper-Threading Technology等のSMT(Simultaneous Multithreading)を無効にする』というアクションを行えば問題ありません注1)⁠

注1
もちろん,Foreshadowの時のものと,更新するべきマイクロコードやカーネルパッチは異なります。また,CPUの世代によってはマイクロコードが存在せず,まだ対処のしようがない(あるいはEOLが宣言されていればもう対処のしようがない)環境もありえます。

なお,SMTの無効化まではたいていの環境で必要はないと考えられますが,今後出てくるであろう脆弱性への事前対処として,パフォーマンス影響が限定的であることを確認の上,今の時点でオフにしてしまうという判断もありえます。これまでの対処を行ってきた環境であれば,すでにSMTは無効にセットされていることもありえます。

Ubuntuでの対処としては,必要なパッケージ類はすでに準備済みで,関連情報がhttps://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/MDSに集約されています。比較的新しい環境であれば(そして,⁠Foreshadow⁠のときに今後の検討を行っていたのであれば)単にアップデータを適用するだけで対処が完了することもあるでしょう。

今回の件でポイントとなるのは,⁠攻撃そのものは新しいものの,CPU業界は,この種の脆弱性への対処パターンを確立させた」⁠よって,ユーザーとしてもこれまでと同様に対処を検討すればよい」という状態に達したことです。Spectre/Meltdown攻撃が発見された2018年1月の時点では,業界全体が大きく混乱する状態に陥りました。しかし今回は,業界全体での取り組みにより,⁠MDS⁠攻撃への対処は「いつものやつね」というレベル感に落ち着いています注2)⁠もちろん,こうした脆弱性が発見されるたびに対処のためのマイクロコードの準備やカーネルパッチ,あるいは性能劣化の影響範囲の識別といった作業は発生しているものの,ユーザー側から見れば「これまでと同じようなパターン」での対応と言えます。

……ということで,⁠いつもの」CPU脆弱性への対処を行いましょう。まだ「いつもの」対処が確立できていないのであれば,今回どのような対応や判断を行ったかのログを残しておくことで,⁠次」の機会に役立つはずです。

注2
こうした取り組みの裏側は,RIDL攻撃の論文のAppendix Bから見て取ることができます。いわく,⁠Statement from Intel:⁠We have disclosed details about the issue described in VU Amsterdam⁠s paper with multiple parties in the computing ecosystem who have the ability to help develop mitigations. This includes operating system vendors such as MSFT and Redhat, hypervisor vendors such as VMWare and Citrix, silicon vendors or licensors such as AMD and ARM, select operating system providers or maintainers for open source projects, and others. These disclosures have been conducted under coordinated vulnerability disclosure for purposes of architecting, validating, and delivering mitigations, and all parties agreed to mutual confidentiality and embargo until 10AM PT May 14, 2019”」⁠要約:Intelからの声明:⁠Intelは提供された論文の内容を,業界内の関係各社とともに精査し,緩和策の検討を行った。これにはOSベンダーとしてMicrosoftやRedhat,HypervisorベンダーとしてVMwareとCitrix,半導体ベンダやライセンシとしてAMDとARM,そしてオープンソースプロジェクトのOS提供者などが含まれる。これらの関係各社で実行可能性の検討・検証・緩和策の検討を厳密なコントロール下で行い,最終的に2019年5月14日午前10時(太平洋標準時)に情報を公表することで合意した)⁠このタイミングでの公表は関係各社の緊密な連携の果てに公表されたものであることがわかります。付与されているCVE IDが2018で始まるものであることから,オリジナルの届け出は昨年のうちに行われていた可能性が高いと判断するべきです。

その他のニュース

  • WSL 2のFAQ。直接Ubuntu on WSL 2に関する情報はありませんが,基本的には「Windows 10 Homeでも利用できる」⁠Windows 10 HomeにはHyper-Vロールをインストールすることはできないが,WSL 2はHyper-Vを利用するもののHyper-Vロールには依存しないのでHomeでも利用できる)⁠⁠WSL 1の廃止の具体的な予定はない」⁠WSL 2はHyper-Vを利用する形で動作するため,Hyper-Vと排他的な動作をするハイパーバイザー,VirtualBoxやVMwareとは共存できない」注3といった情報を読み取ることができます。プレビュー版ではホストとWSL環境のIPアドレスが異なるものになる,というあたりがポイントで,⁠ではプレビュー版以降の実装では何をどうやってホストと同じIPアドレスを共有するのか」等,気になる要素が溢れています。
  • Unity製ゲームのSnap化と,Snapstoreでの公開について。この手順に従うことで,⁠Storeとして魅力的か,という点については一定の疑問はあるものの)Unityを利用するゲームをSnapパッケージとして提供できます注4)⁠
注3
ただしハイパーバイザー側がWindows Hypervisor Platform APIに対応すれば共存(=VirtualBox側からHyper-Vコアを利用することによって排他関係を打破すること)が可能です。そして,VirtualBox 6.0であれば共存できる実装になりつつあるため,⁠WSL 2を選ぶか,あるいはVirtualBoxを選ぶか」といった問題は発生しない可能性があります。
注4
Snapにすることに現状ではそこまで強い意味はないものの,Unityが動作するOSや依存するライブラリバージョンが今後更新されていき,⁠このゲームを動かすにはN年前のUbuntuをセットアップしないといけない」といった事象が発生すると,⁠昔リリースされたゲームを簡単に動かせるのはSnapパッケージだけ」といった事態が起こる可能性もあります。また,Snapになっているとシステム環境と独立してライブラリバージョンを変更していくことができるため,こうした問題(Wineの更新によって,Wineで動作するSnap版League of Legendsがクラッシュするようになった)が起きたときの対処もやりやすくなります。

今週のセキュリティアップデート

usn-3969-1, usn-3969-2:wpa_supplicant,hostapdのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2019-May/004881.html
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2019-May/004885.html
  • Ubuntu 19.04・18.10・18.04 LTS・16.04 LTS用のアップデータがリリースされています。CVE-2019-11555に対応します。
  • EAP-pwdに悪意ある加工を施した入力を行うことで,クラッシュを誘発することが可能でした。
  • 対処方法:アップデータを適用の上,システムを再起動してください。
usn-3970-1:Ghostscriptのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2019-May/004882.html
  • Ubuntu 19.04・18.10・18.04 LTS・16.04 LTS用のアップデータがリリースされています。CVE-2019-3839を修正します。
  • 悪意ある加工を施したPostScriptファイルを処理させることで,権限昇格・任意のコードの実行を含む特定の処理を実行させることが可能でした。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-3971-1:Monitのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2019-May/004883.html
  • Ubuntu 19.04・18.10用のアップデータがリリースされています。CVE-2019-11454, CVE-2019-11455を修正します。
  • 悪意ある入力を行うことで,XSSと,秘匿すべき情報の漏出を誘発することができました。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-3956-2:Bindのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2019-May/004884.html
  • Ubuntu 14.04 ESM・12.04 ESM用のアップデータがリリースされています。
  • usn-3956-1のUbuntu 14.04 ESM・12.04 ESM用パッケージです。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。

著者プロフィール

吉田史(よしだふみひと)

システム管理を中心にWindows/PC Unixを併用している。Ubuntu Japanese Teamではパッケージサーバの管理や翻訳などの作業を担当。