حمله‌ی جديد Rowhammer بر گوشی‌های اندرويدی

دوشنبه ۱۷ اردیبهشت ۱۳۹۷
حمله GLitch از پردازنده‌های گرافیکی (GPU) تعبیه‌شده برای انجام حمله‌ی Rowhammer در گوشی‌های هوشمند استفاده می‌کند.
مرکز آپا شریف
SUT-APA-LOGO

حدود چهار سال پیش محققان امنیتی با روش هکی به نام Rowhammer مواجه شدند. این روش حمله تقریباً هر نوع مدل امنیتی رایانه را با دستکاری شارژ الکتریکی فیزیکی در تراشه‌ی حافظه از بین می‌برد تا داده‌ها را به روش‌های غیرمنتظره‌ای خراب کند. Rowhammer مسئله‌ای مربوط به نسل جدید تراشه‌های دسترسی تصادفی پویا به حافظه (DRAM) است که در آن دسترسی مکرر به یک سطر از حافظه می‌تواند باعث “bit flipping” در سطر مجاور شود و به هر کسی اجازه دهد مقادیر محتوای ذخیره‌شده در حافظه‌ی رایانه را تغییر دهد. حال برای اولین بار هکرها راهی برای استفاده از Rowhammer در گوشی‌های اندرویدی یافته‌اند. این نوع حمله که GLitch نامگذاری شده است از پردازنده‌های گرافیکی (GPU) تعبیه‌شده برای انجام حمله‌ی Rowhammer در گوشی‌های هوشمند استفاده می‌کند.
حمله‌ی Rowhammer اولین بار در اوایل سال 2015 بر روی رایانه‌های دارای سیستم‌عامل ویندوز و لینوکس روی داد. سال گذشته تیمی از محققان آزمایشگاه VUSec دانشگاه Vrije آمستردام نشان دادند که روش Rowhammer می‌تواند بر روی گوشی‌های هوشمند نیز کار کند؛ اما برنامه‌های مخربی که برای اولین بار بر روی گوشی هدف نصب می‌شوند محدودیت‌های زیادی دارند. حال همان تیم نشان داده‌اند که چگونه‌ حمله‌ی GLitch می‌تواند به آسانی از روش حمله‌ی Rowhammer سوءاستفاده کند و با میزبانی وب‌سایتی که کد جاوااسکریپت مخرب را اجرا می‌کند گوشی‌های هوشمند اندرویدی را در کمتر از دو دقیقه هک کند، بدون آنکه وابسته به هیچ اشکال نرم‌افزاری باشد. از آنجاییکه این کد مخرب تنها درون مجوز‌های مرورگر وب اجرا می‌شود، می‌تواند بر الگوهای مروری کاربر جاسوسی کند یا اعتبارات آن‌ها را به سرقت ببرد؛ اما مهاجم نمی‌تواند دسترسی بیشتری به گوشی کاربر داشته باشد.
GLitch اولین روش Rowhammer ازراه‌دور است که از پردازنده‌های گرافیکی (GPU) سوءاستفاده می‌کند. GPU امروزه در اغلب پردازنده‌های تلفن همراه یافت می‌شود و جایگزین CPU شده است. CPU در تمامی نسخه‌های نظری پیشین حمله‌ی Rowhammer مورد سوءاستفاده قرار گرفته است.
از آنجاییکه پردازنده‌های ARM درون گوشی‌های هوشمند دارای یک نوع حافظه‌ی پنهان هستند که دسترسی به سطرهای هدف حافظه‌ را دشوار می‌سازد، محققان از GPU استفاده می‌کنند که حافظه‌ی پنهان آن به‌راحتی قابل کنترل است، به هکرها نیز اجازه می‌دهد تا سطرهای هدف را بدون هرگونه واسطه‌ای خراب کنند.
این روش بدین دلیل GLitch با دو حرف اول بزرگ نامگذاری شده است که به طور گسترده‌ای از کتابخانه‌ی گرافیکی مبتنی بر مرورگر به نام WebGL برای رندرکردن گرافیک‌ها استفاده می‌کند تا یک glitch شناخته‌شده در DDR3 و DDR4 را راه‌اندازی نماید.
در حال حاضر Glitch، گوشی‌های هوشمندی که سیستم‌‌عامل Snapdragon 800 و 801 را بر روی تراشه اجرا می‌کنند هدف قرار می‌دهد (این سیستم‌ها هم دارای CPU هستند و هم GPU). این حمله می‌تواند توسط مرورگرهای گوگل کروم و فایرفاکس راه‌اندازی شود.
از آنجاییکه Rowhammer از نقاط ضعف سخت‌افزاری یک رایانه سوءاستفاده می‌کند، هیچ نرم‌افزاری نمی‌تواند این مشکل را به‌طور کامل وصله نماید. به گفته‌ی محققان، تهدید Rowhammer نه تنها جدی است، بلکه دارای پتانسیل ایجاد آسیب جدی و واقعی نیز است.
از آنجاییکه راهی برای انسداد کامل GPU گوشی اندرویدی از تداخل با DRAM وجود ندارد، تیمی با همکاری Google به دنبال حل این مشکل است.