هدف قرار گرفتن دستگاه‌های اندروید توسط نوع جدیدی از حمله‌ی Rowhammer به‌نام RAMpage

دوشنبه ۱۱ تیر ۱۳۹۷
محققان امنیتی، تغییر جدیدی در روش حمله‌ی Rowhammer کشف کردند که به مهاجم اجازه‌ی ایجاد یک سوء استفاده را برای کنترل گوشی‌های هوشمند و تبلت‌های اندروید می‌دهد. یک
مرکز آپا شریف
SUT-APA-LOGO

یک تیم از محققان امنیتی، تغییر جدیدی در روش حمله‌ی Rowhammer کشف کردند که به مهاجم اجازه می‌دهد تا یک سوءاستفاده را برای کنترل گوشی‌های هوشمند و تبلت‌های اندروید ایجاد کند. این نقص (CVE-2018-944)، بر دستگاه‌های اندرویدی که در سال 2012 تولید شده‌اند، تأثیر می‌گذارد.
به گفته‌ی محققان، نقص Rowhammer طی دو سال گذشته، از یک خطای اختلال DRAM که به‌سختی قابل سوءاستفاده بود، به یک بردار حمله‌ی قدرتمند تبدیل شده است. این روش حمله‌ی جدید که RAMpage نامیده می‌شود، مجموعه‌ای از حملات Rowhammer مبتنی بر DMA (Direct Memory Access) در برابر آخرین نسخه از سیستم‌عامل اندروید است که شامل یک سوء‌استفاده‌ی ریشه و یک مجموعه‌ از سناریوهای سوءاستفاده‌ی برنامه به برنامه است که تمام سیستم‌های دفاعی را دور می‌زند.
DMA‌ به یک دستگاه ورودی/خروجی (I/O) اجازه می‌دهد تا اطلاعات را به‌طور مستقیم از حافظه‌ی اصلی دریافت یا به آن ارسال کند و CPU را برای سرعت‌بخشیدن به عملیات حافظه دور بزند. این فرایند، توسط یک تراشه‌ که به‌عنوان یک کنترل‌کننده‌ی DMA (DMAC) شناخته شده است، مدیریت می‌شود.
نقص اصلیRowhammer که در سال 2015 کشف شد، روشی برای بارگیری ردیف سلول‌های حافظه در دستگاه‌های DRAM برای تغییر حالت سلول‌ها از یک حالت به حالت دیگر است. این نوع تغییر بیت، به‌عنوان تداخل الکتریکی یا نشت ترانزیستور نیز توصیف شده است. اولین‌بار، پروژه‌ی Zero از گوگل، آسیب‌پذیری Rowhammer را کشف کرد و نشان داد که چگونه یک برنامه‌ی مخرب می‌تواند این بیت‌ها را در سلول‌ها تولید کند و امتیازات سطح هسته را در لپ‌تاپ‌ها و رایانه‌های شخصی به‌دست آورد.
در سال 2016، محققان متوجه شدند که چگونه روش حمله‌ی Rowhammer می‌تواند به دستگاه‌های اندروید اعمال شود و دسترسی ریشه به میلیون‌ها گوشی اندروید ازجمله Nexus، سامسونگ، ال‌جی و موتورولا را به‌دست آورد.
این نوع حمله‌، کمی از حمله‌ی Rowhammer که متکی به تکنیک Flip Feng Shui است، متفاوت است. یک روش سوءاستفاده‌ی Flip Feng Shui، اندازه‌ی بخشی از حافظه‌ که در آن، حافظه‌ی اختصاص داده شده به‌صورت پویا (heap) مستقر است را به‌دقت انتخاب می‌کند. سپس حمله‌ی Rowhammer، آن بخشی از حافظه که می‌تواند حالت بیت‌های حافظه‌ی مجاور را تغییر دهد، هدف قرار می‌دهد و شرایط لازم برای دستکاری حافظه را ایجاد می‌کند. طبق گفته‌ی محققان، این تغییرات بیتی می‌تواند به سادگی تغییردادن 0 به1 یا 1 به 0 باشد.
آخرین نسخه‌ی Rowhammer (RAMpage)، به روش‌ مشابه عمل می‌کند. RAMpage، یک سیستم مدیریت جهانی حافظه‌ی عمومی اندروید را که “ION” نامیده می‌شود و در سال 2011 به‌عنوان بخشی از اندروید 4.0 توسط گوگل معرفی شده است، هدف قرار می‌دهد. این بخش، بخشی از زیرسیستم مورد استفاده برای مدیریت و تخصیص حافظه است. حمله‌ی RAMpage، شامل یک درخواست نوشتن و بازخوانی در حافظه‌ی دستگاه است (تا زمانی که یک بیت را در ردیف مجاور تغییر دهد) تا راهی برای دستکاری دستگاه باز ‌کند. پیش‌نیاز یک حمله‌ی احتمالی این است که کاربر، یک برنامه‌ی غیرمجاز را که قادر به انجام حمله است، نصب کند.
خوشبختانه، محققان ابزاری به‌نام “GuardION” منتشر کردند که یک کاهش نرم‌افزاری بر علیه حملات RAMpage است. به گفته‌ی آنان، این ابزار با اجرای دقیق یک سیاست انزوای جدید، مانع از حمله‌ی مهاجم برای تغییر ساختار‌ داده‌های حیاتی می‌شود. GuardION از دستگاه در برابر همه‌ی بردارهای حمله‌ی شناخته‌شده‌ی Rowhammer محافظت می‌کند و هیچ تکنیک موجودی نمی‌تواند آن‌را از دور بزند.
اگرچه GuardION هنوز در سیستم‌عامل مستقر نشده است، اما تلاش‌های زیادی برای تحقق این امر وجود دارد. کد منبع GuardION به‌صورت وصله، از نوع وصله‌ی هسته در دسترس است. در حال حاضر این وصله به‌طور گسترده در دسترس نیست و فقط برای Google Pixel که اندروید 7.1.1 را اجرا می‌کند، مورد آزمایش قرار گرفته است.
همانطور که گفته شد، این حمله تمامی دستگاه‌های اندرویدی که در سال 2012 تولید شده‌اند را هدف قرار می‌دهد، اما در صورتی که کاربران، برنامه‌های کاربردی را از منابع مورد اعتماد مانند Google Play دانلود کنند، می‌توانند از دستگاه‌های خود در برابر این حمله محافظت نمایند.