یک تیم از محققان امنیتی، تغییر جدیدی در روش حملهی #Rowhammer کشف کردند که به مهاجم اجازه میدهد تا یک سوءاستفاده را برای کنترل گوشیهای هوشمند و تبلتهای اندروید ایجاد کند. این نقص (CVE-2018-944)، بر دستگاههای اندرویدی که در سال 2012 تولید شدهاند، تأثیر میگذارد.
به گفتهی محققان، نقص Rowhammerطی دو سال گذشته، از یک خطای اختلال DRAMکه بهسختی قابل سوءاستفاده بود، به یک بردار حملهی قدرتمند تبدیل شده است. این روش حملهی جدید که RAMpageنامیده میشود، مجموعهای از حملات Rowhammerمبتنی بر DMA در برابر آخرین نسخه از سیستمعامل اندروید است که شامل یک سوءاستفادهی ریشه و یک مجموعه از سناریوهای سوءاستفادهی برنامه به برنامه است که تمام سیستمهای دفاعی را دور میزند.
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دانلود کنند، میتوانند از دستگاههای خود در برابر این حمله محافظت نمایند.
- 7