Windows GDID: Microsoftのグローバルデバイス識別子をリバースエンジニアリングする
Windows グローバルデバイス識別子 (GDID) の深掘り解説。生成方法、保存場所、送信経路を明らかにし、拡散された誤解を解く。

Microsoft のグローバルデバイス識別子 (GDID) は、2026年7月に提出された Scattered Spider 容疑者に対する連邦告発状に登場して以来、激しい憶測の的となっている。拡散された説では、ハードウェアのシリアル番号から生成される128ビットの識別子とされた。実際はもっと単純で、かつ興味深い。
裁判所が実際に述べたこと
United States v. Peter Stokes の告発状では、GDID を Windows インストールに紐づく永続的なデバイスレベルの識別子と説明している。引用された値 g:6755467234350028 は64ビットの10進整数であり、128ビットではない。重要なのは、宣誓供述書が Windows の再インストールで新しい GDID が生成されると指摘している点で、これは固定ハードウェアシリアルからの派生を否定する。
GDID が現れる場所
Microsoft の公開 Azure Monitor ドキュメントでは、Delivery Optimization の UCDOStatus テーブルに GlobalDeviceId 列が定義されている。しかし Delivery Optimization は値を報告するだけで、その所有者ではない。本当の所有者は Connected Devices Platform (CDP) である。
GDID の背後にあるスタック
GDID は実質的に Microsoft アカウントデバイス PUID、すなわち64ビットの Passport Unique ID である。連鎖は次のように機能する:
wlidsvc(Microsoft アカウントサービス) がlogin.live.com- その PUID はレジストリに保存される。
- Connected Devices Platform (
cdp.dll/CDPSvc) がそれを読み取り、Device Directory Service (DDS) グラフに登録する。 - Delivery Optimization がそれを
GlobalDeviceIdとして報告する。
これは公開シンボルを使用して実際の Windows 11 (26200) マシン上で再現された。値は単一のレジストリキーに保存されており、1回の読み取りで自分の GDID を見つけることができる。
誤解を解く
GDID がシリアル番号から生成される128ビット識別子であるという拡散された主張は、両方の点で誤りである。値は64ビットであり、再インストールで変化する——固定ハードウェアから派生していれば起こり得ないことだ。著者はまた、Microsoft アカウントがなくても CDP は匿名デバイスパスを使用するため、ローカルアカウントでも GDID を防げないと指摘している。
露出を減らす
プライバシーを気にする人向けに、この記事ではローカルアカウントを使用し CDP サービスを無効にすることで識別子の永続性を減らせる可能性を示唆しているが、正確な手順は読者の判断に委ねられている。
これはノイズを切り捨て、エンジニアに Windows テレメトリが実際にどのように機能するかについての明確で再現可能な理解を提供する、堅実なリバースエンジニアリングの成果である。
ディスカッション
0 件のコメント
最初のコメントを投稿しましょう。