گوگل ویژگی جدیدی را برای جلوگیری از حملات استفاده‌ی مجددِ کد به هسته‌ی اندروید اضافه کرد

گوگل ویژگی جدیدی را برای جلوگیری از حملات استفاده‌ی مجددِ کد به هسته‌ی اندروید اضافه کرد

شنبه, ۲۱ مهر, ۱۳۹۷ ساعت ۱۱:۰۹

 

شرکت گوگل ویژگی امنیتی جدیدی را به آخرین نسخه‌ از هسته‌ی لینوکس در دستگاه‌های اندرویدی اضافه کرد تا از حملات استفاده‌ی مجددِ کد جلوگیری کند. در این حملات مهاجمان می‌توانند با های‌جک کردن کنترل جریان، به اجرای کدهای دلخواه خود بر روی سیستم‌ قربانی بپردازند. در این حملات مهاجم از یک سری آسیب‌پذیری‌های خرابی حافظه مانند سرریز بافر، اغتشاش در نوع و سرریز عدد صحیح بهره‌برداری می‌کند تا کنترل اشاره‌گرهای کد که در حافظه ذخیره شده را در دست بگیرد. در ادامه می‌تواند کدهای را به‌شیوه‌ای که می‌خواهد و در جریانی که دلخواه اوست هدایت و کنترل کرده و به اهداف مخرب خود دست یابد. 


به دلیل اینکه در هسته‌ی لینوکس در دستگاه‌های اندرویدی از اشاره‌گرهای توابع زیادی استفاده شده است، حملات استفاده‌ی مجددِ کد در این بستر بسیار مورد توجه نفوذگران قرار گرفته است هرچند که اندروید سازوکارهای مختلفی را برای جلوگیری از تزریق کد در جریان مستقیم در حافظه ارائه کرده است. گوگل در راستای جلوگیری از حملات استفاده‌ی مجددِ کد، ویژگی جامعیت کنترل جریان با نام LLVM را به هسته‌ی لینوکس در اندروید اضافه کرده است تا رفتارهای غیرمتعارف نفوذگران که تلاش می‌کنند کنترل جریان برنامه‌های را شنود کرده و یا دست‌کاری کنند، سریع‌تر تشخیص دهد. 

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


به گفته‌ی گوگل، دستگاه پیکسل ۳ گوگل اولین دستگاهی است که این ویژگی بر روی آن فعال شده است. با این حال پشتیبانی از CFI در هسته‌ی لینوکس در نسخه‌های ۴٫۹ و ۴٫۱۴ نیز ارائه شده است. گوگل به تمامی تولیدکنندگان دستگاه‌های اندرویدی توصیه کرده در اندروید ۹ با بستر arm64 ، در هسته‌ی جدیدِ لینوکس این ویژگی را فعال کنند. ویژگی LLVM از دسترسی به اشاره‌گر کدها که در حافظه ذخیره شده و ایجاد شاخه‌های غیرمستقیم در جریان برنامه‌ها توسط نفوذگران جلوگیری می‌کند و یک روش معمول برای بهره‌برداری از هسته‌ی لینوکس را برای مهاجمان بسیار سخت می‌کند. گوگل قصد دارد در انتشار بعدی هسته‌ی لینوکس، از این ویژگی و از قابلیت Shadow Call Stack آن برای حفاظت بیشتر از آدرس‌های بازگشت توابع استفاده کند.
 

منبع


دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شش − 2 =