ماه گذشته، ما پرونده کیفری فدرالی را پوشش دادیم که در آن شناسه جهانی دستگاه مایکروسافت یا همان GDID به افبیآی (FBI) کمک کرد تا یک هکر را دستگیر کند. علیرغم این هدف قابل تحسین، پیامدهای یک ردیاب دائمی تعبیهشده در ویندوز به حدی رسید که نادیده گرفتن آن دشوار شد و این موضوع به نقطه عطفی تبدیل گдید تا شرکت ویندسکرایب (Windscribe) را متقاعد کند تا کاری در این زمینه انجام دهد. این شرکت ارائهدهنده ویپیان (VPN)، پروژه و اسکریپت متنباز جدیدی به نام deGDID ایجاد کرده است که هدف آن حذف GDID از روی رایانه شخصی شماست؛ البته این کار به قیمت از کار افتادن برخی از خدمات ابری مایکروسافت تمام میشود.
شما میتوانید این اسکریپت را در گیتهاب (GitHub) پیدا کرده و آن را از طریق پاورشل (PowerShell) با دسترسیهای مدیریتی (Admin) اجرا کنید. این ابزار کاملاً رایگان است و به روشی بسیار ساده کار میکند. سه پرچم (Flag) اجرایی اصلی وجود دارد که نحوه عملکرد deGDID را تعیین میکنند: پرچم –Status که فقطخواندنی است و به شما میگوید که آیا یک GDID روی سیستم شما فعال است یا خیر؛ پرچم –Status –Redact که گزارشهایی با GDIDِ اصلاحشده تولید میکند تا کاربران بتوانند دادههای تشخیصی را با اطمینان بیشتری به اشتراک بگذارند؛ و پرچم –Protect که GDID را بهطور کامل پاک کرده و از ایجاد شناسههای جدید جلوگیری میکند.
چهارمین پرچم، یعنی –Unprotect، به شما اجازه میدهد در صورت نیاز به بازگشت به حالت پیشفرض، عملکرد اسکریپت را خنثی کنید. اما پرچم –Protect همان گزینهای است که ارزش بحث کردن دارد. ابتدا، اسکریپت به دنبال کلیدهای GDID صادر شده توسط سرور در رجیستری (Registry) میگردد، جایی که آنها کششده باقی میمانند، و همه آنها را پاکسازی میکند. این کاری است که خودتان نیز میتوانید به صورت دستی انجام دهید. در واقع، ویندسکرایب این کار را روی یک ماشین مجازی امتحان کرد، اما کلیدهای GDID پس از راهاندازی مجدد یا هر زمان که ویندوز دوباره با سرورهای مایکروسافت تماس میگیرد، در پسزمینه به طور بیصدا دوباره ساخته میشوند.
برای بستن این چرخه، اسکریپت سپس لیستهای کنترل دسترسی (ACLها) و مجوزهای رجیستری را تغییر میدهد تا سیستمعامل نتواند کلیدهای GDID را دریافت کرده و متعاقباً برای بازسازی آنها تلاش کند. این ابزار یک فایروال در برابر پایانه داخلی DeviceAdd ایجاد میکند که خدمات هویت مایکروسافت را بهطور کامل قطع میکند تا حتی نتوانند این مورد را به عنوان یک رایانه ویندوزی ثبتشده ببینند. این اقدام دو مرحلهای روند کار را تکمیل میکند و کلیدهای GDID موجود نه تنها پاک میشوند، بلکه احتمال ایجاد کلیدهای جدید نیز از بین میرود.
به خاطر داشته باشید که کلیدهای قدیمی که از قبل در سمت سرور وجود دارند قابل حذف نیستند؛ مایکروسافت به طور نامحدود به آنها دسترسی دارد. این اسکریپت همچنین فقط روی سیستمهای مدیریتنشده با حسابهای مدیریتی کار میکند. اگر شما بخشی از یک سازمان یا دامنه (Domain) باشید، deGDID از اجرا خودداری خواهد کرد. مهمتر از همه، از آنجا که این ابزار خط لوله DeviceAdd مایکروسافت را مسدود میکند، برخی از خدمات هستهای ویندوز از کار خواهند افتاد زیرا در احراز هویت حساب مایکروسافت شما شکست خواهند خورد.
دلیل اینکه deGDID در وهله اول مورد نیاز است این است که ویندوز هیچ کلید ضامن بومی برای خاموش کردن GDID ندارد. این شناسه به عنوان یک شناسه دستگاه دائمی وجود دارد که میتواند بدون رضایت شما، شما را ردیابی کند. این شناسه در سراسر آدرسهای IP کار میکند زیرا در زیر لایهای که ویپیانها در آن فعالیت میکنند قرار دارد، بنابراین هیچ مقدار تونلزنی شبکه نمیتواند آن را مبهم کند. این موضوع میتواند توضیح دهد که چرا ویندسکرایب مجبور به ساخت deGDID شد؛ تا با یک سیستم بهطور بالقوه مهاجم که قدرت ایجاد ویرانی در دست افراد نااهل را دارد، مبارزه کند.
ما این اسکریپت را روی یک رایانه مجهز به ویندوز ۱۱ (Windows 11) آزمایش کردیم و همانطور که انتظار میرفت کار کرد. اجرای پرچم –Status چندین GDID کششده را نشان داد که سپس توسط پرچم –Protect حذف شدند و حتی پس از راهاندازی مجدد نیز هیچ GDID جدیدی ظاهر نشد. همانطور که انتظار میرفت، برخی از برنامههای مایکروسافت دچار خطا شدند و خطاهای اتصال را بازگرداندند. تأیید حساب از طریق login.live.com نیز در تمامی مرورگرها مسدود شد، اگرچه login.microsoftonline.com همچنان کار میکرد. بازیهای آنلاین و سایر برنامهها نیز به رفتار عادی خود ادامه دادند.
ویندسکرایب میگوید deGDID یک پروژه تحقیقاتی است و با کشف اطلاعات بیشتر درباره نحوه کارکرد GDID، به تکامل خود ادامه خواهد داد. در حال حاضر، این حقیقت که این ابزار میتواند خدمات و ویژگیهای اصلی مایکروسافت را با شکست مواجه کند، ممکن است برای برخی افراد هزینهای بیش از حد سنگین باشد. این اسکریپت همچنین هیچ تضمینی برای نابودی تمامی نمونههای GDID نمیدهد و مایکروسافت از قبل کلیدهای قبلی شما را در اختیار دارد؛ بنابراین این راهحل مطمئناً ایدهآل نیست، اما شروع خوبی برای مبارزه با ردیابهای پنهان محسوب میشود.
