GLitch

برای اولین بار، محققان امنیتی راه مؤثری برای بهره‌برداری از یک تکنیک هک کردن چهارساله به نام Rowhammer برای ربودن یک تلفن همراه اندرویدی از راه دور کشف کرده‌اند.

این روش اثبات ادعا که GLitch نامیده شده است یک ضمیمه جدید اضافه‌شده به حمله Rowhammer است [۱] که از واحدهای پردازنده گرافیک جاسازی‌شده، به‌عنوان یک اهرم استفاده کرده تا حملات Rowhammer را در برابر گوشی‌های هوشمند اندرویدی انجام دهد.

Rowhammer یک مشکل با تراشه‌های حافظه نسل جدید پویا با قابلیت دسترسی تصادفی(۱) است که بارها و بارها به یک ردیف حافظه دسترسی پیدا می‌کند که می‌تواند باعث bit flipping در یک ردیف مجاور شود و به هرکسی اجازه ‌می‌دهد تا مقدار محتویات ذخیره‌شده در حافظه کامپیوتر را تغییر دهد.

این مسئله که حداقل از سال ۲۰۱۲ شناخته شده است، برای اولین بار توسط محققان پروژه Zero در گوگل در اوایل سال ۲۰۱۵ مورد بهره‌برداری قرار گرفت، زمانی که آن‌ها حملات Rowhammer از راه دور را در رایانه‌های دارای ویندوز و لینوکس کشف کردند.

سال گذشته، یک تیم از محققان آزمایشگاه VUSec در Vrije Universiteit Amsterdam نشان دادند که روش Rowhammer نیز می‌تواند بر روی گوشی‌های هوشمند اندرویدی کار کند[۲]، اما دارای یک محدودیت عمده‌ است که باید برنامه‌های مخرب در ابتدا بر روی گوشی موردنظر نصب شده باشند.

بااین‌حال، همان گروهی از محققان هم‌اکنون نشان داده‌اند که چگونه حمله‌ی اثبات ادعای آن‌ها به نام GLitch می‌تواند از تکنیک حمله Rowhammer به‌سادگی و با میزبانی از یک وب‌سایت که در حال اجرای کد جاوا اسکریپت است بهره‌برداری کند تا در عرض ۲ دقیقه یک گوشی هوشمند اندرویدی را از راه دور هک کند بدون اینکه به هیچ برنامه‌ی‌ از پیش نصب‌شده‌ای وابسته باشد.

ازآنجاکه این کد مخرب فقط با امتیازات مرورگر وب اجرا می‌شود، می‌تواند بر روی الگوی مرورگر کاربر جاسوسی کند یا اطلاعات اعتباری آن‌ها را سرقت کند. بااین‌حال، مهاجم نمی‌تواند دسترسی بیشتری به گوشی اندرویدی کاربر داشته باشد.

حمله Glitch چگونه کار می‌کند؟

GLitch اولین تکنولوژی Rowhammer است که از واحدهای پردازنده‌های گرافیکی(۲) که تقریباً در همه پردازنده‌های موبایل یافت می‌شوند، بهره‌برداری می‌کند به‌جای آنکه از CPU بهره‌برداری کند که در تمام نسخه‌های پیشین نظری Rowhammer مورد استفاده قرار می‌گرفت.

ازآنجاکه پردازنده‌های ARM در گوشی‌های هوشمند اندرویدی دارای یک نوع cache هستند که دسترسی به ردیف‌های هدفمند حافظه را دشوار می‌کند، محققان از GPU استفاده می‌کنند که cache آن به‌راحتی می‌تواند کنترل شود و به مهاجمان اجازه می‌دهد که بدون هرگونه دخالتی ردیف‌های هدفمند را بشکنند(۳).

این تکنیک به نام GLitch با دو حرف اول بزرگ ثبت شده است زیرا از یک کتابخانه کد گرافیکی مبتنی بر مرورگر که به‌طور گسترده مورداستفاده قرار می‌گیرد و به‌عنوان WebGL شناخته می‌شود برای رندر کردن گرافیک برای هدف قرار دادن یک glitch در تراشه‌های حافظه DDR4 و DDR3 استفاده می‌کند.

در حال حاضر، GLitch گوشی‌های هوشمند دارای سیستمSnapdragon  نسخه ۸۰۰ و ۸۰۱ را مورد هدف قرار می‌دهد که بر روی یک تراشه دارای CPU و GPU هستند، که این یعنی این اثبات ادعا تنها بر روی گوشی‌های قدیمی‌تر مانند LG Nexus 5، HTC One M8 یا LG G2 کار می‌کند. این حمله می‌تواند علیه فایرفاکس و کروم پیاده‌سازی شود.

در یک اثبات ویدیویی[۳]، محققان نشان داده‌اند که حمله GLitch مبتنی بر جاوا اسکریپت بر روی یکNexus 5 و در مرورگر فایرفاکس اجرا می‌شود که امتیازات خواندن و نوشتن را به دست می‌آورد و به آن‌ها توانایی اجرای کد مخرب را بر روی نرم‌افزار موردنظر می‌دهد.

محققان دراین‌باره گفتند: “اگر شما کنجکاوید که آیا ما می‌توانیم بر روی کِروم bit flips را اجرا کنیم یا نه، پاسخ بله است، ما می‌توانیم. درواقع، بیشتر تحقیقات ما در Chrome انجام شد. پس‌ازآن برای بهره‌برداری به فایرفاکس رفتیم فقط به این دلیل که ما در مورد این پلتفرم دانش قبلی داشتیم و اسناد بیشتری کشف کردیم.”

هیچ وصله نرم‌افزاری نمی‌تواند به‌طور کامل مشکل Rowhammer را رفع کند.

ازآنجاکه Rowhammer از یک ضعف سخت‌افزاری در کامپیوتر بهره‌برداری می‌کند، هیچ وصله نرم‌افزاری نمی‌تواند این مشکل را کاملاً حل کند. محققان می‌گویند تهدید Rowhammer نه‌تنها واقعی است بلکه دارای پتانسیل ایجاد یک آسیب جدی و واقعی است.

اگرچه هیچ راهی برای بلوکه کردن یکGPU  در گوشی‌های هوشمند اندرویدی برای عدم سوءاستفاده از DRAM وجود ندارد، این تیم در حال کار با گوگل برای برطرف کردن این مشکل است.

برای جزئیات بیشتر در مورد این تکنیک جدید حمله، می‌توانید بر روی این صفحه[۴] و مقاله‌ی[۵] منتشرشده توسط محققان اطلاعاتی درباره GLitch به دست آورید.

منابع

[۱] https://thehackernews.com/2015/03/dram-rowhammer-vulnerability.html

[۲] https://thehackernews.com/2016/10/root-android-phone-exploit.html

[۳] https://youtu.be/YniqBaSK-Eg

[۴] https://www.vusec.net/projects/glitch

[۵] https://www.vusec.net/wp-content/uploads/2018/05/glitch.pdf

[۶] https://thehackernews.com/2018/05/rowhammer-android-hacking.html


(۱) dynamic random access memory (DRAM)
(۲) graphics processing units (GPU)
(۳) hammer