分Spectre/Meltdown対策と17.04のEOL2018年初に,コンピューター業界全体を大きく揺るがす脆弱性が公表されました。業界全体での対処が続けられており,Ubuntuでも対策が進められています。Meltdown/Spectreと名付けられた(大きく分けて)2つの脆弱性がそれです。いずれもCPU設計の基礎部分に関連する問題で,Meltdownは一部のベンダのプロセッサ(主としてIntel)に,Spectreは非常に多くのプロセッサに影響します。影響範囲は正確には未知数ですが,次のようなシナリオで攻撃が成立すると考えられます。いずれもオンメモリなデータを読み取ることができるのみで,任意のコードを実行したり,(⁠オンメモリな状態ではない)ストレージ上のデータを読み取る,あるいはシステムをハードウェア的に破壊する,といった応用は今のところ発見されていません。仮想化環境において,仮想マシンから異なる仮想マシンやハイパーバイザーで処理されているメモリ情報を盗み見る。Webブラウザで,不正なJavaScriptを実行される。広告やWebサイトに挿入された悪意あるコードから,そのマシン上で扱われているメモリ情報を盗み見る。不特定多数が利用するマシン上で,異なるユーザーのプロセスやカーネル上のメモリ情報を盗み見る。Ubuntuでもこれらの問題への対応が続けられています。対処においては一定の混乱が見られ,また,カーネル更新でブート失敗が起きる(LP#1742323)という問題を引き起こしています。Meltdown/Spectreに対しては業界全体が対応を進めている状況にあるため,現時点で「これが十分な対策だ」と断定することは困難です。逆に,「⁠これが十分な対策だ」と書かれた,やけに簡単な記述のドキュメントがあるのであれば,むしろ無条件にそのドキュメントを捨てるのが良いでしょう。読まずに捨てることに価値がある程度には,そのドキュメントの正しさは疑わしいです。状況は非常に複雑かつ日々変化しており,「⁠慌てないようにしましょう」以上の簡単なメッセージングは困難です。possible.」(⁠参考訳:業界は,この前代未聞の,日々状況が変化するセキュリティ脆弱性に対して対応を進めています。teamは,高品質な,そしてこの問題への妥当な対策として機能する修正を提供し,Ubuntuの安全性とユーザー体験を維持することに注力しています⁠)⁠,というものです。次の点に注意してください。17.04は17.10にアップグレードしましょう。この問題との兼ね合いもあり,17.04は1月13日にEOLします。EOL前ではありますが,修正カーネルは提供されません。しても17.04を使う必要があり,かつ,脆弱性の内容から影響を受けないと判断できる場合を除いて,17.10へアップグレードしましょう。1月12日時点において,Meltdown/Spectreのいずれにおいても,「⁠メモリを読み取る」以上の攻撃は発見されていません。メモリを読み取ることでクレデンシャル情報を入手し,間接的に特権の奪取に繋げる,クレジットカード番号のような秘匿すべき情報を取得する,という攻撃が成立すると考えられます。この攻撃を受けてコンピューターが乗っ取られることは(クレデンシャル情報を奪われることでログインされる等の場合を除いて)ありません。コンピューターが壊れる攻撃ではありません。適切な情報収集を行い,状況の変化に注意しましょう。状況は日々変化しています。ある日の時点で「相応に防御できる」と判断できる対策を行っていても,今後の調査によって新たな攻撃手法が発見され,その対策では十分ではなくなる可能性があります。効果的な対策が見つかる可能性もあります。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の攻撃シナリオのうちの一部では,仮想マシンから別の仮想マシンや,仮想化ハイパーバイザーへの攻撃が成立することがあります。Advisory)を出していることがほとんどです。対応声明を確認し,必要な対策について検討してください。companies?』に参考リンクがあります。仮想化をホストするサービスを提供している場合,ただちに対策を開始してください。性能の劣化に備えましょう。Meltdown/Spectre対策は,それぞれにおいて(注2)一定の性能ダウンを伴います。これは「高速化のための機構に問題が見つかった」という背景から,回避のしようがないものです。マイクロコードによるパッチは一定の性能コストと引き換えに行われます。言い換えれば,対策により,一定の性能劣化が必ず訪れます。この劣化がどのように起きるのか,どのような傾向があるのかは,業界全体が調査を行っている段階です。サーバーのような一定の性能を提供しなくてはならない環境においては,実際にどのような劣化が起きたのかを計測し,必要な場合は性能の強化やチューニングのやりなおしが必要です。IntelやMicrosoftのベンチマークを参考にしつつ,実際の性能劣化を計測しましょう(注3⁠)⁠。注1ここでの「デスクトップ環境」は,「⁠GUIベースの操作をする環境」というニュアンスです。コンピューターがデスクトップであるか,ノートPCであるかとは関係ありません。「⁠人間が対話的に利用する環境」であれば該当します。注2Meltdownへの対策であるPTIでも性能は落ちますし,Spectreへの対策であるマイクロコード更新・Retpoline・IBRS・IBPBといった実装それぞれで性能の劣化が生じます。性能の落ち方もさまざまであり,ベンチマークごとに異なる影響が観測されています。ベンチマークは現実の性能劣化を必ずしも反映しないため,公開されたベンチマークの傾向から実際の性能劣化の予測に繋げるためには,観測モデルを作り直す必要があります。言い換えれば,ベンチマークの結果から実際の性能劣化の予測に安易に適用できるものではありません。注3現時点(現時点での対策における,現段階での調査)で見いだされている大まかな傾向としては,「⁠対話的な利用で体感できるような性能劣化はない」というもののため,個人用のPCやノートPCではあまり心配する必要はありません。それを理由に買い換えるのは個人の自由です。17.10において,一部の(最新の)ノートPCにおいて,UEFI設定の変更を妨げる(実装によっては,特定デバイスからのブートができなくなる)事象が生じています。Canonicalからの対応はまだ作業プランの途中であり,影響を受けたシステムをお持ちの場合はもうしばらく様子を見るのがベターです(なんらかの機能障害が生じている場合はこの限りではありません⁠)⁠。現状では,「⁠これ以上問題を拡大しない」ためのISOイメージの差し替えが進められており,日本語Remixでも同様の対処を行ったものを準備中です。Ubuntuによる2017年の振り返り。Ubuntuにとっては激動の一年となった2017年を振り返る企画です。ShuttleworthがCanonicalのCEOへ復帰と,非常に多くのイベントが発生した一年でした(注4⁠)⁠。Linuxがリリースされたりと,サーバー関連の変化についても猛烈なものがありました。2018年はSpectre/Meltdownによる幕開けであり,今年も多くの波乱が予想されます。ESM用のアップデータがリリースされています。CVE-2017-15412を修正します。悪意ある加工を施したXMLファイルを処理させることで,リソースの過大消費を引き起こすことが可能でした。対処方法:通常の場合,アップデータを適用することで問題を解決できます。LTS用のアップデータがリリースされています。LP#1737033を修正します。対処方法:アップデータを適用の上,システムを再起動してください。備考:ABIの変更を伴いますので,カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるため,通常はそのままアップデートの適用を行えば対応できます。LTS用のアップデータがリリースされています。対処方法:アップデータを適用の上,システムを再起動してください。備考:ABIの変更を伴いますので,カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるため,通常はそのままアップデートの適用を行えば対応できます。ESM用のアップデータがリリースされています。CVE-2017-9229を修正します。LTS用のアップデータがリリースされています。usn-3477-1の修正において,バックグラウンドに存在するタブがクラッシュする問題がありました。対処方法:アップデータを適用の上,Firefoxを再起動してください。LTS用のアップデータがリリースされています。CVE-2017-7156を修正します。対処方法:アップデータを適用の上,WebKitGTK+を利用するアプリケーション(例:Epiphany)を再起動してください。LTS用のアップデータがリリースされています。USN-3480-1の修正において,コンテナ環境で正常動作しなくなる問題が生じていました。対処方法:通常の場合,アップデータを適用することで問題を解決できます。ESM用のアップデータがリリースされています。ESM環境向けバージョンです。対処方法:アップデータを適用の上,システムを再起動してください。LTS用のアップデータがリリースされています。CVE-2017-17405を修正します。Net::FTPライブラリに含まれるコマンドインジェクションを修正します。対処方法:通常の場合,アップデータを適用することで問題を解決できます。LTS用のアップデータがリリースされています。CVE-2017-5754を修正します。JavaScriptを経由した"Meltdown"/"Spectre"攻撃を抑制します。対処方法:アップデータを適用の上,Firefoxを再起動してください。LTS用のアップデータがリリースされています。CVE-2017-14976を修正します。悪意ある加工を施されたPDFファイルを開くとメモリ破壊を伴うクラッシュが発生することがありました。任意のコードの実行につなげられる可能性があります。対処方法:通常の場合,アップデータを適用することで問題を解決できます。LTS用のアップデータがリリースされています。CVE-2017-7674を修正します。対処方法:通常の場合,アップデータを適用することで問題を解決できます。LTS用のアップデータがリリースされています。CVE-2017-1000501を修正します。特定のパラメータを与えることでコマンドインジェクションが可能でした。対処方法:通常の場合,アップデータを適用することで問題を解決できます。LTS用のアップデータがリリースされています。CVE-2017-1000433を修正します。最適化が有効な場合,あらゆるパスワードを正しいものとして扱っていました。対処方法:通常の場合,アップデータを適用することで問題を解決できます。Unixを併用している。Teamではパッケージサーバの管理や翻訳などの作業を担当。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。