検索
連載
山市良のうぃんどうず日記(175:緊急特別編):

緊急、Windowsの未パッチの脆弱性(ADV200006)回避策をバッチ化する

2020年1月にWindows 7の延長サポートが終了してからまだ2カ月半ですが、既に全てのWindowsに影響する深刻度の高い脆弱性が2つ明らかになっています。そのうちの1つはセキュリティ更新プログラムが未提供(4月のセキュリティ更新に含める形で提供予定)です。影響を緩和する回避策はありますが、多数のPCを管理している人にとっては手間のかかる作業です。そこで、その回避策を簡単に実施する方法を考えました。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「山市良のうぃんどうず日記」のインデックス

山市良のうぃんどうず日記

深刻度が高い未パッチの脆弱性、その回避策が結構な手間

 2020年3月23日(米国時間)、Microsoftは以下のセキュリティアドバイザリを公開し、リモートでコードが実行される脆弱(ぜいじゃく)性を公表しました。ほとんど全てのWindowsに影響する脆弱性で、深刻度は「Windows 10」および「Windows Server 2016」以降が「重要(Important)」で、「Windows 8.1」および「Windows Server 2012 R2」以前は「緊急(Critical)」です。

 そして重大なのは、「Windows 7」に対する限定的な標的型攻撃が既に確認されていることです。この脆弱性を解消するセキュリティ更新プログラムは、2020年4月14日(米国時間)のセキュリティ更新に含まれる形で提供される予定です。

 脆弱性の詳細や深刻度、回避策、回避策実施の効果の範囲や副作用については、上記の「セキュリティアドバイザリ」で確認してください。

 なお、セキュリティアドバイザリの情報は日々更新されており、最新情報はオリジナルの英語の情報で確認することをお勧めします。これまでの他の日本語版セキュリティアドバイザリと同様、日本語のセキュリティアドバイザリでは「セキュリティ更新(Security Updates)」一覧の「影響度(Impact)」列と「深刻度(Severity)」列の情報が抜けているという問題もあります。

 これまでは、延長サポートが終了しライフサイクルが終了した製品については、原則として脆弱性の影響が公表されることはありませんでした。Windows 7、「Windows Server 2008」「Windows Server 2008 R2」については最大3年間(2023年1月まで)、セキュリティ更新プログラムを受け取ることができる「拡張セキュリティ更新プログラム(Extended Security Updates、ESU)」が提供されている関係で、これらのサポート終了OSについても脆弱性が公表され、ESUを通じてセキュリティ更新プログラムが提供されます。影響する製品一覧にはありませんが、Windows Server 2008にも影響するということは、同じバージョンである「Windows Vista」にも恐らく影響するはずです。

 この脆弱性についても、ESUの購入者およびESUの対象となるMicrosoft Azure上の仮想マシンには、4月にセキュリティ更新プログラムが提供される予定です。ESUを購入していない場合は、セキュリティ更新プログラムを受け取ることができません。もし、ESUなしで利用を継続しているのならセキュリティアドバイザリが示す脆弱性を緩和する回避策を実施すべきでしょう(注:サポートが終了した製品の利用を継続することは、決してお勧めしません)。

 「緊急(Critical)」レベルのWindowsを日常的に利用しているわけではないですし、外部から取得したファイルは常に慎重に扱うように心掛けているので、回避策は実施せず、4月のセキュリティ更新を待つつもりですが、回避策の手順を一通り確認してみたところ、結構な手間がかかることに気付きました。必要な回避策は次の通りです。

[1]Windowsエクスプローラーのプレビューウィンドウと詳細ウィンドウを無効にする(全てのバージョン)

[2]WebClientサービスを無効にする(全てのバージョン)

[3]ATMFD.DLLの名前を変更する(Windows 10 バージョン1703以前)

[3に追加で]ATMFDを無効にする(Windows 8.1およびWindows Server 2008 R2以前のオプションの構成)


 [1]は「エクスプローラー(Explorer.exe)」での表示オプションのマウス操作による設定(画面1)、[2]は「サービス(Services.msc)」管理ツールによるサービスのスタートアップの無効化、[3]は管理者権限でのコマンドライン操作、および「レジストリエディター(Regedit.exe)」での操作になります。

[注意]

レジストリに不正な値を書き込んでしまうと、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリエディターの操作は慎重に行うとともに、あくまでご自分のリスクで設定を行ってください。何らかの障害が発生した場合でも、本編集部では責任を負いかねます。ご了承ください。


画面1
画面1 セキュリティアドバイザリで示されている回避策[1]のための操作。多数のPCに回避策を実施するにはこれだけでもかなりの手間

回避策の全てを1つのバッチファイルで実施する

 GUI(グラフィカルユーザーインタフェース)操作、慣れていない人にとっては複雑なコマンドライン、慎重に行わなければならないレジストリ操作、これらの回避策をIT部門の担当者が複数台のPCに実施するのは大変な作業になります。ユーザーに実施してもらうのも難しいでしょう。そこで、回避策の実施と解除をバッチ化してみました。

 回避策[1]は、ユーザーのレジストリ(HKEY_CURRENT_USER)のどこかに保存されるのではと考え探しましたがそれらしいものは見つかりませんでした。しかし、「ローカルグループポリシーエディター(Gpedit.msc)」を探してみると、以下の3つのポリシー設定で制御できることが分かりました(画面2)。

  • ユーザーの構成\管理用テンプレート\Windows コンポーネント\エクスプローラー\エクスプローラー フレーム ウィンドウ\プレビュー ペインを無効にする
  • ユーザーの構成\管理用テンプレート\Windows コンポーネント\エクスプローラー\エクスプローラー フレーム ウィンドウ\詳細ペインを無効にする
  • ユーザーの構成\管理用テンプレート\Windows コンポーネント\エクスプローラー\縮小表示を無効にしてアイコンのみを表示する

画面2
画面2 回避策[1]の「常にアイコンを表示し、縮小版は表示しない」に対応するポリシー設定

 対応するレジストリの場所と値、データは、「%Windir%\PolicyDefinitions\FramePanes.admxおよびThumbnails.admx」で見つけることができました。これで、ポリシーを構成しなくても、ポリシーに対応したレジストリを直接作成することで対策を実施できます。また、ポリシーに対応していないHomeエディションにもレジストリの効果があることを、Windows 10 Homeで確認しました。

 回避策[2]は、Windows標準の「SC」コマンドで実施できます。回避策[3]のファイル名の変更は、セキュリティアドバイザリにコマンドラインが示されていますし、回避策[3]の追加の構成であるレジストリの編集も「REG」コマンドで実施できます。

 後は、回避策[3]の32bit版と64bit版の区別(32bit OSか64bit OSかを識別しなくても、単にファイルの存在を確認すればよい)、および追加のオプション構成を必要とするかどうかのWindowsのバージョン識別を実装すれば、全てのWindowsに1つのバッチファイルで対応できるはずです。

 セキュリティアドバイザリでは、追加のオプション構成はWindows 8.1およびWindows Server 2012 R2以前に有効な構成のように記述されていますが、「atmfd.dll」のコンポーネントはこれまでも何度か脆弱性問題が報告され、Windows 8およびWindows Server 2012以降向けの回避策として追加のオプション構成が説明されてきたことがあります(マイクロソフトセキュリティ情報MS16-132、MS16-026、MS15-080、MS15-078、MS15-077など)。そのため、Windows 7やWindows Server 2008 R2以前に効果があるかどうかは定かではありません(*1)。

(*1) 本稿はセキュリティアドバイザリのバージョン1.3に基づいています。バージョン1.5までに、レジストリ値「disableATMFD」の回避策は、Windows 7〜Windows 8.1、Windows Server 2008〜Windows Server 2012 R2で有効だと情報が更新されました。今後のセキュリティアドバイザリの更新にもご注意ください。


 完成した回避策実施バッチは以下の「fixit_adv200006.cmd」、回避策解除バッチは「undofixit_adv200006.cmd」になります。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る