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