0Pricing
Cyber Security Academy · Урок

Атаки на 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 — локальная установка не требуется.

Все уроки этого курса

  1. Основы RF и SDR
  2. Атаки на Bluetooth и BLE
  3. Безопасность RFID и NFC
  4. Перехват и воспроизведение сигналов
← Назад к Cyber Security Academy