ニュース
OSを脆弱性のある古い状態へ巻き戻す「Windows Downdate」攻撃、Kasperskyなどが注意喚起
リスクを慎重に検討し、手順と潜在的な副作用を把握したうえで対策を
2024年8月21日 17:14
Windowsの更新プログラムをロールバックしてシステムを脆弱な状態に戻し、乗っ取りを図るセキュリティ攻撃「Windows Downdate」が話題だ。セキュリティベンダーKasperskyが8月20日に公式ブログで公開した記事でその詳細と対策を紹介している。
「Windows Downdate」攻撃は、以下の2つの脆弱性を組み合わせたものだ。
- CVE-2024-21302:Windows 保護カーネル モードの特権の昇格の脆弱性
- CVE-2024-38202:Windows Update スタックの特権の昇格の脆弱性
「Windows Update」のアーキテクチャーはサーバーとクライアントに分かれており、更新プログラム(パッチ)の管理や検証(改竄チェック)を行うのはサーバーの役割だ。サーバーは特殊なTrustedInstaller権限を持つ「Windows Modules Installer」プロセスのみがアクセスできるようになっているため、もし管理者権限(Administrator)やシステム権限(NT SYSTEM)をもっていても内容を変更できない。
しかし、「Windows Update」でOSを再起動した後に実行する処理を記述したXML形式のアクションリストファイル(Pending.xml)を保存したレジストリキーは、TrustedInstaller権限がなくても変更できてしまうことをSafeBreachの研究者が発見した。アクションリストは「TrustedInstaller」の検証後に作成されるが、改めてチェックされることはないので、アクションを改竄してしまえば「Windows Modules Installer」を騙せてしまう。これが「CVE-2024-21302」の大まかな流れだ。
ただし、「Windows Modules Installer」を騙せてもシステムでやりたい放題になるわけではない。このプロセスはMicrosoftによってデジタル署名されたファイルしか実行できないためだ。
そこで2つ目の脆弱性である「CVE-2024-38202」の出番となる。「Windows Update」は更新する前のWindowsインストールを「Windows.old」フォルダーに保存するが、このフォルダーの内容を変更するには本来特別な権限を必要とする。しかし、通常のユーザー権限でも同じ名前のフォルダーを作成し、古いWindowsシステムファイルを配置しておくことは可能。この状態でシステムの復元をかけてやれば、脆弱性のある状態へシステムをロールバックできる。
2015年以降、Microsoftは「仮想化ベースのセキュリティ」(VBS)と呼ばれる仕組みを導入してシステムの分離を図り、一部が乗っ取られてもその影響が他へ及ばないようにOSを再設計している。しかし、「Windows Downdate」攻撃を用いればこれをバイパスすることも可能。VBSは技術的に無効となっていないが、実際には役に立たない状態へ陥れることができる。この影響は大きい。
Microsoftは2024年2月にこの脆弱性の報告を受けたが、2024年8月の「Windows Update」までは詳細が明かされなかった。これは不具合の修正にシステムのクラッシュを伴う副作用があったためだという。そのため、Microsoftは急いで新たなパッチを公開するのではなく、リスクを軽減するための緩和策をいくつか提示している。
- システム復元や更新操作を許可されたユーザーを監査し、必要最小限に抑える。可能であれば許可を取り消す
- アクセス制御リスト(ACL/DACL)を追加し、更新ファイルへのアクセスおよび変更を制限する
- 特権昇格で更新ファイルを変更または置き換える場合のイベントを監視する。これは脆弱性悪用の兆候かもしれない
- VBSサブシステムに関連するファイルやシステムファイルのバックアップの変更や置換も監視する
SIEMやEDRを使用してこれらのイベントを監視することもできるが、誤検知が発生する可能性があるため、最終的にはセキュリティチームが正常な活動と攻撃を見分ける必要がある。
また、Microsoftが提供する更新プログラム「KB5042562」も有効。ポリシーを適用すると旧バージョンのVBSシステムファイルが無効化リストに追加され、「Windows Modules Installer」を騙してもそれらを実行できなくなる。つまり、「CVE-2024-21302」の影響が大幅に緩和される。
ただし、このポリシー(SkuSiPolicy.p7b)はUEFIレベルで適用されるため、OSだけでなく、バックアップのリムーバブルブートメディアも更新する必要がある。また、Windowsの古いインストールへロールバックすることもできなくなるほか、互換性やパフォーマンスの問題を引き起こすことも考えられる。適用の際はIT管理者がリスクを慎重に検討し、その手順と潜在的な副作用を事前に十分調査することが推奨されている。