GDID؛ شناسهای که ویندوز از روز اول به سرور مایکروسافت گره میزنه
خلاصهٔ کاملتر
نویسنده این پست سراغ چیزی رفته که مایکروسافت داخل کدش بهش میگه PUID و اسم عمومیترش GDID (Global Device Identifier) است. هر نصب ویندوز اولین بار که به اینترنت وصل میشه، این عدد ۶۴ بیتی رو از login.live.com میگیره و به شکل ۱۶ کاراکتر هگز تو رجیستری ذخیره میکنه. دو بایت اولش نوع شناسه رو مشخص میکنه: 0x0018 یعنی دستگاه و 0x0003 یعنی حساب کاربری.
نقطه جالب ماجرا اینه که نسخه اصلی این عدد کاملاً بدون رمزنگاری و بدون نیاز به ارتقای دسترسی، تو هایو کاربر جاری نشسته:
reg query "HKCU\SOFTWARE\Microsoft\IdentityCRL\ExtendedProperties"مقدار LID که برمیگرده همون PUID دستگاهه. کنارش دو جای دیگه هم مهمن: بلابی که با DPAPI بستهبندی شده و گواهی X.509 دستگاه رو با PUID جاسازیشده داخلش نگه میداره، و کلیدی که PUID کاربرها رو به SIDهای محلی جفت میکنه — یعنی نقطه شروع خوبی برای فارنزیک روی یه ماشین اشتراکی. مدیریت همه اینا با سرویس wlidsvc انجام میشه.
طبق این تحقیق، سرور مایکروسافت برای صدور این شناسه یه پاکت SOAP با مجموعهای از توصیفگرهای سختافزاری میگیره: سازنده، مدل، سریال SMBIOS، UUID، سریال دیسکها، مکآدرس، بهاضافه کلید عمومی TPM. یعنی خود کلاینت این شناسه رو حساب نمیکنه؛ سرور تصمیم میگیره یه مجموعه سختافزار همون دستگاه قبلیست یا نه. نتیجهش اینه که سختافزار یکسان همیشه به یه هویت قابل پیوند میرسه، هرچقدر هم عدد محلی عوض بشه.
نویسنده نشون میده این عدد کجاها ظاهر میشه: خرید و لایسنس مایکروسافت استور، فعالسازی دیجیتال ویندوز، پلتفرم دستگاههای متصل، آدرس کانال نوتیفیکیشن WNS، Delivery Optimization و فیلد Device.ID تقریباً روی هر رویداد تلهمتری. با تشخیص پیشرفته، اج هم سوابق بازدید از URL رو با همین برچسب میفرسته — چیزی که به گفته این پست، مدرک تاریخچه مرور در یه پرونده قضایی در ژوئیه ۲۰۲۶ رو تولید کرد.
بخش دوم مقاله تلاش برای جعل GDID روی یه ماشین دیگهست و به چهار لایه میرسه. بازنویسی صرف مقدار رجیستری فقط ابزارهای محلی رو گول میزنه و خودش به حالت اول برمیگرده. جابهجا کردن گواهی دستگاه یه لایه جلوتره ولی تو اولین تماس شبکهای، عدمتطابق سختافزار لو میده. جعل سختافزار روی ماشین مجازی هم به دیوار TPM میخوره: کلید خصوصی EK از چیپ بیرون نمیاد. جمعبندی نویسنده اینه که رکورد سمت سرور منبع حقیقته و تنها بازنشانی واقعی، سختافزار جدیده.
نکات کلیدی:
- GDID یه شناسه ۶۴ بیتی دستگاهه که از ویستا به بعد تو هر نصب ویندوز مصرفی وجود داره
- مقدار اصلی به شکل متن ساده تو رجیستری کاربر جاری و بدون نیاز به ادمین قابل خوندنه
- استور، فعالسازی، WNS، تلهمتری و اج همگی به همین شناسه گره خوردن
- بازنویسی محلی بیفایدهست؛ تطبیق روی سرور و بر پایه سختافزار و کلید TPM انجام میشه
- تنها بازنشانی واقعی، تعویض سختافزار (مادربرد، دیسک، کارت شبکه) است




