Windows のサービスからキーロガーを完全に削除する方法
Microsoftは、ユーザーとの情報交換の中で、またはMicrosoftの製品を経由して、ユーザーから個人情報を収集している。 この情報には、ユーザーから直接提供されるものと、ユーザーによるMicrosoft製品の操作、使用、エクスペリエンスに関して収集するものがある。 収集される情報は、ユーザーがMicrosoftとやり取りする際の状況、プライバシー設定などの選択内容、使用する製品や機能によって異なる。
簡略化すると、Microsoftはキーボードから入力したすべてのデータや音声入出力の会話を、監視記録するためのキーロガーソフトをWindows内に内蔵し、Microsoftが必要とする情報を収集している。
Microsoftはこの機能を「パフォーマンスに関するトラブルシューティングを改善し、サービスを向上するためにMicrosoftに診断データを送る機能である。」と表記している。ユーザーのために役立つことを目的としていることは否定できない事実だが、多くの人にとってはプライバシーの侵害であることには間違いないことである。しかし、これらの情報は勝手に収集しているわけではなく、使用許諾書のプライバシーに関する声明の内容に明記されている。
※ 詳細については ➡ [Microsoft のプライバシーに関する声明]を参照。
キーロガーは本来バックアップとして残しておくことや、端末を不正に使用していないか監視をする目的で、ソフトウエア開発作業に利用するものであった。しかし、最近ではキーロガーに記録した情報から個人情報を盗み出すことに悪用され、犯罪を起こすケースが増えていることが問題となっている。つまり本来の目的で使用するキーロガーは悪ではないが、これらのキーロガーを利用した犯罪、またキーロガーを仕掛ける犯罪が多発しているため、「キーロガーは悪」のイメージが付いてしまっている。
また、GUI画面ではプライバシーやCortanaの設定、またはタスク管理などからキーロガーを停止できるが、これらは簡単に元に戻されてしまう。
このページでは、Windowsのサービスからキーロガーを削除する方法をCUI(コマンドプロンプト)で、初心者でも理解できるように説明していくことにする。なお、Windowsのバージョンが違う場合は、画像等が若干異なる場合がある。
コマンドプロンプトを管理者権限で実行して、コマンドウィンドウを起動する。Windowsでは、コマンドプロンプトの起動方法は多く用意されているが、このページではスタンダードな以下の方法で起動する。
⑴ windows 11の場合は[スタートボタン]➡[すべてのアプリ]➡[Windows ツール]とクリックして以下の手順で起動する。
❶ [コマンドプロンプト]を右クリックする。
❷ 表示されたコンテキストメニューから[管理者として実行]をクリックする。
⑵ Windows 10の場合は[スタートボタン]をクリックして以下の手順で起動する。
❶ プログラム内から[Windows システムツール]をクリックする。
❷ [コマンドプロンプト]を右クリックする。
❸ [その他]にカーソルを合わせる。
❹ [管理者として実行]をクリックする。
⑶ ユーザーアカウント制御のダイアログボックスが現れたら[はい]をクリックする。
⑷ コマンドプロンプトが管理者権限で実行され、コマンドウィンドウが表示される。
Windowsのサービス内で起動中のDiagTrackおよびdmwappushserviceの2つのサービスを[ sc ]コマンドを使用して停止する。
※参考
・ SCコマンドは、サービス(常駐プログラム)の管理コマンドで、サービスの各種情報の表示やサービスの登録、修正、削除などができ、サブコマンドにより各機能が決まる。
・ DiagTrack(Diagnostics Tracking Service)は診断追跡サービス で、Microsoftがエラー時の診断用にユーザーの行動をトラッキングしているサービスである。
・ dmwappushserviceは、Windowsシステムの診断情報の収集とMicrosoftへ送信するためのサービスである。
⑴ カーソルの位置に[ sc stop DiagTrack ]と入力して[Enter]キーを押す。
⑵ STATEに、3 STOP_PENDINGと表示されれば停止状態である。
⑶ カーソルの位置に[ sc stop dmwappushservice ]と入力して[Enter]キーを押す。
⑷ STATEに、3 STOP_PENDINGと表示されれば停止状態である。
※参考
前記でそれぞれのサービス停止コマンドを入力した際に[ そのサービスを開始できませんでした ]と表示された場合、入力に間違いがなければGUIなどにより、事前に停止状態になっているため次へ進む。
前記で停止したDiagTrackおよびdmwappushserviceの2つのサービスを[ sc ]コマンドで削除する。
⑴ カーソルの位置に[sc delete DiagTrack]と入力して[Enter]キーを押す。
⑵ 入力した次の行に[sc] DeleteService SUCCESS と表示されれば削除成功である。
⑶ カーソルの位置に[ sc delete dmwappushservice ]と入力して[Enter]キーを押す。
⑷ 入力した次の行に[sc] DeleteService SUCCESS と表示されれば削除成功である。
Windowsシステムのアクセス権を、ACL(Access Control List) のAutoLoggerから外す作業を行う。コマンドは cacls.exe を使用し、オプション /Dを付加してWindows システムからのアクセスを拒否する。
※参考
・ AutoLoggerを簡略説明するのは難しいが、ブートプロセス中にユーザーモードおよびカーネルモードのトレースプロバイダーからのイベントを記録するトレースセッションである。この機能を使用すると、Windowsの起動中にトレースプロバイダーアクションのトレースができる。なお、ここでいうトレースは、追跡を記録することである。
・ cacls.exeコマンドは、ファイルやフォルダーに対して設定されているACLの内容を確認したり、変更したりするために利用するコマンドラインのツールである。このcaclsコマンドの後継として、icacls.exeというコマンドが提供されているが、このページでは使い慣れているcacls.exeを使用することにする
⑴ カーソルの位置に[ cacls.exe c:\ProgramData\Microsoft\Diagnosis\ETLLogs\AutoLogger\AutoLogger-Diagtrack-Listener.etl /D SYSTEM ]と入力する。または、以下をコピペして[Enter]キーを押す。
⑵ よろしいですか (Y/N)? と聞いてくるため[ y ]を入力して[Enter]キーを押す。
⑶ 次行に処理ファイルが表示されるため確認をする。
⑷ 確認できたらカーソルの位置に[ exit ]コマンドを入力して、コマンドプロンプトウィンドウを閉じる。
PCを再起動して、前記で削除したDiagTrackおよびdmwappushserviceが、サービスに存在しないか確認するため、最初と同じようにコマンドプロンプトウィンドウを管理者権限で立ち上げる。
⑴ カーソルの位置に[ sc stop DiagTrack ]と入力して[Enter]キーを押す。
・ [指定されたサービスはインストールされたサービスとして存在しません。]と表示されれば削除は成功している。
⑵ 連続して[ sc stop dmwappushservice ]と入力して[Enter]キーを押す。
・ [指定されたサービスはインストールされたサービスとして存在しません。]と表示されれば削除は成功している。
Windowsのサービスからキーロガーを削除すると、簡単には元に戻せなくなってしまうため、実施する場合は自己責任において行うこと。自信のない場合は、サービスの停止で止めておくことをお勧めしたい。
また、キーロガーを削除した場合、「Windowsの大型アップデート実行後にインストールされた。」との報告もあるため、アップデート後は前記項目5番同様の確認が必要だろう。
当ウェブサイトは、ここに記した内容に伴い発生したいかなるトラブル、損失、損害などの諸問題について一切責任は負えないため、あくまでも自己責任で行っていただくことをご承知おきいただくとともに、充実した快適なパソコンライフをお過ごしください。