Атаки на Bluetooth и BLE
Перехват и эксплуатация уязвимостей устройств Bluetooth
«Атаки на Bluetooth и BLE» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.
Поверхность атаки Bluetooth
Bluetooth используется повсюду: в гарнитурах, замках, медицинских устройствах, фитнес-трекерах, автомобильных информационно-развлекательных системах и промышленных датчиках. Под одним брендом существуют две разные технологии:
- Классический Bluetooth (BR/EDR) — более высокая пропускная способность, используется для передачи аудио и файлов.
- Bluetooth с низким энергопотреблением (BLE) — низкое энергопотребление, используется в Интернете вещей, носимых устройствах и умных замках.
Они различаются поведением радиосвязи, сопряжением и стеками протоколов, поэтому атаки на одну технологию редко применимы к другой. BLE доминирует в Интернете вещей и является основным объектом большинства современных проверок из-за того, как часто его разворачивают без надлежащей защиты.
Как BLE обменивается данными
BLE работает в диапазоне 2,4 ГГц и использует 40 каналов. Три из них (37, 38 и 39) являются каналами рекламных объявлений и используются для обнаружения устройств; остальные 37 предназначены для передачи данных установленных соединений.
Основная модель данных — это GATT (универсальный профиль атрибутов):
- Службы объединяют связанную функциональность.
- Характеристики — это отдельные элементы данных, которые можно читать, записывать или отслеживать по подписке.
- У каждой службы и характеристики есть UUID и дескриптор.
Перечисление таблицы GATT показывает, что именно предоставляет устройство, и является центральной частью проверки BLE.
Обнаружение и перечисление устройств
Разведка начинается со сканирования рекламных пакетов, чтобы определить, какие устройства находятся в радиусе действия, а затем с подключения для перечисления базы данных GATT.
В Linux стек BlueZ и такие инструменты, как bluetoothctl, hcitool и gatttool, позволяют сканировать устройства и отправлять им запросы. nRF Connect на телефоне — отличная графическая альтернатива.
# Scan for advertising BLE devices
sudo hcitool lescan
# Interactive scan and connect
bluetoothctl
scan on
connect AA:BB:CC:DD:EE:FF
# Enumerate the full GATT database
gatttool -b AA:BB:CC:DD:EE:FF --primary
gatttool -b AA:BB:CC:DD:EE:FF --characteristicsПерехват трафика BLE
Чтобы наблюдать за обменом данными между устройством и его приложением, перехватывайте эфир. Поскольку BLE переключается между каналами, перехватчик должен отслеживать соединение.
- Аппаратный ключ nRF52840 с плагином nRF Sniffer для Wireshark — стандартный недорогой инструмент захвата.
- Ubertooth One может захватывать трафик BLE и некоторые виды трафика классического Bluetooth.
- Выполняйте захват во время события соединения, чтобы перехватить начальное рукопожатие.
Wireshark разбирает перехваченные пакеты на данные объявлений, запросы на соединение и операции GATT, позволяя точно определить, какие данные приложение читает и записывает.
Сопряжение BLE и его слабые места
Безопасность BLE зависит от метода сопряжения, выбранного при установлении связи:
- Just Works — проверка пользователя отсутствует, поэтому метод по своей конструкции уязвим для атаки посредника. Он чрезвычайно распространён в дешёвых устройствах Интернета вещей.
- Passkey Entry — 6-значный код; метод надёжнее, но допускает перебор при плохой реализации.
- Numeric Comparison — оба устройства показывают число для подтверждения (LE Secure Connections).
Устаревшее сопряжение (до версии 4.2) криптографически ненадёжно, и его ключи можно восстановить из перехваченного рукопожатия. LE Secure Connections использует ECDH и является единственным методом, который считается надёжным.
Взлом устаревшего сопряжения
Если устройство использует устаревшее сопряжение BLE, перехваченный обмен данными при сопряжении можно перебрать, чтобы восстановить временный ключ и в конечном итоге долгосрочный ключ.
Инструмент crackle автоматизирует эту атаку на файле pcap с событием сопряжения. После восстановления ключей ранее зашифрованный трафик из захвата можно расшифровать.
# Recover keys from a captured legacy pairing
crackle -i pairing_capture.pcap
# Decrypt the traffic using a recovered Long Term Key
crackle -i encrypted.pcap -o decrypted.pcap -l <recovered_ltk>Активные атаки: подмена и запись
Многие устройства BLE доверяют любому, кто может подключиться. После перечисления характеристик, доступных для записи, часто можно отправлять команды напрямую, без аутентификации.
- Запись без аутентификации — отправка специально сформированных значений в управляющую характеристику может открыть умные замки или переключить реле.
- Подмена устройства — клонирование MAC-адреса периферийного устройства и его объявления, чтобы выдать его за настоящее для приложения жертвы.
- GATTacker / Mirage — фреймворки, выполняющие атаку MITM на периферийное устройство через проксирование трафика GATT.
Типичный результат проверки — умный замок, команда разблокировки которого представляет собой статичную запись в открытом виде, доступную для воспроизведения любому злоумышленнику.
Атака посредника с помощью прокси
Прокси BLE для атаки MITM клонирует целевое периферийное устройство, позволяет приложению жертвы подключиться к клону и ретранслирует трафик настоящему устройству. Это раскрывает весь обмен данными и позволяет изменять его в реальном времени.
Такие фреймворки, как Mirage и GATTacker, автоматизируют клонирование объявлений и соединение двух радиомодулей. Вы можете перехватывать, изменять или воспроизводить любую операцию GATT во время передачи.
# Clone and MITM a BLE peripheral with Mirage
mirage ble_mitm TARGET=AA:BB:CC:DD:EE:FF
# Scan and enumerate as part of recon
mirage ble_scan
mirage ble_info TARGET=AA:BB:CC:DD:EE:FFОсобенности классического Bluetooth
У классического Bluetooth есть собственная история проблем. Среди примечательных примеров — BlueBorne (набор уязвимостей уровня стека, позволяющих удалённо выполнять код) и KNOB (согласование ключа Bluetooth), которое уменьшает длину ключа шифрования до допускающей перебор.
- Многие гарнитуры и автомобильные комплекты до сих пор принимают слабые или стандартные PIN-коды.
- Обнаружение служб через SDP может раскрывать возможности устройства и сведения о прошивке.
- Старые стеки могут быть не исправлены от известных уязвимостей CVE.
При проверке классического Bluetooth основное внимание уделяется версии стека, надёжности сопряжения и известным уязвимым версиям прошивки.
Дальность действия и конфиденциальность отслеживания
Устройства BLE, которые постоянно передают рекламные объявления, создают риски для конфиденциальности и отслеживания. Статический MAC-адрес позволяет наблюдателю следить за человеком в разных местах.
- Рандомизация MAC-адреса периодически меняет адрес, препятствуя отслеживанию, однако многие устройства реализуют её неправильно или не реализуют вовсе.
- Идентифицируемые данные объявлений (фиксированные имена и данные производителя) могут повторно идентифицировать устройство даже при рандомизированном MAC-адресе.
- Дальнобойные направленные антенны увеличивают практическую дальность перехвата намного дальше номинальных 10 метров.
Оценка подверженности отслеживанию — законная и важная часть проверки конфиденциальности BLE.
Усиление защиты устройств Bluetooth
Рекомендации по защите, которые обычно даются по итогам проверки BLE, включают следующее:
- Используйте LE Secure Connections с подтверждением числового значения; никогда не применяйте Just Works для чувствительных функций.
- Добавляйте шифрование и аутентификацию на уровне приложения поверх соединения, чтобы MITM-атака не позволяла воспроизводить или подделывать команды.
- Реализуйте одноразовые значения для каждого сеанса или меняющиеся коды для управляющих команд, например команды разблокировки.
- Включите корректную рандомизацию MAC-адреса и удаляйте идентифицирующие данные из объявлений.
- Своевременно исправляйте уязвимости стека Bluetooth, связанные с BlueBorne, KNOB и аналогичными проблемами.
Главный повторяющийся вывод: защиты канального уровня недостаточно, если приложение доверяет любому подключившемуся клиенту.
Быстрая проверка
Проверьте, насколько хорошо Вы понимаете безопасность сопряжения BLE.
Итоги
Теперь Вы можете полностью проверять устройства Bluetooth и BLE:
- BLE использует 40 каналов и предоставляет данные через модель GATT, состоящую из служб и характеристик.
- Разведка включает сканирование объявлений и перечисление базы данных GATT с помощью инструментов BlueZ или nRF Connect.
- Перехват с помощью nRF52840 или Ubertooth передаёт данные в Wireshark для анализа протокола.
- Just Works и устаревшее сопряжение ненадёжны; crackle восстанавливает ключи из перехваченных рукопожатий устаревшего сопряжения.
- Активные атаки используют записи без аутентификации и прокси для MITM-атак, например Mirage и GATTacker.
- Защита требует LE Secure Connections, а также аутентификации на уровне приложения и команд с меняющимися кодами.
Далее Вы перейдёте от протоколов с установленным соединением к бесконтактным меткам с RFID и NFC.
Часто задаваемые вопросы
Урок «Атаки на Bluetooth и BLE» бесплатный?
Да — полный текст урока «Атаки на Bluetooth и BLE» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «Атаки на Bluetooth и BLE»?
Перехват и эксплуатация уязвимостей устройств Bluetooth Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cyber Security Academy?
Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Атаки на Bluetooth и BLE»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cyber Security Academy?
Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Основы RF и SDR
- Атаки на Bluetooth и BLE
- Безопасность RFID и NFC
- Перехват и воспроизведение сигналов