BlueBorne
BlueBorne — собирательное название для восьми опасных уязвимостей электронных устройств с различными реализациями Bluetooth в Android, iOS, Windows и Linux.
Как отмечают специалисты по информационной безопасности из компании Armis[1], обнаружившие эти уязвимости, их невозможно обнаружить и устранить стандартными средствами, а для эксплуатации багов злоумышленнику не требуется ни взаимодействие с пользователем, ни сопряжение с целевым устройством. Единственным требованием является включённый Bluetooth на устройстве жертвы. Уязвимости затрагивают практически все типы устройств: от смартфонов, ноутбуков и носимых гаджетов до IoT-устройств и «умных» автомобилей.
Общий обзор
Уязвимости BlueBorne имеют следующие идентификаторы CVE:
- CVE-2017-1000251[2] — удалённое исполнение кода (RCE) в ядре Linux;
- CVE-2017-1000250[3] — утечка данных в стеке Bluetooth под Linux;
- CVE-2017-0785[4] — утечка данных в Android;
- CVE-2017-0781[5] — удалённое исполнение кода в Android;
- CVE-2017-0782[6] — удалённое исполнение кода в Android;
- CVE-2017-0783[7] — логическая уязвимость (Bluetooth Pineapple) в Android;
- CVE-2017-8628[8] — логическая уязвимость (Bluetooth Pineapple) в Windows;
- CVE-2017-14315[9] — удалённое исполнение кода в проприетарном протоколе Apple Low Energy Audio Protocol.
Перечисленные уязвимости имеют статус критических и позволяют запускать на устройстве вредоносный код, осуществлять полный контроль над устройством, проводить атаку посредника и перехватывать Bluetooth-соединения.
Уязвимые устройства
Уязвимости присутствуют в реализациях Bluetooth для Android, iOS, Windows и Linux. Ключевые производители — Apple, Google, Microsoft — а также сообщество Linux были осведомлены о проблеме. Для устаревших устройств, не поддерживаемых производителем, патчи недоступны; доля таких устройств по разным оценкам превышает 40 % и может составлять более двух миллиардов по всему миру.
Android
Все смартфоны, планшеты и носимые устройства на всех версиях Android подвержены четырём уязвимостям, из которых две позволяют удалённое исполнение кода (CVE-2017-0781[5] и CVE-2017-0782[6]), а две другие — утечку информации (CVE-2017-0785[4]) и атаку посредника (CVE-2017-0783[7]). Устройства с поддержкой Bluetooth Low Energy не уязвимы к BlueBorne.
Windows
Все версии Windows начиная с Windows Vista уязвимы к атаке Bluetooth Pineapple, позволяющей провести атаку посредника (CVE-2017-8628[8]).
Linux
Все устройства на Linux, включая платформу Tizen OS, и использующие стек BlueZ, содержат уязвимость утечки информации (CVE-2017-1000250[3]). Кроме того, ядра Linux версий с 2.6.32 по 4.14 подвержены атаке с удалённым исполнением кода (CVE-2017-1000251[2]).
iOS
Все iPhone, iPad и iPod touch с iOS 9.3.5 и ниже, а также AppleTV с версией tvOS 7.2.2 и ниже подвержены удалённому исполнению кода (CVE-2017-14315[9]).
Amazon Echo и Google Home
Более 20 миллионов колонок Amazon Echo и Google Home, работающих под управлением Android или Linux, уязвимы к BlueBorne. Эксплуатируя CVE-2017-1000251[2] и CVE-2017-1000250[3] в Amazon Echo, а также CVE-2017-0785[4] в Google Home, исследователям удалось получить полный контроль над устройствами. Взломанные гаджеты могут быть использованы для прослушки или как стартовая точка дальнейших атак. Обе компании выпустили патчи для устранения уязвимостей.
Технические особенности
Детальная техническая информация об уязвимостях BlueBorne и эксплойты, использующие некоторые из них, доступны в базах CVE (например, Vulnerability Data Base[10]), а также в репозитории Armis[11].
Атаки BlueBorne на Android
- Уязвимость утечки информации (CVE-2017-0785[4])
Находится в сервере SDP (Service Discovery Protocol), который обеспечивает идентификацию Bluetooth-устройств. Позволяет атакующему внедрять спецкоманды, чтобы сервер отдавал фрагменты памяти. Это может привести к обходу механизмов защиты и захвату контроля над устройством, а также к получению ключей шифрования.
- Уязвимость удалённого выполнения кода № 1 (CVE-2017-0781[5])
Ошибки в протоколе BNEP (Bluetooth Network Encapsulation Protocol) позволяют осуществить повреждение оперативной памяти и запускать вредоносный код на устройстве. Для эксплуатации не требуется никаких действий пользователя или проверки подлинности.
- Уязвимость удалённого выполнения кода № 2 (CVE-2017-0782[6])
Находится в службе BNEP — профиле персональной сети (PAN). Уязвимость связана с большим повреждением памяти, что может позволить получить контроль над устройством без подтверждения пользователя.
- Атака Man-in-the-Middle (CVE-2017-0783[7])
Позволяет перехватывать и изменять любой трафик целевого устройства. Находится в PAN-профиле стека Bluetooth: атакующий создаёт вредоносный сетевой интерфейс, меняет маршрутизацию и перенаправляет весь трафик через свой интерфейс без ведома пользователя.
Атаки BlueBorne на Windows
- Атака Man-in-the-Middle № 2 (CVE-2017-8628[8])
Уязвимость, аналогичная найденной в Android, позволяет создать вредоносный сетевой интерфейс в стеке Bluetooth, изменить маршрутизацию и скрыто перехватывать трафик — также без необходимости взаимодействия с пользователем.
Атаки BlueBorne на Linux
- Уязвимость утечки информации (CVE-2017-1000250[3])
Аналогична Android: ошибка в сервере SDP позволяет атакующему отправлять спецкоманды, вызывая утечку фрагментов памяти, в том числе ключей шифрования.
- Переполнение стека в BlueZ (CVE-2017-1000251[2])
Ошибка в реализации протокола L2CAP (Logical Link Control and Adaptation Protocol) в стеке Bluetooth ядра Linux приводит к повреждению памяти. Эксплуатация позволяет получить полный контроль над устройством на уровне ядра.
Атаки BlueBorne на iOS
- Удалённое выполнение кода через Apple Low Energy Audio Protocol (CVE-2017-14315[9])
Уязвимость обнаружена в LEAP (Low Energy Audio Protocol), разработанном Apple для аудиостриминга через Bluetooth. Из-за ошибки проверки команд большая аудиокоманда может привести к переполнению памяти и выполнить вредоносный код на устройстве.
Меры безопасности
В качестве основной меры безопасности рекомендуется обновление устройств патчами, устраняющими уязвимости.
Для проверки на уязвимость Android-устройства был выпущен Armis BlueBorne Scanner App[12]. Операционная система Android начиная с версии 6.0 получила патчи; рекомендуется обновлять устройства до самой свежей версии и устанавливать исправления, выпускаемые производителем.
В ядре Linux проблема устранена с сентября 2017 года. Системы с включённой защитой от переполнения стека (CONFIG_CC_STACKPROTECTOR=y), характерной для RHEL, CentOS, Fedora, Ubuntu и большинства десктопных дистрибутивов, защищены от эксплуатации этой уязвимости — в них атака приводит только к сбою системы. Наиболее подвержены мобильные платформы на Linux (например, Tizen).
Microsoft выпустила обновления для поддерживаемых версий Windows (начиная с Windows 7) в июле, автоматическая защита реализована при использовании Центра обновления Windows.
Уязвимости в продукции Apple были исправлены в iOS 10 и выше; рекомендуется устанавливать последние версии iOS и tvOS.
До установки официальных патчей также рекомендовано полностью отключать Bluetooth, используя его только при необходимости — это существенно снижает риск взлома.
Примечания
Ссылки
- Armis
- Armis BlueBorne Exploits & Framework
- Vulnerability Data Base
- Миллиарды устройств с поддержкой Bluetooth уязвимы к атакам BlueBorne, 12 сентября 2017
- Более 20 млн устройств Amazon Echo и Google Home уязвимы к атакам BlueBorne, 16 ноября 2017
- Вектор атаки «BlueBorne» открывает уязвимость почти всех подключённых устройств
- Common Vulnerabilities and Exposures — стандарт наименования уязвимостей
- Vulnerability Data Base


