BlueBorne
BlueBorne — загальна назва восьми небезпечних вразливостей електронних пристроїв, що працюють з різними імплементаціями Bluetooth в Android, iOS, Windows і Linux.
За словами дослідників безпеки з компанії Armis[9], які виявили уразливості, проблеми BlueBorne неможливо виявити і виправити стандартними методами, а для експлуатації багів зловмиснику не потрібна ні взаємодія з користувачем, ні пара з цільовим пристроєм. Єдина потреба - включений Bluetooth на пристрої «жертви». Уразливості зачіпають практично всі типи пристроїв від смартфонів, ноутбуків і носимих гаджетів до IoT-девайсів і «розумних» автомобілів.
Загальний огляд
Уразливості позначені такими ідентифікаторами CVE:
- CVE-2017-1000251 [1]. RCE в ядрі Linux;
- CVE-2017-1000250 [2]. Уразливість витоку даних в стеку Bluetooth у Linux;
- CVE-2017-0785 [3]. Уразливість витоку даних в Android;
- CVE-2017-0781 [4]. RCE в Android;
- CVE-2017-0782 [5]. RCE в Android;
- CVE-2017-0783 [6]. Логічна уразливість в Android (Bluetooth Pineapple);
- CVE-2017-8628 [7]. Логічна уразливість в Windows (Bluetooth Pineapple);
- CVE-2017-14315 [8] RCE-уразливість пропрієтарного протоколу Apple Low Energy Audio Protocol.
Описані уразливості оцінюються як критичні і дозволяють виконати на пристрої довільний шкідливий код, отримати повний контроль над пристроєм, здійснити атаки «людина посередині» (англ. Man in the middle (MITM)) і перехопити Bluetooth-з'єднання.
Вразливі пристрої
Уразливості містяться в реалізаціях Bluetooth Android, iOS, Windows і Linux. Apple, Google, Microsoft і спільнота Linux були проінформовані про дані проблеми. Коригувальні патчі недоступні для застарілих пристроїв, які вже не підтримується виробником. Число таких пристроїв, за деякими оцінками, становить близько 40% або більше двох мільярдів по всьому світу.
Android
Всі телефони, планшети і портативні пристрої всіх версій Android схильні до 4 вразливостей, дві з яких дозволяють провести віддалене виконання коду (CVE-2017-0781 [4] і CVE-2017-0782 [5]), інші - витік інформації (CVE-2017-0785 [3]) і атаку Man-in-The-Middle (CVE-2017-0783 [6]). Уразливості BlueBorne не зачіпають Android-пристрої, що використовують технологію Bluetooth Low Energy.
Windows
Всі версії Windows, починаючи з Vista, схильні "Bluetooth Pineapple" уразливості, яка дозволяє здійснити атаку Man-in-The-Middle (CVE-2017-8628 [7]).
Linux
Всі Linux пристрої, в тому числі на Tizen OS, використовують технологію BlueZ, схильні до вразливості, допускає витік інформації (CVE-2017-1000250 [2]). Також Linux версій 2.6.32 до 4.14 вразливий перед атакою, що використовує віддалене виконання коду (CVE-2017-1000251 [1]).
iOS
Всі iPhone, iPad і iPod touch версій iOS 9.3.5 і нижче, AppleTV версій 7.2.2 і нижче допускають вразливість віддаленого виконання коду (CVE-2017-14315 [8]).
Amazon Echo and Google Home
Понад 20 млн пристроїв Amazon Echo і Google Home, що працюють під управлінням ОС Android і Linux, уразливі до атак з експлуатацією набору вразливостей BlueBorne. Дослідникам вдалося успішно проексплуатувати уразливості CVE-2017-1000251 [1] і CVE-2017-1000250 [2] у колонці Amazon Echo і CVE-2017-0785 [3] в Google Home і отримати контроль над віртуальним асистентом. Хакери можуть перехопити управління вразливими гаджетами і використовувати їх для запису розмов або як відправну точку для інших атак. Обидві компанії вже випустили патчі, які усувають проблему.
Технічні особливості
Детальна технічна інформація про уразливість і експлойти, що використовують деякі з вразливостей BlueBorne є в базах CVE, наприклад Vulnerability Data Base [12], а також в репозиторії Armis [11].
Атаки BlueBorne на Android
- Вразливість, яка може призвести до витоку інформації (CVE-2017-0785 [3])
Уразливість виявлена в сервері SDP (Service Discovery Protocol), який дозволяє пристрою ідентифікувати інші Bluetooth-девайси навколо нього. Недолік дозволяє атакуючому відправляти набір запитів на сервер, змушуючи його розкривати біт пам'яті у відповідь. Ця інформація може використовуватися для подолання заходів захисту і захоплення контролю над пристроєм. Ця вразливість також дозволяє зловмиснику отримати ключі шифрування з цільового пристрою і підслуховувати з'єднання Bluetooth.
- Уразливість віддаленого виконання коду №1 (CVE-2017-0781 [4])
Уразливість присутня у службі протоколу BNEP (Bluetooth Network Encapsulation Protocol), який дозволяє обмінюватися Інтернетом через з'єднання Bluetooth (модем). Через недолік в службі BNEP хакер може викликати пошкодження оперативної пам'яті, що дозволяє йому запускати код на пристрої, надаючи йому повний контроль. Через відсутність правильних перевірок авторизації запуск цієї уразливості не вимагає взаємодії з користувачем, автентифікації або сполучення, тому цільової користувач не знає про поточну атаці.
- Уразливість віддаленого виконання коду №2 (CVE-2017-0782 [5])
Уразливість знаходиться на більш високому рівні служби BNEP – особистому профілі Area Networking (PAN), який відповідає за встановлення мережного з'єднання на основі IP між двома пристроями. У цьому випадку пошкодження пам'яті більше, але все ще може використовуватися зловмисником, щоб отримати повний контроль над зараженим пристроєм. Ця вразливість також може бути викликана без взаємодії з користувачем, автентифікації або сполучення.
- Уразливість Man-in-The-Middle (CVE-2017-0783 [6])
Атаки даного типу дозволяють зловмиснику перехоплення та втручання в усі дані, вхідні або вихідні від цільового пристрою. У Bluetooth зловмисник може активно залучати свою мету, використовуючи будь-який пристрій з можливостями Bluetooth. Уразливість знаходиться в PAN-профілі Bluetooth стеку і дозволяє зловмисникові створити шкідливий мережевий інтерфейс на пристрої жертви, заново налаштувати IP-маршрутизацію і змусити пристрій передавати всі повідомлення через шкідливий мережевий інтерфейс. Ця атака не вимагає взаємодії з користувачем, автентифікації або сполучення, що робить її невидимою.
Атака BlueBorne на Windows
- Уразливість Man-in-The-Middle №2 (CVE-2017-8628 [7])
Ця вразливість ідентична знайденої в операційній системі Android, і впливає на обидві системи, так як вони поділяють одні й ті ж принципи реалізації протоколу Bluetooth. Дана уразливість знаходиться в стеку Bluetooth і дозволяє зловмисникові створити шкідливий мережевий інтерфейс на пристрої жертви, заново налаштувати IP-маршрутизацію і змусити пристрій передавати через нього всі повідомлення. Ця атака не вимагає взаємодії з користувачем, автентифікації або сполучення, що робить її практично непомітною.
Атаки BlueBorne на Linux
- Вразливість, яка може призвести до витоку інформації (CVE-2017-1000250 [2])
Подібно уразливості витоку інформації в Android, ця вразливість знаходиться на сервері SDP, відповідального за ідентифікацію інших служб, що використовують Bluetooth навколо пристрою. Недолік дозволяє зловмисникові відправляти на сервер набір створених запитів, що призводить до розкриття бітів пам'яті у відповідь. Це може бути використане зловмисником для надання конфіденційних даних Bluetooth, містять ключі шифрування Bluetooth зв'язку.
- Переповнення стека в BlueZ (CVE-2017-1000251 [1])
Ця уразливість була знайдена в Bluetooth стеку Linux ядра, яке знаходиться в самому ядрі операційної системи. Внутрішня помилка в протоколі L2CAP (Logical Link Control and Adaptation Protocol), який використовується для з'єднання між двома пристроями, що призводить до пошкодження пам'яті. Зловмисник може використовувати це пошкодження пам'яті для одержання повного контролю над пристроєм.
Атака BlueBorne на iOS
- Віддалене виконання коду з допомогою протоколу Apple Low Energy Audio (CVE-2017-14315 [8])
Ця вразливість була виявлена в новому протоколі LEAP (Low energy audio protocol), розроблений Apple і працюючим поверх Bluetooth. Протокол призначений для потокової передачі аудіо на периферійні пристрої. Через недолік в реалізації протоколу, велика аудиокоманда може бути відправлена на цільове пристрій і привести до пошкодження пам'яті. Так як аудиокоманды, відправлені через LEAP належним чином не підтверджуються, зловмисник може використовувати пошкодження пам'яті, щоб отримати повний контроль над пристроєм.
Заходи безпеки
- Оновлення для пристроїв, для яких були випущені патчі, усувають дані уразливості.
Для перевірки, чи схильний Android-пристрій до даної уразливості, було випущено спеціальний додаток Armis BlueBorne Scanner App [10]. Версії Android 6.0 і вище отримали патчі, рекомендується оновлення пристроїв до операційної системи останньої доступної версії. Користувачі Android повинні дочекатися виправлень безпеки для своїх пристроїв, так як це залежить від виробника пристрою.
У ядрі Linux проблема була усунена 9 вересня 2017. В ядрах Linux з включеною захистом від переповнення стека (CONFIG_CC_STACKPROTECTOR=y) вразливість призводить тільки до краху ядра. Подібний захист за замовчуванням включена в ядрах RHEL CentOS, Fedora, Ubuntu і більшості стаціонарних дистрибутивів Linux. Тому в звичайних дистрибутивах можливий лише виклик краху, а основна небезпека загрожує мобільним Linux-платформ, таких як Tizen.
Компанія Microsoft випустила оновлення для системи безпеки підтримуваних версій (починаючи з Windows 7) у липні. Клієнти, у яких включений Центр оновлення Windows і застосовані оновлення безпеки, були захищені автоматично.
Уразливості в пристроях Apple були усунені у версіях iOS 10 і вище. Рекомендується оновлення пристроїв до останніх доступних версій iOS і tvOS.
- Рекомендується повне відключення Bluetooth до тих пір, поки не буде встановлений патч для відповідного пристрою. Використання Bluetooth тільки при необхідності дозволить істотно звузити можливості хакерів для злому.
Посилання
Джерела
- Мільярди пристроїв з підтримкою Bluetooth уразливі до атак BlueBorne, 12 вересня 2017
- Понад 20 млн пристроїв Amazon Echo і Google Home уразливі до атак BlueBorne, 16 листопада 2017
- The Attack Vector "BlueBorne" Exposes Almost Every Connected Device
- Common Vulnerabilities and Exposures The Standard for Information Security Vulnerability Names
- Vulnerability Data Base