Security Week 2403: Bluetooth-уязвимости в Windows, Linux, Android, iOS и Mac OS
На прошлой неделе исследователь Марк Ньюлин в подробностях рассказал об уязвимостях в стеке Bluetooth, которые затрагивают в той или иной степени практически все ПК, смартфоны и другие мобильные устройства. Его статья и выступление на конференции ShmooCon дополняют опубликованное еще в декабре краткое сообщение о найденных проблемах. Основная уязвимость (получившая идентификатор CVE-2023-45866) связана с тем, что большинство реализаций протокола Bluetooth поддерживают установление связи с клавиатурой (или Bluetooth-устройством, которое притворяется клавиатурой) без аутентификации. В результате на уязвимых устройствах (с некоторыми оговорками, о которых позже) потенциальный злоумышленник может добавить собственную клавиатуру и отправлять произвольные нажатия клавиш.
Ньюлин — автор более раннего исследования про небезопасность беспроводной периферии. В 2016 году он обнаружил разнообразные проблемы в устройствах, которые общаются с компьютером через собственный USB-приемник, обычно работающий на частоте 2,4 гигагерца. По результатам той работы автор предположил, что использование Bluetooth-клавиатур является более безопасным методом. В прошлом году он решил проверить это допущение на практике и нашел не менее серьезные проблемы. В большинстве случаев они, к счастью, решаются доставкой обновления для операционной системы. Но есть как минимум два исключения. Это старые, не получающие обновления устройства на базе Android 10-й и более ранних версий. И Bluetooth-клавиатуры Apple Magic Keyboard, в которых Марк нашел уникальную проблему.
По версии исследователя, уязвимость находится на стыке теории и практики — в том смысле, что ее существование обусловлено как особенностями спецификации протокола Bluetooth HID, так и его реализацией в конкретных устройствах. Из-за этого получается, что ей подвержены практически все операционные системы, но при этом в каждой из них условия для потенциальной атаки немного отличаются. Например, в Android добавить «левую» клавиатуру можно практически всегда — достаточно, чтобы модуль Bluetooth был включен. Ньюлин подтвердил наличие данной проблемы во всех релизах Android начиная с версии 4.2.2 2012 года. Декабрьский набор патчей закрыл данную уязвимость в Android 11, 12, 13 и 14. В дистрибутивах ОС на базе Linux возможно эксплуатировать уязвимость, если модуль Bluetooth находится в режиме, открытом для подключения новых устройств (например, когда открыты настройки Bluetooth). Примечательно, что проблема была закрыта в 2020 году, но тот патч в итоге так и не добрался до большинства популярных дистрибутивов. Повторный патч для стека BlueZ также был выпущен в декабре.
В ОС Windows у уязвимости наблюдается особое поведение. С одной стороны, в отличие от Linux и Android, здесь невозможна атака типа zero click. Не получится «подкинуть клавиатуру» без какого-либо уведомления пользователя. Запрос на подключение нового Bluetooth-устройства выводится пользователю. Но успешное выполнение атаки возможно, если пользователь взаимодействует с этим уведомлением любым образом. По данным автора исследования, «согласие» с добавлением устройства, отказ от такового, даже просто закрытие уведомления приведут к установке соединения с поддельной клавиатурой. Проблема закрыта в январском наборе патчей от Microsoft (для проблемы в Windows также присвоен уникальный идентификатор CVE-2024-21306).
Уязвимость присутствует в мобильной и настольной ОС для устройств Apple, но там ее эксплуатация максимально затруднена. Провести атаку можно, и подключение также произойдет без уведомления пользователя, но только в момент, когда устройство Apple подключается к клавиатуре Apple Magic Keyboard. На стороне ОС эта проблема была закрыта в iOS 17.2 (iOS 16 осталась без патча, более ранние версии ОС не проверялись) и в Mac OS Sonoma 14.2. Но потребовался и патч для самой клавиатуры Magic Keyboard. Она также может стать инструментом атаки. В одном исследованном сценарии злоумышленник может подключиться к клавиатуре и перехватывать ввод пользователя (пока тот не поймет, что его клавиатура связана не с компьютером, а с каким-то другим устройством). В другом, более опасном сценарии, из клавиатуры (через ту же проблему с подключением без аутентификации) можно выкрасть ключ, с помощью которого злоумышленник способен подключиться к компьютеру жертвы. В списке уязвимых устройств Марка Ньюлина указана также мышь Magic Mouse, но информации о наличии патча для нее пока нет.
У данных уязвимостей, как и у обнаруженных ранее (и не всегда решаемых путем апдейта ПО) проблем с проприетарными беспроводными протоколами передачи данных от клавиатур и мышей, есть одно фундаментальное ограничение: для атаки необходимо находиться достаточно близко от жертвы. Это сразу переводит потенциальные атаки в категории сложных и таргетированных. Вообще «лишняя клавиатура» должна быть подключена в удачный момент: когда компьютер или смартфон разблокированы. Даже в этом случае условия для развития атаки еще нужно создать. Тем не менее не стоит недооценивать работу Марка Ньюлина. Начав исследование скорее из любопытства, он нашел серьезную универсальную проблему, которая присутствовала в сотнях миллионов устройств в течение многих лет.
Что еще произошло
Помимо проблемы в Bluetooth, выпущенный 9 января кумулятивный набор патчей Microsoft также закрыл 12 уязвимостей, приводящих к удаленному выполнению произвольного кода.
Утечка клиентских данных произошла у производителя ноутбуков Framework. В письме к пострадавшим пользователям компания довольно подробно описывает атаку. Бухгалтеру (сотруднику сторонней организации) пришло фишинговое письмо якобы от генерального директора Framework с просьбой предоставить список клиентов с «задолженностью». Речь идет не о реальном долге, а о тех, кто внес предоплату за ноутбук, но еще не оплатил полную сумму. В результате атакующие получили имена и адреса e-mail покупателей, а также суммы к оплате в каждом случае. Такие данные могут быть использованы уже для фишинга самих клиентов: письмо с просьбой «доплатить» за ноутбук будет выглядеть вполне ожидаемым и логичным.
Криптограф Мэтью Грин объяснил проблему с приватностью функции AirDrop в устройствах Apple. AirDrop может использоваться для приема данных только от людей в списке контактов или же от всех желающих в зоне радиовидимости. Чтобы отличить отправителей в списке от всех остальных, при установке соединения телефон для идентификации передает хэшированный Apple ID. Это делает AirDrop уязвимым для «словарной» атаки. Если кто-то заранее посчитает хэши большого числа электронных адресов или телефонных номеров (именно они используются в качестве идентификаторов Apple ID), то появляется возможность определять, кто именно находился в определенной локации, по результатам анализа радиообмена.
Две уязвимости нулевого дня были обнаружены в VPN-серверах Ivanti (ранее известны как Pulse Secure).
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.