Недостаток в протоколе Bluetooth оставался без внимания более десятилетия, но гром все-таки грянул. Проверьте свои устройства!
Израильские ученые Эли Бихам Лиор и Ньюман обнаружили серьезную криптографическую уязвимость в спецификации стандарта Bluetooth. Брешь позволяет злоумышленнику осуществить атаку "человек посередине" для перехвата и подмены ключей шифрования во время установки соединения между двумя устройствами. Проблема связана с недостаточной проверкой параметров безопасности и затрагивает реализацию протокола в драйверах устройств вендоров таких как Apple, Qualcomm, Intel и Broadcom и многих других.
Уязвимость под номером CVE-2018-5383, о которой объявила Bluetooth SIG, потенциально позволяет злоумышленникам вмешаться в процесс сопряжения двух устройств по Bluetooth.
Изображение digit.in
В ходе процесса сопряжения устройства «договариваются» о создании общего закрытого ключа, который будет в дальнейшем использоваться для шифрования данных. Первоначальный обмен данными происходит по незащищенному радио-каналу в рамках протокола elliptic-curve Diffie-Hellman (ECDH).
Во время сопряжения два устройства устанавливают отношения, создавая общий секрет, известный как ключ связи (link key). Если оба устройства хранят один и тот же ключ связи, они называются спаренными или сопряженными. Устройство, которое хочет связываться только с сопряженным устройством, может криптографически аутентифицировать идентификатор другого устройства, гарантируя, что оно является тем же самым устройством, с которым оно ранее сопрягалось. После того, как будет создан ключ связи, связь по коммуникационному протоколу Asynchronous Connection-Less (ACL) между устройствами может быть зашифрована для защиты обменных данных от подслушивания. Пользователь могжет по своему желанию удалять ключи связи с из устройства, которым он владеет, что разрывает сопряжение между устройствами. Поэтому второе устройство из бывшей «пары» устройства может все еще хранить ключ связи для устройства, с которым он больше не сопряжен.
Израильские исследователи установили, что во многих случаях проводится слишком простая проверка параметров эллиптической кривой, используемой для шифрования. Это упущение позволяет постороннему атакующему, находящемуся в зоне приема сигнала, осуществить подстановку некорректного открытого ключа в процессе сопряжения Bluetooth-устройств и с высокой вероятностью навязать сессионный ключ, применяемый для шифрования канала связи.
Изображение arstechnica.com
Эксплуатация уязвимости представляется достаточно сложной, но вполне реальной, особенно в сочетании с социальной инженерией и низким уровнем квалификации потенциальных жертв. Хакер должен располагаться в достаточно небольшой зоне (несколько метров) уверенного приема Bluetooth-сигнала обоих атакуемых устройств. Тем не менее, в случае успеха, хакер получает самые широкие возможности для вредоносной активности.
Причиной возникновения уязвимости является наличие в спецификации Bluetooth лишь опциональных рекомендаций по проверке открытых ключей при сопряжении устройств в режимах Bluetooth LE Secure Connections и Bluetooth Secure Simple Pairing. В настоящее время группа Bluetooth SIG уже внесла исправления в спецификацию и привела процедуру проверки любых открытых ключей в разряд обязательных, и добавила в сертификационные тесты проверки соблюдения нового требования.
Уязвимость присутствует в прошивках и драйверах от различных производителей, включая,
но не ограничиваясь такими вендорами как Apple, Broadcom, QUALCOMM и Intel. К счастью для пользователей MacOS, Apple выпустила исправление для ошибки еще 23 июля.
Компания Dell опубликовала новый драйвер для модулей на базе Qualcomm, который она использует, в то время как экстренное обновление от Lenovo предназначено для устройств с модулями от Intel.
LG и Huawei упомянули уязвимость CVE-2018-5383 в своих бюллетенях июльских обновлениях для мобильных устройств.
Пока неизвестно, затронуты ли уязвимостью Android, Google или ядро Linux глобальным образом. Об этом не упоминается в июльском бюллетене Google Android Security Bulletin или более ранних бюллетенях.
Хотя Microsoft заявила, что система Windows не затронута напрямую, Intel опубликовала списки многочисленных беспроводных модулей, чье программное обеспечение для Windows 7, 8.1 и 10, а также для компьютеров на базе Chrome OS и Linux уязвимо.
Стоит помнить, что если ваше мобильное устройство старше двух-трех лет, оно тоже может оказаться подверженным этой и другим Bluetooth-уязвимостям, но остаться без патча безопасности от производителя. Рекомендуется не держать включенным Bluetooth постоянно без реальной необходимости (а лучше не включать вообще) и спаривать устройства, только находясь в безопасном окружении.
Израильские ученые Эли Бихам Лиор и Ньюман обнаружили серьезную криптографическую уязвимость в спецификации стандарта Bluetooth. Брешь позволяет злоумышленнику осуществить атаку "человек посередине" для перехвата и подмены ключей шифрования во время установки соединения между двумя устройствами. Проблема связана с недостаточной проверкой параметров безопасности и затрагивает реализацию протокола в драйверах устройств вендоров таких как Apple, Qualcomm, Intel и Broadcom и многих других.
Уязвимость под номером CVE-2018-5383, о которой объявила Bluetooth SIG, потенциально позволяет злоумышленникам вмешаться в процесс сопряжения двух устройств по Bluetooth.
Изображение digit.in
Как спариваются Bluetooth-устройства
В ходе процесса сопряжения устройства «договариваются» о создании общего закрытого ключа, который будет в дальнейшем использоваться для шифрования данных. Первоначальный обмен данными происходит по незащищенному радио-каналу в рамках протокола elliptic-curve Diffie-Hellman (ECDH).
Во время сопряжения два устройства устанавливают отношения, создавая общий секрет, известный как ключ связи (link key). Если оба устройства хранят один и тот же ключ связи, они называются спаренными или сопряженными. Устройство, которое хочет связываться только с сопряженным устройством, может криптографически аутентифицировать идентификатор другого устройства, гарантируя, что оно является тем же самым устройством, с которым оно ранее сопрягалось. После того, как будет создан ключ связи, связь по коммуникационному протоколу Asynchronous Connection-Less (ACL) между устройствами может быть зашифрована для защиты обменных данных от подслушивания. Пользователь могжет по своему желанию удалять ключи связи с из устройства, которым он владеет, что разрывает сопряжение между устройствами. Поэтому второе устройство из бывшей «пары» устройства может все еще хранить ключ связи для устройства, с которым он больше не сопряжен.
В чем суть уязвимости
Израильские исследователи установили, что во многих случаях проводится слишком простая проверка параметров эллиптической кривой, используемой для шифрования. Это упущение позволяет постороннему атакующему, находящемуся в зоне приема сигнала, осуществить подстановку некорректного открытого ключа в процессе сопряжения Bluetooth-устройств и с высокой вероятностью навязать сессионный ключ, применяемый для шифрования канала связи.
Атакующему устройству необходимо перехватить обмен открытыми ключами, заглушить каждую передачу до ее получения принимающей стороной, отправить подтверждение о приеме на отправляющее устройство и затем отправить вредоносный пакет данных на принимающее устройство в узком временном окне.Однако, если уязвимо лишь одно из связываемых устройств, атака скорее всего потерпит неудачу. Получив ключ атакующий может перехватывать, расшифровывать и вносить изменения в Bluetooth-трафик между двумя уязвимыми устройствами.
Изображение arstechnica.com
Эксплуатация уязвимости представляется достаточно сложной, но вполне реальной, особенно в сочетании с социальной инженерией и низким уровнем квалификации потенциальных жертв. Хакер должен располагаться в достаточно небольшой зоне (несколько метров) уверенного приема Bluetooth-сигнала обоих атакуемых устройств. Тем не менее, в случае успеха, хакер получает самые широкие возможности для вредоносной активности.
Причиной возникновения уязвимости является наличие в спецификации Bluetooth лишь опциональных рекомендаций по проверке открытых ключей при сопряжении устройств в режимах Bluetooth LE Secure Connections и Bluetooth Secure Simple Pairing. В настоящее время группа Bluetooth SIG уже внесла исправления в спецификацию и привела процедуру проверки любых открытых ключей в разряд обязательных, и добавила в сертификационные тесты проверки соблюдения нового требования.
Зона поражения
Уязвимость присутствует в прошивках и драйверах от различных производителей, включая,
но не ограничиваясь такими вендорами как Apple, Broadcom, QUALCOMM и Intel. К счастью для пользователей MacOS, Apple выпустила исправление для ошибки еще 23 июля.
Компания Dell опубликовала новый драйвер для модулей на базе Qualcomm, который она использует, в то время как экстренное обновление от Lenovo предназначено для устройств с модулями от Intel.
LG и Huawei упомянули уязвимость CVE-2018-5383 в своих бюллетенях июльских обновлениях для мобильных устройств.
Пока неизвестно, затронуты ли уязвимостью Android, Google или ядро Linux глобальным образом. Об этом не упоминается в июльском бюллетене Google Android Security Bulletin или более ранних бюллетенях.
Хотя Microsoft заявила, что система Windows не затронута напрямую, Intel опубликовала списки многочисленных беспроводных модулей, чье программное обеспечение для Windows 7, 8.1 и 10, а также для компьютеров на базе Chrome OS и Linux уязвимо.
Предостережение
Стоит помнить, что если ваше мобильное устройство старше двух-трех лет, оно тоже может оказаться подверженным этой и другим Bluetooth-уязвимостям, но остаться без патча безопасности от производителя. Рекомендуется не держать включенным Bluetooth постоянно без реальной необходимости (а лучше не включать вообще) и спаривать устройства, только находясь в безопасном окружении.
kvazimoda24
Я правильно понимаю, если атакующий вклинился в соединение между устройствами, то он должен оставаться там постоянно, иначе устройства отвалятся друг от друга, и чтобы они снова заработали понадобится новое спаривание?
Jeditobe Автор
Если "спаривание" было успешным, то устройства останутся связанными как минимум в рамках одной сессии, а скорее всего и дольше. Атакакующему нужно находится рядом столько, сколько требует его злонамеренный план.
kvazimoda24
Т.е. если атакующий присутствовал при спаривании устройств, то устройства продолжат работать и с уходом атакующего? И так же продолжат свободно соединяться без повторного спаривания в будущем?
А может ли атакующий через какое-то время чнова влезть в соединение, если он когда-то присутствовал при спаривании?
Я почему интересуюсь. В моём окружении самое частое использование блютуса — беспроводные гарнитуры, блютус колонки и автомобильные hadsfree. Соответственно, спаривание устройств происходит крайне редко, что даёт довольно низкие шансы атакующему оказаться в нужном месте в нужное время. Плюс, соединённые устройства крайне мобильны, т.е. атакующему становится крайне сложно организовать постоянное присутствие. Если это помножить на то, что чуствительные данные по этим каналам передаются не часто, т.к. люди не постоянно висят на телефонах, и не все разговоры по телефону являются крайне секретными, то становится непонятно, на сколько имеет смысл взлом блютуса.
И на сколько это будет заметно пользователю, как то нарушение спаривания или разрыв связи между устройствами?
Jeditobe Автор
Сформированный во время «спаривания» общий ключ является залогом создания и сохранения отношений в паре. Скорее всего, устройства останутся спаренными.
kvazimoda24
Понял. Значит, с учётом того, что атакующий навязывает свой ключ, а не становится в разрыв соединения, то он имеет возможность в любой момент после установления спаривания прослушивать соединение. На работу самих спаренных устройств это влиять уже не будет.
fapsi
Например, вклиниться в сеть Bluetooth Mesh — интернет вещей, кто-то, может быть, применяет в сетях управления оборудованием.
vscrub
А почему «Рекомендуется не держать включенным Bluetooth постоянно»?
Jeditobe Автор
А зачем давать лишний вектор атаки? Есть и другие уязвимости. Эта рекомендация для тех, кто не особо разбирается в этом стандарте.
vscrub
Я думал, что есть какие специфические причины. А так, тогда лучше вообще всё выключить и не включать вообще.
Jeditobe Автор
Это они и есть. Включенный блютус — сигнал злоумышленнику. Многие пользователи держат этот беспроводной интерфейс включенным, просто потому, что думали «что так надо» или «так все делают», но у них нет ни одной реальной причины это делать.
SergeyMax
Есть одна реальная причина, и очень весомая: отсутствие необходимости постоянно что-то включать и выключать.
SDVdk
> реальной
Рекомендую попробовать купить действительно хорошие беспроводные наушники. Назад не захочется, реально
x86corez
Драйверы ведь тоже люди пишут, в них могут быть ошибки переполнения буфера, и тогда атакующий сможет выполнить произвольный код на устройстве жертвы с максимальными правами доступа, прямо по воздуху.
SergeyMax
Надеюсь, написав это, вы отключили ethernet-интерфейс от сети? ))
x86corez
Он у меня и так отключён, я ведь через Wi-Fi! ;)
А вообще сетевые драйверы в этом плане тщательнее проверяют, поскольку они используются в повседневной жизни чуть ли не 24 часа 7 дней в неделю.
dartraiden
www.opennet.ru/opennews/art.shtml?num=47525
Удалённо эксплуатируемая уязвимость в WiFi-чипах Broadcom (тут уязвимость в прошивке, но прошивка выполняет многое из того, что у других производителей вынесено в драйвер)
А кроме драйверов есть ещё и сетевая часть ОС:
В Android и старых ядрах Linux устранена уязвимость, эксплуатируемая через отправку UDP-пакетов
Уязвимость в WiFi-стеке OpenBSD
Dj_Art
А я тут потихоньку децентрализованную сеть пишу на Bluetooth, ну и не только, конечно. Довольно интересная уязвимость, подумал сначала заволноваться, потом понял, что уязвимость применима лишь к процессу сопряжения, а сия операция совсем не user-friendly в таком приложении, шифрование тем более применимо только к одному протоколу.
Ну а так — считаю, что игра не стоит свеч, для исполнения нужны «тепличные условия».