В настоящее время Bluetooth переживает возрождение. Этому способствует развитие IoT, отсутствие выхода под наушники в современных смартфонах, а также популярные bluetooth-колонки, беспроводные мыши /клавиатуры, гарнитуры и прочее. Мы решили посмотреть, какие рекомендации по безопасности представлены в стандарте NIST для Bluetooth.
Почему «синий зуб»? Название Bluetooth появилось от прозвища короля викингов Харальда I Синезубого, который правил в X веке Данией и частью Норвегии. За время своего правления он объединил враждовавшие датские племена в единое королевство. По аналогии Bluetooth тоже объединяет, только не земли, а протоколы связи.
Первая спецификация Bluetooth была разработана группой Bluetooth Special Interest Group (Bluetooth SIG) в 1998 году и опубликована как часть стандарта IEEE 802.15.1 14 июня 2002 года.
В настоящее время существуют следующие спецификации:
Для понимания рекомендаций NIST по построению защищённых Bluetooth сетей для начала необходимо рассмотреть реализованные функции и режимы безопасности, чтобы понимать, о чём речь идёт в самих рекомендациях.
Методы спаривания устройств
Apple Watch при спаривании показывает облако точек, которое нужно отсканировать камерой iPhone.
Использование NFC между наушниками и сопрягаемым устройством.
В зависимости от типа Bluetooth устройства стандарт предполагает различные режимы безопасности (Security Mode).
Bluetooth BR/EDR/HS
NIST, что логично, во всех своих спецификациях рекомендует для такого класса устройств использовать именно Security Mode 4 Level 4.
Подробно механизмы генерации ключей, спаривания устройств, аутентификации, и т.д. выходят за рамки статьи. При желании можно ознакомиться с ними в самом гайде.
Bluetooth Low Energy
Low energy Security Mode 1 – режим безопасности, который можно ассоциировать со словом “шифрование”. Имеет несколько уровней:
Low energy Security Mode 2 — режим безопасности, который можно ассоциировать со словосочетанием “подпись данных”. Также имеет несколько уровней:
Прежде чем перейти к рекомендациям, рассмотрим виды атак на Bluetooth, чтобы понимать, от чего защищаемся.
* NIST выделяет ещё атаку на Bluetooth типа фаззинг, но, как нам кажется, в этом нет никакого смысла, так как фаззить можно любой протокол.
NIST предлагает удобную таблицу, в которой все рекомендации разбиты по двум категориям: «Рекомендуются к выполнению» и «Следует учитывать». Первая категория означает, что эта рекомендация актуальна для всех организаций, а вторая — в зависимости от возможностей организации, поскольку увеличиваются требования по эксплуатации и затратам.
Также присутствует третий столбец «Статус», оставленный пустым, для аудиторов, чтобы они при проверке могли отмечать выполненные пункты.
К сожалению, NIST даёт только рекомендации, но не рассказывает, как их выполнять. И если некоторые рекомендации вполне реально выполнить на смартфонах (например, перевод устройства в режим «невидимки» — №18), то на других устройствах их выполнение может быть и не предусмотрено в принципе. Таким образом, единственным способом является правильный подбор устройств на основе спецификации и последующая проверка устройства на соответствие ей.
ПО и полезные ссылки вдогонку:
Почему «синий зуб»? Название Bluetooth появилось от прозвища короля викингов Харальда I Синезубого, который правил в X веке Данией и частью Норвегии. За время своего правления он объединил враждовавшие датские племена в единое королевство. По аналогии Bluetooth тоже объединяет, только не земли, а протоколы связи.
Первая спецификация Bluetooth была разработана группой Bluetooth Special Interest Group (Bluetooth SIG) в 1998 году и опубликована как часть стандарта IEEE 802.15.1 14 июня 2002 года.
В настоящее время существуют следующие спецификации:
- 1998-1999: Bluetooth 1.0 and 1.0B (спецификация) — выведена из эксплуатации с 2006 года;
- 2001: Bluetooth 1.1 (спецификация) — выведена из эксплуатации с 2006 года;
- 2003: Bluetooth 1.2 (спецификация) — выведена из эксплуатации с 2009 года;
- 2004: Bluetooth 2.0 + EDR (спецификация) – устарела в 2014 году, будет выведена из эксплуатации в 2019 году;
- 2008: Bluetooth 2.1 + EDR (спецификация) – будет считаться устаревшей в 2019 году, будет выведена из эксплуатации в 2020 году;
- 2009: Bluetooth 3.0 + HS (спецификация) – будет считаться устаревшей в 2019 году, будет выведена из эксплуатации в 2020 году;
- 2010: Bluetooth 4.0 (спецификация) – будет считаться устаревшей в 2019 году, будет выведена из эксплуатации в 2020 году;
- 2013: Bluetooth 4.1 (спецификация) – будет считаться устаревшей в 2019 году, будет выведена из эксплуатации в 2020 году;
- 2014: Bluetooth 4.2 (спецификация)
- 2016: Bluetooth 5.0 (спецификация)
Для понимания рекомендаций NIST по построению защищённых Bluetooth сетей для начала необходимо рассмотреть реализованные функции и режимы безопасности, чтобы понимать, о чём речь идёт в самих рекомендациях.
Функции безопасности Bluetooth
Методы спаривания устройств
- Numeric Comparison. Из названия, думаю, понятна технология — на обоих устройствах показывается шестизначное число, которое позволяет идентифицировать устройства. Данный метод не защищает от MITM-атак.
- Just Works. Поскольку не все устройства имеют экран, то был придуман такой режим. По факту аналогичен «Numeric Comparison», однако число всегда равно «000000».
- Passkey Entry. На одном устройстве показывается пароль, который необходимо ввести на другом.
- Out Of Band (OOB). Самый интересный метод, заключающийся в использовании дополнительных протоколов при спаривании. Показательные примеры:
Apple Watch при спаривании показывает облако точек, которое нужно отсканировать камерой iPhone.
Использование NFC между наушниками и сопрягаемым устройством.
В зависимости от типа Bluetooth устройства стандарт предполагает различные режимы безопасности (Security Mode).
Bluetooth BR/EDR/HS
- Security Mode 1 – отсутствие какой-либо защиты. Чаще всего используется только в рамках тестирования. NIST рекомендует никогда не применять этот режим. До сих пор существует для поддержки обратной совместимости со старыми устройствами.
- Security Mode 2 – функции безопасности могут быть инициированы после установления соединения, но до установления логического канала. Функции безопасности контролируют доступ к службам. В этом режиме вводится понятие авторизации — процесс определения того, разрешено ли конкретному устройству иметь доступ к определенной службе.
- Security Mode 3 – режим безопасности, функции которого работают на уровне канала. В данном режиме Bluetooth устройство инициирует процедуры безопасности до того, как соединение полностью установлено. Устройства Bluetooth, работающие в режиме безопасности 3, выполняют аутентификацию и шифрование для всех подключений к устройству и с него.
- Security Mode 4 – по сути усовершенствование режима безопасности 2. Функции безопасности реализуются после установления соединения. Для генерации ключа соединения (link key) используется ECDH (Протокол Диффи-Хеллмана на эллиптических кривых). Данный режим также имеет 5 уровней требований (от 0 до 4) к реализации:
NIST, что логично, во всех своих спецификациях рекомендует для такого класса устройств использовать именно Security Mode 4 Level 4.
Подробно механизмы генерации ключей, спаривания устройств, аутентификации, и т.д. выходят за рамки статьи. При желании можно ознакомиться с ними в самом гайде.
Bluetooth Low Energy
Low energy Security Mode 1 – режим безопасности, который можно ассоциировать со словом “шифрование”. Имеет несколько уровней:
- Level 1 – отсутствие какой-либо безопасности. Ни тебе аутентификации, ни шифрования. Самый грустный уровень в плане безопасности.
- Level 2 – разрешает спаривание без аутентификации устройств, но уже с обязательным шифрованием.
- Level 3 – требует спаривание с аутентификацией и шифрование.
- Level 4 – требует спаривание с аутентификацией типа “low energy Secure Connections” (использование алгоритмов, одобренных FIPS’ом — AES-CMAC и P-256 elliptic curve) и шифрование.
Low energy Security Mode 2 — режим безопасности, который можно ассоциировать со словосочетанием “подпись данных”. Также имеет несколько уровней:
- Level 1 – спаривание без аутентификации с подписью данных.
- Level 2 – спаривание с аутентификацией с подписью данных.
Прежде чем перейти к рекомендациям, рассмотрим виды атак на Bluetooth, чтобы понимать, от чего защищаемся.
Виды атак на Bluetooth
- Bluesnarfing – атака, в результате которой злоумышленник получает доступ к данным (часто использовался для получения доступа к IMEI) через Bluetooth устройства, которые не только включены, но и переведены в режим “доступен всем”. Для реализации этой атаки используются недостатки в прошивке устройств.
- Bluejacking – своего рода Bluetooth-спам (иногда фишинг). Атакующий мог рассылать сообщения на устройства, у которых включен Bluetooth.
- Carwhisperer – атака на устройства громкой связи и другой Bluetooth техники без дисплея и клавиатуры (изначально – handsfree в автомобилях), сводится на бруту стандартных паролей. В случае успешной атаки, злоумышленник может не только передавать свой аудиосигнал на устройство, но и подслушивать.
- Denial of Service – как и другие беспроводные технологии, Bluetooth восприимчив к DoS-атакам. Воздействия включают в себя невозможность использования Bluetooth устройства и быстрый разряд батареи. Эти типы атак не критичны из-за малого радиуса действия Bluetooth, а также их можно легко предотвратить, просто выйдя из радиуса действия атакующего передатчика.
- Pairing Eavesdropping – сниффинг Bluetooth эфира с целью перехвата фреймов, посылаемых во время спаривания устройств. Атакующий, имея данные фреймы, может довольно быстро вычислить секретный ключ. Подвержены только Bluetooth версии 2.0 и ниже в режиме спаривания PIN/Legacy и Low Energy Bluetooth в режиме спаривания Legacy.
- Secure Simple Pairing Attacks – MITM атака на Bluetooth low energy устройства, работающие в режиме спаривания «Just Works».
* NIST выделяет ещё атаку на Bluetooth типа фаззинг, но, как нам кажется, в этом нет никакого смысла, так как фаззить можно любой протокол.
Bluetooth Piconet Security Checklist
NIST предлагает удобную таблицу, в которой все рекомендации разбиты по двум категориям: «Рекомендуются к выполнению» и «Следует учитывать». Первая категория означает, что эта рекомендация актуальна для всех организаций, а вторая — в зависимости от возможностей организации, поскольку увеличиваются требования по эксплуатации и затратам.
Также присутствует третий столбец «Статус», оставленный пустым, для аудиторов, чтобы они при проверке могли отмечать выполненные пункты.
№ | Рекомендация | Обоснование | |||
---|---|---|---|---|---|
Организационные рекомендации |
|||||
1 |
Разработайте организационную политику безопасности беспроводной сети Bluetooth. |
Политика безопасности является основой для всех других контрмер. |
+ |
||
2 |
Убедитесь, что все пользователи Bluetooth ознакомлены с правилами безопасности по использованию Bluetooth. |
Программа информирования о безопасности помогает пользователям следовать практике, которая помогает предотвратить инциденты безопасности. |
+ | ||
3 |
Регулярно проводите комплексные оценки безопасности Bluetooth. |
Оценки безопасности помогают идентифицировать устройства Bluetooth, используемые в организации, а также помогают обеспечить соблюдение политики безопасности беспроводной сети. |
+ | ||
4 |
Убедитесь, что используемые беспроводные устройства Bluetooth полностью поняты с точки зрения архитектуры и документированы соответственно. |
Устройства с поддержкой Bluetooth могут содержать различные сетевые технологии и интерфейсы, позволяющие подключаться к локальным и глобальным сетям. Организация должна понимать общую связность каждого устройства для выявления возможных рисков и уязвимостей. Эти риски и уязвимости могут быть затем нивелированы в политике безопасности беспроводной сети. |
+ | ||
5 |
Предоставьте пользователям список мер предосторожности, которые они должны предпринять, чтобы лучше защитить карманные устройства с поддержкой Bluetooth от кражи. |
Организация и её сотрудники несут ответственность за свои устройства с поддержкой Bluetooth, потому что кража этих устройств может привести к инцидентам информационной безопасности. |
+ | ||
6 |
Ведите полную инвентаризацию всех беспроводных устройств и адресов Bluetooth (BD_ADDRs). |
Полный инвентаризационный список Bluetooth устройств можно предоставить в рамках проведения аудита с целью выявления несанкционированных устройств. |
+ | ||
Технические рекомендации |
|||||
7 |
Измените настройки Bluetooth по умолчанию, чтобы они соответствовали политике безопасности организации. |
Поскольку настройки по умолчанию, как правило, небезопасны, необходимо внимательно изучить эти параметры, чтобы убедиться, что они соответствуют политике безопасности организации. Например, обычно необходимо изменить имя устройства (т.е. так, чтобы оно не отображало тип платформы). |
+ | ||
8 |
Установите устройства Bluetooth на самый низкий необходимый и достаточный уровень мощности, чтобы радиус сигнала оставался в защищённом периметре организации. |
Установка устройств Bluetooth с минимальным необходимым и достаточным уровнем мощности обеспечивает безопасный доступ авторизованным пользователям. Следует избегать использования устройств класса 1, а также внешних усилителей или антенн с высоким коэффициентом усиления из-за их расширенного диапазона. |
+ | ||
9 |
Выберите PIN-коды, которые являются достаточно случайными, длинными и частными. Избегайте статических и слабых PIN-кодов, например, 000000. |
PIN-коды должны быть случайными, чтобы злоумышленники не могли легко их угадать. Более длинные PIN-коды более устойчивы к атакам типа brute-force. Для устройств Bluetooth 2.0 (или более ранних версий) следует использовать восьмисимвольный буквенно-цифровой PIN-код, если это возможно. Использование единого PIN-кода неприемлемо. |
+ | ||
10 |
Убедитесь, что ключи соединения (сессионные ключи / link keys) не основаны на ключах устройства. |
Использование “shared link keys” признано устаревшим, начиная с версии Bluetooth 1.2. |
+ | ||
11 |
Не используйте режим спаривания “Just Works” для устройств Bluetooth 2.1 и выше, использующих SSP. |
Режим спаривания «Just Works» не обеспечивает защиту от MITM. NIST не советует их даже закупать. |
+ | ||
12 |
Для устройств с Bluetooth 2.1 и более поздними версиями, использующих SSP, для каждого спаривания должны использоваться случайные и уникальные ключи доступа на основе модели ассоциации «Passkey Entry». |
Если при нескольких спариваниях используется один и тот же ключ доступа, то защита от MITM атак, предусмотренная в модели спаривания «Passkey Entry», значительно уменьшается. |
+ | ||
13 |
Если устройству с Bluetooth версий 2.1 и позднее, использующему Security Mode 4, необходимо соединиться с более старыми версиями Bluetooth, которые не поддерживают Security Mode 4, то данное устройство желательно откатить до Security Mode 3. |
Спецификации Bluetooth позволяют устройству 2.1 вернуться в любой режим безопасности (Security Mode) для обратной совместимости. Это позволяет вернуться к режимам защиты 1-3. Как обсуждалось ранее, режим безопасности 3 обеспечивает лучшую безопасность. |
+ | ||
14 |
Low energy Bluetooth устройства с версиями 4.0 и 4.1 должны использовать Security Mode 1 Level 3, когда это возможно |
Остальные режимы небезопасны. |
+ | ||
15 |
Low energy Bluetooth устройства с версией 4.2 и выше должны использовать Security Mode 1 Level 4, если это возможно. |
Данный режим позволяет обеспечить максимальный уровень безопасности для таких устройств. |
+ | ||
16 |
Bluetooth устройства BR/EDR с версиями 4.0 и 4.1 должны использовать Security Mode 4 Level 4, если это возможно. |
Если Security Mode 4 Level 4 не поддерживается, то вместо него стоит использовать Security Mode 4 Level 3. |
+ | ||
17 |
Неутвержденные службы и профили должны быть отключены. |
Большинство реализаций стека Bluetooth поддерживают несколько профилей и связанных с ними сервисов. Рекомендуется разрешить только необходимые профили и сервисы. |
+ | ||
18 |
Устройства Bluetooth должны быть настроены по умолчанию как “необнаруживаемые”, за исключением случаев, когда это необходимо для спаривания. |
Данная настройка позволит скрыть устройство Bluetooth от других устройств |
+ | ||
19 |
Необходимо использовать шифрование соединения. |
Без использования шифрования соединения передача данных уязвима к прослушиванию эфира. |
+ | ||
20 |
Если используется многолучевая беспроводная связь, убедитесь, что шифрование включено в каждой связи цепи. |
Одна небезопасная связь приводит к компрометации всей цепочки связи. |
+ | ||
21 |
Убедитесь, что для всех подключений выполняется взаимная аутентификация устройства. |
Для обеспечения проверки подлинности всех устройств в сети требуется взаимная аутентификация. |
+ | ||
22 |
Включить шифрование для всех широковещательных передач (режим шифрования 3). |
Широковещательные передачи, защищённые посредством шифрования соединений, обеспечивают уровень безопасности, который защищает эти передачи от перехвата. |
+ | ||
23 |
Настройте размеры ключей шифрования максимально длинными, что позволяет устройство. |
Использование максимально допустимых размеров ключей обеспечивает защиту от атак перебора. |
+ | ||
24 |
Устройства Bluetooth должны запрашивать у пользователя авторизацию всех входящих запросов Bluetooth-соединения, прежде чем разрешить все входящие запросы на соединение. |
Пользователи также не должны принимать соединения, файлы или другие объекты из неизвестных или ненадежных источников. |
+ | ||
25 |
Используйте проверку подлинности на уровне приложения и шифрование поверх стека Bluetooth для конфиденциальной передачи данных. |
Поскольку устройства могут автоматически подключаться к ранее связанным устройствам, то желательно использовать приложения, которые дополнительно реализуют функции шифрования и аутентификации. |
+ | ||
26 |
Добавьте слои для проверки подлинности пользователей, такие как: биометрия, смарт-карты, двухфакторная аутентификация или PKI. |
Внедрение мощных механизмов аутентификации может минимизировать уязвимости, связанные с паролями и PIN-кодами. |
+ | ||
27 |
Если вы используете решения Mobile Device Management (MDM), убедитесь, что политика безопасности Bluetooth в организации обеспечивается надлежащим образом с помощью используемых технических средств. |
Политики безопасности могут быть применены решениями MDM. Настройки по умолчанию, как правило, небезопасны. Необходимо внимательно изучить эти параметры, чтобы убедиться, что они соответствуют политике безопасности организации. |
+ | ||
Эксплуатационные требования |
|||||
28 |
Убедитесь, что функции Bluetooth отключены, когда они не используются. |
Bluetooth должен быть отключён на всех устройствах, за исключением случаев, когда пользователь явно разрешает Bluetooth устанавливать соединение. Это минимизирует воздействие потенциальных злонамеренных действий. Для устройств, которые не поддерживают отключение Bluetooth (например, гарнитуры), все устройство должно быть отключено, если оно не используется. |
+ | ||
29 |
Выполняйте сопряжение как можно реже, в идеальном случае в безопасной зоне, где злоумышленники не могут перехватить фреймы с обменом ключами доступа при сопряжении. (Примечание: «безопасная область» определяется как непубличная зона, находящаяся в помещении вдали от окон в местах с физическими средствами контроля доступа.) Пользователи не должны отвечать на любые сообщения, запрашивающие PIN-код, если пользователь не инициировал сопряжение и не уверен, что запрос PIN-кода отправляется одним из устройств пользователя. |
Сопряжение является важной функцией безопасности и требует, чтобы пользователи помнили о возможных подслушивающих устройствах. Если злоумышленник может захватить переданные фреймы, связанные с сопряжением, определение ключа ссылки является простым для устройств с Bluetooth все версии до 2.1 и еще 4.0, поскольку безопасность зависит исключительно от энтропии и длины PIN-кода. |
+ | ||
30 |
Bluetooth BR/EDR в режимах Security Mode 2 или 4 должен использоваться в контролируемой зоне. |
NIST настоятельно рекомендует, чтобы устройства Bluetooth BR/EDR использовали режим безопасности 3. |
+ | ||
31 |
Убедитесь, что портативные устройства с интерфейсами Bluetooth настроены на использование пароля. |
Это помогает предотвратить несанкционированный доступ, если устройство потеряно или украдено. |
+ | ||
32 |
В случае утери или кражи устройства Bluetooth пользователи должны немедленно удалить отсутствующее устройство из списка сопряженных устройств во всех других устройствах Bluetooth. |
Эта политика предотвратит использование злоумышленником утерянного или украденного устройства для доступа к другому устройству Bluetooth, принадлежащему пользователю. |
+ | ||
33 |
Установите антивирусное программное обеспечение на хостах с поддержкой Bluetooth, которые поддерживают такое программное обеспечение. |
Антивирусное программное обеспечение поможет предотвратить появление вредоносного ПО в сети Bluetooth. |
+ | ||
34 |
Регулярно развёртывайте обновления программного обеспечения Bluetooth и обновления прошивки. |
Патчи должны быть полностью протестированы перед развёртыванием, чтобы подтвердить, что они эффективны. |
+ | ||
35 |
Пользователи не должны принимать передачи сообщений, файлов и изображений с неизвестных или подозрительных устройств. |
С увеличением числа устройств с поддержкой Bluetooth важно, чтобы пользователи устанавливали соединения только с другими доверенными устройствами и принимали контент только с этих доверенных устройств. |
+ | ||
36 |
Необходимо полностью проанализировать последствия развёртывания каких-либо функций безопасности или продукта до развёртывания. |
Чтобы обеспечить успешное развёртывание, организация должна полностью понять технические, защитные, эксплуатационные и кадровые требования до внедрения. |
+ | ||
37 |
Необходимо выделить человека для отслеживания выпуска новых версий Bluetooth, а также стандартов безопасности (например, через Bluetooth SIG), появления новых уязвимостей и атак. |
Лицо, назначенное для отслеживания новейших технологий, стандартов и рисков, поможет обеспечить непрерывное безопасное использование Bluetooth. |
+ |
К сожалению, NIST даёт только рекомендации, но не рассказывает, как их выполнять. И если некоторые рекомендации вполне реально выполнить на смартфонах (например, перевод устройства в режим «невидимки» — №18), то на других устройствах их выполнение может быть и не предусмотрено в принципе. Таким образом, единственным способом является правильный подбор устройств на основе спецификации и последующая проверка устройства на соответствие ей.
ПО и полезные ссылки вдогонку:
- Project Ubertooth (http://ubertooth.sourceforge.net/) — платформа для анализа Bluetooth соединений. На основе него сделано 2 устройства: Ubertooth Zero и Ubertooth One
- Bluetooth Special Interest Group (https://www.bluetooth.com/)
- Trifinite Group (https://trifinite.org/) — группа исследования безопасности Bluetooth (у нас открывается только через TOR)