30.04.2005

Обзор Безопасности Bluetooth, Часть 1

В этой статье мы познакомились с Bluetooth и наиболее популярными аспектами безопасности, существующими в этих устройствах, включая социальную инженерию. В следующий раз, во второй части, мы расскажем о неопубликованной уязвимости в трубке одного производителя как пример направленной атаки. Далее мы обсудим Bluetooth антенны и расширители радиуса, а также как Bluetoothможет быть использован для поиска местоположения устройства (а может и хозяина), и проанализируем недавнюю вспышку червя, который размножается через Bluetooth, так что мы сможем проанализировать их опасность. Оставайтесь на нашей частоте!

Автор Marek Bialoglowy

Перевод Войновича Андрея

Введение в Bluetooth

Bluetooth (BT) – беспроводная технология, позволяющая широкому ряду устройств взаимодействовать друг с другом и соединяться с сетью Internet без проводов, кабелей и разъемов. Эта технология поддерживается и используется более чем 3000 компаниями, включая Sony Ericsson, Nokia, Motorola, Intel, IBM, Toshiba, Motorola, Apple, Microsoft, и даже Toyota, Lexus и BMW. Из множества продуктов, доступных на рынке, технологию Bluetooth поддерживают принтеры, карманные компьютеры, клавиатуры, автомобили и - самая популярная область применения Bluetooth - мобильные телефоны, охватывающая 60% рынка Bluetooth устройств. Эта технология уже завоевала огромную популярность (каждую неделю выпускаются более чем 3 – миллиона устройств с поддержкой Bluetooth). По опросу IDC к 2008 году во всем мире будет около 922 миллиона Bluetooth – устройств. Новая технология представляет большой интерес и пользу до тех пор, пока не появится угроза в плане частной жизни и безопасности пользователей Bluetooth.

Идея о внедрении Bluetooth возникла в 1994 году, когда команда исследователей Ericsson Mobile Communications под руководством доктора Jaap Haartsen и доктора Sven Mattisson положили начало изучению универсальной, действующей в узком диапазоне, маломощной беспроводной технологии связи с целью экономии кабелей между мобильными телефонами и компьютерами, наушниками и другими устройствами. Bluetooth, который мы знаем сегодня, развился благодаря Bluetooth Special Interest Group (SIG) – промышленной ассоциации, появившейся в мае 1998 года и официально открывшейся в сентябре 1998 года. Позднее к Bluetooth SIG примкнули Ericsson, IBM, Intel, Nokia и Toshiba, позже в декабре 1999 - 3Com Corporation, Lucent Technologies, Microsoft Corporation и Motorola Inc. После нескольких лет исследований Bluetooth использует свободную и доступную Industrial-Scientific-Medical (ISM) радио частоту 2.4ГГц, не требующей лицензирования для использования устройств малой мощности в радиусе действия от 10 до 100 метров при скорости передачи данных до 723.2 кб/сек, или 2.1Мб/сек с новой спецификацией Расширенной Передачи Данных (Enhanced Data Rate), которая появилась в 2005 году. Каждое устройство может одновременно обмениваться данными с семью другими в радиусе действия пикосети.

Bluetooth был изначально запланирован как безопасный вид связи. Т.е. он включал в себя аутентификацию, шифрование, контроль качества обслуживания (quality of service - QoS) и другие функции зашиты. Как бы то ни было, в этой статье будет показано, что Bluetooth в ряде случаев уязвим, в результате чего злоумышленник уже сейчас может провести успешное нападение против Bluetooth устройств.

На сегодняшний день технология BT позволяет:

  • Использовать беспроводную гарнитуру мобильного телефона, в то время как сама трубка может быть в сумке, кармане и т.п.
  • Синхронизировать календарь, телефонный справочник и другую информацию между PDA (personal digital assistant – карманный компьютер) и PC
  • Подключать к компьютеру принтер, клавиатуру, или мышь без кабелей
  • Обмен фотографиями или мелодиями звонка между мобильными телефонами

Технология постоянно изучается и дополняется в целях сделать ВТ быстрее, безопаснее и дешевле, а также добавить дополнительные функции.

Возможности безопасности Bluetooth

Самая известная и основная функция механизма безопасности Bluetooth – это возможность выбрать состояние устройства: «Видимый» (другим устройствам) и «Невидимый» ("Discoverable" "non-discoverable"), как показано на примере с карманным компьютером на рисунке 1.

Figure 1. Bluetooth option to be discoverable or not.

Рисунок 1. Режим Bluetooth "Видимый" или нет.

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

Установка Bluetooth в режим «Невидимый» предотвращает появление устройства ВТ в списке сканирования. Однако его все еще могут обнаружить устройства с похожими Bluetooth МАС адресами, что может быть последствием предыдущего контакта двух устройств (имеются в виду устройства, которые взаимодействовали хотя бы один раз).

Сканирование адресов Bluetooth

Адрес Bluetooth представляет собой индивидуальный идентификатор длиной 48 бит, причем первые 3 байта адреса определяют своего производителя по IEEE (www.ieee.org/), а последние 3 байта свободно присваиваются производителем устройства. Например, шестнадцатеричное представление адреса Bluetooth телефона Sony Ericsson P900 может выглядеть следующим образом 00:0A:D9:EB:66:C7, где первые 3 байта (00:0A:D9) адреса присвоены компании изготовителю Sony Ericsson всё той же IEEE (Institute of Electrical and Electronics Engineers Институт инженеров по электротехнике и электронике - профессиональное объединение, выпускающие свои собственные стандарты; членами IEEE являются ANSI и ISO), а это означает, что все модели телефонов Р900 будут иметь точно такие же первые 3 байта адреса Bluetooth. Последние 3 байта (EB:66:C7) присваиваются изготовителем и должны быть разными для каждого представителя серии Р900 – но, к сожалению, это не всегда так.

Теоретически, задействовав режим «Невидимый», устройство ВТ должно быть защищено от неавторизованных соединений, но на практике возможно осуществить поиск таких устройств. Существует программное обеспечение, позволяющее искать «Невидимые» ВТ по брут - форсу. Примером такого ПО можно назвать программу RedFang, выпущенную Ollie Whitehouse. Это маленькое приложение пытается соединиться со случайными ВТ адресам по одному, пока какое-нибудь устройство не ответит на запрос, посланный на его адрес. К сожалению, этот прием пока что является только РоС, чем серьезным инструментом взломщика. Главное препятствие осуществления такого приема брут – форса это время, которое тратится на попытку соединения с одним ВТ. По тестам автора это время составляет как минимум 6 секунд для достижения хорошего качества соединения (на самом деле это время варьируется от 2.5 до 10 секунд). Конечно, можно найти «Невидимку» и за 3 секунды, но скорее всего потеряв некоторые устройства, что в последствии повлияет на результаты сканирования не в лучшую сторону. Чтобы представить это более наглядно, давайте посмотрим на четкие цифры. Адресное пространство, используемое Sony Ericsson, имеет 16 777 216 возможных адресов. Умножим эту цифру на 6 секунд (которые требуются для попытки соединения на одно устройство), то полное сканирование займет 1165 дней, то есть чтобы найти все спрятанные устройства Sony Ericsson в комнате совещаний нам потребуется более 3 дет. Из всего этого следует, что этот прием бесполезен для злоумышленника, т.к. занимает слишком много времени. Однако уже сейчас есть методы поиска «Невидимого» ВТ значительно быстрее.

У большинства устройств ВТ (почти все сейчас – мобильные телефоны) есть яркий голубой светодиод, показывающий включена ли на телефоне функция ВТ. Если хакер видит мобильник с большим голубым диодом и не может найти его при помощи стандартного средства поиска ВТ, то он поймет, что устройство работает в невидимом режиме. Основываясь на этом, злоумышленник будет знать, что на этом устройстве работает ВТ, а если будет видеть его, то наверняка сможет узнать модель телефона – после чего сможет провести брут – форс на адреса ВТ и сделает процесс поиска гораздо проще.

Уменьшение числа возможных адресов

Прежде всего, если производитель устройства известен, то количество возможных ВТ адресов строго ограничено до 16 777 216. Более того, основываясь на начальных исследованиях, некоторые производители устройств ВТ присваивают вполне предсказуемые диапазоны адресов определенным моделям. Например, адреса большинства моделей Sony Ericsson P900 начинаются с 7 знаков 00:0A:D9:E, в результате чего остается только 5 неизвестных знаков адреса, что во много раз уменьшает количество необходимых запросов с более чем 16 миллионов до 1 048 576. Ко всему этому четвертый байт адреса модели SE P900 в большинстве случаев находится в диапазоне E7-EE, что уменьшает число возможных адресов до 524 288. Это означает, что, при поиске одного адреса в течение 6 секунд, полное сканирование займет уже 36 дней. Согласитесь, это намного меньше, чем полное сканирование адресов Sony Ericsson, которое может занять 1165 дней. Но 36 дней – слишком большой период, чтобы данный метод был полезен для хакеров. В настоящее время не существует базы диапазона адресов для каждой модели. Например, большинство трубок Nokia имеют имеют практически случайный разброс BT адресов, тогда как у некоторых моделей Р900 были обнаружены одинаковые адреса 11:11:11:50:11:11!

Время, необходимое для полного сканирования адресов ВТ может быть сокращено не только при помощи четкого определения диапазона адресов, а также при помощи увеличения скорости сканирования. Текущая версия программы RedFang (v.2.5) предоставляет возможность совместного использования заглушек ВТ в процессе поиска. Если мы используем только 8 USB ВТ заглушек и можем получить преимущество от выше упомянутого диапазона адресов трубок Sony Ericsson P900, то мы сможем найти все «Невидимые» SE P900 в течение четырех с половиной дней. Неплохо, но это все еще слишком долго. Не стоит забывать, что изучение ВТ является относительно новым направлением, и в скором времени могут быть разработаны новые методы взлома и инструменты сканирования.

Узнаем адрес Bluetooth в процессе соединения

Адрес Bluetooth также может быть извлечен в процессе соединения, т.к. сам адрес не зашифрован, даже если пользователь выбирает режим шифрования соединения. Это и является самой важной проблемой у текущей спецификации Bluetooth. Скачкообразная перестройка частоты (1600 скачков/сек) предоставляет основную защиту устройствам ВТ при работе в режиме без шифрования. Как бы то ни было, скачкообразная перестройка частоты, используемая в ВТ, является псевдослучайной, а значит хакер, имея необходимое оборудование, сможет выполнить синхронизацию с моделью перестройки, используемой двумя ВТ во время соединения. Кроме того, последовательность скачков распространяется на все устройства пикосети, что может также помочь злоумышленнику. Стоит заметить, что уже сегодня на рынке доступны устройства, позволяющие перехватывать соединения ВТ и анализировать их (приблизительная цена такого устройства составляет $9500), пока что только цена смущает приобрести такие устройства большинству взломщиков.

Особенно злонамеренные взломщики могут получить преимущество от владельцев телефонов, которые используют свои трубки с включенным ВТ в «Видимом» режиме. Такое случается довольно часто, т.к. для начала паринга одна из трубок должна быть в «Видимом» режиме (процесс паринга будет описан в следующем разделе). Иногда пользователи просто забывают отключить этот режим, хотя это очень легко сделать. Или, что более вероятно, просто не понимают что вообще такое «Видимый» режим.

Необходимость устройства находится в «Видимом» режиме в процессе паринга с другим устройством ВТ является на самом деле очень полезным для взломщиков, ведь они могут успеть за этот короткий промежуток времени записать адрес. Ни одна модель трубок, доступных на данный момент в магазинах не позволяет вводить адреса вручную для паринга, это и объясняет необходимость одного устройства в «Видимом» режиме. Следуя из того, что ВТ адрес статический и не может быть изменен пользователем, то атакующему нужно записать адрес всего лишь один раз. Из этого ясно, что хакеру достаточно одного короткого промежутка времени в «Видимом» режиме, чтобы соединиться с устройством до того, как его переключат в «Невидимый» режим, причем пользователь трубки не сможет блокировать соединение. Это происходит из-за того, что мобильные телефоны всегда принимают соединение о запросе L2CAP без разрешения пользователя. К сожалению, на сегодняшний день мобильные устройства не обеспечиваются функцией ограничения низкоуровневого соединения L2CAP к устройству ВТ или блокирования отдельного адреса. Короче говоря, ВТ – фаервол попросту недоступен по умолчанию.

Методы паринга и защиты ВТ

Распространенная задача, которой ломают головы большинство пользователей ВТ это защита паринга устройств. По умолчанию соединение ВТ не поддерживает аутентификацию, вследствие чего, почти любое устройство может соединиться с другим. Однако, чтобы получить доступ к какому-либо сервису, например: dial-up акаунт, голосовая почта или чтобы осуществить пересылку файла, некоторый вид аутентификации все же необходим. Процесс аутентификации во время паринга обычно заключается в вводе PIN – кодов (паролей) на обоих устройствах, как показано на рисунке 2.

Figure 2. Authentication example during the Bluetooth pairing process.

Рисунок 2. Пример аутентификации в процессе паринга ВТ

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

Проблемы производителей

К сожалению пользователей ВТ, процесс аутентификации и авторизации для доступа к сервисам не всегда корректно осуществлен изготовителем. Эти недостатки были найдены в некоторых моделях трубок от Sony Ericsson и Nokia, что позволяет злоумышленнику выкрасть телефонные книги, фотографии и информацию из календаря (органайзера), или даже позволит хакеру сделать звонок или послать sms, используя чужую трубку. Все это из-за недостатка авторизации, необходимой для 2 важных сервисов.

Чтобы осознать опасность уязвимости, просто представьте, что с вашей трубки послали sms содержанием об угрозе взрыва бомбы в местном отделении милиции. Записи билинговой системы укажут именно на вас, как на владельца телефона и автора сообщения, и наверняка будет невозможно узнать настоящего автора sms, т.к. мобильные телефоны не ведут записей об использовании ВТ. Хуже того, значительное большинство телефонов даже не сохраняют копию sms, посланного через ВТ АТ – команды. В конечном счете, вы даже не заметите, что с вашего телефона послали sms, а если и узнаете, то только после того, как получите отчет об отправке (и то если эта функция включена).

Вышеупомянутая уязвимость охватывает телефоны Nokia и Sony Ericsson и для ее успешной эксплуатации не требуется особых знаний или модификаций ВТ стэка. Это может сделать любой опытный BT пользователь на платформе Linux. Чтобы выкрасть информацию из записной книжки модели Т610 необходимо знать всего две стандартные команды:

# hcitool scan
Scanning .
 
00:0A:D9:15:0B:1C T610-phone
 
# obexftp -b 00:0A:D9:15:0B:1C --channel 10 -g telecom/pb.vcf -v
Browsing 00:0A:D9:15:0B:1C ...
Channel: 7
No custom transport
Connecting...bt: 1
done
Receiving telecom/pb.vcf...\done
Disconnecting...done

Вот и всё, что требуется для кражи телефонного справочника из небезопасного Т610. Обе команды hcitool и obexftp являются стандартными ВТ – командами, доступными в любом дистрибутиве Linux в поставке с пакетом ВТ.

Стоит заметить, что данная уязвимость была обнаружена Адамом Лаури (Adam Laurie), и ей подвержены многие трубки, включая Nokia 6310, 6310i, 8910, 8910i, Sony Ericsson T68, T68i, R520m, T610, Z600 и, возможно, другие. Уязвимость была тщательно рассмотрена командой trifinite.group, которая опубликовала очень много информации на своем веб-сайте, и даже разработали приложение Blooover, которое использует уязвимость.

Производители уже выпустили обновление, но простое сканирование легко находит уязвимые трубки, к примеру, в вашем местном магазине. Не удивителен факт, что большинство неопытных пользователей, которым нужно лишь посылать sms и делать звонки, даже не задумываются о том, что программное обеспечение их телефона нужно периодически обновлять. Все же удивительно видеть устройства с такими дефектами сегодня на рынке. Базовая проверка безопасности этих устройств изготовителем до выпуска товара на рынок могла бы выявить проблему заранее. С другой стороны понятно, что большинство производителей мобильных телефонов особо не заботятся о безопасности, а следовательно в скором времени ожидаются более серьезные уязвимости.

Опасность поддельного АР

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

Figure 3. Discovered devices do not display their Bluetooth address.

Рисунок 3. Найденные устройства не отображают свой ВТ адрес.

Всвязи с тем, что имя устройства (как «ULTOR» вверху окна) может быть легко присвоено любым пользователем, и это имя не должно использоваться как единственный идентификатор в процессе паринга; ВТ адрес должен отображаться и проходить дополнительную проверку. Эта незначительная на первый взгляд деталь может быть использована во многих случаях, особенно в общедоступных сервисах, доступных через ВТ. Например, точка доступа в Интернет через ВТ может быть атакована путем установки ложной точки доступа. Устройство может иметь то же самое имя, что и подлинная точка доступа, и может быть сконфигурирована для принятия того же PIN’a и даже предоставить доступ в Интернет. Однако все данные во время соединения будут перехвачены и проанализированы на наличие паролей и другой важной информации.

Эта атака может быть осуществлена и другим путем. В некоторых странах существуют мобильные киоски, которые могут послать мелодию звонка или игру на трубку через ВТ. Когда пользователь выбрал содержимое для закачки на свою трубку и видит в списке ВТ устройств что-то типа «MOBILE-KIOSK», это самое устройство с именем «MOBILE-KIOSK» соединяется с трубкой пользователя и посылает игру. Проблема в том, что мы не знаем, действительно ли устройство с именем «MOBILE-KIOSK» тот самый киоск, к которому мы хотим соединиться, и опять же ВТ адрес мы не увидим. Это устройство может с большой вероятностью быть КПК хакера, который рассылает мобильные вирусы или бэкдоры (проще троянцы). Конечно, такого рода атаки могут быть предотвращены улучшением процесса аутентификации, но в большинстве существующих мобильных киосков имеется лишь худо - бедно выполненная защита по PIN’y, и тот обычно постоянный.

Социальная инженерия с Bluetooth

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

Чтобы протестировать эту теорию, я называл мой КПК с ВТ PIN1234, 1234 или PASS1234 (в разных тестах по-разному) и просто пытался соединиться с видимыми устройствами в пределах самой большой закусочной (вроде мак-дональдса) в Джакарте. В радиусе 200 метров я мог найти от 3 до 11 устройств с ВТ, и пытался соединиться с каждым из них. Удивительно, но в среднем в 1 из 10 раз мое соединение было принято. Пользователи телефонов просто читали "PIN1234" как имя устройства, пытающегося соединиться в их трубке, после чего набирали PIN (тот самый пароль) 1234 чтобы принять соединение. Потенциально это позволяло мне скопировать содержимое их телефонной книжки, послать sms с атакованного телефона, или даже прочитать входящие sms через команды АТ. Я могу добавить, что 4 из 10 попыток не увенчались успехом просто потому, что пользователь просто не заметил соединения к телефону (запрос на соединение продолжался 30 секунд), а значит, вероятность успеха такой атаки будет довольно таки высокой для пользователей, которые замечают попытки соединения. Интересна еще одна вещь: большинство пользователей не понимают, что, принимая соединение, они могут не только получить данные, но и предоставить свои данные для просмотра и копирования, или даже для изменения.

Заключение части 1

В этой статье мы познакомились с Bluetooth и наиболее популярными аспектами безопасности, существующими в этих устройствах, включая социальную инженерию. В следующий раз, во второй части, мы расскажем о неопубликованной уязвимости в трубке одного производителя как пример направленной атаки. Далее мы обсудим Bluetooth антенны и расширители радиуса, а также как Bluetooth может быть использован для поиска местоположения устройства (а может и хозяина), и проанализируем недавнюю вспышку червя, который размножается через Bluetooth, так что мы сможем проанализировать их опасность. Оставайтесь на нашей частоте!

или введите имя

CAPTCHA