Исследование

Знакомство с Bluetooth, проблемы безопасности и новогодний War-nibbling

Почему Bluetooth? Технология Bluetooth

Новые технологии стремительно проникают во все сферы жизнедеятельности человека. Мы уже не можем представить жизнь без тех устройств, которые еще совсем недавно были только в фантастических фильмах.

Разработка технологии была начата фирмой Ericsson в 1994 году. В 1998 Ericsson, IBM, Nokia, Intel и Toshiba образовали консорциум SIG, который разработал стандарт Bluetooth. В настоящее время большое количество мобильных телефонов и периферийных устройств компьютеров оснащаются интерфейсом Bluetooth, некоторые производители бытовой техники также используют эту технологию.

На рынке уже появились трансиверы, позволяющие использовать Bluetooth с устройствами, изначально не оборудованными им, например подключать телефон к музыкальному центру, чтобы закачивать на телефон mp3-файлы или слушать mp3-файлы прямо с телефона. Bluetooth-наушники, -гарнитуры, автомобильные наборы carkits — это далеко не полный перечень применения Bluetooth в быту.

Распространенность, а также новизна явления (ведь настоящего хакера привлекает все новое и неизведанное) сделали свое дело. На Bluetooth и связанные с ним проблемы в области безопасности хакеры обратили внимание еще в начале 2000-х годов. Работы исследовательских групп @stack и shmoo дали толчок в этом направлении.

Для антивирусной индустрии эта тема также становится актуальна. Bluetooth стал технологией, с помощью которой распространяются черви. Например, Cabir, Lasco, Comwar — все они работают на операционной системе Symbian и распространяются через Bluetooth. Поэтому уязвимости Bluetooth и возможность передавать с его помощью файлы представляют практический интерес.

Изначально Bluetooth был предназначен для того, чтобы избавиться от проводов между устройствами. Например, если подключить к ноутбуку мышь, принтер, мобильный телефон и, например, gps-приемник с помощью проводов, то переносить его будет не так уж удобно, да и необходимых интерфейсов может не хватить.

Но со временем Bluеtooth стал вторгаться и в сферу беспроводных локальных сетей. Некоторые считают, что он может создать альтернативу Wi-Fi, хотя, на мой взгляд, эти технологии дополняют друг друга и имеют хотя и смежные, но все же разные области применения.

Основу Bluetooth составляет пикосеть (piconet), состоящая из одного главного и до семи подчиненных узлов, расположенных в радиусе 10 м. Пикосети могут объединяться в рассеянные сети (scatternet). Связь возможна только между главным и подчиненным узлом; между подчиненными узлами прямой связи нет.


Рис. 1

Bluetooth-устройства работают в нелицензируемом диапазоне частот от 2.4 до 2.4835 ГГц. Для избежания конфликтов с другими устройствами, работающими в этом диапазоне, используется алгоритм скачкообразного изменения частоты: 1600 скачков частоты в секунду.

Время работы на определенной частоте называется time-slot и составляет 625 мкс. Узлы, объединенные в пикосеть, перестраивают частоту одновременно по команде от главного узла по псевдослучайному алгоритму. Весь частотный диапазон разбит на 79 каналов шириной по 1 МГц. Данные передаются кадрами, которые могут состоять из 1, 3 или 5 тактов.

Существует два типа соединений: ACL (asynchronous connectionless — асинхронный без установления соединений) и SCO (synchronous connection oriented — синхронный с установлением связи).

Первый тип используется для передачи данных, которые могут появиться в произвольный момент времени. У подчиненного узла может быть только одно ACL-соединение с главным узлом.

Второй используется для передачи данных в реальном режиме времени, например при передаче речи. Подчиненное устройство может иметь до трех SCO-соединений с главным, с пропускной способностью 64 КБ.

Спецификация определяет три класса устройств

  • Класс 1 — 100 mW — 100m
  • Класс 2 — 2.5 mW — 10m
  • Класс 3 — 1 mW — 10m

Большинство устройств относятся ко 2-му и 3-му классам.

Стек протоколов:


Рис. 2

Для более глубокого изучения Bluetooth можно обратиться к Bluetooth-спецификации.

Механизмы защиты

Как отмечено в спецификации, пользовательская информация может быть защищена путем шифрования передаваемых данных, в то время как код доступа и заголовок пакета передаются в открытом виде. При шифровании используется потоковый шифр E0.

Таким образом становится очевидной возможность атак на уровне канала связи.

Bluetooth может работать в одном из трех режимов безопасности.

  • Режим 1 — незащищенный (no security).

    В этом режиме не работает ни шифрование, ни аутентификация, а само устройство работает в неразборчивом — широковещательном режиме (promiscuous).

  • Режим 2 — защищенный на уровне приложения/службы (application/service based (L2CAP))

    В таком режиме после установки соединения менеджер безопасности (Security Manager) осуществляет аутентификацию, что позволяет ограничить доступ к устройству.

  • Режим 3 — защищенный на уровне канала связи (link-layer PIN authentification/ MAC address encryption).

    Аутентификация производится до установки соединения; применяется прозрачное шифрование, но даже при таком режиме устройство может быть взломано.

Основой, на которой базируется безопасность Bluetooth, является генерация ключей, которая производится на основе PIN-кода. Длинна PIN-кода может быть от 1 до 16 байт. В настоящее время большинство устройств использует 4-байтовый код.

Сначала на основе PIN-кода по алгоритму E2 генерируется 16-байтовый Link Key.

А затем по алгоритму E3 на базе Link Key вычисляется Encryption Key.

Первый ключ используется для аутентификации, а второй для шифрования.


Рис. 3

Аутентификация происходит по следующей схеме:

  1. Устройство, инициирующее соединение, посылает свой адрес (BD_ADDR). (Этот 48-битный адрес является уникальным, как MAC-адрес сетевой карты. По адресу можно определить производителя устройства.)
  2. В ответ посылается случайная 128-я последовательность AU_RAND(challenge).
  3. На основе BD_ADDR, Link Key и AU_RAND оба устройства генерируют шифропоследовательность SPES.
  4. Устройство, запрашивающее соединение, отправляет свою SPES.
  5. Запрашиваемое устройство сравнивает полученную и свою SPES и при их совпадении устанавливает соединение.

Рис. 4

Хотя PIN-код в открытом виде не передается, он может быть взломан исходя из перехваченных BD_ADDR, AU_RAND и SPES.

Виды атак на Bluetooth

BlueBug

Данная уязвимость позволяет атакующему выполнять с устройствами с включенным Bluetooth неавторизованные действия.

В идеальном случае атака может быть выполнена всего за несколько секунд. Радиус ее действия ограничивается радиусом действия устройств класса 2, т.е., как мы упоминали ранее, 10-15 метрами. Чтобы увеличить это расстояние, можно использовать направленную антенну.

Так как некоторые телефоны поддерживают возможность запуска AT-команд, то атакующий может выполнить следующие действия:

  • инициировать телефонный звонок;
  • посылать SMS-сообщения на любой номер;
  • читать SMS с телефона;
  • читать и писать записи телефонной книги;
  • устанавливать переадресацию звонков.

А также многое другое.

Blueprinting

Blueprinting позволяет получить детальную информацию об удаленном устройстве. Как уже отмечалось ранее, каждое Bluetooth-устройство имеет уникальный Bluetooth-адрес. Этот адрес состоит из 6 байт и обычно представляется, подобно MAC-адресу, в формате MM:MM:MM:XX:XX:XX. Первые три байта, отмеченные как M, содержат сведения о производителе микросхемы. К сожалению, с оставшимися тремя байтами X не все так просто, и модель устройства нельзя определить однозначно.

Каждое Bluetooth-устройство предоставляет те или иные сервисы. Какие именно, можно узнать через SDP (service discovery protocol). На запрос о предоставляемых сервисах можно получить информацию определенного формата, на основе ответа можно вычислить конкретную модель устройства.

BlueSmack

DoS-атака, которая может быть осуществлена с помощью утилит, входящих в состав Linux Bluez.

Данная атака — подобие известной атаки на ранние версии Windows 95. На уровне L2CAP существует возможность послать запрос на отклик другого Bluetooth-устройства.

Идея такого запроса, как и в случае ICMP ping, заключается в проверке соединения и измерении времени отклика на установленное соединение. С помощью утилиты l2ping, которая распространяется в дистрибутиве BlueZ, пользователь может задавать длину посылаемых пакетов. Для получения желаемого эффекта необходимо через опцию -s указать размер около 600 байт.

BlueSnarf

Пожалуй, это самая известная Bluetooth-атака. Атакующий использует OBEX Push Profile (OPP), который служит для обмена бизнес-картами и другими объектами. В большинстве случаев этот сервис не требует аутентификации. BlueSnarf выполняет OBEX GET запрос к известным файлам, например, telecom/pb.vcf (адресная книга) или telecom/cal.vcs (календарь). В случае небрежной реализации firmware атакующий может получить доступ ко всем файлам.

BlueSnarf++

Очень похожа на BlueSnarf. Основное отличие в том, как атакующий получает доступ к файловой системе. BlueSnarf++ дает атакующему полный доступ на чтение и запись через OBEX Push Profile. Если на устройстве запущен OBEX FTP сервер, то через OBEX Push сервис можно соединиться без установки доверительных отношений (pairing).

Атакующий может просматривать содержимое файловой системы (через команду ls) или, например, удалять файлы (команда rm). Возможны действия с любой памятью, в том числе и с картами расширения memory stick или SD.

HelloMoto

Представляет собой комбинацию атак BlueSnarf и BlueBug.

Использует неправильную обработку «trusted device» на телефонах Motorola.

Атакующий инициирует соединение через OBEX Push Profile, симулируя посылку vCard. Затем происходит прерывание процесса отсылки, после чего устройство атакующего сохраняется в списке доверенных устройств на телефоне атакуемого. Благодаря записи в этом списке атакующий имеет возможность соединения с headset profile без аутентификации. Установив соединение, атакующий имеет возможность управлять устройством посредством AT-команд.

BlueBump

Данная атака требует от атакующего применения методов социальной инженерии. Идея заключается в установке доверительных отношений атакующего и жертвы. Этого можно достигнуть посылкой бизнес-карты, чтобы заставить атакуемого произвести аутентификацию. Атакующий сохраняет соединение открытым, но просит жертву удалить ключ для аутентификации атакующего. Жертва не догадывается, что соединение еще открыто, в этот момент атакующий запрашивает регенерацию ключа. После подобных действий атакующий получает новую запись без аутентификации. С этого момента атакующий имеет доступ к устройству, пока ключ не будет удален.

Атака на BlueDump

Link Key. В данном случае атакующий должен знать BDADDR paired устройств. Атакующий подменяет адрес одного из устройств и от его имени соединяется с другим. У атакующего нет ключа аутентификации, и на запрос жертвы об аутентификации он отвечает «HCI_Link_Key_Request_Negative_Reply». В части случаев это приводит к тому, что жертва удаляет собственный ключ аутентификации и устанавливает pairing режим.

BlueChop

Направлена на разрушение piconet-сети устройством, не входящим в состав сети. В основе атаки лежит возможность того, что главное устройство должно поддерживать несколько соединений для образования расширенных сетей (scatternet). Атакующий случайным образом подменяет адреса устройств из piconet и соединяется с главным устройством, что приводит к разрушению piconet.

Результаты исследований, или Новогодний War-nibbling

Перед Новым годом все человечество охватывает праздничная лихорадка, в этот период люди проводят в магазинах огромное количество времени в поисках подарков для своих близких. Торговые центры становятся хорошим местом для проведения исследований на тему, как много можно обнаружить пользователей различных устройств с Bluetooth-интерфейсом в открытом режиме в публичных местах. А также какая часть этих устройств подвержена тем или иным уязвимостям. Тем более что этим можно заниматься, не отрываясь от процесса поиска подарков.

Положив в сумку ноутбук с Bluetooth-адаптером, мы с товарищем отправились по магазинам. Для прогулки использовались:

  1. Ноутбук Sony vaio fxa 53.
  2. SuSE 10.0 OSS.
  3. PCMCIA Bluetooth-адаптер.
  4. btscanner 2.1

Посетив несколько торговых центров, мы собрали кое-какую информацию которая представлена ниже.

Устройства (мобильные телефоны, карманные компьютеры) могут работать в discoverarable и not-discoverable режимах. Сканирование not-discoverable-устройства возможно путем перебора адресов (bruteforce). В нашем сканировании эта техника не применялась и сканировались только открытые discoverable-устройства.


Рис. 5

Всего было найдено 194 устройства. В основном это были мобильные телефоны, на рис. 6 представлена разбивка по производителям. Лидерами (и это не новость, результаты подтверждаются и другими исследованиями) являются Nokia и Sony Ericsson.


Рис. 6

Рис. 7

Устройства этих производителей являются самими популярными, но в то же время они подвергаются самым распространенным видам атак на Bluetooth. Btscanner определил, что из всех просканированных устройств 25% подвержены snarf-атаке.


Рис. 8

Кроме того, четверть владельцев устройств приняли файлы, отправленные с удаленного расстояния.

Это навевает очень печальные мысли. Во-первых, большинство пользователей не только не уделяют должного внимания безопасности своих мобильных устройств, но даже ни разу не задумывались об этом. Только после того как человек становится жертвой чьей-то злой шутки или мошенничества, он начинает понимать всю серьезность проблемы.

Со временем это может оказаться даже опасным, ведь уже сейчас существуют автомобили с Bluetooth, и несложно представить, что проникновение в бортовой компьютер автомобиля может создать угрозу для жизни как пассажиров, так и окружающих.

Во-вторых, незащищенность мобильных устройств ведет к моментальному распространению вредоносного кода.

Методы защиты

  • Отключение discoverable-режима.

  • Включение аутентификации на основе PIN-ключей.

  • Антивирусное ПО.

    Ведущие антивирусные компании уже выпускают продукты для мобильных устройств. У «Лаборатории Касперского» есть также есть такие продукты : Kaspersky Mobile для Symbian-смартфонов и Kaspersky Security для PDA.

  • Использование дополнительного ПО (Blooover, Blooover II, BT Audit).

    Blooover является бесплатным приложением, которое написано на Java. Для его использования необходимо, чтобы телефон поддерживал J2ME MIDP 2.0 VM c JSR-82 API. Таким требованиям удовлетворяют, например, телефоны Nokia 6600, Nokia 7610, Sony Ericsson P900, Siemens S65. По своей сути Blooover — это сканер уязвимостей, предназначенный для проверки мобильных телефонов на предмет подверженности некоторым атакам. Впервые Blooover был представлен широкой общественности в декабре 2004. С тех пор он был скачан 150 000 раз. В декабре 2005 года появился Blooover II, в который было добавлено детектирование дополнительных атак.

    BT Audit сканирует открытые RFCOMM-каналы и L2CAP PSM и выдает отчет об их состоянии.

    Библиография

    1. www.trifinite.org
    2. www.shmoo.com
    3. www.bluetooth.org
    4. www.bluez.org
    5. www.atstake.com
  • Знакомство с Bluetooth, проблемы безопасности и новогодний War-nibbling

    Ваш e-mail не будет опубликован. Обязательные поля помечены *

     

    Отчеты

    StripedFly: двуликий и незаметный

    Разбираем фреймворк StripedFly для целевых атак, использовавший собственную версию эксплойта EternalBlue и успешно прикрывавшийся майнером.

    Азиатские APT-группировки: тактики, техники и процедуры

    Делимся с сообществом подходами, которые используют азиатские APT-группировки при взломе инфраструктуры, и подробной информацией о тактиках, техниках и процедурах (TTPs) злоумышленников, основанной на методологии MITRE ATT&CK.

    Как поймать «Триангуляцию»

    Эксперты «Лаборатории Касперского» смогли получить все этапы «Операции Триангуляция»: эксплойты нулевого дня для iOS, валидаторы, имплант TriangleDB и дополнительные модули.

    Подпишитесь на еженедельную рассылку

    Самая актуальная аналитика – в вашем почтовом ящике