BlueBorne
BlueBorne — общее название восьми опасных уязвимостей электронных устройств, работающих с различными имплементациями Bluetooth в Android, iOS, Windows и Linux.
По словам исследователей безопасности из компании Armis[1], обнаруживших уязвимости, проблемы BlueBorne невозможно обнаружить и исправить стандартными методами, а для эксплуатации багов злоумышленнику не требуется ни взаимодействие с пользователем, ни сопряжение с целевым устройством. Единственная необходимость — включённый Bluetooth на устройстве «жертвы». Уязвимости затрагивают практически все типы устройств, от смартфонов, ноутбуков и носимых гаджетов до IoT-девайсов и «умных» автомобилей.
Общий обзор
Уязвимости обозначены следующими идентификаторами CVE:
- CVE-2017-1000251[2] — RCE в ядре Linux;
- CVE-2017-1000250[3] — Уязвимость утечки данных в стеке Bluetooth в Linux;
- CVE-2017-0785[4] — Уязвимость утечки данных в Android;
- CVE-2017-0781[5] — RCE в Android;
- CVE-2017-0782[6] — RCE в Android;
- CVE-2017-0783[7] — Логическая уязвимость в Android (Bluetooth Pineapple);
- CVE-2017-8628[8] — Логическая уязвимость в Windows (Bluetooth Pineapple);
- CVE-2017-14315[9] — RCE-уязвимость проприетарного протокола Apple Low Energy Audio Protocol.
Описанные уязвимости оцениваются как критические и позволяют выполнить на устройстве произвольный вредоносный код, получить полный контроль над устройством, осуществить атаку посредника (англ. Man in the middle (MITM)) и перехватить 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]). Уязвимости BlueBorne не затрагивают Android-устройства, использующие технологию Bluetooth Low Energy.
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 версий 7.2.2 и ниже имеют уязвимость для удалённого исполнения кода (CVE-2017-14315[9]).
Amazon Echo and 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-девайсы вокруг него. Недостаток позволяет атакующему отправлять набор запросов на сервер, заставляя его раскрывать бит памяти в ответ. Эта информация может использоваться для преодоления мер защиты и захвата контроля над устройством. Эта уязвимость также позволяет злоумышленнику получить ключи шифрования с целевого устройства и подслушивать соединение Bluetooth.
- Уязвимость удалённого выполнения кода № 1 (CVE-2017-0781[5])
Уязвимость присутствует в службе протокола BNEP (Bluetooth Network Encapsulation Protocol), который позволяет обмениваться Интернетом через соединение Bluetooth (модем). Из-за недостатка в службе BNEP хакер может вызвать повреждение оперативной памяти, которое позволяет ему запускать код на устройстве, предоставляя ему полный контроль. Из-за отсутствия правильных проверок авторизации запуск этой уязвимости не требует взаимодействия с пользователем, проверки подлинности или сопряжения, поэтому целевой пользователь не знает о текущей атаке.
- Уязвимость удалённого выполнения кода № 2 (CVE-2017-0782[6])
Уязвимость находится на более высоком уровне службы BNEP — личном профиле Area Networking (PAN), который отвечает за установление сетевого соединения на основе IP между двумя устройствами. В этом случае повреждение памяти больше, но все ещё может использоваться злоумышленником, чтобы получить полный контроль над заражённым устройством. Эта уязвимость также может быть вызвана без взаимодействия с пользователем, проверки подлинности или сопряжения.
- Уязвимость Man-in-The-Middle (CVE-2017-0783[7])
Атаки этого типа позволяют злоумышленнику перехват и вмешательство во все данные, входящие или исходящие от целевого устройства. В Bluetooth злоумышленник может активно вовлекать свою цель, используя любое устройство с возможностями Bluetooth. Уязвимость находится в PAN-профиле стека Bluetooth и позволяет злоумышленнику создать вредоносный сетевой интерфейс на устройстве жертвы, заново настроить IP-маршрутизацию и заставить устройство передавать все сообщения через вредоносный сетевой интерфейс. Эта атака не требует взаимодействия с пользователем, проверки подлинности или сопряжения, что делает её невидимой.
Атака BlueBorne на Windows
- Уязвимость Man-in-The-Middle № 2 (CVE-2017-8628[8])
Эта уязвимость идентична найденной в операционной системе Android, и влияет на обе системы, так как они разделяют одни и те же принципы реализации протокола Bluetooth. Уязвимость находится в стеке Bluetooth и позволяет злоумышленнику создать вредоносный сетевой интерфейс на устройстве жертвы, заново настроить IP-маршрутизацию и заставить устройство передавать через него все сообщения. Эта атака не требует взаимодействия с пользователем, проверки подлинности или сопряжения, что делает её практически невидимой.
Атаки BlueBorne на Linux
- Уязвимость, которая может привести к утечке информации (CVE-2017-1000250[3])
Подобно уязвимости утечки информации в Android, эта уязвимость находится на сервере SDP, ответственном за идентификацию других служб, использующих Bluetooth вокруг устройства. Недостаток позволяет злоумышленнику отправлять на сервер набор созданных запросов, что приводит к раскрытию битов памяти в ответ. Это может быть использовано злоумышленником для предоставления конфиденциальных данных от Bluetooth, содержащих ключи шифрования Bluetooth связи.
- Переполнение стека в BlueZ (CVE-2017-1000251[2])
Эта уязвимость была найдена в Bluetooth-стеке ядра Linux, которое находится в самом ядре операционной системы. Внутренняя ошибка в протоколе L2CAP (Logical Link Control and Adaptation Protocol), который используется для подключения между двумя устройствами, приводит к повреждению памяти. Злоумышленник может использовать это повреждение памяти для получения полного контроля над устройством.
Атака BlueBorne на iOS
- Удалённое выполнение кода с помощью протокола Apple Low Energy Audio (CVE-2017-14315[9])
Эта уязвимость была обнаружена в новом протоколе LEAP (Low energy audio protocol), разработанном Apple и работающим поверх Bluetooth. Протокол предназначен для потоковой передачи аудио на периферийные устройства. Из-за недостатка в реализации протокола, большая аудиокоманда может быть отправлена на целевое устройство и привести к повреждению памяти. Так как аудиокоманды, отправленные через LEAP должным образом не подтверждаются, злоумышленник может использовать повреждение памяти, чтобы получить полный контроль над устройством.
Меры безопасности
В качестве популярной меры безопасности рекомендовано обновление для устройств, для которых были выпущены патчи, устраняющие эти уязвимости.
Для проверки, имеет ли Android-устройство эту уязвимость, было выпущено специальное приложение Armis BlueBorne Scanner App[12]. Версии 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 только при необходимости позволит существенно сузить возможности хакеров для взлома.
Примечания
- ↑ Armis (неопр.). Дата обращения: 27 ноября 2017. Архивировано 18 мая 2018 года.
- ↑ 1 2 3 4 CVE-2017-1000251
- ↑ 1 2 3 4 CVE-2017-1000250
- ↑ 1 2 3 4 CVE-2017-0785
- ↑ 1 2 3 CVE-2017-0781
- ↑ 1 2 3 CVE-2017-0782
- ↑ 1 2 3 CVE-2017-0783
- ↑ 1 2 3 CVE-2017-8628
- ↑ 1 2 3 CVE-2017-14315
- ↑ Vulners.com (неопр.). Дата обращения: 27 ноября 2017. Архивировано 31 марта 2018 года.
- ↑ Github.com (неопр.). Дата обращения: 8 декабря 2017. Архивировано 25 мая 2018 года.
- ↑ armis.blueborne_detector (неопр.). Дата обращения: 7 декабря 2017. Архивировано 17 января 2018 года.
Ссылки
- Armis
- Armis BlueBorne Scanner App
- Armis BlueBorne Exploits & Framework
- Vulnerability Data Base
- Миллиарды устройств с поддержкой 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