Научная статья на тему 'Практическая реализация атаки «Человек посередине» на сопрягаемые Bluetooth-устройства на примере беспроводной клавиатуры'

Практическая реализация атаки «Человек посередине» на сопрягаемые Bluetooth-устройства на примере беспроводной клавиатуры Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

CC BY
289
34
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
BLUETOOTH / ЗАЩИТА ИНФОРМАЦИИ / БЕЗОПАСНОСТЬ БЕСПРОВОДНЫХ СЕТЕЙ

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — Круглик С.А., Пономарёв Е.С., Вецлер Д.И.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по электротехнике, электронной технике, информационным технологиям , автор научной работы — Круглик С.А., Пономарёв Е.С., Вецлер Д.И.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Практическая реализация атаки «Человек посередине» на сопрягаемые Bluetooth-устройства на примере беспроводной клавиатуры»

УДК 004.056.53

С. А. Круглик, Е. С. Пономарёв, Д. И. Вецлер

Московский физико-технический институт (государственный университет)

Практическая реализация атаки «человек посередине» на сопрягаемые Bluetooth-устройства на примере беспроводной клавиатуры

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

Ключевые слова: Bluetooth, защита информации, безопасность беспроводных сетей.

1. Введение

Технология стандарта IEEE 802.15.1 (Bluetooth) позволяет связывать между собой разнотипные устройства, находящиеся на незначительном удалении друг от друга (до 100 м). В связи с низкой стоимостью Bluetooth-модулей, сегодня данная технология практически повсеместно представлена в различных беспроводных периферийных устройствах, таких как компьютерные мышки, клавиатуры, гарнитуры и др. С каждым годом число используемых в мире Bluetooth-устройств растёт [1].

В статье рассмотрена атака на беспроводную Bluetooth-клавиатуру и способы защиты от неё. Защищенность периферийных устройств данного типа является особенно актуальной в связи с типом данных, которые могут быть доступны злоумышленнику при успешном осуществлении атаки. Этими данными могут быть как конфиденциальная служебная переписка, так и пароли от интернет-банков и социальных сетей.

2. Безопасность Bluetooth

Безопасность Bluetooth основывается на использовании многоступенчатой аутентификации и поточного шифрования (используется поточный шифр E0). Общая схема настройки защищённого канала связи имеет следующий вид (рис. 1) [2].

Рис. 1. Общая схема настройки защищённого канала связи в Bluetooth: к.а. - ключ аутентификации, к.и. - ключ инициализации

1. Каждое устройство на основании своего уникального BD_ADDRa (уникальный идентификационный адрес Bluetooth-устройства - аналог MAC-адреса в сетях Ethernet), случайного числа и общего PIN-кода генерирует ключ инициализации.

2. Оба устройства генерируют ключ аутентификации с использованием модифицированного шифра SAFER+.

3. Оба устройства обмениваются ключами аутентификации с использованием ключа инициализации, который после этого сбрасывается.

4. Устройства проходят процедуру аутентификации с использованием схемы запрос-ответ.

5. Устройства генерируют ключи шифрования из ключей аутентификации, BD_АВВКов устройств и 128-битных случайных чисел. Важно отметить, что подобную процедуру устройства проходят лишь при первичной установке соединения. Если же уже сопряженное устройство выключается, то при включении выполняется лишь шаг 5, т.к. все предварительные процедуры пройдены и все необходимые ключи уже есть в памяти устройств.

Также безопасность Bluetooth обеспечивается особенностями применяемых в нем методов доступа к каналу. Тут прежде всего имеется в виду скачкообразная перестройка частоты, заключающаяся в разделении всей отведённой для передачи полосы на подканалы шириной 1 МГц (используемый диапазон и несущие частоты подканалов представлены на табл. 1, а спектр - на рис. 2). Передача ведется на определенном подканале в течение 625 мс, по прошествии которых происходит смена несущей частоты в последовательности, определяемой номером канала [3].

Таблица1

Используемый диапазон и несущие частоты подканалов Bluetooth в разных

странах

Страна Диапазон, МГц Несущая частота подканалов, МГц Допустимые номера подканалов, k

США и Европа 2400,8 - 2483,5 2402 + k 0...79

(включая Россию, но

кроме Испании и Франции)

Испания 2471,8 - 2497,8 2473 + k 0...23

Франция 2445,8 - 2475,8 2449 + k 0...22

Япония 2446,5 - 2483,5 2454 + k 0...22

Рис. 2. Спектральная картина при использовании скачкообразной перестройки частоты

Несмотря на это, за последние несколько лет были обнаружены некоторые уязвимости Bluetooth. Наиболее существенной из которых был подбор не слишком длинного (до 8 символов) PIN-кода, за относительно небольшое время на относительно малопроизводительных персональных компьютерах. Так, например, подбор 6-значного PIN-кода на процессоре Pentium IV HT с тактовой частотой 3 ГГц занял в среднем 7.609 секунд [4]. Однако проведение атаки с использованием данной уязвимости осложнено не только многоступенчатой

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

Также известно о некоторых успешно проведенных атаках «человек посередине», одним из наиболее трудоёмких звеньев которых является получение BD_АИПКов сопряжённых устройств [5, 6]. В представленных работах данная задача решается либо с помощью продуктов компании Frontline Test Equipment Inc., стоимость которых начинается от нескольких тысяч долларов США [7], либо с помощью метода грубой силы (перебор всевозможных 48-битных ВИ_АППКов), который занимает около года для всего диапазона BD_АИПКов. При этом не исключается возможность случайного получения BD_АООКа ненужного нам соседнего устройства, которое не ведёт обмен данными, а просто имеет включенный Bluetooth-модуль. В статье рассмотрена частично модифицированная реализация атаки подобного типа, в которой получение BD_АООКа осуществляется устройством, стоимость которого составляет около 100 долларов США, что на порядок меньше.

3. Атака «человек посередине» на сопрягаемые Bluetooth-устройства

з.1. Начальные сведения об атаке «человек посередине»

Атака «человек-посередине» входит в класс активных атак, в ходе которых криптоана-литик имеет возможность подслушивать, перехватывать и преобразовывать сообщения по своему усмотрению: задерживать, искажать с помощью перестановки пакетов, устраивать обрыв связи.

Атака «человек посередине» подразумевает, что криптоаналитик разрывает канал связи

и, встраиваясь между Алисой и Бобом, получает от них сообщения, а от себя отправляет новые, сфальсифицированные. В результате ни Алиса, ни Боб не замечают, что общаются с криптоаналитиком, а не друг с другом (рис. 3) [8].

3.2. Алгоритм атаки

Алгоритм произведённой атаки следующий (рис. 4):

1. Криптоаналитик получает уникальные BD_ADDRbi клавиатуры (Боб) и компьютера (Алиса) жертвы и с помощью своего компьютера с ОС Linux клонирует Боба. В результате чего компьютер криптоаналитика становится абсолютно идентичным Бобу.

2. Криптоаналитик разрывает установившееся соединение между Алисой и Бобом. Хотим подчеркнуть, что тут речь идёт именно о полном разрыве соединения с необходимостью прохождения пользователем всех 5 шагов установления соединения для дальнейшего использования клавиатуры.

3. Криптоаналитик, используя дополнительный USB-Bluetooth-модуль своего компьютера, с помощью команды sudo hidd --connect создаёт незащищённое соединение с Бобом в тот момент, когда он входит в режим сопряжения. Данное соединение не требует ввода PIN-кода и никак не идентифицируется на клавиатуре (Бобе), из-за чего Алиса даже не подозревает о том, что криптоаналитик сопряжён с Бобом. В результате данных действий криптоаналитику становятся доступны все данные, которые передает Боб.

4. Криптоаналитик, используя встроенный Bluetooth-модуль своего компьютера (полностью идентичный Бобу), принимает запрос на сопряжение от Алисы и, используя по-

Рис. 3. Общая схема атаки «человек посередине»

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

1.Клонирование клавиатуры

2. Разрыв соединения Alite - Bob Компьютер -клавиатура

3. Создание незащи щенного

4. Обработка запросе от Алисы

соединения с клавиатурой на сопряжение

«О

I H

ÜDADDR

• X •

UMSEGJfiE ni ИИ

' UNSfCURE п

M PI"

Рис. 4. Схема проведенной атаки

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

3.3. Клонирование клавиатуры

Каждое Bluetooth-устройство характеризуется уникальным 48-битным BD_ADDRom, структура которого представлена на рис. 5, классом устройства, а также полем capability [9].

NAP UAP LAP

16 бит 8 бит 24 бит

ID ко мпании Рис. 5. Структурв BD_ADDR

Первым этапом клонирования клавиатуры является захват BD _АИПКов сопрягаемых Bluetooth-устройств. В связи с применением скачкообразной перестройки частоты, использование стандартного встроенного в компьютер Bluetooth-модуля для захвата пакетов и получения из их заголовков BD_АИПКов по аналогии с сетями стандарта IEEE 802.11 (Wi-Fi) невозможно. Для решения данной задачи нами был взят за основу open-source проект Ubertooth Zero [10]. Для возможности самостоятельной сборки данного устройства, а также уменьшения конечной стоимости нами была переработана разводка платы и изменена схема питания. В результате было собрано устройство, представленное на рис. 6.

Данное устройство с высокой скоростью сканирует весь используемый Bluetooth-диапазон (именно поэтому в его основе лежит Bluetooth-трансивер Texas Instrunents CC 2400), находит подканал, на котором в данный момент ведется передача, и демодулирует пакет, модулированный при помощи двоичной частотной манипуляции с фильтром Гаусса. В результате чего в нашем распоряжении оказывается LAP-часть BD_ADDR, входящая в заголовок каждого пакета (рис. 7) [3].

Для нахождения UAP-части BD_ADDR в данном устройстве применяется обратный алгоритм формирования поля контроля ошибок (HEC) заголовка полученного пакета. Данное поле формируется исходя из UAP и остальных элементов заголовка. При этом

заголовок пакета разбавляется псеводслучайной последовательностью, определяемой таймером главного устройства пикосети (СЬК-1) [11].

Рис. 6. Собранное устройство

3 бта 4 бта 1 бт-а 1 бита 1 бита 8 бт-а

AM_ADDR TYPE FLOW ARQN SEQN НЕС

Рис. 7. Структура заголовка Bluetooth-пакета

Для определения таймера главного устройства пикосети мы отслеживаем временные промежутки между соседними пакетами, т.к. они определяются именно таймером главного устройства. Это возможно, т.к. используемый в устройстве трансивер Texas Instruments CC 2400 обладает всем требованиям спецификации Bluetooth, из-за чего различия по частоте между главным устройством отслеживаемой пикосети и нашим незначительны, но все же могут повлиять на результаты определения CLK-1. По этой причине в некоторых случаях мы получали неверное значение UAP.

Для нахождения NAP-части BD_ADDR мы использовали то, что она входит в часть ВВ _АВВЯа, определяемую производителем, и то, что мы знаем UAP, также принадлежащую ей. В результате поиска по открытой базе производителей Bluetooth-устройств [12] (большую часть Bluetooth-устройств делают всего несколько производителей), мы получаем всего несколько вариантов возможных значений NAP при данном UAP и производителе. Окончательно NAP определяется перебором этих вариантов.

В результате данных действий из-за структуры заголовка Bluetooth-пакета мы можем получить только BD_ADDR устройства, которому адресуются пакеты. Но структура трафика между Bluetooth-клавиатурой и компьютером такова, что пакеты посылаются только от клавиатуры к компьютеру, из-за чего применение данной техники для определения BD_АВВЯа клавиатуры не представляется возможным. Поэтому нам необходимо вынудить компьютер отправить хотя бы один пакет клавиатуре. Это можно сделать, заставив пользователя перезапустить клавиатуру, т.е. выполнить пункт 5 установки защищенного канала связи Bluetooth. В результате чего в общей структуре трафика появляется несколько пакетов, адресованных клавиатуре, из которых мы сможем узнать LAP-часть ее ВВ_АВВКа (рис. 8).

S yit ime=14170 2 4939 ch-74 LAP-вйасЬе егг-Э с1к10вп5=2759623311 tlkl=44154i 5=12 ft—1« inr-53

5 yst ше= 141702 4939 ch=74 |_АР=ввасЬе егг=9 СШМК1$=ЭТ59 623461 clkl=441572 5=42 n=-99 snr=57

systll>e=L417»24e39 ch=74 LAP=eeacbe err=D с1кШгв=25599!3513 сШ =44158« s=-42 n=-99 snr=57

systime=1417024639 Ch=59 LAP=lC569a err-9 с1Шеп5=276Э5в5994 Clkl=441681 S=-4B n—99 snr=Sl

S)rStil№=1417024939 ch=12 LAP=lC569a err=9 Clkieens=27609e7194 Clkl=441745 S=-4J n=-98 snr*Sl

5 yst ime=14170 2 4939 ch=76 LAP=lc569a err=9 clkieens=27616B56ie clkl=441857 s=-48 n=-18i inr=B3

5ystire=1417024939 gh=14 L№=e«BCtie err=£> rtklWns=Z7«2eWe25 clkl=44!949 5=-47 n=-95 snr=49

sifstime=i4i7e24946 (N59 LAP=eea(be err=i clkt№rit=283S№5e2e clki=452897 s=-86 n=-iee

SfStime=1417024946 ch- 3 US.P=eeacbe err=9 clkl№ns=283ie9B397 clkl-452976 5= 43 (1-196 snr=57

5 yst ime=14170 2 4946 ch= 3 LAP=0eacbe err=9 Clkl0ins=2831ie6376 clkl=452977 s=-38 n—99 Srir=61

5 yst ime=14170 2 494 7 ch=15 1ЛР=ЙвасЬе err=9 clkieens=2843ie9629 clkl=4S4896 s=-42 11=99 snr=57

systine= 1417624648 ch=36 1.АР=ебэсЬе err=9 clkl№ns=284i3S?34i clkl=4SS737 s=-65 n=-91 srir=2&

s/5time=i4i702495e <h=45 LAP=eea<ce err-i clkieens=2872B59839 clki=43963« s=-59 n--iee snr-se

Рис. 8. Структура Bluetooth-трафика при перезапуске клавиатуры

Для вынуждения пользователя осуществить перезапуск клавиатуры нами была осуществлена dDos-атака путём отправки множества Ь2Сар-пакетов с нескольких устройств на BD_ADDR компьютера. Также для этих целей может использоваться стандартная процедура отправки ping-запросов (l2ping в ОС Linux) на BD_ADDR компьютера. В результате данных действий у пользователя возникают неполадки в соединении с клавиатурой, и он вынужден перезапустить клавиатуру (рис. 9).

Рис. 9. Сбой соединения с клавиатурой

Так как мы имеем малое число пакетов между пользователем и клавиатурой, то использовать описанную выше технику определения UAP-части BD_АООКа не представляется возможным (для этого в среднем необходимо более 40 пакетов). Тут нам помогает тот факт, что большинство беспроводных Bluetoot-клавиатур производит лишь несколько производителей, и мы можем осуществить перебор всевозможных значений UAP и NAP за относительно небольшое время.

В результате данных действий мы имеем в своём распоряжении BD_ADDR клавиатуры и компьютера, но для клонирования клавиатуры этого недостаточно - нам также необходимо изменить еще один параметр - класс, которым также характеризуется каждое Bluetooth-устройство. Значение данного параметра для клавиатуры известно, и мы можем переходить к её клонированию путём изменения BD_ADDRa и поля class встроенного в компьютер Bluetooth-модуля.

Теперь встроенный Bluetooth-модуль криптоаналитика полностью отображается как Боб (клавиатура жертвы), но при этом из-за того, что поле capability жестко связано с Bluetooth-модулем и отвечает за тип сообщения авторизации (т.н. «окошко ввода PIN-кода» (рис. 10)), успешное проведение атаки на данном этапе невозможно.

*

Bluetooth

Pairing request for:

Mi2 (AC:F7:F3:00:AC: BE}

Confirm value for authentication: 48602

Confirm Deny Default Action

Рис. 10. Окошко ввода РШ-кода при установке соединения с компьютером криптоаналитика с изменённым классом и ВО АООКом

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Возможность обхода данного ограничения имеется в старых версиях стека протоколов Bluetooth Bluez для ОС Linux (версии 3.33, 3.34, 3.35), в которых можно искусственно привязать тип сообщения авторизации к классу устройства, который уже соответствует беспроводной клавиатуре. К сожалению, данные версии Bluez крайне нестабильны в новых версиях ОС Linux, из-за чего нам пришлось использовать ОС Ubintu 8.04 2008 г. выпуска с предустановленным стеком протоколов Bluetooth Bluez 3.34.

В результате описанных выше действий нам удалось полностью клонировать Боба, что даёт возможность успешно осуществить атаку.

3.4. Разрыв установившегося соединения

Из-за особенностей Bluetooth проведением dDos-атаки можно добиться лишь кратковременного затруднения в функционировании установленного канала связи, что, скорее всего, вынудит пользователя лишь перезапустить клавиатуру, но не переустановить соединение, как это необходимо нам для «вхождения в канал» между Алисой и Бобом.

Для наших целей мы отправляем Алисе запрос на сопряжение от имени Боба при помощи команды sudo bluez-simple-agent hci0, но т.к. Алиса уже сопряжена с Бобом, то она сбрасывает установившееся соединение. В результате связь между Алисой и Бобом полностью теряется и не восстанавливается при перезапуске клавиатуры. Пользователь вынужден заново инициализировать процедуру сопряжения Алисы и Боба, что нам и необходимо.

4. Заключение

В работе показана уязвимость сопрягаемых Bluetooth-устройств в общем и беспроводных Bluetooth-клавиатур в частности. Возможность проведения атаки с помощью устройства стоимостью около 100 долларов США открывает широкие перспективы для использования данной технологии злоумышленниками. В связи с этим пользователям необходимо воздерживаться от инициализации процедуры пересопряжения при наличии кратковременных затруднений в работе Bluetooth в предыдущие моменты времени, а производителям задуматься либо о полном запрете установления незащищённых соединений, либо о какой-то их идентификации.

Литература

1. Haataja K. Security threats and countermeasures in bluetooth-enabled systems // PhD Thesis University of Kupio. — 2009.

2. Брэгг Р., Родс-Оусли М., Страссберг К. Безопасность сетей. Полное руководство. — М. : Издательство «ЭКОМ», 2006.

3. Шахнович И. Современные технологии беспроводной связи. — М. : Техносфера, 2006.

4. Shaked Y., Wool A. Cracking the Bluetooth PIN // 3rd International Conference on Mobile Systems, Application and Services. — 2005. — P. 39-55.

5. Ma W., Mbugua A., Poon D. Keystoke Logging of a Wireless Keyboard. URL: http://courses.ece.ubc.ca/eece412/term_project/reports/2007 /keylogging_of_bluetoooth_keyboard.pdf/ (дата обращения: 17.01.2015).

6. Cuthbert T., Gontarek A., Jensen E., Robbins P. A Bluetooth Keyboard Attack. URL: https://www.researchgate.net/publication/ 228460028_A_Bluetooth_Keyboard_Attack/ (дата обращения: 17.01.2015).

7. BCD Microelectronics official website. Prices for Frontline Test Equipment Bluetooth analyzers. URL: http://www.bcdmicro.co.uk/shop.html#!/Bluetooth-Analyzers/c/ 9963649/offset=0&sort=normal (дата обращения: 17.01.2015).

8. Габидулин Э.М., Кшевецкий А.С., Колыбельников А.И. Защита информации: учеб. пособие. — М. : МФТИ, 2011.

9. IEEE standard association. IEEE 802.15 Standard for Information Technology. URL: http://standards.ieee.org/about/get/802/802.15.html (дата обращения: 17.01.2015).

10. Offical website of Ubertooth project. Ubertooth zero project information. URL: http://ubertooth.sourceforge.net/hardware/zero/ (дата обращения: 17.01.2015).

11. Осман М. Обнаружение Bluetooth UAP. URL: http://www.securitylab.ru/analytics/ 454733.php (дате обращения: 17.01.2015).

12. Bluetooth devices database. URL: http://hwaddress.com/company.html (дата обращения: 17.01.2015).

Bibliography

1. Haataja K. Security threats and countermeasures in bluetooth-enabled systems // PhD Thesis University of Kupio. — 2009.

2. Bragg R., Rhodes-Ousley M., Strassberg K. Network Security. The Complete Reference. — Moscow : Ecom Publishers, 2006. — (in Russian).

3. Shaxnovich I. V. Modern technologies of wireless comunications. — Moscow : Texnosfera, 2006. — (in Russian).

4. Shaked Y., Wool A. Cracking the Bluetooth PIN // 3rd International Conference on Mobile Systems, Application and Services. — 2005. — P. 39-55.

5. Ma W., Mbugua A., Poon D. Keystoke Logging of a Wireless Keyboard. URL: http://courses.ece.ubc.ca/eece412/term_project/reports/2007 /keylogging_of_bluetoooth_keyboard.pdf/ (date of request: 17.01.2015).

6. Cuthbert T., Gontarek A., Jensen E., Robbins P. A Bluetooth Keyboard Attack. URL: https://www.researchgate.net/publication/ 228460028_A_Bluetooth_Keyboard_Attack/ (date of request: 17.01.2015).

7. BCD Microelectronics official website. Prices for Frontline Test Equipment Bluetooth analyzers. URL: http://www.bcdmicro.co.uk/shop.html#!/Bluetooth-Analyzers/c/ 9963649/offset=0&sort=normal (date of request: 17.01.2015).

8. Gabidulin E.M., Kshevetskiy A.S., Kolibel'nikov A.I. Information security: tutorial. — Moscow. : Moscow institute of physics and technology, 2011. — (in Russian).

9. IEEE standard association. IEEE 802.15 Standard for Information Technology. URL: http://standards.ieee.org/about/get/802/802.15.html (date of request: 17.01.2015).

10. Offical website of Ubertooth project. Ubertooth zero project information. URL: http://ubertooth.sourceforge.net/hardware/zero/ (date of request: 17.01.2015).

11. Ossmann M. Bluetooth UAP detection. URL: http://www.securitylab.ru/analytics/ 454733.php (date of request: 17.01.2015). — (in Russian).

12. Bluetooth devices database. URL: http://hwaddress.com/company.html (date of request: 17.01.2015).

Поступила в редакцию 21.01.2015.

i Надоели баннеры? Вы всегда можете отключить рекламу.