محققان دانشگاههای Darmstadt, Brescia, CNIT و آزمایشگاه شبکههای موبایل امن (Secure Mobile Networking Lab)، مقالهای منتشر کردهاند که ثابت میکند میتوان با حمله به بلوتوث یک دستگاه، رمز عبور وای فای را استخراج کرد و ترافیک آن را دستکاری کرد.
هماهنگی میان چیپ های دستگاه
دستگاههای الکترونیکی مدرن، مانند گوشیهای هوشمند که دارای SoC هستند، قسمتهای بلوتوث، وایفای و LTE هرکدام پیادهسازی امنیتی اختصاصی خود را دارند. اما با این حال، این اجزاء اغلب منابع مشابهی مانند آنتن یا طیف بی سیم یکسانی دارند. هدف این اشتراکگذاری منابع، صرفهجویی در مصرف انرژی SoC ها و دادن توان عملیاتی بالاتر و تأخیر کم در ارتباطات است. همانطور که محققان در مقاله اخیراً منتشر شده توضیح میدهند، میتوان از این منابع مشترک به عنوان پلهایی برای راهاندازی حملات جانبی در مرز این تراشههای بی سیم استفاده کرد.
پیامدهای این حملات شامل اجرای کد، بازخوانی حافظه و از کار انداختن دستگاه است.
وجود مشکلات در معماری و پروتکل
برای استفاده از نقطهضعف این آسیبپذیریها، محققان ابتدا نیاز به اجرای کد خودشان روی حداقل یکی از تراشههای بلوتوث یا وایفای داشتند. هنگامی که محققان موفق شدند تا یکی از این قسمتها را هک کنند، به راحتی توانستند با استفاده از منابع حافظه مشترک، حملات جانبی را به تراشههای دیگر دستگاه را انجام دهند.
در مقالهای که محققان منتشر کردند، توضیح میدهند که چگونه حملات محرومسازی از سرویس، اجرای کد، استخراج رمزهای عبور شبکه و خواندن دادههای حساس روی چیپستهای Broadcom، Cypress و Silicon Labs را از راه دور و به صورت OTA (Over-the-Air) انجام دهند!
CVE در تصاویر بالا، مخفف عبارات زیر هستند:
- CVE-2020-10368: نشت داده های رمزگذاری نشده WiFi (معماری)
- CVE-2020-10367: اجرای کد Wi-Fi (معماری)
- CVE- 2019-15063: انکار سرویس Wi-Fi (پروتکل)
- CVE-2020-10370: انکار سرویس بلوتوث (پروتکل)
- CVE-2020-10369: نشت داده های بلوتوث (پروتکل)
- CVE-2020-29531: انکار سرویس WiFi (پروتکل)
- CVE-2020-29533: نشت داده WiFi (پروتکل)
- CVE-2020-29532: انکار سرویس بلوتوث (پروتکل)
- CVE-2020-29530: نشت داده های بلوتوث (پروتکل)
برخی از ایرادات فوق فقط با یک ویرایش سختافزاری جدید قابلرفع هستند، بنابراین بهروزرسانی سیستمعامل نمیتواند تمام مشکلات امنیتی شناساییشده را برطرف کند. بهعنوانمثال، نقصهایی که به اشتراکگذاری حافظه فیزیکی متکی هستند را، نمیتوان با هر نوع بهروزرسانی امنیتی برطرف کرد!
مشکلات امنیتی در برخی قسمتها مانند “packet timing” و “metadata flaws” منجر به کاهش شدید عملکرد در قسمت هماهنگی بستهها میشود.
اصلاحات انجام شده
محققان به بررسی تراشههای ساختهشده توسط شرکتهای Broadcom، Silicon Labs و Cypress پرداختند که در داخل میلیاردها دستگاه الکترونیکی یافت میشود. مسئول تمام این نقصها فروشندگان تراشه گزارش شده است و برخی از آنها در صورت امکان به روز رسانیهای امنیتی را منتشر کردهاند. خیلی از آنها هم به مشکلات امنیتی توجه نکردهاند. این بی توجهی ممکن است به دلیل این باشد که دیگر از آن تراشه پشتیبانی نمیکنند، و یا سیستمعامل اجازه این کار را نمیدهد.
از نوامبر 2021، بیش از دو سال پس از گزارش اولین باگ همزیستی (coexistence bug)، هنوز هم خیلی از حملات همزیستی ازجمله اجرای کد، روی تراشههای بهروز Broadcom کار میکنند. این نشان میدهد که رفع این مشکلات در عمل چقدر سخت است!
شرکت Cypress برخی از اصلاحات را در ژوئن 2020 منتشر کرد و وضعیت را در اکتبر به شرح زیر به روز کرد:
- این شرکت ادعا میکنند که ویژگی RAM مشترک که باعث اجرای کد میشود، ازین پس تنها با ابزارهای خاص و برای تست فعال میشود و بهزودی نیز پشتیبانی از آن حذف میشود.
- باگ مربوط به نشت کلید، بدون نیاز به وصله امنیتی برطرف گردید.
- مقاومت DoS هنوز حل نشده است، اما درحالتوسعه میباشد. برای این منظور، Cypress قصد دارد یک ویژگی برای نظارت کردن WiFi و بلوتوث پیادهسازی کند تا الگوهای ترافیک غیرعادی را خنثی کند.
به گفته محققان، روند رفع مشکلات شناساییشده، کند و ناکافی بوده، و خطرناکترین جنبه حمله تا حد زیادی رفع نشده است.
راه حل
در همین حال، و تا زمانی که این مشکلات مربوط به سختافزار اصلاحنشده، به کاربران توصیه میشود تا حداقل اقدامات حفاظتی ساده زیر را دنبال کنند:
- دستگاههای بلوتوث جفت شدهای که غیرضروری هستند را حذف کنید.
- شبکههای وای فای ذخیرهشده که استفادهای ندارد را از تنظیمات حذف کنید.
- در فضاهای عمومی، بهجای وای فای از شبکه تلفن همراه استفاده کنید.
بهعنوان آخرین نکته، میتوان گفت که وصلههای امنیتی در مدلهای جدید دستگاه، امنیت بیشتری دارند، بنابراین ارتقاء به یک ابزار جدیدتر که توسط فروشنده بهصورت فعالانه پشتیبانی میشود، از منظر امنیت ایده خوبی است.
یعنی ممکنه esp32 ها هم همین ایراد رو داشته باشن؟
کلاً هر چیزی که از طریق هوا ارسال بشه، امنیتش کم هست. البته در این مورد خاص، ESP32 یا ESP8266 فقط وای فای داره و شامل این موضوع نمیشه.
8266 اره ولی esp32 بلوتوث هم داره ها!
آهان ببخشید، من نسخه ESP32-S2 رو دیده بودم که بلوتوث نداشت! بله، احتمالش هست، اما خوب این هم یک روش حمله هست و این روش هم برای هر نوع SoC باید به صورت جداگانه تحقیق بشه و عملیات مختص همون رو طراحی کرد. حملات دیگه ای هم ممکنه وجود داشته باشه. این تحقیقات بیشتر میخوان ثابت کنن که هیچ چیز 100 در صد امن نیست، مخصوصا وقتی اطلاعات قراره از طریق هوا منتشر بشن.
اغلب ماژول های ESP32 در کنار وای فای بلوتوث هم دارند.
بله، درسته، من دقت کرده بودم.
مثل همیشه عالی