Windows 10になって、Windows 8.1以前には存在しなかった「CDPUsersvc_XXXXX」のように「_XXXXX(XXXXXはランダム)」で終わるサービス名のサービスが追加されたことに気が付いた人はいるでしょうか。“マルウェアやスパイウェアが入り込んだのでは”と不安に思った人も少なくないかもしれません。でも安心してください。謎は多いものの、Windows 10の正規のコンポーネントであることは確かです。
Windows 10には「_XXXXX」(XXXXXはランダムな字数の英数字)で終わるサービス名/表示名のサービスが幾つか追加され、ログオンユーザーの権限で必要時に実行されるようになりました。
Windows 10初期リリース(便宜上のバージョン1507、以下同)では、「_Session#」(#は番号)というサービス名/表示名でした。この謎のサービス群は、Windows 10初期リリース(バージョン1507)では4つ、Windows 10 November Update(バージョン1511)では5つ、Windows 10 Anniversary Update(バージョン1607)では7つと、その数は機能更新(旧称、機能アップグレード)とともに増えてきました(画面1、表1)。
サービス名 | 表示名 | 説明 | 実行ファイルのパス | 1507 | 1511 | 1607 |
---|---|---|---|---|---|---|
CDPUserSvc _XXXXX |
CDPUserSvc _XXXXX |
<説明を読み取れませんでした。エラー コード: 15100 > | C:\WINDOWS\system32\svchost.exe -k UnistackSvcGroup | - | - | ○ |
MessagingService _XXXXX |
MessagingService _XXXXX |
テキスト メッセージと関連する機能をサポートしているサービスです。 | C:\WINDOWS\system32\svchost.exe -k UnistackSvcGroup | - | ○ | ○ |
OneSyncSvc _XXXXX |
ホストの同期 _XXXXX |
このサービスはメール、連絡先、カレンダー、および他のさまざまなユーザー データを同期します。このサービスが実行中でないときは、メールと、この機能に依存する他のアプリケーションは正しく機能しません。 | C:\WINDOWS\system32\svchost.exe -k UnistackSvcGroup | ○ | ○ | ○ |
PimIndexMaintenanceSvc _XXXXX |
Contact Data _XXXXX |
連絡先のインデックスを作成して、連絡先の検索を高速化します。このサービスを停止または無効にすると、連絡先が検索結果に含まれなくなる可能性があります。 | C:\WINDOWS\system32\svchost.exe -k UnistackSvcGroup | ○ | ○ | ○ |
UnistoreSvc _XXXXX |
User Data Storage _XXXXX |
構造化されたユーザー データのストレージを処理します。ユーザー データには、連絡先情報、予定表、メッセージなどのコンテンツが含まれます。このサービスを停止または無効にすると、このデータを使用するアプリが正しく動作しなくなる可能性があります。 | C:\WINDOWS\system32\svchost.exe -k UnistackSvcGroup | ○ | ○ | ○ |
UserDataSvc _XXXXX |
User Data Access _XXXXX |
構造化されたユーザー データへのアクセスをアプリに提供します。ユーザー データには、連絡先情報、予定表、メッセージなどのコンテンツが含まれます。このサービスを停止または無効にすると、このデータを使用するアプリが正しく動作しなくなる可能性があります。 | C:\WINDOWS\system32\svchost.exe -k UnistackSvcGroup | ○ | ○ | ○ |
WpnUserService _XXXXX |
Windows プッシュ通知ユーザー サービス_XXXXX |
このサービスは、ローカル通知とプッシュ通知をサポートする Windows 通知プラットフォームをホストします。タイル通知、トースト通知、直接通知がサポートされています。 | C:\WINDOWS\system32\svchost.exe -k UnistackSvcGroup | - | - | ○ |
表1 Windows 10に追加された謎のサービス。機能更新のたびに増えている |
「タスクマネージャー」(Taskmgr.exe)の「プロセス」タブでは、「サービス ホスト:Unistack サービス グループ」として表示されます。これらのサービスは「svchost.exe」(Windowsサービスのホストプロセス)によって、「UnistackSvcGroup」というサービスグループ名でホストされます。
サービスグループの登録は、「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost」キーに「REG_MULTI_SZ」(複数行文字列)値として定義されています(画面2)。先日リリースされたWindows 10 Creators Update(バージョン1703)については、UnistackSvcGroupサービスグループに含まれる項目は変わっていませんでした。2017年初めの時点のInsider Previewビルドでは、UnistackSvcGroupのメンバーに増減はありませんでしたが、新たに「DevicesFlowUserSvc_XXXXX」という名前のサービスを含む「DevicesFlow」グループが追加されていました。
この謎のサービス群は、従来のWindowsサービスとは異なる幾つかの特徴を備えています。その特徴には、マルウェアやスパイウェアを想像させるものもあります。例えば、サービス名/表示名に付加されたランダムな文字列は、マルウェアが正規のWindowsサービスを装っているように見えるかもしれません。
サービス名をインターネットで検索すると、怪しげなツールやコンポーネントのダウンロードサイトへのリンクが表示されたり、マイクロソフト自身がデータ収集のために組み込んだスパイウェア的なものであると主張する投稿が出てきたりします。
さらに不審さを増すものとして、マイクロソフトの公式情報が1つも検索結果に引っ掛からないことがあります。このサービス群がマルウェアの類いではなく、Windowsの正規コンポーネントであることは先に指摘しておきます。
また、マイクロソフトがデータ収集の目的で使用しているものであるという“うわさ”については、その真偽について筆者は興味ありません。Windows 10を使用しているということは、プライバシーデータを含む情報がマイクロソフトに送信されることに同意しているということです。データ収集に同意できないなら、Windows 10を使用しなければいいのです。
この謎のサービス群の目的や用途について、マイクロソフトから公開されている情報はないため(少なくとも筆者は見つけられませんでした)、前出の表1のサービスの説明以上のことは分かりません。「ユニバーサルWindowsプラットフォーム(Universal Windows Platform:UWP)アプリ」(ストアアプリ、モダンアプリとも呼ばれます)に対して、ユーザーデータの同期、メッセージング、検索、保存、通知に関係する機能を提供しているようです。任意のUWPアプリを開始すると、必要に応じて謎のサービス群が開始状態になることを確認できます。
謎のサービスが追加されたことに、Windows 10 Anniversary Update(バージョン1607)で初めて気が付いたという人も多いのではないでしょうか。「CDPUserSvc_XXXXX」は、Windows 10 Anniversary Updateで追加されたサービスで、説明には「<説明を読み取れませんでした。エラー コード: 15100 >」と表示されます。このことから、マルウェア作成者が説明を作成するのが面倒だったのではと勘繰る人もいそうです。
しかし、説明が表示されない理由は、恐らくWindows 10のバグでしょう。サービスを登録しているレジストリのDescription値「@%SystemRoot%\system32\cdpusersvc.dll,-101」に対応する、多言語リソースのMUI(Multilingual User Interface)ファイルが「%SystemRoot%\system32\言語名(ja-jpなど)\cdpusersvc.dll.mui」に本来あるべきなのですが、日本語版にも英語版にもこのファイルが存在しないのです。なお、先日、リリースされたWindows 10 Creators Updateでは、サービスの表示名が「Connected Devices Platform ユーザー サービス_XXXXX」、説明が「このユーザー サービスは、Connected Devices Platform のシナリオに使用されます」となっていました。
Windows 10 Anniversary Update(バージョン1607)で初めて気が付いた人が多いという理由は、もう1つあります。Windows 10 November Update(バージョン1511)までは、これらのサービスは「タスクマネージャー」(「プロセス」タブおよび「サービス」タブ)には表示されるものの、管理ツールの「サービス」スナップイン(Services.msc)には表示されませんでした(画面3)。
謎のサービスは、サービスの構成設定についても、従来のサービスとは異なる特徴があります。「サービス」スナップインや「SC.EXE」コマンドを使用して、サービスのスタートアップを変更(例えば、「自動」から「無効」に変更)しようとすると、あるサービスは「パラメーターが間違っています」と表示されます。また、別のサービスは「スタートアップの種類」ドロップダウンリストがグレーアウト表示となり、変更できません(画面4)。
レジストリの「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<サービス名>」キーの「Start」値を直接編集することで、サービスを無効化することは可能です。Windows Sysinternalsの「Autoruns(Autoruns for Windows)」ユーティリティーを使用すれば、チェックボックスをオフにするだけで、簡単かつ安全にサービスを無効化できます。
しかし、謎のサービスを無効化することはお勧めしません。前出の表1のサービスの説明にあるように、アプリの正常な実行に影響するかもしれませんし、そもそもサービスの無効化が無意味である可能性があるからです。
筆者は、全てのUWPアプリを終了して、現在実行中の謎のサービスを全て停止し、Autorunsを使用して謎のサービスを無効化してみました。その状態でUWPアプリを開始すると、スタートアップを無効にしたサービスが再度開始され、実行中の状態になったのです。Autorunsでは、「サービス」スナップインには表示されない、「_XXXXX」の付かない同名のサービスも含めて無効化しましたが、アプリを起動すると実行中になりました(画面5)。Windows 10では、Windowsサービスに関して、公開されていない新しい仕様が追加されているようなのです。
レジストリに登録されているサービスグループ「UnistackSvcGroup」には、「_XXXXX」の付かないサービスが定義されていました(前出の画面2)。しかし、実際に「svchost.exe」でホストされるサービスは「_XXXXX」が付きます。Windows 10 Anniversary Update(バージョン1607)では、「サービス」スナップインに表示されるのは「_XXXXX」が付くサービスで、「_XXXXX」が付かないサービスは非表示になっています。そして、「_XXXXX」が付かないサービスは、「タスクマネージャー」の「サービス」タブやSCコマンド、「NET START」コマンドを使用しても、開始することができません(前出の画面2)。
「SC QC」コマンドを使用して「_XXXXX」の付くサービスと「_XXXXX」の付かない同名のサービスの構成設定を確認すると、「_XXXXX」の付くサービスの種類(TYPE)は「0xE0(224)」で識別される「USER_SHARE_PROCESS INSTANCE」、「_XXXXX」の付かない同名のサービスの種類は「0x60(96)」で識別される「USER_SHARE_PROCESS TEMPLATE」となっていました(画面6)。従来のサービスの種類は、0x10(16)の「WIN32_OWN_PROCESS」や0x20(32)の「WIN32_SHARE_PROCESS」などです。0xE0(224)の「USER_SHARE_PROCESS INSTANCE」と0x60(96)の「USER_SHARE_PROCESS TEMPLATE」は、どちらもWindows 8.1以前は存在しなかった種類です。
サービスを無効にする意味がない理由は、スタートアップの無効化で制御できないだけではありません。謎のサービス群の「_XXXXX」部分は、PCを起動するごとに変化するからです。実行中のWindowsで謎のサービス群のスタートアップやその他の設定を変更したとしても、次のPC起動時には新しいサービス名を持つ、既定の設定で復活してしまうからです。
AutorunsにはオフラインのWindowsインストールを調査する機能(「File」メニューの「Analyze Offline System」)があります。この機能を使って、Windowsインストールを含むオフラインのディスクをマウントし、サービス登録状況を見てみると、「_XXXXX」が付くサービスが存在しないことが分かります(画面7)。
これは筆者の想像ですが、Windowsが起動する際に、「0x60(96)」の「USER_SHARE_PROCESS TEMPLATE」のサービスをテンプレートとして、「_XXXXX」が付く、「0xE0(224)」の「USER_SHARE_PROCESS INSTANCE」のサービスが作成されるのでしょう。
結局、謎サービスの謎はますます深まるばかりですが、少なくとも、Windows 10のWindowsサービスに関して、Windows 8.1以前にはなかった幾つかの仕様変更(追加)が行われていることは明らかになりました。正式な公開情報がないため、謎のサービスの設定には、下手に触れない方がよいでしょう。思わぬトラブルに見舞われる可能性があります。
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows Server 2016テクノロジ入門-完全版』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.
Server & Storage 髫ェ蛟�スコ荵斟帷ケ晢スウ郢ァ�ュ郢晢スウ郢ァ�ー