BootStomp

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

یک تیم تشکیل شده از ۹ محقق امنیتی از دانشگاه کالیفرنیای سانتا باربارا یک ابزار باینری استاتیک ویژه به نام BootStomp تولید کردند که به‌طور خودکار آسیب‌پذیری‌های امنیتی را در بوت‌لودرها شناسایی می‌کند.

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

بنابراین، محققان BootStomp را ایجاد کردند که از ترکیب جدیدی از تکنیک‌های تجزیه‌وتحلیل استاتیک استفاده می‌کند و اجرای نمادین را محدود می‌کند تا یک تجزیه‌وتحلیل چندگانه را ایجاد کند که بتواند آسیب‌پذیری‌های بوت‌لودر را شناسایی کند.

این ابزار به محققان کمک کرده است تا شش آسیب‌پذیری حیاتی و از قبل شناخته‌شده را در بوت‌لودرهایی از HiSilicon (Huawei)، Qualcomm، MediaTek و NVIDIA کشف کنند که می‌توانند توسط مهاجمان مورد سوءاستفاده قرار گیرد تا قفل بوت‌لودر دستگاه را باز کنند و همچنین ROM های مخرب سفارشی و روت‌کیت‌های پایدار را نصب کند.

پنج مورد از آسیب‌پذیری‌ها توسط فروشندگان این چیپست‌ها تأیید شده است. محققان همچنین یک اشکال شناخته‌شده (CVE-2014-9798) را در بوت‌لودرهای Qualcomm یافتند که قبلاً در سال ۲۰۱۴ گزارش شده بود اما هنوز هم موجود و قابل استفاده است.

بوت‌لودر

در مقاله تحقیقاتی[۱] منتشرشده به نام “BootStomp: امنیت بوت‌لودرها در دستگاه‌های موبایل” که در کنفرانس USENIX در ونکوور ارائه شد، محققان توضیح دادند که بعضی از آسیب‌پذیری‌های کشف‌شده به یک مهاجم اجازه می‌دهد تا دسترسی در سطح ریشه بر روی سیستم‌عامل اندروید داشته باشد تا بتواند یک کد مخرب را به‌عنوان بخشی از بوت‌لودر اجرا کنند و یا اینکه حملات DoS را راه‌اندازی کنند.

بر طبق گفته محققان، این آسیب‌پذیری‌ها بر روی مکانیزم‌های Trusted Boot یا Verified Boot در ARM و اندروید تأثیر می‌گذارند که سازندگان چیپست‌ها آن‌ها را برای ایجاد یک Chain of Trust پیاده‌سازی کردند که صلاحیت هر جزء سیستم را در هنگام بالا آمدن دستگاه بررسی می‌کنند.

مرور کلی: آسیب‌پذیری‌های بوت‌لودر کشف‌شده

محققان پنج نوع مختلف از پیاده‌سازی‌های بوت‌لودر را در Huawei P8 ALE-L23 (Huawei/HiSilicon chipset)، Nexus 9 (NVIDIA Tegra chipset)، Sony Xperia XA (MediaTek chipset)  و دو نسخه از بوت‌لودر‌های بر پایه LK و متعلق به Qualcomm کشف کردند.

این محققان پنج نوع آسیب‌پذیری حیاتی را در بوت‌لودر اندروید گوشی هوآووی کشف کردند:

  • یک مشکل نوشتن حافظه دلخواه یا DoS در هنگام تجزیه DTB در کرنل لینوکس که در پارتیشن boot ذخیره شده است.
  • یک مشکل سرریز بافر پشته در هنگام خواندن پارتیشن oem_info که قابل نوشتن در سطح ریشه است.
  • یک توانایی کاربر در سطح ریشه برای نوشتن پارتیشن‌های nve و oem_info که از این طریق اطلاعات پیکربندی و مجوز دسترسی به حافظه که بر روی لوازم جانبی گوشی‌های هوشمند قرار دارد، قابل‌خواندن است.
  • یک مشکل خرابی حافظه که می‌تواند به یک مهاجم اجازه دهد یک روت‌کیت مداوم نصب کند.
  • یک اشکال نوشتن حافظه دلخواه که به یک مهاجم اجازه می‌دهد که یک کد دلخواه را به‌عنوان یک بوت‌لودر اجرا کند.

یک آسیب‌پذیری دیگر در hboot شرکت NVIDIA کشف شده است که در EL1 عمل می‌کند و بدان معنی است که یک دسترسی بر روی سخت‌افزار و در حد کرنل لینوکس دارد که اگر به خطر بیفتد، مهاجم می‌تواند دستگاه موردنظر را تهدید کند.

محققان همچنین یک آسیب‌پذیری شناخته‌شده به نام CVE-2014-9798 را که هم‌اکنون وصله شده است[۲] را نیز در یک نسخه قدیمی از بوت‌لودر شرکت Qualcomm کشف کردند که می‌تواند برای راه‌اندازی یک حمله DoS مورد بهره‌برداری قرار گیرد.

محققان تمام آسیب‌پذیری‌های کشف‌شده را به فروشندگان مربوطه گزارش کردند. هوآووی تمامی پنج آسیب‌پذیری را تائید کرد و NVIDIA در حال کار با محققان برای برطرف کردن آن‌هاست.

این تیم از محققان همچنین مجموعه‌ای از عوامل بازدارنده را برای محدود کردن سطح حمله بوت‌لودر و نیز اجرای خواص مطلوب مختلف برای حفظ امنیت و حریم خصوصی کاربران پیشنهاد کرده‌اند.

 

منابع

[۱] https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-redini.pdf

[۲] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9798

[۳] http://thehackernews.com/2017/09/hacking-android-bootloader-unlock.html