Ubuntu Weekly Topics

2018年1月12日号 Spectre/Meltdown対策と17.04のEOL,17.10のISOイメージの再リリース

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

Spectre/Meltdown対策と17.04のEOL

2018年初に,コンピューター業界全体を大きく揺るがす脆弱性が公表されました。業界全体での対処が続けられており,Ubuntuでも対策が進められています。Meltdown/Spectreと名付けられた(大きく分けて)2つの脆弱性がそれです。

いずれもCPU設計の基礎部分に関連する問題で,Meltdownは一部のベンダのプロセッサ(主としてIntel)に,Spectreは非常に多くのプロセッサに影響します。

影響範囲は正確には未知数ですが,次のようなシナリオで攻撃が成立すると考えられます。いずれもオンメモリなデータを読み取ることができるのみで,任意のコードを実行したり,⁠オンメモリな状態ではない)ストレージ上のデータを読み取る,あるいはシステムをハードウェア的に破壊する,といった応用は今のところ発見されていません。

  • 仮想化環境において,仮想マシンから異なる仮想マシンやハイパーバイザーで処理されているメモリ情報を盗み見る。
  • Webブラウザで,不正なJavaScriptを実行される。たとえば広告やWebサイトに挿入された悪意あるコードから,そのマシン上で扱われているメモリ情報を盗み見る。
  • 不特定多数が利用するマシン上で,異なるユーザーのプロセスやカーネル上のメモリ情報を盗み見る。

Ubuntuでもこれらの問題への対応が続けられています。対処においては一定の混乱が見られ,また,カーネル更新でブート失敗が起きるLP#1742323という問題を引き起こしています。

Meltdown/Spectreに対しては業界全体が対応を進めている状況にあるため,現時点で「これが十分な対策だ」と断定することは困難です。逆に,⁠これが十分な対策だ」と書かれた,やけに簡単な記述のドキュメントがあるのであれば,むしろ無条件にそのドキュメントを捨てるのが良いでしょう。読まずに捨てることに価値がある程度には,そのドキュメントの正しさは疑わしいです。状況は非常に複雑かつ日々変化しており,⁠慌てないようにしましょう」以上の簡単なメッセージングは困難です。

Ubuntuとしてのメッセージングは,⁠The industry response to this unprecedented security vulnerability continues to evolve on a daily basis. The Ubuntu Engineering team is committed to delivering high-quality, proven fixes for these issues as they become available to ensure the Ubuntu experience remains as secure and consistent as possible.」⁠参考訳:業界は,この前代未聞の,日々状況が変化するセキュリティ脆弱性に対して対応を進めています。Ubuntu Engineering teamは,高品質な,そしてこの問題への妥当な対策として機能する修正を提供し,Ubuntuの安全性とユーザー体験を維持することに注力しています)⁠というものです。

次の点に注意してください。

  • 17.04は17.10にアップグレードしましょう。この問題との兼ね合いもあり,17.04は1月13日にEOLします。EOL前ではありますが,修正カーネルは提供されません。どうしても17.04を使う必要があり,かつ,脆弱性の内容から影響を受けないと判断できる場合を除いて,17.10へアップグレードしましょう。
  • 慌てないでください。1月12日時点において,Meltdown/Spectreのいずれにおいても,⁠メモリを読み取る」以上の攻撃は発見されていません。メモリを読み取ることでクレデンシャル情報を入手し,間接的に特権の奪取に繋げる,クレジットカード番号のような秘匿すべき情報を取得する,という攻撃が成立すると考えられます。しかし,この攻撃を受けてコンピューターが乗っ取られることは(クレデンシャル情報を奪われることでログインされる等の場合を除いて)ありません。また,コンピューターが壊れる攻撃ではありません。
  • 適切な情報収集を行い,状況の変化に注意しましょう。状況は日々変化しています。ある日の時点で「相応に防御できる」と判断できる対策を行っていても,今後の調査によって新たな攻撃手法が発見され,その対策では十分ではなくなる可能性があります。また,より効果的な対策が見つかる可能性もあります。Ubuntuとしての主な情報源は,Wikiのナレッジベースと,Ubuntu InsightsUbuntu security noticesです。
  • Intel CPUの場合は,まずカーネルを更新しましょう。Intel製CPUにおけるMeltdownへの対策はカーネルの更新で可能です。状況が許すのであれば,まずはMeltdownへの対応のため,利用しているUbuntuのカーネルを更新しましょう。相応のテストは行われていますが,業界全体が,予定よりも前倒しされた公開に混乱しています。実際にフィールド環境に投入されてからバグが見つかることもありえます(上述の通り,すでにそうした事象が発生しています)⁠不十分な場合に備えて,適切にバックアップを取った上で行うことをお勧めします。
  • Intel以外のCPUの場合も含め,マイクロコード更新を検討しましょう。Intel以外のCPUでは基本的にMeltdown対策は必要ありませんが(お手持ちに市場に出ていないCPUのエンジニアリングサンプルがある等の状態を除く)⁠Spectreへの対策は必要です。Spectreへの対策は,CPUのマイクロコードの更新とカーネルやアプリケーションの更新の両面で対応する必要があります。マイクロコードの更新は2種類のアプローチがあり,OS経由での更新(電源供給が絶たれるまで有効)と,マザーボードのファームウェアの更新のどちらかで可能です。Spectre対策は現在進行形で行われているため,今後の状況に注意しましょう。
  • ブラウザに注意しましょう。もし早期にカーネルやマイクロコードを更新できない理由が存在する場合,デスクトップ環境として利用注1する際には,⁠外部から不正なコードが投入される」ことを防ぐため,Webブラウザの更新や,JavaScriptの自動実行を抑制する機能を有効にしましょう。Webブラウザの一部では,Meltdown/Spectreを悪用した攻撃のうち,既知の防御方法があるものを抑制するアップデートが投入されています。拡張機能(プラグインやエクステンションと呼ばれるもの)によってこうした攻撃を抑制することもできますが,拡張機能そのものが悪意あるコードに乗っ取られていないか,という命題が別途存在するため,⁠この拡張機能を導入することでMeltdown/Spectreを予防できる」と謳うものを安易に導入することは避けましょう。
  • 仮想化環境ではさらに考慮した対応が必要です。Meltdown/Spectreの攻撃シナリオのうちの一部では,仮想マシンから別の仮想マシンや,仮想化ハイパーバイザーへの攻撃が成立することがあります。クラウドやVPSでは,ベンダがこうした状況への対応声明(いわゆるSecurity BulletinやSecurity Advisory)を出していることがほとんどです。対応声明を確認し,必要な対策について検討してください。Spectre/Meltdown Atackのサイトの,⁠Where can I find official infos/security advisories of involved/affected companies?』に参考リンクがあります。また,仮想化をホストするサービスを提供している場合,ただちに対策を開始してください。
  • 性能の劣化に備えましょう。Meltdown/Spectre対策は,それぞれにおいて注2一定の性能ダウンを伴います。これは「高速化のための機構に問題が見つかった」という背景から,回避のしようがないものです。また,マイクロコードによるパッチは一定の性能コストと引き換えに行われます。言い換えれば,対策により,一定の性能劣化が必ず訪れます。この劣化がどのように起きるのか,どのような傾向があるのかは,業界全体が調査を行っている段階です。特にサーバーのような一定の性能を提供しなくてはならない環境においては,実際にどのような劣化が起きたのかを計測し,必要な場合は性能の強化やチューニングのやりなおしが必要ですIntelMicrosoftのベンチマークを参考にしつつ,実際の性能劣化を計測しましょう注3)⁠
注1
ここでの「デスクトップ環境」は,⁠GUIベースの操作をする環境」というニュアンスです。コンピューターがデスクトップであるか,ノートPCであるかとは関係ありません。⁠人間が対話的に利用する環境」であれば該当します。
注2
Meltdownへの対策であるPTIでも性能は落ちますし,Spectreへの対策であるマイクロコード更新・Retpoline・IBRS・IBPBといった実装それぞれで性能の劣化が生じます。性能の落ち方もさまざまであり,ベンチマークごとに異なる影響が観測されています。そしてベンチマークは現実の性能劣化を必ずしも反映しないため,公開されたベンチマークの傾向から実際の性能劣化の予測に繋げるためには,観測モデルを作り直す必要があります。言い換えれば,ベンチマークの結果から実際の性能劣化の予測に安易に適用できるものではありません。
注3
現時点(現時点での対策における,現段階での調査)で見いだされている大まかな傾向としては,⁠対話的な利用で体感できるような性能劣化はない」というもののため,個人用のPCやノートPCではあまり心配する必要はありません。もちろんそれを理由に買い換えるのは個人の自由です。

その他のニュース

  • Ubuntu 17.10において,一部の(最新の)ノートPCにおいて,UEFI設定の変更を妨げる(実装によっては,特定デバイスからのブートができなくなる)事象が生じています。Canonicalからの対応はまだ作業プランの途中であり,影響を受けたシステムをお持ちの場合はもうしばらく様子を見るのがベターです(なんらかの機能障害が生じている場合はこの限りではありません)⁠現状では,⁠これ以上問題を拡大しない」ためのISOイメージの差し替えが進められており,日本語Remixでも同様の対処を行ったものを準備中です。
  • Omg! Ubuntuによる2017年の振り返り。Ubuntuにとっては激動の一年となった2017年を振り返る企画です。1月のUbuntu Phone終了宣言,4月のUnityからGNOMEへの移行,そして7月にはWSL(Windows Subsystem for Linux)⁠9月にはMark ShuttleworthがCanonicalのCEOへ復帰と,非常に多くのイベントが発生した一年でした注4)⁠
注4
ちなみに,3月にはクラウドカーネルという新しいカーネルフレーバーも登場したり,あるいはSQL Server 2017 for Linuxがリリースされたりと,サーバー関連の変化についても猛烈なものがありました。2018年はSpectre/Meltdownによる幕開けであり,今年も多くの波乱が予想されます。

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

usn-3513-1, usn-3513-2:libxml2のセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2017-December/004194.html
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2017-December/004195.html
  • Ubuntu 17.10・17.04・16.04 LTS・14.04 LTS・12.04 ESM用のアップデータがリリースされています。CVE-2017-15412を修正します。
  • 悪意ある加工を施したXMLファイルを処理させることで,リソースの過大消費を引き起こすことが可能でした。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-3509-3:Linux kernelの再アップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2017-December/004196.html
  • Ubuntu 16.04 LTS用のアップデータがリリースされています。LP#1737033を修正します。
  • 対処方法:アップデータを適用の上,システムを再起動してください。
  • 備考:ABIの変更を伴いますので,カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるため,通常はそのままアップデートの適用を行えば対応できます。
usn-3509-4:Linux kernel (Xenial HWE) regression
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2017-December/004197.html
  • Ubuntu 14.04 LTS用のアップデータがリリースされています。
  • 対処方法:アップデータを適用の上,システムを再起動してください。
  • 備考:ABIの変更を伴いますので,カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるため,通常はそのままアップデートの適用を行えば対応できます。
usn-3382-2:PHPのセキュリティアップデート
usn-3477-4:Firefox regression
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2018-January/004199.html
  • Ubuntu 17.10・17.04・16.04 LTS・14.04 LTS用のアップデータがリリースされています。
  • usn-3477-1の修正において,バックグラウンドに存在するタブがクラッシュする問題がありました。
  • 対処方法:アップデータを適用の上,Firefoxを再起動してください。
usn-3514-1:WebKitGTK+のセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2018-January/004200.html
  • Ubuntu 17.10・17.04・16.04 LTS用のアップデータがリリースされています。CVE-2017-13856, CVE-2017-13866, CVE-2017-13870, CVE-2017-7156を修正します。
  • 対処方法:アップデータを適用の上,WebKitGTK+を利用するアプリケーション(例:Epiphany)を再起動してください。
usn-3480-3:Apport regression
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2018-January/004201.html
  • Ubuntu 17.10・17.04・16.04 LTS用のアップデータがリリースされています。
  • USN-3480-1の修正において,コンテナ環境で正常動作しなくなる問題が生じていました。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-3430-3:Dnsmasq regression
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2018-January/004202.html
  • Ubuntu 12.04 ESM用のアップデータがリリースされています。
  • usn-3430-2のUbuntu 12.04 ESM環境向けバージョンです。
  • 対処方法:アップデータを適用の上,システムを再起動してください。
usn-3515-1:Rubyのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2018-January/004203.html
  • Ubuntu 17.10・17.04・16.04 LTS・14.04 LTS用のアップデータがリリースされています。CVE-2017-17405を修正します。
  • Net::FTPライブラリに含まれるコマンドインジェクションを修正します。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-3516-1:Firefoxのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2018-January/004204.html
  • Ubuntu 17.10・17.04・16.04 LTS・14.04 LTS用のアップデータがリリースされています。CVE-2017-5715, CVE-2017-5753, CVE-2017-5754を修正します。
  • JavaScriptを経由した"Meltdown"/"Spectre"攻撃を抑制します。
  • 対処方法:アップデータを適用の上,Firefoxを再起動してください。
usn-3517-1:popplerのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2018-January/004205.html
  • Ubuntu 17.10・17.04・16.04 LTS・14.04 LTS用のアップデータがリリースされています。CVE-2017-1000456, CVE-2017-14976を修正します。
  • 悪意ある加工を施されたPDFファイルを開くとメモリ破壊を伴うクラッシュが発生することがありました。任意のコードの実行につなげられる可能性があります。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-3519-1:Tomcatのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2018-January/004207.html
  • Ubuntu 17.04・16.04 LTS・14.04 LTS用のアップデータがリリースされています。CVE-2017-5647, CVE-2017-5648, CVE-2017-5664, CVE-2017-7674を修正します。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-3518-1:AWStatsのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2018-January/004208.html
  • Ubuntu 17.10・17.04・16.04 LTS・14.04 LTS用のアップデータがリリースされています。CVE-2017-1000501を修正します。
  • 特定のパラメータを与えることでコマンドインジェクションが可能でした。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-3520-1:PySAML2のセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2018-January/004209.html
  • Ubuntu 17.10・17.04・16.04 LTS用のアップデータがリリースされています。CVE-2017-1000433を修正します。
  • 最適化が有効な場合,あらゆるパスワードを正しいものとして扱っていました。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。

著者プロフィール

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

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

バックナンバー

Ubuntu Weekly Topics

  • 2018年1月12日号 Spectre/Meltdown対策と17.04のEOL,17.10のISOイメージの再リリース

バックナンバー一覧

コメント

コメントの記入