کالبدشکافی سیستمهای ضد تقلب سطح هسته: چرا بازیها کنترل کامل کامپیوتر شما را میخواهند؟
سیستمهای ضد تقلب مدرن مانند Vanguard در پایینترین لایه سیستمعامل (Ring 0) اجرا میشوند تا هکرهای بازی را متوقف کنند، اما این دسترسی عمیق نگرانیهای جدی درباره امنیت و حریم خصوصی ایجاد کرده است.
به قلم کیان راد
این خبر را به اشتراک بگذارید
- توسعهدهندگان بازی
- معتقدند که بدون دسترسی به سطح هسته، حفظ یکپارچگی بازیهای آنلاین و مقابله با هکرهای پیشرفته غیرممکن است.
- متخصصان امنیت سایبری
- هشدار میدهند که نصب درایورهای حلقه صفر متعلق به شخص ثالث، یک خطر امنیتی بزرگ است که میتواند منجر به نفوذ بدافزارها شود.
- مدافعان حریم خصوصی
- اعطای دسترسی کامل به شرکتهای بازیسازی را نقض آشکار حریم خصوصی میدانند و با اجرای مداوم این نرمافزارها مخالفند.
پرسشهای متداول
آیا ضد تقلبهای سطح هسته میتوانند فایلهای شخصی من را بخوانند؟
از نظر فنی بله. نرمافزاری که در حلقه صفر اجرا میشود، به تمام اطلاعات روی سیستم شما دسترسی دارد، هرچند شرکتها ادعا میکنند فقط دادههای بازی را بررسی میکنند.
چرا نمیتوان تقلبها را بدون دسترسی به هسته متوقف کرد؟
زیرا سازندگان تقلب، کدهای خود را در سطح هسته مخفی میکنند. یک ضد تقلب که در سطح کاربر اجرا میشود، نمیتواند برنامههای پنهانشده در لایههای عمیقتر را ببیند.
آیا حذف بازی، ضد تقلب را هم پاک میکند؟
لزوماً خیر. برخی از ضد تقلبها مانند Vanguard به عنوان یک برنامه مجزا نصب میشوند و باید به صورت دستی از طریق تنظیمات ویندوز حذف شوند.
نکات کلیدی
- ضد تقلبهای مدرن در حلقه صفر (Ring 0) اجرا میشوند که بالاترین سطح دسترسی در سیستمعامل است.
- این نرمافزارها میتوانند تمام فراخوانیهای سیستم و حافظه رم را به طور مداوم اسکن کنند.
- آسیبپذیری در این درایورها میتواند به هکرها اجازه دهد کنترل کامل سیستم کاربران را به دست بگیرند.
- تقلبهای سختافزاری جدید (DMA) حتی ضد تقلبهای سطح هسته را نیز دور میزنند.
گیمرها از متقلبان متنفرند. هیچچیز به اندازه یک ربات نشانهگیری (Aimbot) که از آنسوی نقشه شما را هدف قرار میدهد، تجربه یک بازی رقابتی را ویران نمیکند. استودیوهای بازیسازی برای مقابله با این بحران، به سراغ سلاح نهایی رفتهاند: سیستمهای ضد تقلب «سطح هسته» (Kernel-level). اما این راهکار هزینهای پنهان و سنگین دارد. برای اینکه یک بازی بتواند تضمین کند کسی در حال تقلب نیست، باید به عمیقترین و حساسترین بخشهای سیستمعامل شما دسترسی پیدا کند؛ دسترسیای که حتی نرمافزارهای آنتیویروس هم با احتیاط فراوان از آن استفاده میکنند.[6]
برای درک این موضوع، باید بدانیم کامپیوترها چگونه دسترسی نرمافزارها را مدیریت میکنند. پردازندههای مدرن دارای معماری امنیتی لایهبندیشدهای به نام «حلقههای حفاظتی» (Protection Rings) هستند. برنامههای عادی مانند مرورگر وب، نرمافزارهای ویرایش متن و خود بازیها در «حلقه ۳» (Ring 3) یا فضای کاربر اجرا میشوند. در این حلقه، برنامهها در یک محیط ایزوله و محدود قرار دارند و نمیتوانند مستقیماً به سختافزار یا حافظه سایر برنامهها دسترسی پیدا کنند. اگر یک برنامه در حلقه ۳ دچار خطا شود، فقط همان برنامه بسته میشود و کل سیستم از کار نمیافتد.[2]
اما در مرکز این معماری، «حلقه صفر» (Ring 0) یا هسته سیستمعامل (Kernel) قرار دارد. کدهایی که در این حلقه اجرا میشوند، قدرت مطلق دارند. آنها میتوانند هر دستوری را مستقیماً به پردازنده ارسال کنند، به تمام حافظه رم دسترسی داشته باشند و بدون هیچ واسطهای با سختافزار ارتباط برقرار کنند. سیستمهای ضد تقلب مدرن مانند Riot Vanguard، Easy Anti-Cheat و BattlEye دقیقاً در همین حلقه صفر نصب میشوند و به عنوان یک درایور هسته عمل میکنند.[1][2][3]
چرا یک بازی ویدیویی به چنین قدرت مطلقی نیاز دارد؟ دلیل آن مسابقه تسلیحاتی بیپایان بین توسعهدهندگان بازی و سازندگان نرمافزارهای تقلب است. در گذشته، نرمافزارهای ضد تقلب در همان حلقه ۳ اجرا میشدند. اما هکرها متوجه شدند که اگر نرمافزار تقلب خود را به شکل یک درایور در حلقه صفر نصب کنند، میتوانند خود را از دید ضد تقلبهای حلقه ۳ کاملاً پنهان کنند. در واقع، برنامهای که در حلقه بالاتر (صفر) اجرا میشود، میتواند برنامههای حلقههای پایینتر را فریب دهد و اطلاعات جعلی به آنها بفرستد.[1][4]
بنابراین، توسعهدهندگان بازی مجبور شدند برای بقا به حلقه صفر مهاجرت کنند. یک ضد تقلب سطح هسته، مانند یک نگهبان مسلح در ورودی اصلی سیستمعامل میایستد. این نرمافزارها تمام فراخوانیهای سیستم (System Calls) را رهگیری میکنند، حافظه رم را برای یافتن الگوهای مشکوک اسکن میکنند و حتی در مواردی مانند Vanguard، قبل از اینکه ویندوز به طور کامل بالا بیاید بارگذاری میشوند. هدف این است که مطمئن شوند هیچ درایور تقلبی پیش از آنها در سیستم مخفی نشده است.[3][5]
بنابراین، توسعهدهندگان بازی مجبور شدند برای بقا به حلقه صفر مهاجرت کنند.
شرکتهای بازیسازی این سیستمها را با ادبیاتی حماسی به عنوان راهکاری قطعی برای «حفظ یکپارچگی رقابت» بازاریابی میکنند. اما واقعیت این است که ما در حال معاوضه امنیت بنیادین سیستم خود با تجربه بهتر در یک بازی ویدیویی هستیم. وقتی یک نرمافزار در حلقه صفر اجرا میشود، هیچ مانع فنیای برای جلوگیری از دسترسی آن به فایلهای شخصی، رمزهای عبور یا تاریخچه مرورگر شما وجود ندارد. اگرچه شرکتها ادعا میکنند که تنها دادههای مربوط به بازی را جمعآوری میکنند، اما کاربر چارهای جز اعتماد چشمبسته به آنها ندارد.[4][6]
خطر بزرگتر از نقض حریم خصوصی، آسیبپذیریهای امنیتی است. اگر یک هکر بتواند حفرهای در کد این ضد تقلبها پیدا کند، میتواند کنترل کامل کامپیوتر میلیونها کاربر را به دست بگیرد. این یک سناریوی خیالی نیست؛ در سال ۲۰۲۲، هکرها از یک آسیبپذیری در درایور ضد تقلب بازی Genshin Impact (mhyprot2.sys) استفاده کردند تا آنتیویروسها را از کار بیندازند و باجافزار نصب کنند. از آنجا که ویندوز به این درایورِ امضاشده اعتماد کامل داشت، بدافزار توانست بدون هیچ مقاومتی سیستمها را آلوده کند.[1]
علاوه بر خطرات امنیتی، این سیستمها بر عملکرد دستگاههای قابلحمل نیز تأثیر منفی میگذارند. ضد تقلبهای سطح هسته برای شناسایی تقلبها، به طور مداوم حافظه و سختافزار را بررسی میکنند. این بازرسیهای مداوم باعث میشود پردازنده نتواند به حالتهای کممصرف (Sleep States) وارد شود. در نتیجه، در دستگاههایی مانند لپتاپهای گیمینگ، حتی زمانی که در منوی اصلی بازی هستید، پردازنده در بالاترین سطح انرژی کار میکند و باتری با سرعت بالایی تخلیه میشود.[6]
نکته طعنهآمیز این است که با وجود تمام این دسترسیهای عمیق، متقلبان باز هم راهی برای دور زدن آنها پیدا کردهاند. جدیدترین تهدید، تقلبهای سختافزاری یا دسترسی مستقیم به حافظه (DMA) است. در این روش، متقلب یک کارت سختافزاری را به مادربرد متصل میکند که مستقیماً و بدون دخالت پردازنده، حافظه بازی را میخواند. از آنجا که این فرایند کاملاً خارج از سیستمعامل رخ میدهد، حتی ضد تقلبهای حلقه صفر نیز نمیتوانند آن را به راحتی تشخیص دهند.[3]
برای مقابله با تقلبهای DMA، شرکتهایی مانند Riot Games اکنون کاربران را مجبور میکنند تا قابلیتهای امنیتی سطح سختافزار مانند Secure Boot، TPM 2.0 و IOMMU را در تنظیمات مادربرد خود فعال کنند. این قابلیتها به سیستمعامل اجازه میدهند تا دسترسی سختافزارهای ناشناس به حافظه را مسدود کند. این نبرد بیپایان نشان میدهد که تا زمانی که بازیهای رقابتی وجود دارند، مرز بین امنیت سیستمهای شخصی و نیاز به یک محیط بازی عادلانه، همچنان مبهم و چالشبرانگیز باقی خواهد ماند.[3][5]
اصطلاحات کلیدی
- حلقه صفر (Ring 0)
- عمیقترین سطح دسترسی در معماری پردازندهها که هسته سیستمعامل در آن اجرا میشود و کنترل کامل سختافزار را در اختیار دارد.
- حلقه سه (Ring 3)
- فضای کاربری که برنامههای عادی در آن اجرا میشوند و دسترسی مستقیمی به سختافزار ندارند.
- دسترسی مستقیم به حافظه (DMA)
- فناوریای که به برخی سختافزارها اجازه میدهد بدون درگیر کردن پردازنده مرکزی، مستقیماً اطلاعات را از حافظه رم بخوانند یا بنویسند.
- فراخوانی سیستم (System Call)
- روشی که برنامههای حلقه ۳ برای درخواست خدمات (مانند دسترسی به فایل یا شبکه) از هسته سیستمعامل (حلقه صفر) استفاده میکنند.
منابع
[1]Wikipediaمتخصصان امنیت سایبریKernel-level anti-cheat
مطالعه در Wikipedia →
[2]Wikipediaمتخصصان امنیت سایبریProtection ring
مطالعه در Wikipedia →
[3]Wikipediaمتخصصان امنیت سایبریRiot Vanguard
مطالعه در Wikipedia →
[4]Riot Gamesتوسعهدهندگان بازیA message about Vanguard from our Security & Privacy teams
مطالعه در Riot Games →
[5]League of Legendsتوسعهدهندگان بازیDev: Vanguard x LoL
مطالعه در League of Legends →
[6]تیم سردبیری کوهستانمتخصصان امنیت سایبریتحلیل تیم سردبیری کوهستان
مطالعه در تیم سردبیری کوهستان →
نظرات
هر زاویه. هر روز.
دریافت فناوری اخبار همراه با پوشش کامل منابع و تحلیل دیدگاهها، مستقیم در صندوق ورودی شما.



