アメリカ近期の司法案件で、マイクロソフトのWindowsに組み込まれたGDIDという追跡機能が明らかになった。この機能は、各Windowsデバイスに長期的な識別コードを割り当て、デバイスの追跡に使用される。FBIはこのコードを利用して、駭客のデバイスを特定し、駭客を逮捕することに成功した。しかし、この機能はプライバシー問題を引き起こしており、マイクロソフトはその存在と用途についての情報開示が不十分であると批判されている。

GDIDは、Windowsデバイスに割り当てられる64ビットの識別コードで、通常「g:」で始まり、その後に長い数字の列が続く。このコードは、マイクロソフトのサーバーによって生成され、デバイスのローカルレジストリに保存される。GDIDは、Windowsの設定でMicrosoftアカウントを設定する際に、Passport認証サービスを通じてマイクロソフトのサーバーと通信し、サーバーからGDIDを受け取ることで生成される。

GDIDは、Windowsのコネクテッドデバイスプラットフォームを通じて、マイクロソフトのクロスデバイスID管理システムに登録され、ローカルデバイスとクラウドアカウントの間のIDバインディングが完了する。GDIDは、一般的なWindows更新やシステム設定の調整によって変更されない。ただし、Windowsを再インストールすると、新しいGDIDが生成される。しかし、古いGDIDとその関連記録はマイクロソフトのサーバー上に保持され続ける。

GDIDは、Windowsのさまざまなコアサービスや機能に統合されている。例えば、Windowsの「電話リンク」機能は、GDIDを使用して電話とPCの間のペアリング関係を確立する。また、クロスデバイスクリップボード同期も、GDIDを使用してデバイスを確認する。さらに、診断データにもGDIDが含まれており、Microsoft Edgeの拡張診断機能を有効にすると、閲覧履歴もGDIDと関連付けられる。

一般のユーザーも、PowerShellを使用して自分のデバイスのGDIDを確認することができる。PowerShellで特定のコマンドを実行することで、Windowsレジストリに保存されている識別コードを読み取ることができる。しかし、現在、GDIDの生成を防ぐ方法や、マイクロソフトサーバー上の歴史的記録を削除する方法は確立されていない。

セキュリティ研究チームのZerotrace Labは、GDIDを改ざんまたは偽造できるかどうかを検証するための実験を行った。その結果、ユーザーはローカルのWindowsレジストリ内のGDID値を変更できるが、ローカルデータとマイクロソフトサーバー上の識別情報が一致しない場合、一部のWindows機能に異常が生じることが判明した。研究チームは、GDIDがローカルデータのみに依存しているのではなく、ローカルとクラウドの同期検証機構を採用していると推測している。

現在、マイクロソフトがGDIDを広告主や第三者に提供しているという証拠はない。マイクロソフトの公式文書によると、この識別コードは内部サービス用のみに使用される。しかし、執行機関は、法廷命令や伝票などの合法的手続きを通じて、マイクロソフトから関連データを入手することができる。Peter Stokes事件は、その実例の一つである。

しかし、多くのセキュリティ専門家は、GDIDそのものよりも、マイクロソフトがその存在と用途について十分に開示していないことが真の問題であると考えている。現在、主流のOSの多くは、ある程度のデバイス識別または追跡機構を備えているが、通常は明確な通知や管理方法を提供している。例えば、AppleはApp Tracking Transparency(ATT)機構を通じて、アプリがユーザーの許可を得ることを要求している。Googleは、Androidユーザーが広告識別子をリセットできるようにしている。Linuxディストリビューションは、オープンソースモデルを採用しており、関連するデータ収集機構をコミュニティに公開することができる。

これに対して、WindowsのGDIDについての公開情報は相対的に少ない。

FACT BOX ・ 要点整理

  • 出典:PR Times
  • 分類:調査
  • 関連組織:マイクロソフト / FBI
  • 製品・サービス:Windows / GDID