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 подвержены 4 уязвимостям, две из которых позволяют произвести удалённое исполнение кода (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 только при необходимости позволит существенно сузить возможности хакеров для взлома.

Примечания править

  1. Armis. Дата обращения: 27 ноября 2017. Архивировано 18 мая 2018 года.
  2. 1 2 3 4 CVE-2017-1000251
  3. 1 2 3 4 CVE-2017-1000250
  4. 1 2 3 4 CVE-2017-0785
  5. 1 2 3 CVE-2017-0781
  6. 1 2 3 CVE-2017-0782
  7. 1 2 3 CVE-2017-0783
  8. 1 2 3 CVE-2017-8628
  9. 1 2 3 CVE-2017-14315
  10. Vulners.com. Дата обращения: 27 ноября 2017. Архивировано 31 марта 2018 года.
  11. Github.com. Дата обращения: 8 декабря 2017. Архивировано 25 мая 2018 года.
  12. armis.blueborne_detector. Дата обращения: 7 декабря 2017. Архивировано 17 января 2018 года.

Ссылки править