Ubuntu Weekly Topics

2020年5月22日号 WSL2の新機能と今後,新しい姿のLinuxデスクトッププラットフォーム

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

WSL2の新機能と今後,新しい姿のLinuxデスクトッププラットフォーム

Microsoft Build 2020において,WSLに関わるいくつかの新機能お披露目されました。

Windows 10 2020 May Update(あるいは「Windows 10 Ver.2004⁠⁠)におけるWSL2の紹介や,WSL2用のLinux Kernelの話題だけかと思いきや,多くの「隠し球」が提供される展開となっています。発表されたものを順不同に見ていきましょう。

まず,もっとも大きな発表が『WSL2向けのDirectX』の発表です。テクノロジースタックとしてはこれは,以下のものから構成されています。

  • WDDMドライバで動作するGPUを,Linuxゲストに対して準仮想化で提供する,WDDM GPU Paravirtualization(GPU-PV⁠⁠。要するに「ゲストマシンから利用できる,薄くラップされたGPU」です。純粋なGPUをそのままパススルーするわけではなく,あくまでWDDMに基づいた「WDDMで定義された動作をするGPU(っぽく見える仮想デバイス⁠⁠」というものではあるものの,事実上は「仮想化されたGPU」と大差ありません注1
  • DirectX subsystemのコアにあたる,dxgkrnlLinux用インターフェース層。これはWSL2上でのみ機能する「Windows側のdxgkrnlへパススルーすることでDirectX12のコア動作を実現するデバイス」として振る舞います。
  • Linux向けにリコンパイルされたDxCoreとD3D12。これは要するに「DirectX12のOS準拠部分」と同義です。
  • 同じく,Linux向けに動作するように調整されたuser mode driver。これは「DirectX12のGPU依存コード」と同義です。
注1
より分かりやすく言うと,⁠GeForceやRadeonがそのまま見えるわけではないものの,GPUアクセラレーションで必要とされる機能は揃っている新種のGPU」として見えます。

……このあたりで前提知識がDirectXの構造にさしかかってきたのでUbuntuユーザー向けに不可逆圧縮してしまいますが,⁠いろいろな黒魔術を駆使して,DirectX12がホストマシン上と遜色のない性能を発揮しつつ,ゲストLinux上で動くようになります,特にWSL2では簡単に動きます」というものと理解しておけば良いでしょう注2⁠。また,同種の仕組みを利用してDirectMLNVIDIA CUDAも利用できるようにすることが示されています。

注2
Linuxゲスト向けのGPU-PVはWDDM 2.9以降でのサポートとなり,まだ具体的な時期は明確にはなっていません。

現時点においては,⁠DirectX12に依存するLinuxアプリケーション」の需要って,ゲーム以外にあるんだっけ,ということは言わないでおくのが良いでしょう。なぜなら,DirectX12はOpenGLやOpenCLのラッパーとして動作し注3⁠,多くの用途に利用できるからです。

注3
それはDirectX7や8の時代に想定されていた⁠Fahrenheit⁠の再来では,と思ったりするかもしれませんが,年がバレるので口に出すのは止めたほうがいいと思います。

もう一つ,Build 2020ではWSL2に関してきわめて大きな発表が行われました。WSL2上での「GUIアプリケーションのサポート」がそれで,デモでは「Outlookの横で,WindowsアプリかのようにGedit, File, Eye of Gnomeが動作する様子が示されました注4⁠。こちらはGPUサポートやDirectX12サポートとは異なり,⁠今後の発表をお待ちください」というステータスではあるものの,⁠WindowsアプリケーションもLinuxアプリケーションも区別なく扱える」未来が見えてくることになりそうです。

注4
Wayland上で動作するウインドウをRDPを使って転送してきている,という原理が示されています。XRDPへのhv_sockカスタムが関連する可能性がありそうですが,詳細については「2020年のホリデーシーズン」ということなので,あと半年ほど待つ必要があります。

その他のニュース

  • bugs.launchpad.netから送られてくるメールのFromが,実ユーザーのメールアドレスではなく「(bugid)@bugs.laucnhpad.net」⁠たとえばLP#1なら1@bugs.launchpad.net)になる,というアナウンス(すでに発動済みです⁠⁠。

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

usn-4354-1:Mailmanのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-May/005424.html
  • Ubuntu 18.04 LTS・16.04 LTS用のアップデータがリリースされています。CVE-2020-12108を修正します。
  • 悪意ある入力を行うことで,ログインページに不当なコンテンツを表示させることが可能でした。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-4355-1:PulseAudioのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-May/005425.html
  • Ubuntu 20.04 LTS・19.10・18.04 LTS・16.04 LTS用のアップデータがリリースされています。CVE-2020-11931LP#1877102を修正します。
  • 本来オーディオ再生のみが可能であるべきsnapパッケージにおいて,録音を可能にする手法がありました。
  • 対処方法:アップデータを適用の上,セッションを再起動(一度ログアウトして再度ログイン)してください。
usn-4353-2:Firefoxの再アップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-May/005426.html
  • Ubuntu 20.04 LTS・19.10・18.04 LTS・16.04 LTS用のアップデータがリリースされています。
  • Firefox 76.0.1のUbuntuパッケージ版です。
  • 対処方法:アップデータを適用の上,Firefoxを再起動してください。
usn-4357-1:IPRouteのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-May/005427.html
  • Ubuntu 18.04 LTS用のアップデータがリリースされています。CVE-2019-20795を修正します。
  • 悪意ある入力を行うことで,任意のコードの実行が可能でした。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-4356-1:Squidのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-May/005428.html
  • Ubuntu 20.04 LTS・19.10・18.04 LTS・16.04 LTS用のアップデータがリリースされています。CVE-2019-12519, CVE-2019-12521, CVE-2019-18860, CVE-2020-11945を修正します。
  • 悪意ある入力を行うことで,任意のコードの実行が可能でした。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-3911-2:fileの再アップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-May/005429.html
  • Ubuntu 18.04 LTS・16.04 LTS用のアップデータがリリースされています。
  • usn-3911-1の修正において,過剰なバッファ制限を行った結果として,得られる情報が意図せず減少していましたLP#1835596⁠。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-4358-1:libexifのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-May/005430.html
  • Ubuntu 20.04 LTS・19.10・18.04 LTS・16.04 LTS・14.04 ESM・12.04 ESM用のアップデータがリリースされています。CVE-2018-20030, CVE-2020-12767を修正します。
  • 悪意あるタグを含む画像を処理させることで,DoSの誘発が可能でした。
  • 対処方法:アップデータを適用の上,セッションを再起動(一度ログアウトして再度ログイン)してください。
usn-4359-1:APTのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-May/005431.html
  • Ubuntu 20.04 LTS・19.10・18.04 LTS・16.04 LTS用のアップデータがリリースされています。CVE-2020-3810を修正します。
  • ローカルの攻撃者がタイミング攻撃を行うことで,DoSが可能でした。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-4360-1, usn-4360-2, usn-4360-3:json-cのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-May/005432.html
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-May/005433.html
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-May/005434.html
  • Ubuntu 20.04 LTS・19.10・18.04 LTS・16.04 LTS・14.04 ESM・12.04 ESM用のアップデータがリリースされています。CVE-2020-12762を修正します。
  • 悪意ある加工を施したファイルを処理させることで,任意のコードの実行が可能でした。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
  • 備考:usn-4360-1で提供されたパッケージにはメモリリークや更新時にシステムをクラッシュさせる問題が存在していたため,一時的に元のバージョンに戻されています。
usn-4361-1:Dovecotのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-May/005435.html
  • Ubuntu 20.04 LTS・19.10用のアップデータがリリースされています。CVE-2020-10957, CVE-2020-10958, CVE-2020-10967を修正します。
  • 悪意ある入力を行うことで,DoSと任意のコードの実行が可能でした。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-4362-1:DPDKのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-May/005436.html
  • Ubuntu 20.04 LTS・19.10・18.04 LTS用のアップデータがリリースされています。CVE-2020-10722, CVE-2020-10723, CVE-2020-10724, CVE-2020-10725, CVE-2020-10726を修正します。
  • 悪意ある入力を行うことで,DoSと任意のコードの実行が可能でした。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-4363-1:Linux kernelのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-May/005437.html
  • Ubuntu 18.04 LTS・16.04 LTS用のアップデータがリリースされています。CVE-2020-11494, CVE-2020-11565, CVE-2020-11669, CVE-2020-12657を修正します。
  • 対処方法:アップデータを適用の上,システムを再起動してください。
  • 備考:ABIの変更を伴いますので,カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるため,通常はそのままアップデートの適用を行えば対応できます。
usn-4364-1:Linux kernelのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-May/005438.html
  • Ubuntu 16.04 LTS・14.04 ESM用のアップデータがリリースされています。CVE-2019-19060, CVE-2020-10942, CVE-2020-11494, CVE-2020-11565, CVE-2020-11608, CVE-2020-11609, CVE-2020-11668を修正します。
  • 対処方法:アップデータを適用の上,システムを再起動してください。
  • 備考:ABIの変更を伴いますので,カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるため,通常はそのままアップデートの適用を行えば対応できます。

著者プロフィール

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

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