Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #85, ЯНВАРЬ 2006 г.

Посиневший пин

Александр Любимов aka Sashiks

Хакер, номер #085, стр. 085-068-4


и арифметические операции, желая добиться максимальной скорости. Наши израильские друзья совершили настоящий прорыв, найдя несколько способов сократить в разы время перебора PIN-кода. Подробно описывать предложенные ими улучшения у меня нет возможности, поясню лишь, что речь идет об адаптации базовых алгоритмов BT-стека, что и позволило уменьшить время, необходимое для взлома PIN-кода. Но старая проблема никуда не делась: если взломщик опоздал и не успел захватить все пакеты с самого начала «спаривания» устройств, то у него ничего не получится. И эту проблему удачливые израильтяне благополучно решили.

[re-Pairing attack]

Нашим друзьям Вулу и Шакеду удалось исправить недостаток технологии взлома, которую предложил в свое время Вайтхауз, и разработать второй тип атаки. Если устройства начали процесс обмена аутентификационными данными, то мы уже не можем перехватит все сообщения и составить алгоритм перебора пина, правильно? Наши израильские друзья смогли вручную «заставить» устройства заново переинициализировать весь процесс паринга. Смотри, как только Kab-ключ создан, каждая BT-девайсина сохраняет его для будущей связи со сопряженным устройством. Если вдруг в дальнейшем одно из устройств захочет связаться с соседним, то им не придется заново проходить процесс паринга. Вторая атака, названная Re-Pairing attack (переводится, как атака на пересопряжение), эксплуатирует протокол установления связи и заставляет сопряженные устройства начать весь процесс паринга заново - отсюда и название. Это позволяет взломщику перехватить все необходимые сообщения в эфире и произвести основную атаку, принципы которой я уже описал чуть выше.

Изучим этот вопрос немного деликатнее. Для начала представим, что два устройства успели связаться, сохранить ключ связи Kab и уже перешли к стадии Mutual authentication. Далее надо заставить железячки заново «спариться». В общей сложности описано три метода атаки на пересопряжение, причем каждая из них зависит от качества реализации Bluetooth-ядра в конкретном апарате. Вот эти методы в порядке эффективности:

1. Как только паринг закончен, устройства переходят непосредственно к фазе аутентификации. Первым делом девайс Master отсылает AU_RAND-сообщение и ждет в ответ вычисленный SRES. Возможность потери ключа связи декларирована самим стандартом связи. В этом случае slave-устройство посылает запрос «LMP_not_accepted», чтобы master знал, что ключ был утерян. Выходит, как только главное устройство отошлет AU_RAND, хакеру останется только внедрить пакет с «LMP_not_accepted» master-девайсу. Уверенный в том, что slave действительно провафлил ключ, master заново перезапускает процесс паринга. Причем перезапуск pairing-процедуры означает, что ключ связи больше не действителен и использоваться больше не будет.

2. Второй метод атаки выглядит немного по-другому. В начале фазы аутентификации master готовится отправить AU_RAND ведомому устройству. Если взломщик успеет ДО этого отправить IN_RAND-сообщение slave-аппарату, то он будет думать, что мастер забыл ключ связи. Это заставит устройства переподключиться заново и еще раз провести сопряжение.

Назад на стр. 085-068-3  Содержание  Вперед на стр. 085-068-5