پرش به محتوای اصلی
پرش به محتوای مقاله

GDID مایکروسافت شناسه‌ای سرور-محور است، نه اثر انگشت سخت‌افزاری

·۱۶ تیر ۱۴۰۵۹ دقیقه مطالعه
لوگوی GitHub و نام کاربری SmtimesIWndr، عنوان پروژه: gdid-reversal
لوگوی GitHub و نام کاربری SmtimesIWndr، عنوان پروژه: gdid-reversal
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

افشای این نکته که GDID یک مقدار ۶۴ بیتی تخصیص‌یافته از سرور است، نه یک هش ۱۲۸ بیتی از سخت‌افزار؛ این یعنی ردیابی مایکروسافت به حساب کاربری و نشست ثبت‌نام وابسته است، نه قطعات مادربورد.

اگر تصور می‌کنید با پاک کردن کامل هارد و نصب مجدد ویندوز، ردپای دیجیتال شما برای مایکروسافت پاک می‌شود، احتمالاً درست فکر می‌کنید. اما اگر باور کرده‌اید که مایکروسافت اثر انگشتی ابدی از سخت‌افزار شما دارد که هرگز تغییر نمی‌کند، وقت آن است که واقعیت فنی را جایگزین شایعات کنیم.

این موضوع پس از شکایت کیفری وزارت دادگستری آمریکا (DOJ) در ۱ جولای ۲۰۲۶ علیه پیتر استوکس، عضو احتمالی گروه هکری Scattered Spider (که با نام‌های Octo Tempest، UNC3944 یا 0ktapus نیز شناخته می‌شود)، به بحث داغی تبدیل شد. طبق مستندات دادگاه، مایکروسافت از مکانیزم شناسه جهانی دستگاه (Global Device Identifier یا GDID) برای ردیابی نصب‌های خاص ویندوز در سراسر آدرس‌های IP و نشست‌های مختلف مرورگر استفاده می‌کند.

بسیاری از کاربران تصور می‌کردند GDID یک اثر انگشت دیجیتال است که حتی با آپدیت‌های سیستم‌عامل هم باقی می‌ماند. در شبکه‌های اجتماعی ادعا شد که این شناسه یک هش ۱۲۸ بیتی است که از شماره سریال‌های سخت‌افزاری ساخته شده است؛ اما تحلیل‌های فنی و مهندسی معکوس واقعیت متفاوتی را نشان می‌دهند که بیشتر بر محوریت حساب کاربری است تا سخت‌افزار.

همان‌طور که در تحلیل‌های قبلی ما درباره‌ی حریم خصوصی در اکوسیستم‌های ابری اشاره کردیم، جدایی هویت کاربر از سخت‌افزار، استراتژی اصلی شرکت‌های بزرگ برای مدیریت مقیاس است. در مورد GDID هم همین اتفاق افتاده است.

کالبدشکافی GDID

طبق یک گزارش فنی در GitHub، شناسه‌ی GDID یک هش محلی از GPU یا مادربرد شما نیست. بلکه یک شناسه‌ی یکتای پاسپورت دستگاه (Device PUID) است که توسط سرورهای مایکروسافت تخصیص داده می‌شود. این شناسه یک عدد صحیح ۶۴ بیتی است که با پیشوند :g شروع می‌شود.

به نقل از پرونده دادگاه (United States v. Peter Stokes, N.D. Ill., July 2026)، این شناسه در بند ۲۵ صفحه ۳۴ به صورت g:6755467234350028 ظاهر شده است. این مقدار در دنیای کدنویسی به مقدار هگزادسیمال 0x0018000FC8CB93CC برابر است. این ساختار دقیقاً ثابت می‌کند که شناسه تنها در ۶۴ بیت جای می‌گیرد و افسانه‌ی ۱۲۸ بیتی بودن آن را رد می‌کند.

نکته کلیدی اینجاست: در اظهارنامه‌ی وزارت دادگستری صراحتاً ذکر شده که نصب مجدد ویندوز (Fresh Reinstall)، یک GDID جدید تولید می‌کند. این مهم‌ترین دلیل برای اثبات این است که شناسه به سریال‌های سخت‌افزاری تغییرناپذیر گره نخورده است؛ زیرا هر اثر انگشت سخت‌افزاری باید پس از پاک‌سازی و نصب مجدد نیز یکسان بماند. همچنین مستندات دادگاه اشاره می‌کند که یک کاربر واحد مایکروسافت می‌تواند چندین GDID داشته باشد. در پرونده استوکس، اف‌بی‌آی توانست تاریخچه IP و مرورگر این GDID — شامل بازدید از سایت empirehotelnyc.com و لینک‌های ورود به Growtopia و Ubisoft — را با حساب‌های متهم مرتبط کند.

فرآیند تولید و انتقال شناسه

تولید این کد در لایه‌های عمیق پشته‌ی هویت ویندوز رخ می‌دهد. فایل wlidsvc.dll (سرویس حساب کاربری مایکروسافت / پاسپورت) فرآیند تخصیص را از طریق ارتباط با دامنه login.live.com و ارسال درخواست‌های SOAP از نوع Passport PPCRL مدیریت می‌کند.

در این تبادل (Handshake)، سرور مایکروسافت یک DevicePUID (یا HWPUIDFlipped) را تخصیص می‌دهد. سپس کلاینت این مقدار را از طریق یک XPath در بدنه پاسخ XML استخراج می‌کند: /S:Envelope/S:Body/ps:DeviceUpdatePropertiesResponse/HWPUIDFlipped. به همین دلیل است که با نصب مجدد، سرور برای نشست ثبت‌نام جدید، یک PUID جدید صادر می‌کند و شناسه تغییر می‌کند.

این مقدار پس از تولید در رجیستری ذخیره می‌شود. به طور مشخص، این مقدار در هایو کاربر در مسیر HKCU\SOFTWARE\Microsoft\IdentityCRL\ExtendedProperties تحت برچسب LID قرار دارد. همچنین ممکن است در مسیر HKCU\SOFTWARE\Microsoft\IdentityCRL\Immersive\production\Token\{...}\DeviceId یافت شود.

نقش پلتفرم دستگاه‌های متصل

پلتفرم دستگاه‌های متصل (Connected Devices Platform یا CDP) که توسط cdp.dll و سرویس‌های CDPSvc و CDPUserSvc مدیریت می‌شود، این شناسه را نمی‌سازد، بلکه مصرف می‌کند. CDP مقدار PUID را از ارائه‌دهنده هویت دریافت کرده و آن را در گراف سرویس دایرکتوری دستگاه (Device Directory Service یا DDS) ثبت می‌کند.

این گراف زیربنای قابلیت‌هایی است که هر روز با آن‌ها سروکار دارید:

  • لینک به گوشی (Phone Link)
  • کلیپ‌بورد ابری (Cloud Clipboard)
  • قابلیت "Continue on PC"
  • اشتراک‌گذاری نزدیک (Nearby Share)

مایکروسافت با کلید کردن فعالیت‌ها به شناسه‌ی g:<decimal>، می‌تواند تاریخچه IP و داده‌های مرورگر را به یک نصب خاص ویندوز مرتبط کند. مهندسی معکوس cdp.dll نقاط انتهایی (Endpoints) خاصی را برای این ثبت شناسایی کرده است، از جمله: dds.microsoft.com ، fd.dds.microsoft.com ، aad.cs.dds.microsoft.com و cdpcs.access.microsoft.com.

جزئیات فنی جریان ثبت‌نام

تحلیل استاتیک فایل PDB عمومی (cdp.pdb) نشان می‌دهد که CDP از یک الگوی سخت‌گیرانه «درخواست و انتظار» پیروی می‌کند. این سرویس خودش شناسه را محاسبه نمی‌کند، بلکه از طریق فراخوانی تابع GetStableDeviceIdFromProvider (آدرس 0x0A3140) آن را درخواست می‌کند. این درخواست سپس از مسیر OneCoreAccountProvider::GetStableDeviceIdAsync (آدرس 0x0C8370) و IWebAccountBackedAccountProvider عبور می‌کند.

در نهایت، کال‌بک OnGetStableDeviceIdCompleted (آدرس 0x06CEA0) شناسه را به صورت یک رشته‌ی نامعلوم (Opaque String) دریافت می‌کند. کدهای اسمبلی نشان می‌دهند که شناسه صرفاً از ثبات r9 منتقل شده و با استفاده از assign@basic_string ذخیره می‌شود، بدون اینکه هیچ محاسبه اضافی یا تعاملی با سریال‌های سخت‌افزاری صورت گیرد.

تله‌متری و افشای داده‌ها

در حالی که CDP ثبت را انجام می‌دهد، سرویس‌های دیگر آن را گزارش می‌کنند. مستندات عمومی Azure Monitor ستونی به نام GlobalDeviceId را در جدول UCDOStatus (Update Compliance / Delivery Optimization) تعریف کرده است. این یعنی شناسه دستگاه در لاگ‌های تله‌متری در کنار داده‌های مکان‌سنجی (Geolocation)، ISP، نام شهر و کشور قرار می‌گیرد.

کاربران می‌توانند با یک دستور ساده در PowerShell شناسه‌ی خود را ببینند:
(Get-ItemProperty 'HKCU:\SOFTWARE\Microsoft\IdentityCRL\ExtendedProperties').LID

این دستور مقدار ۱۶ رقمی هگزادسیمال را نشان می‌دهد. برای تبدیل این مقدار به فرمت g:<decimal> که در اسناد دادگاه دیده شده، کاربران می‌توانند کد زیر را اجرا کنند:
$hex = (Get-ItemProperty 'HKCU:\SOFTWARE\Microsoft\IdentityCRL\ExtendedProperties').LID
"g:$([Convert]::ToUInt64($hex,16))"

جالب اینجاست که حتی کاربرانی که حساب کاربری مایکروسافت (MSA) ندارند هم معاف نیستند. تحلیل CDP نشان می‌دهد یک مسیر «دستگاه ناشناس» (Anonymous Device Path) وجود دارد که در صورت عدم اتصال حساب MSA استفاده می‌شود تا اطمینان حاصل شود که GDID همچنان تولید و ردیابی می‌گردد.

تفاوت در انواع شناسه‌ها

باید بین انواع PUIDها که در سیستم هویت ویندوز ذخیره می‌شوند تمایز قائل شد:

  • شناسه‌های دستگاه (GDID): متعلق به کلاس هگز 0018 هستند (مثلاً 0018000FC8CB93CC).
  • شناسه‌های کاربر (User PUIDs): متعلق به کلاس هگز 0003 هستند (مثلاً 00034002XXXXXXXX).

علاوه بر این، حافظه کش توکن MSA در مسیر HKLM\SOFTWARE\Microsoft\IdentityCRL\NegativeCache شامل توکن‌های دستگاهی است که دقیقاً برای نقاط انتهایی DDS و Activity تعریف شده‌اند: service::dds.microsoft.com::MBI_SSL_TOKEN_BROKER و service::activity.windows.com::MBI_SSL_SA_TOKEN_BROKER.

کاهش ردپای ردیابی

برای کاهش این ردیابی، پژوهشگران مراحل زیر را پیشنهاد می‌کنند:

  • سرویس‌های Connected Devices Platform یعنی CDPSvc و CDPUserSvc را متوقف کنید.
  • تاریخچه فعالیت (Activity History) را از مسیر Settings -> Privacy -> Activity history غیرفعال کنید تا همگام‌سازی گراف و آپلود فعالیت‌ها متوقف شود.

پاک کردن پوشه‌های محلی در %LOCALAPPDATA\ConnectedDevicesPlatform کافی نیست. اگرچه این کار وضعیت محلی CDP را پاک می‌کند، اما PUID پس از بازراه‌اندازی سرویس، دوباره از ذخیره هویت سیستم (Identity Store) بازیابی می‌شود. یک نصب پاک (Clean Install) به شما GDID جدیدی می‌دهد، اما سیستم به محض اینکه دوباره با سرورهای مایکروسافت ثبت‌نام شود، به یک شناسه‌ی جدید گره می‌خورد.

متدولوژی و اعتبارسنجی

این یافته‌ها روی یک دستگاه زنده با ویندوز ۱۱ (بیلد ۲۶۲۰۰) و با استفاده از نمادهای عمومی (Public Symbols) بازتولید شده‌اند. این تحقیق شامل چندین روش کلیدی بود:

  • ضبط زنده (Live Capture): استفاده از logman برای ضبط ارائه‌دهنده‌های TraceLogging ETW مربوط به CDP (مانند Microsoft.Windows.CDP.Core و Microsoft.Windows.CDP.OnecoreAccountProvider) و رمزگشایی آن‌ها با tracerpt.
  • تحلیل رجیستری: بازرسی IdentityStore و IdentityCRL در مسیر HKLM\SOFTWARE\Microsoft.
  • تحلیل استاتیک: تحلیل wlidsvc.dll برای توابع CDeviceIdentityBase::CreateNewDeviceIdentity و CAssociateDeviceRequest::ParseResponseBody.

جزئیات تکمیلی پیاده‌سازی

بررسی‌های عمیق‌تر در باینری wlidsvc.dll توابع خاصی را فاش می‌کند که چرخه عمر هویت را مدیریت می‌کنند:

  • منطق آماده‌سازی (Provisioning): این باینری عملیات Provision ، BindDeviceToHardware و GetDeviceCert را مدیریت می‌کند. اگرچه از BCryptGenRandom و CCryptRandom::GenRandom استفاده می‌کند، اما این‌ها برای تولید کلید احراز هویت دستگاه (که به ماشین متصل است) به کار می‌روند، نه برای تولید خود GDID.
  • تعامل با DDS: باینری cdp.dll شامل یک زیرسیستم ثبت‌نام متشکل از ddsregistrationclient.cpp ، ddsregistrationmanager.cpp و ddsregistrationinfo.cpp است.
  • شناسه‌های GUID ارائه‌دهنده ETW: برای بازتولید این کپچرها، پژوهشگران می‌توانند از GUIDهای زیر استفاده کنند:
    • Microsoft.Windows.CDP.Core: {7762de0c-b0a6-571a-68d3-c018bf009496}
    • Microsoft.Windows.CDP.Core.Error: {a1ea5efc-402e-5285-3898-22a5acce1b76}
    • Microsoft.Windows.CDP.CDS: {dfa6e32a-095f-5f57-d025-0887d33507a1}
    • Microsoft.Windows.CDP.Aggr: {bc1826c8-369c-5b0b-4cd1-3c6ae5bfe2e7}
    • Microsoft.Windows.CDP.AFS: {5fe36556-c4cd-509a-8c3e-2a547ea568ae}
    • Microsoft.Windows.CDP.OnecoreAccountProvider: {4ee5bf9a-3e8f-540b-8bfb-12457a2854b6}
    • Microsoft.Windows.CDP: {9f4cc6dc-1bab-5772-0c71-a89954718d66}

خلاصه چرخه عمر دستگاه

چرخه کامل یک GDID را می‌توان در یک زنجیره چهار مرحله‌ای خلاصه کرد:

  1. ضرب (The Mint): فایل wlidsvc.dll دستگاه را از طریق login.live.com آماده می‌کند. سرور Device PUID را تخصیص می‌دهد و کلاینت آن را به عنوان LID در HKLM\...\IdentityStore ذخیره می‌کند.
  2. تحویل (The Hand-off): فایل cdp.dll شناسه پایدار دستگاه را از طریق پشته هویت درخواست کرده و PUID را به صورت یک رشته دریافت می‌کند.
  3. ثبت (The Registration): سرویس CDPSvc مقدار PUID را در گراف سرویس دایرکتوری دستگاه (DDS) ثبت می‌کند و پاسخی با وضعیت HTTP 200 دریافت می‌کند.
  4. گزارش‌دهی (The Reporting): سایر اجزا، مانند Delivery Optimization (dosvc.dll)، مقدار GlobalDeviceId را به عنوان بخشی از تله‌متری UCDOStatus گزارش می‌کنند.

این موضوع نشان‌دهنده یک تغییر بنیادین در درک ما از «شناسه‌های سخت‌افزاری» است. GDID کمتر به اجزای فیزیکی ماشین مربوط است و بیشتر به هویت آن نصب خاص در اکوسیستم ابری مایکروسافت اشاره دارد. برای کاربر عادی، این بدان معناست که تا زمانی که سیستم‌عامل ثبت‌نام شده باشد، «اثر انگشت» فعال است. برای محققان و بازرسان، این یک لنگر پایدار برای ردیابی مظنونین است، حتی اگر آن‌ها آدرس‌های IP خود را تغییر دهند، مگر اینکه سیستم را به طور کامل پاک کرده و دوباره نصب کنند.

گام بعدی شما

  • با اجرای دستور پاورشل ذکر شده، شناسه‌ی فعلی دستگاه خود را چک کنید تا متوجه شوید چه مقداری در سرورهای مایکروسافت ثبت شده است.
  • اگر حریم خصوصی برای شما اولویت است، سرویس‌های CDP را غیرفعال کرده و وضعیت Activity History را بررسی کنید.
  • در صورت نیاز به تغییر کامل هویت دیجیتال در ویندوز، تنها راه مطمئن، نصب پاک (Clean Install) سیستم‌عامل است.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell و مدیریت داده در لبه مراجعه کنید.

چرا این موضوع مهم است؟

این یافته بر اساس تحلیل مستندات فنی و مهندسی معکوس، اثبات می‌کند که ردیابی مایکروسافت منعطف‌تر از یک سریال سخت‌افزاری است و با هر نصب مجدد ریست می‌شود. این موضوع برای متخصصان امنیت و حریم خصوصی، مسیر دقیق‌تری برای پاک‌سازی ردپای دیجیتال فراهم می‌کند.

تأثیر برای ایران

این موضوع برای کاربران ایرانی که برای دور زدن محدودیت‌ها یا حفظ حریم خصوصی از نصب‌های مکرر ویندوز استفاده می‌کنند، خبر خوبی است؛ زیرا نصب مجدد اثر انگشت ردیابی مایکروسافت را تغییر می‌دهد.

·نگاه ما
تحریریه دات‌هوش

تغییر نگاه از «شناسه سخت‌افزاری» به «شناسه نصب» نشان می‌دهد مایکروسافت به جای تکیه بر قطعات فیزیکی، بر مدیریت چرخه حیات سیستم‌عامل در ابر متمرکز شده است. این رویکرد اجازه می‌دهد ردیابی حتی بدون حساب کاربری فعال ادامه یابد و مرز بین کاربر ناشناس و کاربر شناسنامه‌دار را در تله‌متری از بین ببرد.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.