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

Ссылки[править | править код]

  1. CVE-2017-1000251
  2. CVE-2017-1000250
  3. CVE-2017-0785
  4. CVE-2017-0781
  5. CVE-2017-0782
  6. CVE-2017-0783
  7. CVE-2017-8628
  8. CVE-2017-14315
  9. Armis
  10. Armis BlueBorne Scanner App
  11. Armis BlueBorne Exploits & Framework
  12. Vulnerability Data Base

Источники[править | править код]