連載
» 2018年03月06日 05時00分 公開

山市良のうぃんどうず日記(121):削除してもゾンビのようによみがえる、手ごわいWindows 10更新アシスタント(Update Assistant) (2/2)

[山市良,テクニカルライター]
前のページへ 1|2       

おそらく犯人は「KB4023057」、しかし削除してもUpdate Assistantがゾンビのように復活

 画面を占有するWindows 10 Upgrade Assistantを「Hide」ボタンで非表示にして、バックグラウンドでダウンロードが進む中、なぜ突然これが始まったのか、どこにいたのか、調べることにしました。

 始まった日時をヒントにインストールされた更新プログラムをチェックしていくと、以下の更新プログラム「KB4023057」が怪しいことに気が付きました。この更新プログラムは、以前にもWindows 10 バージョン1607以前向けにリリースされたことがありますが(前回はおそらく2017年12月)、最近情報が更新されています。

 このサポート情報には、Windows 10 バージョン1703以前に対する「更新コンポーネントに影響する安定性の改善(reliability improvements that affect the update components)」であり、Windows Updateクライアントに対して直接配布され(つまり、Microsoft Updateから)、Microsoft Update Catalogでは提供されない(つまりWSUSにも配信されない)と説明があります。

 しかし、Windows 10 バージョン1709へのアップグレードに関係することなど、サポート情報(最終更新日2018年2月22日)の内容からは想像もできません。

 また、この更新プログラムのインストールは、コントロールパネルの「プログラムと機能」にある「インストールされた更新プログラム」の一覧では確認できず、Windows 10 Update Assistantとともに「プログラムと機能」のインストール済みアプリケーションの一覧にあります(画面3)。

  • Update for Windows 10(KB4023057)
  • Windows Setup Remediation(KB4023057)
  • Windows 10 Update Assistant

画面3 画面3 インストールされた更新プログラムの一覧ではなく、プログラムの一覧に更新プログラム「KB4023057」(2つ)と「Windows 10 Update Assistant」を確認。これらを全てアンインストールした

 アプリケーション一覧から「Windows 10 Update Assistant」を選択してアンインストールしてみると、デスクトップに作成された「Windows 10 Update Assistant」ショートカットとそのリンク先である「C:\Windows10Upgrade\Windows10Upgrade.exe」を含む「C:\Windows10Upgrade」が削除され、バックグラウンドで進行していたダウンロードも終了したようです。

 また、更新プログラム「KB4023057」関連の残り2つの項目をアンインストールし、今後、繰り返しインストールされないように前出のShow or hide updatesツールを使用して更新プログラム「KB4023057」を非表示にしました(画面4)。

画面4 画面4 繰り返しインストールされないように、Show or hide updatesツールを使用して更新プログラム「KB4023057」を非表示にした

Microsoft Update未接続でもよみがえるWindows 10 Update Assistant

 Windows 10 Update Assistantと更新プログラム「KB4023057」をアンインストールしてしばらく様子を見ていたところ、WSUSからのみ更新プログラムを取得するようにしたWSUSクライアントにWindows 10 Update Assistantの大きな画面が再び表示されました。更新プログラム「KB4023057」はShow or hide updatesツールでブロックしてありますが、このWSUSクライアントはその後、そもそもMicrosoft Updateに接続していません。「プログラムと機能」を確認すると、更新プログラム「KB4023057」はもちろんインストールされていませんが、「Windows 10 Update Assistant」が再びインストール済みになっていました(画面5)。

画面5 画面5 Microsoft Updateに接続していないはずが、「Windows 10 Update Assistant」だけが再び出現

「C:\Windows\UpdateAssistant」とそれを自動実行するタスクが残っていた

 Microsoft Updateに接続していないのに、Windows 10 Update Assistantがゾンビのように復活するのはなぜか、腰を据えて調べていくと、おそらくですが次のような仕組みで動作することが分かりました。

  • 更新プログラム「KB4023057」は、「C:\Program Files\rempl」ディレクトリに「remsh.exe」などのプログラムバイナリをインストールし、タスクスケジューラーの「\Microsoft\Windows\rempl」に「remsh.exe」を実行するタスク(shell〜shell-usoscan)を登録します。更新プログラム「KB4023057」をアンインストールすると、ログファイル(C:\Program Files\rempl\Logs)を残してバイナリ(remsh.exeなど)は削除されます。「\Microsoft\Windows\rempl」内のタスクは残りますが、タスクに関連付けられたバイナリが存在しないため、再び活動することはありません。

  • 更新プログラム「KB4023057」が登録した「shell」タスクが実行されると、「C:\Windows\UpdateAssistant」に「UpdateAssistant.exe」などが展開され、タスクスケジューラーの「\Microsoft\Windows\UpdateOrchestrator」に「UpdateAssistant」「UpdateAssistantCalendarRun」「UpdateAssistantWakeupRun」の3つのタスクが登録されます。

  • 「\Microsoft\Windows\UpdateOrchestrator」に登録されたタスクに関連付けられた「C:\Windows\UpdateAssistant\UpdateAssistant.exe」が実行されると、「C:\Windows10Upgrade\Windows10Upgrade.exe」やデスクトップ上の「Windows 10 Update Assistant」ショートカットが作成され、「C:\Windows10Upgrade\Windows10Upgrade.exe」を開始します。

 「Windows 10 Update Assistant」のアンインストールに加えて、「\Microsoft\Windows\UpdateOrchestrator」にある3つのタスクを無効化することで、今後、復活するのを回避することができます。「C:\Windows\UpdateAssistant」を削除しておけば、さらに安心かもしれません(画面6)。

画面6 画面6 「\Microsoft\Windows\UpdateOrchestrator」に登録されたWindows 10 Update Assistant関連のタスクを無効にして、「C:\Windows\UpdateAssistant」をディレクトリごと丸ごと削除。更新プログラム「KB4023057」対策とあわせて、これで当面できる処置は完了

 更新プログラム「KB4023057」はアンインストール後、Show or hide updatesツールで非表示にしましたが、別の方法として、意図的に残したまま、タスクスケジューラーの「\Microsoft\Windows\rempl」内の全てのタスクを無効化するという方法もあります。更新プログラム「KB4023057」はインストール済みなので、Show or hide updatesツールで非表示にしなくても当面はインストールされないでしょう。

 当面と断ったのは、同じKB番号の更新バージョンがリリースされると、過去にインストール済みであったとしても、あるいはShow or hide updatesツールで非表示したとしても、インストールされてしまうことがあるからです。つまり、今回紹介した方法は、当面の回避策です(注:実際に2018年3月8日付けで日本語化された新バージョンが同じKB番号で配布されました)。

 今後、更新プログラム「KB4023057」が更新されるかもしれませんし、別の名前の更新プログラムで配布されるかもしれません。そのときは、何を使ってどこを調査すべきか、どう対処すると回避できるかという参考にはなるでしょう。

今回の調査にはSysinternalsのAutoruns、Process Monitor、Stringsを使用

 Windows 10 Update Assistantがどのように取り込まれたのか、削除したのに復活した理由、これらの調査には、筆者がひいきにしているWindows Sysinternalsの「Autoruns」「Process Monitor(Procmon)」「Strings」を使用しました(画面7)。AutorunsとProcmonはつい先日、新しいバージョン(Autoruns v13.82およびProcmon v3.50)が出たばかりです。

画面7 画面7 更新プログラム「KB4023057」とその仲間たちの挙動の調査に協力してくれたWindows Sysinternalsのツールの皆さん

 これらのツールは、システムの構成や挙動、目的を調査するのに便利なツールですが、どれもマルウェアの感染や挙動の調査にも使われることがあります。Autorunsでは、クリーンな状態の自動起動エントリと疑わしい状態の自動起動エントリを比較して、マルウェアによって変更された部分を識別することができます。Procmonでは、レジストリやファイルシステムに対してプロセスが行った変更を詳細なレベルでトレースすることができます。Stringsでは、バイナリから文字列を抽出することで、関係するレジストリやファイルシステムのパス、使用しているAPIなどを確認することができます。今回の調査では、そのような調査テクニックが大いに役立ちました。

 いや、決して更新プログラム「KB4023057」がマルウェアみたいだ、なんて言っているのではないですよ。

 既に削除してしまったため詳しいところまでは見ていませんが、更新プログラム「KB4023057」が「\Microsoft\Windows\rempl」に登録するタスクには、Windows 10 Update Assistantの投下以外にも、Windowsコンポーネントストアの正常性回復を試みるオプションの自動実行など、更新プログラムの説明にある「更新コンポーネントに影響する安定性の改善」のための機能が含まれているようです。

 例えば、Windows Updateが失敗し続けているのにユーザーは気が付いていない、あるいは対処していないことが原因で、新しいバージョンにアップグレードできていないPCにとっては、新バージョンへのアップグレードを阻んでいる問題を解消するのに効果があるのかもしれません。更新プログラム「KB4023057」はWindows 10 バージョン1703にも配布されていますが、筆者の環境ではWindows 10 Update Assistantの活動は行われていません。今のところ、文字通り「更新コンポーネントに影響する安定性の改善」だけが行われているようですが、ある日を境に豹変するかもしれません。

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows Server 2016テクノロジ入門−完全版』(日経BP社)。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

「Windows 7」サポート終了 対策ナビ

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。