Библиографическое описание:

Пихтулов А. А., Михайлов Д. М. Обзор Bluetooth-атак на мобильные устройства, использующих уязвимости алгоритмов шифрования [Текст] // Технические науки в России и за рубежом: материалы междунар. науч. конф. (г. Москва, май 2011 г.). — М.: Ваш полиграфический партнер, 2011. — С. 20-22.

Введение
Технология Bluetooth все активнее используется в целях осуществления различных атак и распространения вирусов. Сама технология и стек протоколов содержат ошибки и являются удобным способом проникновения в мобильный телефон через обнаруженные уязвимости. Несовершенство механизмов защиты передаваемой через Bluetooth информации и, в частности, алгоритмов шифрования, дает в руки злоумышленников все новые и новые возможности.
В настоящее время известно более полутора десятка возможных атак, использующих уязвимости Bluetooth на разных уровнях протокола связи [1,2]. Алгоритмы шифрования, используемые при аутентификации и передаче информации между устройствами имеют некоторые уязвимости. Из известных атак, использующих эти уязвимости можно выделить атаки со взломом PIN-кода и корреляционную атаку. Рассмотрим их более подробно.
Атака со взломом PIN-кода
Данная атака заключается в обнаружении PIN-кода, защищающего Bluetooth-соединение. Она проводится злоумышленником для того, чтобы он мог беспрепятственно расшифровывать все сообщения, передаваемые по Bluetooth, а также с легкостью обходить режим аутентификации, получая доступ к устройству [1-3].
Данная атака на Bluetooth-устройство может иметь несколько реализаций. Первая реализация в основе своего подхода имеет человеческий фактор, вторая же основана на математических алгоритмах.
Атака со взломом PIN-кода с использованием человеческого фактора
PIN-код, используемый для защиты соединения, большинством пользователей не меняется, так как они не знают о существовании шифрования данных и о необходимости защиты своего Bluetooth-соединения. Именно поэтому для атаки на Bluetooth-соединение остается лишь попробовать осуществить подключение, используя PIN-код по умолчанию. Для мобильных устройств это, как правило, 0000. Кроме того, для большинства устройств PIN-код по умолчанию легко обнаружить, просмотрев соответствующую общедоступную документацию.
Существуют устройства, в которых PIN-код установлен на заводе, и его нельзя изменить, тогда взломщику нужно лишь найти опубликованный список таких PIN-кодов [1].
Так, в большинстве программ злоумышленники используют следующий код для подбора PIN-кода на основе человеческого фактора.

SWITCH: for ($bdaddr) {

/00:02:EE/ && do { $pin=”5475”; last;}; // Nokia

/00:0E:9F/ && do { $pin=”1234”; last;}; // Audi UHV

/00:80:37/ && do { $pin=”8761”; last;}; // O’Neil

/00:0А:94/ && do { $pin=”1234”; last;}; // Cellink
/00:0С:84/ && do { $pin=”1234”; last;}; // Eazix

$pin=”0000”;

}
В данном примере рассматривается псевдокод без привязки к какому либо языку программирования.
Как видно из данного примера, программа злоумышленника основана на факте, что большинство производителей для всех своих устройств выбирают PIN-код по умолчанию. Программа, определив адрес устройства, просто выбирает из таблицы соответствий код по умолчанию. Так же из данного примера видно, что большинство производителей выставляют PIN-код, равный 0000 [3].
Так как PIN-код переставляет собой комбинацию из четырех цифр, то существует возможность перебора ограниченного множества чисел, в которые входят года рождения атакуемого или памятные для него даты.
Атака со взломом PIN-кода с использованием математических алгоритмов
Для реализации данной атаки необходимо, чтобы атакующий прослушал все сообщения обмена между двумя устройствами A и В, которые устанавливают соединение. Осуществить такой перехват не составляет труда. Таким образом, злоумышленник от прослушивания должен получить сообщения, представленные в таблице 1.
Теперь злоумышленник может перейти к взлому значения PIN. Атакующий может пронумеровать все возможные значения PIN-кода. Так как атакующий знает значения IN_RAND и BD_ADDR, то он может запустить механизм шифрования E22, подав ему на вход подозреваемый PIN, и получить возможное значение ключа инициализации [3].

Таблица 1

Перехватываемые злоумышленником сообщения при атаке на PIN-код

Источник сообщения

Приемник сообщения

Данные

Длина данных

Пояснения

1

А

В

IN_RAND

128 бит

Открытый текст

2

А

В

LK_RANDA

128 бит

После операции XOR с ключом инициализации

3

В

А

LK_RANDB

128 бит

После операции XOR с ключом инициализации

4

А

В

AU_RANDA

128 бит

Открытый текст

5

В

А

SRES

32 бита

Открытый текст

6

В

А

AU_RANDB

128 бит

Открытый текст

7

А

В

SRES

32 бита

Открытый текст


Далее атакующий может использовать этот PIN для того, чтобы расшифровать втрое и третье сообщение. Эти сообщения содержат достаточно информации для того, чтобы он мог найти предполагаемый ключ связи. Данные в последних четырех сообщениях могут быть использованы атакующим для проверки верности предположения значения PIN.
Это легко осуществить следующим образом: используя ключ связи и перехваченное сообщение со значением AU_RANDA, атакующий высчитывает значение SRES и сравнивает его с сообщением пять. Такая операция выполняется до тех пор, пока не будет обнаружен правильный PIN-код. Далее значение SRES вычисляется на основе AU_RANDB и сравнивается со значением сообщения 7 [3].
Как показывает практика, в среднем для взлома такого четырехзначного PIN-кода требуется не более 0.8 секунды при условии использования компьютера с вычислительной мощностью, аналогичной Pentium III 450MHz.
В результате выполнения данной атаки злоумышленник может осуществить прослушивание всего трафика, передаваемого между устройствами Bluetooth. Такое прослушивание при получении PIN-кода будет возможно даже в случае, если осуществляется шифрование трафика.
Для того чтобы защититься от атаки на PIN-код, прежде всего, необходимо со всей отвесностью подходить к механизму защиты соединения Bluetooth, то есть выполнять следующие требования:
  • Всегда менять установленный по умолчанию PIN-код.
  • Стараться избегать использования устройств с жестко установленным PIN-кодом.
  • Переводить устройства в защищенный на уровне канала режим.
  • Стараться не отвечать лишний раз на запрос PIN-кода от незнакомого устройства, так как это соединение может инициировать злоумышленник.
  • Не переводить устройства в режим работы, когда каждое соединение с устройством должно сопровождаться вводом PIN-кода, так как такой режим лишь создает видимость безопасности.
Корреляционная атака
Корреляционная атака принадлежит классу атак со знанием содержимого шифровки (known-paintext attack), то есть атакующий знает или может угадать содержимое всего или части зашифрованного текста. Данная атака используется для взлома поточных шифров, чей поток ключей (гамма-последовательность) получается в результате комбинирования выходов нескольких регистров сдвига с линейной обратной связью (LFSR) при помощи булевой функции. В основе атаки лежит выявление статистической взаимосвязи между входными данными и выходной последовательностью шифратора. Необходимым условием для проведения данной атаки является наличие значительной корреляции между отдельным LFSR и выходом булевой функции, комбинирующей выходы всех LFSR. Если злоумышленнику известна часть сообщения, значит он знает соответствующую часть гамма-последовательности (как правило гамма-последовательность накладывается на открытый текст с помощью операции XOR), что позволяет, используя полный перебор, получить начальное состояние одного LFSR отдельно от всей системы. Таким образом, если система состоит из четырех регистров с линейной обратной связью длиной 8 бит, то использование вышеописанного подхода позволяет снизить общее количество операций с 232 до 28 + 224 [4]. Данную уязвимость можно использовать следующим образом. Допустим, злоумышленнику удалось перехватить шифротекст c1, c2, c3, …, cn открытого сообщения p1, p2, p3, …, pn, которое было зашифровано с помощью генератора гамма-последовательности (ур. 1).
Уравнение 1:

ci = pi F(x1i, x2i, x3i), i = 1, 2, 3, …, n

Также допустим, что злоумышленнику известны первые 32 бита сообщения p1, p2, p3, …, p32 - это условие не является столь маловероятным, как может показаться, например, если известно, что открытый текст является XML файлом, то первые 4 ASCII-символа будут ”<xml”. Подобным же образом многие форматы файлов и сетевые протоколы имеют стандартные заголовки, которые могут быть легко определены. Обладая вышеописанной информацией, злоумышленник может легко получить первые 32 бита выхода генератора (ур. 1). Для восстановления начального состояния третьего LFSR злоумышленник выбирает некоторый ключ и получает первые 32 бита выхода регистра, после чего сравнивает их с полученными 32 битами выхода генератора. В случае, если ключ выбран верно, то около 24 бит из 32 будут совпадать (75%), в противном случае совпадение будет наблюдаться приблизительно в 16 случаях из 32 (50%). Таким образом, начальное состояние третьего регистра может быть получено отдельно от системы в целом [4].
Выход второго LFSR также в 75% случаев совпадает с выходом генератора, что позволяет получить ключ шифрования, взломав по отдельности каждый из трех регистров сдвига с линейной обратной связью. Необходимо отметить, что возможность проведения корреляционной атаки зависит от того, насколько удачно выбрана комбинирующая функция. До недавних пор данная атака на алгоритм шифрования Е0, используемый при передаче информации по Bluetooth, не была применима на практике из-за большого числа требуемых вычислений. Однако, благодаря увеличению вычислительных возможностей технических устройств, эта проблема была решена. Было предложено множество различных способов применения корреляционной атаки на алгоритм E0. На сегодняшний момент лучший из них позволяет вычислить ключ, зная 24 первых бита за 238 операций. Осуществив данную атаку, злоумышленник сможет расшифровать весь передаваемый трафик [4,5].
Заключение
Описанные атаки эффективны ввиду того, что большинство пользователей не осведомлены об этих угрозах безопасности и не предпринимают рассмотренные пассивные способы защиты от атак. Что касается активных средств защиты от этих атак, в настоящее время не существует каких-либо универсальных средств для их блокировки. Анализ этих уязвимостей может лечь в основу разработки эффективных средств защиты мобильных устройств от рассмотренных угроз.
Литература:
  1. Д.М. Михайлов, И.Ю. Жуков. Защита мобильных телефонов от атак. – М.: Издательство «ФОЙЛИС», 2010.
  2. A.F Laurie, M. Holtmann, M. Herfurt., Bluetooth Hacking: The State of the Art. BlackHat Europe, 2006.
  3. Y. Shaked, A. Wool, Cracking the Bluetooth PIN, School of Electrical Engineering Systems, 2005.
  4. Y. Lu, S. Vaudenay Faster correlation attack on Bluetooth keystream generator E0.
  5. Y. Lu, W. Meier, S. Vaudenay Conditional correlation attack: a practical attack on Bluetooth encryption.

Обсуждение

Социальные комментарии Cackle