Практически все современные гаджеты оснащаются модулем беспроводной связи Bluetooth. Начиная с бюджетных моделей смартфонов и заканчивая простым фитнес-браслетом из Китая, любое устройство может поддерживать уверенное соединение на расстоянии в несколько метров. Вот только немногие оснащены технологией « Bluetooth Low Energy”.
B luetooth Low Energy – режим низкого энергопотребления, позволяющий экономить заряд батареи у сопряжённых устройств. Технология доступна только с версии Bluetooth 4.x А чтобы добиться обозначенного эффекта, устройства должны быть совместимы.

Самый очевидный метод
Если у вас сохранилась упаковка от смартфона, то соответствующую информацию можно найти непосредственно на коробке или в документации, входящей в комплект поставки. Сразу обращаем внимание на оригинальный значок Bluetooth и раздел описания, посвящённый беспроводной связи.
Если упаковка утеряна или выброшена за ненадобностью, то отправляемся на официальный сайт производителя, где можно найти технические характеристики для всей продукции. Ну, а ещё можно заглянуть на Яндекс.Маркет или подобный ему ресурс, где имеются подробности о большинстве смартфонов, доступных в продаже.
Приложение BLE Checker
Помимо очевидных методов поиска, можно обратиться к сторонним приложениям из Google Play. Одно из таких имеет говорящее название « BLE Checker » ( дословно с англ. — проверщик Bluetooth Low Checker).

Устанавливаем приложение на свой смартфон из каталога « Play Market”. Далее запускаем и разрешаем активировать модуль Bluetooth ( если он не был включён до этого ).
После приложение уведомит о поддержке технологии BLE ( на английском языке ). В нашем случае, устаревшая модель смартфона не имеет совместимость с режимом низкого энергопотребления — not supported.

Вместо послесловия
Bluetooth Low Energy позволяет получить доступ ко многим современным гаджетам без дополнительных затрат энергии. Жаль, но пока технология не имеет широкого распространения, и доступна владельцам новых смартфонов с Bluetooth 4.x на борту.
Этичный хакинг и тестирование на проникновение, информационная безопасность
Чтобы вы не ушли пока читаете скучную теорию — в этой статье я буду взламывать свою зубную щётку…
Bluetooth, как мы знаем, является одной из самых популярных и широко используемых беспроводных технологий в современном мире. В связи с быстрым ростом IoT, ускоряющим развитие технологии Bluetooth, Специальная группа по интересам Bluetooth (Bluetooth Special Interest Group (SIG)) предпринимает постоянные усилия по увеличению скорости передачи с максимальным акцентом на маяки, развлечения, сферу здравоохранения и фитнес.
Примечание: IoT — «Интернет вещей», термин относится к совокупности разнообразных устройств, обычно более простых, чем персональный компьютер, которые подключены к Интернету.
Bluetooth Low Energy (BLE) является частью спецификации Bluetooth 4.0, которая также включает протоколы классического Bluetooth и протокол высокоскоростного Bluetooth (Classic Bluetooth and Bluetooth High Speed Protocols). По сравнению с классическим Bluetooth, BLE предназначен для использования меньшей мощности при сохранении аналогичного диапазона связи. BLE — это технология, которая всегда отключена и передаёт только короткие объёмы данных, когда это необходимо. Это значительно снижает энергопотребление, что делает его идеальным для использования в случаях, когда требуется постоянное долговременное соединение с низкой скоростью передачи данных. BLE идеально подходит для пульта дистанционного управления телевизором, но не для беспроводного устройства потоковой передачи мультимедиа, которому для передачи требуется большой объем данных.
Bluetooth Low Energy встроен во многие гаджеты, которые мы используем сегодня. От смартфонов, умных телевизоров, передовых технологий, таких как медицинское оборудование, до базовых устройств, таких как наши кофемашины, — все используют BLE.
Изначально Nokia разработала BLE для собственного проекта под названием «WIBREE», который впоследствии был передан Bluetooth SIG. BLE был задуман с акцентом на лучшую скорость сопряжения и энергоэффективность.
Что выделяет BLE?
- Обеспечивает многоплатформенную связь: может легко общаться через большое количество устройств, работающих на Android, iOS, Linux, Windows Phone, Windows 8 и OS X
- Лучшая скорость сопряжения
- Помогает поддерживать связь в течение более длительных периодов времени
- Значительно ниже затраты на внедрение
- Энергоэффективный
На бумаге BLE выглядит хорошо, а как на практике?
Это хороший вопрос с точки зрения безопасности. Дело в том, что BLE — это просто протокол. Изготовители должны безопасно внедрить BLE в своё устройство. Известно, что даже самый сильный криптографический протокол не будет работать, если генератор случайных чисел не является «достаточно случайным». То же самое относится и к BLE. Таким образом, можно сказать, что безопасность BLE лежит в руках его исполнителей.
В то время как все устройства Bluetooth с низким энергопотреблением были разработаны с основной целью улучшения взаимодействия с пользователем, безопасность заняла последнее место во время процесса?
Давайте посмотрим на три основные уязвимости, которым BLE могут подвергать своих пользователей:
- Подслушивание: как следует из названия, подслушивание относится к стороннему устройству, прослушивающему данные, которыми обмениваются два сопряжённых устройства. Соединение между двумя сопряжёнными устройствами означает цепочку доверия. Цепь разрывается при удалении одного из устройств. Злоумышленник может использовать номер устройства для доступа к другим Bluetooth-устройствам. Даже если ключи шифрования/расшифровки должны были быть удалены, атакующий может офлайн брутфорсить ПИН, используя Bluetooth Sniffer (на основе идентификатора устройства). Как только PIN-код будет получен, устройство может быть легко взломано.
- Атаки «человек посередине» (MITM). Атаки «человек посередине» включают стороннее устройство, имитирующее законное устройство, обманывая два легитимных устройства, заставляя их поверить в то, что они связаны друг с другом, когда на самом деле законные устройства подключены к имитатору (посреднику). Этот тип атаки позволяет злоумышленнику/имитатору получить доступ ко всем данным, которыми обмениваются устройства, а также манипулировать данными, удаляя или изменяя их, прежде чем они достигнут соответствующего устройства.
- Отказ в обслуживании и Fuzzing атака. Поскольку большинство беспроводных устройств в наши дни работают на встроенных аккумуляторных батареях, эти устройства подвержены риску атак типа «отказ в обслуживании» (DoS). DoS-атаки подвергают систему частым сбоям, приводящим к полному истощению её батареи. Fuzzing атаки также приводят к сбою систем, поскольку злоумышленник может отправлять искажённые или нестандартные данные на радиомодуль устройства Bluetooth и проверять его реакцию, что в конечном итоге может сбить с толку устройство.
Итак, резюмируя, по своей задумке BLE это упрощённая версия Bluetooth, которая всегда не меняет каналы (частоты), что облегчает сниффинг и атаку человек-посередине. BLE не имеет встроенного протокола обеспечения безопасности. Реализация безопасности BLE возложена на производителей конечных устройств, которые не всегда подходят к этому добросовестно. По этой причине многие BLE устройства можно легко обнаружить практически в любое время их работы. При этом зачастую они не содержат каких-либо механизмов для ограничения чтения и даже записи на них, то есть открыты для подключения и модификации кому угодно.
Основные понятия в BLE
В BLE есть два основных понятия.
- GAP — Generic Access Profile (общий профиль доступа)
- GATT — Generic Attribute Protocol (протокол общих атрибутов)
Общий профиль доступа (GAP)
Он ответственен за подключение и распространения информации о наличии устройства BLE. GAP отвечает за видимость устройства во внешнем мире, а также играет важную роль в определении того, как устройство взаимодействует с другими устройствами.
Следующие две концепции являются неотъемлемой частью GAP:
Периферийные устройства. Это небольшие устройства с низким энергопотреблением, которые могут подключаться к сложным, более мощным центральным устройствам. Монитор сердечного ритма является примером периферийного устройства.
Центральные устройства: в основном это мобильные телефоны или гаджеты с увеличенной памятью и вычислительной мощностью.
Advertising process (обеспечение видимости устройства)
Процесс обнаружения устройств заключается в том, что Периферийное устройство в заданные интервалы отправляет в округу данные о своём существовании. Если эти данные получит Центральное устройство, то оно отправит запрос на сканирование. В ответ Периферийное устройство пришлёт данные результата сканирования.
Периферийное устройство будет отправлять «рекламные» данные каждые 2 секунды. Если центральное устройство готово прослушать рекламные пакеты, оно ответит запросом сканирования. В ответ на этот запрос периферийное устройство отправит данные ответа сканирования. Таким образом, центральное и периферийное устройства узнают друг о друге и связывается друг с другом.
Протокол общих атрибутов (GATT)
Используя общий протокол данных, известный как протокол атрибутов, GATT определяет, как два устройства BLE обмениваются данными друг с другом, используя понятия — сервис (service) и характеристика (characteristic). Этот протокол сохраняет все сервисы и характеристики в справочной таблице с использованием 16-битных идентификаторов, как указано в Bluetooth SIG. Важно отметить, что GATT инициируется только после того, как Advertising процесс, регулируемый GAP, завершён.
Две основные концепции, которые образуют GATT
- Сервисы (service)
- Характеристики (characteristic)
Сервисы
Сервисы можно представить просто как шкаф, в котором может быть много ящиков, которые в свою очередь называются характеристиками. Сервис может иметь много характеристик. Каждый сервис уникален сам по себе с универсально уникальным идентификатором (UUID), который может быть размером 16 бит для официальных адаптированных сервисов или 128 бит для пользовательских сервисов.
Характеристики
Характеристики являются наиболее фундаментальным понятием в рамках транзакции GATT. Характеристики содержат одну точку данных и схожи с сервисами, каждая характеристика имеет уникальный идентификатор или UUID, который отличается от другой характеристики.
Вот спецификации SIG для характеристик и сервисов для устройств BLE. Любое устройство BLE, которое официально приняло UUID от SIG, должно использовать идентификатор, указанный ими в своих приложениях.
Например, официальный UUID мощности передачи (TX power) в соответствии с мандатом SIG равен 0x1804.
Чтобы было наглядно, посмотрите на этот пример сервисов и характеристик конкретного устройства:
В нём «Generic Access (1800)» — это 16-битный сервис. Внутри этого сервиса, следующие 16-битные характеристики:
Ещё один 16-битный сервис это «Generic Attribute (1801)», он содержит только одну 16-битную характеристику: Service Changed (2a05).
Далее идут три 128-битные сервиса, первый из них «a0f0fff050474d5382084f72616c2d42», содержит четыре 128-битных характеристики:
Имеется проблема в идентификации сервисов и характеристик. Для 16-битных сервисов и характеристик всё просто, ссылки на их значения даны выше. Что касается 128-битных сервисов и характеристик, то они у каждого производителя могут быть свои. То есть нужно приложит некоторые усилия, чтобы, к примеру, сопоставить что-то вроде d0611e78-bbb4-4591-a5f8-487910ae4366 с чем-то вроде Apple Continuity Service. Для сопоставления можно использовать как минимум два подхода:
- анализ приложения для управления устройством (многие устройства имеют программы под Android)
- фаззинг — ввод различных данных и наблюдение за устройством, что в нём поменялось
Как взломать Bluetooth Low Energy
Суть процесса взлома Bluetooth Low Energy можно описать следующими стадиями:
- Обнаружение устройства
- Считывание его сервисов и характеристик
- Обнаружение среди характеристик те, которые можно перезаписать
- Определение, за что отвечают характеристики
- Изменить значения характеристик
Четвёртый этап является творческим и самым сложным. Иногда роль характеристик можно найти в документации разработчиков для данного устройства. Иногда приходится перебирать значения и смотреть, что поменялось в устройстве. Самый сложный вариант — это обратная инженерия перехваченного Bluetooth трафика или приложения для управление устройством.
Я покажу пример изменения BLE параметров на устройстве с помощью bettercap.
Вводим команду для включения модуля по обнаружению BLE устройств:
При обнаружении новых устройств и при потере видимости устройств будут выводиться примерно следующие сообщения:
Чтобы вывести устройства, которые в данный момент в пределах досягаемости, выполните команду:
Для показа характеристик конкретного устройства, запустите команду следующего вида, где вместо MAC укажите MAC-адрес устройства:
К примеру, меня интересует устройство C8:DF:84:1A:9F:26:
В столбце Properties вы увидите свойства данной характеристики, они могут быть:
- READ (чтение)
- WRITE (запись) — то есть возможно изменение данной характеристики
- NOTIFY (уведомление)
- INDICATE (индикатор)
В колонке Data присутствует текущее значение характеристики, либо дополнительная информация, например:
Для записи данных HEX_DATA в BLE устройство с указанным MAC адресом, в характеристику с идентификатором UUID:
Чтобы знать, что именно записывать, нужно понимать, за что отвечают характеристики. Вот пример значений для моего устройства — это электрическая зубная щётка Oral-B Genius 9000 (кстати, рекомендую). Значение характеристик я нашёл в Интернете.
Исследование и взлом Bluetooth Low Energy (BLE) с телефона
Поскольку на всех современных телефонах имеется Bluetooth, то вы можете использовать приложения для работы с Bluetooth Low Energy (BLE) окружающих устройств на телефоне.
Пример такого приложения — nRF Connect — бесплатная программа программа для Android, которая умеет сканировать для поиска BLE устройств, подключаться к ним и менять значение характеристик. Программа поддерживает макросы и другие продвинутые функции.
Просмотр сервисов устройства:
Просмотр свойств характеристик:
Редактирование значений характеристик:
Работа с Bluetooth Low Energy (BLE) в Linux
Конечно, в Linux можно работать с устройствами, поддерживающими BLE, напрямую, без таких программ как Bettercap.
К сожалению, этот аспект довольно запутанный. В Debian и производных программы для работы с Bluetooth Low Energy собраны в пакете bluez. В Arch Linux и производных, пакет bluez также имеется, но утилиты, которые нас интересуют, помещены в пакет bluez-utils. Но не это самая большая проблема.
После очередного обновления утилит bluez, авторы вдруг признали многие важные программы «устаревшими», а именно устаревшими объявлены:
- gatttool
- hciattach
- hciconfig
- hc > Поразительно, но для них не было представлено полноценных замен. Путаницу добавляет отсутствие нормальной документации и даже справки по программам.
Была составлена такая таблица замены:
| Устаревший инструмент | Самая подходящая замена |
|---|---|
| gatttool | btgatt-client, D-Bus Gatt API |
| hciattach | btattach |
| hciconfig | btmgmt (и bluetoothctl?) |
| hcidump | btmon (и btsnoop) |
| hcitool | отсутствует, доступно в D-Bus Device API |
| rfcomm | отсутствует, реализовано в D-Bus Profile1 API? |
| ciptool | |
| sdptool | отсутствует, кажется, что функциональность разбросана по разным объектам D-Bus: Profile, Advertising, и массивы UUIDs в device и adapter. |
Слова «отсутствует» не вселяют уверенности. По этой причине для Debian и производных этот пакет компилируется с ключом —enable-deprecated, а на Arch Linux в дополнении к пакету bluez-utils, доступному в стандартных репозиториях, в AUR имеется пакет bluez-utils-compat, в котором тоже включены устаревшие инструменты.
В относительно свежих инструкциях, для взаимодействия с Bluetooth Low Energy используются утилиты:
- hcitool
- gatttool
Поскольку они устарели и однажды всё-таки будут удалены окончательно, рассмотрим несколько простых вариантов использования их замен для поиска BLE устройств и получения с них данных.
Если запустить программу btmgmt:
И в ней выполнить команду:
То она выведет список обнаруженных устройств:
Будут выведены как BLE, так и обычные Bluetooth устройства.
Также умеет искать BLE устройства, если ввести:
С помощью команды connect можно подключиться к устройству, для этого нужно указать его MAC-адрес:
Информация по устройству:
Если перейти в меню GATT:
То можно получить список характеристик:
А также перезаписать характеристики устройства.
Для получения информации по отдельным характеристикам:
Ещё одна программа, которая выведет сразу все характеристики устройства — btgatt-client. Например, выполним подключение и посмотрим характеристики устройства с MAC C8:DF:84:1A:9F:26:
В дополнении к рассмотренным программам, в отдельной консоли можно запустить Bluetooth monitor:
Как и полагается программе-монитору, она будет выводить множество информации о происходящем с Bluetooth и об обнаруженных устройствах.
Заключение
Системные утилиты Linux для работы с Bluetooth заслуживают более внимательного изучения — с их помощью можно узнать более подробную информацию о своей системе и сделать тонкую настройку Bluetooth адаптера.
Также с помощью них можно реализовать сканеры BLE и Bluetooth устройств и/или написать или приспособить фаззеры для исследования назначения характеристик BLE устройств. Поэтому вполне возможно, что в одной из следующих статей будут более подробно рассмотрены программы для работы с BLE.
Abhishek Gupta и Imran Mohammed, Cypress Semiconductor
Технология Bluetooth совершила революцию в беспроводной связи между устройствами благодаря широкому распространению и простоте. Она позволяет обмениваться информацией без кабелей при высоком уровне безопасности. Из-за своей небольшой потребляемой мощности и низкой стоимости она сыграла поворотную роль в развитии самых различных приложений – от быстродействующей автоэлектроники до сложных медицинских устройств.
Простота и всеобщее признание технологии Bluetooth означают, что любое устройство с Bluetooth может соединиться с другим близко расположенным устройством c помощи процесса, известного как сопряжение (pairing). Сопряжение позволяет устройствам устанавливать полнодуплексную связь, передавая данные и голос на небольшое расстояние через специальные сети, известные как пикосети, которые могут соединять до восьми устройств. Одно устройство выполняет функцию ведущего, а остальные устройства в сети/пикосети являются ведомыми. Ведущее устройство работает как концентратор, а ведомые связываются через него одно с другим. Другая важная характеристика технологии Bluetooth заключается в использовании скачкообразной перестройки частоты для уменьшения влияния помех.
Поддерживаемая технологией Bluetooth полнодуплексная связь предоставляет пользователям такие инновационные возможности, как подключение телефона с Bluetooth к музыкальному динамику, разговор по телефону во время управления автомобилем, соединение двух ноутбуков для совместного доступа к файлам, а также подключение игровой консоли к игровому контроллеру с поддержкой Bluetooth.
Bluetooth Low Energy
Bluetooth Low Energy – это интеллектуальная и экономичная версия беспроводной технологии Bluetooth. Она уже играет значительную роль в превращении разумных гаджетов в еще более разумные, делая их компактными, доступными и менее сложными.
Bluetooth Low Energy (BLE), также позиционируемый как Bluetooth Smart, начинал свое развитие как часть спецификации ядра Bluetooth версии 4.0. Изначально, до принятия группой Bluetooth Special Interest Group (SIG), она была разработана фирмой Nokia под названием Wibree. Первоначальный акцент в ней делался на предоставлении стандарта радиосвязи с минимально возможным энергопотреблением, специально оптимизированного для получения низкой стоимости, небольшой полосы пропускания, минимального энергопотребления и невысокой сложности.
Эти цели проекта очевидны из базовой спецификации, демонстрирующей стремление сделать BLE подлинным стандартом с низким энергопотреблением, разработанным для практической реализации производителями полупроводниковых компонентов и использования в практических приложениях при минимальном потреблении энергии и минимальном бюджете. Это уже широко распространенная технология, реально способная обеспечить продолжительную работу от одной дисковой батарейки.
При том, что технология BLE превосходна сама по себе, что обусловило феноменальную скорость ее распространения, это правильная технология с разумными компромиссами, которая появилась в нужное время. По количеству изделий, в которых уже содержится BLE, этот сравнительно молодой стандарт намного опережает другие беспроводные технологии в той же точке их жизненного цикла.
Проблемами, с которыми столкнулся классический Bluetooth, являются быстрый расход заряда батареи и частые потери связи, требующие периодического повторного сопряжения. Способность успешно решить эти проблемы и стала одной из причин быстрого распространения BLE. Дальнейшему продвижению способствовал феноменальный рост рынка смартфонов, планшетов и мобильных вычислений. Раннее и активное принятие BLE тяжеловесами мобильной индустрии распахнуло двери для более широкого внедрения BLE. Это, в свою очередь, подтолкнуло производителей полупроводников к тому, чтобы сконцентрировать свои ограниченные ресурсы на тех технологиях, которые, по их мнению, скорее всего будут развиваться в долгосрочной перспективе.
По мере взросления рынков мобильных устройств и планшетов, потребность в соединении этого оборудования с внешним миром приобретает огромный потенциал роста. Это дает поставщикам периферийного оборудования уникальную возможность разработки инновационных устройств, решающих проблемы потребителей, о существовании которых сегодня они могут даже не подозревать. Таким образом, в BLE соединилось множество преимуществ, открывающих небольшим и проворным компаниям-разработчикам доступ к потенциально огромному рынку с предназначенными для решения конкретных задач креативными и инновационными продуктами при относительно скромном бюджете проекта. Сегодня BLE также позволяет этим разработчикам проектировать конкурентоспособные продукты, позволяющие общаться с любой современной мобильной платформой, используя легко доступные микросхемы, инструменты и стандарты.
Особенности
1. Самое низкое энергопотребление
Все, от физической конструкции и до используемых моделей, подчинено цели поддержания минимального расхода энергии. Для снижения потребления энергии устройство BLE большую часть времени проводит в спящем режиме. Когда происходит какое-либо событие, устройство просыпается и передает короткое сообщение на шлюз, персональный компьютер или смартфон. Максимальное/пиковое потребление мощности составляет менее 15 мА, а среднее – около 1 мкА. По сравнению с классическим Bluetooth, активная потребляемая мощность снижена в десять раз. В приложениях с редкой периодичностью включения одна дисковая батарейка может обеспечить надежную работу в течение 5-10 лет.
2. Малозатратность и совместимость
Для совместимости с классической технологией Bluetooth и невысокой цены реализации в небольших устройствах с батарейным питанием существуют два типа чипсетов:
- Двухрежимные, с поддержкой функциональности как BLE, так и классического Bluetooth;
- Автономные BLE, оптимизированные для небольших устройств с батарейным питанием, с акцентом на низкую стоимость и малую потребляемую мощность.
3. Защищенность, безопасность и надежность
В BLE используется та же технология адаптивной скачкообразной перестройки частоты (AFH), что и в классической Bluetooth. Это позволяет BLE обеспечивать надежную передачу в условиях «зашумленного» эфира, типичных для домашних, промышленных и медицинских приложений. Для минимизации затрат и потребления энергии при использовании AFH количество каналов в BLE сокращено до 40 при ширине каждого канала 2 МГц, вместо 79 каналов шириной 1 МГц, используемых в классической технологии Bluetooth.
4. Сосуществование беспроводных стандартов
Частоту 2.4 ГГц нелицензируемого диапазона ISM используют технология Bluetooth, беспроводные локальные сети, IEEE 802.15.4/ZigBee, а также несколько фирменных стандартов. При столь большом количестве технологий в одном радиопространстве помехи могут ухудшить характеристики беспроводной сети (то есть, увеличить задержки и уменьшить пропускную способность) вследствие необходимости исправления ошибок и повторных передач. В ответственных приложениях влияние помех может быть снижено за счет частотного планирования и специальной конструкции антенны. Поскольку и в классической Bluetooth, и в BLE используется AFH, минимизирующая помехи от других стандартов радиосвязи, обмен через Bluetooth устойчив и надежен.
5. Дальность связи
Используемая в BLE технология модуляции несколько отличается от технологии классической Bluetooth. Это различие в модуляции обеспечивает дальность связи до 300 метров при мощности передатчика радио-чипсета 10 дБм (максимум, разрешенный для BLE).
6. Простота использования и интеграции
Обычно пикосеть BLE основана на соединении ведущего устройства с несколькими ведомыми. Устройство может быть либо ведущим, либо ведомым, но не тем и другим одновременно. Ведущее устройство решает, как часто ведомые могут выходить на связь, а ведомые могут передавать данные только по запросу ведущего. Новой особенностью BLE, добавленной к классической Bluetooth, является функция оповещения, с помощью которой ведомое устройство может объявить, что у него есть какая-то информация для передачи ведущему. В оповещении может также содержаться событие или результат измерения.






