Главная » Хабрахабр » Уязвимость шифрования в различных реализациях Bluetooth

Уязвимость шифрования в различных реализациях Bluetooth

Недостаток в протоколе Bluetooth оставался без внимания более десятилетия, но гром все-таки грянул. Проверьте свои устройства!

Брешь позволяет злоумышленнику осуществить атаку "человек посередине" для перехвата и подмены ключей шифрования во время установки соединения между двумя устройствами. Израильские ученые Эли Бихам Лиор и Ньюман обнаружили серьезную криптографическую уязвимость в спецификации стандарта Bluetooth. Проблема связана с недостаточной проверкой параметров безопасности и затрагивает реализацию протокола в драйверах устройств вендоров таких как Apple, Qualcomm, Intel и Broadcom и многих других.

Уязвимость под номером CVE-2018-5383, о которой объявила Bluetooth SIG, потенциально позволяет злоумышленникам вмешаться в процесс сопряжения двух устройств по Bluetooth.

image
Изображение digit.in

Как спариваются Bluetooth-устройства

Первоначальный обмен данными происходит по незащищенному радио-каналу в рамках протокола elliptic-curve Diffie-Hellman (ECDH). В ходе процесса сопряжения устройства «договариваются» о создании общего закрытого ключа, который будет в дальнейшем использоваться для шифрования данных.

Если оба устройства хранят один и тот же ключ связи, они называются спаренными или сопряженными. Во время сопряжения два устройства устанавливают отношения, создавая общий секрет, известный как ключ связи (link key). После того, как будет создан ключ связи, связь по коммуникационному протоколу Asynchronous Connection-Less (ACL) между устройствами может быть зашифрована для защиты обменных данных от подслушивания. Устройство, которое хочет связываться только с сопряженным устройством, может криптографически аутентифицировать идентификатор другого устройства, гарантируя, что оно является тем же самым устройством, с которым оно ранее сопрягалось. Поэтому второе устройство из бывшей «пары» устройства может все еще хранить ключ связи для устройства, с которым он больше не сопряжен. Пользователь могжет по своему желанию удалять ключи связи с из устройства, которым он владеет, что разрывает сопряжение между устройствами.

В чем суть уязвимости

Это упущение позволяет постороннему атакующему, находящемуся в зоне приема сигнала, осуществить подстановку некорректного открытого ключа в процессе сопряжения Bluetooth-устройств и с высокой вероятностью навязать сессионный ключ, применяемый для шифрования канала связи. Израильские исследователи установили, что во многих случаях проводится слишком простая проверка параметров эллиптической кривой, используемой для шифрования.

Атакующему устройству необходимо перехватить обмен открытыми ключами, заглушить каждую передачу до ее получения принимающей стороной, отправить подтверждение о приеме на отправляющее устройство и затем отправить вредоносный пакет данных на принимающее устройство в узком временном окне.

Получив ключ атакующий может перехватывать, расшифровывать и вносить изменения в Bluetooth-трафик между двумя уязвимыми устройствами. Однако, если уязвимо лишь одно из связываемых устройств, атака скорее всего потерпит неудачу.

image
Изображение arstechnica.com

Хакер должен располагаться в достаточно небольшой зоне (несколько метров) уверенного приема Bluetooth-сигнала обоих атакуемых устройств. Эксплуатация уязвимости представляется достаточно сложной, но вполне реальной, особенно в сочетании с социальной инженерией и низким уровнем квалификации потенциальных жертв. Тем не менее, в случае успеха, хакер получает самые широкие возможности для вредоносной активности.

В настоящее время группа Bluetooth SIG уже внесла исправления в спецификацию и привела процедуру проверки любых открытых ключей в разряд обязательных, и добавила в сертификационные тесты проверки соблюдения нового требования. Причиной возникновения уязвимости является наличие в спецификации Bluetooth лишь опциональных рекомендаций по проверке открытых ключей при сопряжении устройств в режимах Bluetooth LE Secure Connections и Bluetooth Secure Simple Pairing.

Зона поражения

К счастью для пользователей MacOS, Apple выпустила исправление для ошибки 23 июля. Уязвимость присутствует в прошивках и драйверах от различных производителей, включая,
но не ограничиваясь такими вендорами как Apple, Broadcom, QUALCOMM и Intel.

Компания Dell опубликовала новый драйвер для модулей на базе Qualcomm, который он использует, в то время как экстренное обновление от Lenovo предназначено для устройств с модулями от Intel.

LG и Huawei упомянули уязвимость CVE-2018-5383 в своих бюллетенях июльских обновлениях для мобильных устройств.

Об этом не упоминается в июльском бюллетене Google Android Security Bulletin или более ранних бюллетенях. Пока неизвестно, затронуты ли уязвимостью Android, Google или ядро Linux глобальным образом.

1 и 10, а также для компьютеров на базе Chrome OS и Linux уязвимо. Хотя Microsoft заявила, что система Windows не затронута напрямую, Intel опубликовала списки многочисленных беспроводных модулей, чье программное обеспечение для Windows 7, 8.

Предостережение

Рекомендуется не держать включенным Bluetooth постоянно без реальной необходимости (а лучше не включать вообще) и спаривать устройства, только находясь в безопасном окружении. Стоит помнить, что если ваше мобильное устройство старше двух-трех лет, оно тоже может оказаться подверженным этой и другим Bluetooth-уязвимостям, но остаться без патча безопасности от производителя.


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

[Из песочницы] Валидация сложных форм React. Часть 1

Для начала надо установить компонент react-validation-boo, предполагаю что с react вы знакомы и как настроить знаете. npm install react-validation-boo Чтобы много не болтать, сразу приведу небольшой пример кода. import React, from 'react'; import {connect, Form, Input, logger} from 'react-validation-boo'; class ...

[Перевод] Микросервисы на Go с помощью Go kit: Введение

Эта статья — введение в Go kit. В этой статье я опишу использование Go kit, набора инструментов и библиотек для создания микросервисов на Go. Первая часть в моем блоге, исходный код примеров доступен здесь. Когда вы разрабатываете облачно-ориентированную распределенную систему, ...