Dmitry Astapov (_adept_) wrote,
Dmitry Astapov
_adept_

Category:

Новая атака на алгоритмы шифрования GSM - мысли вслух

Намедни известный эксперт в области информационной безопасности Karsten Nohl выступил с "программным заявлением" (см тут: https://har2009.org/program/events/187.en.html). В двух словах суть его сводится к следующему: бюджетные системы для онлайн декодирования A5/1 - не за горами.

Ассоциация GSM выступила с "ответной речью". Суть ее - "уже боимся!".

Я прочел выступление, и у меня появились вопросы и мысли. Которые я озвучу тут.

1. Как правильно пишет сам Nohl, статьи про первые уязвимости в A5/1 появились чуть ли не 15 лет тому назад, но публичной демонстрации взлома A5/1 в условиях реального мира до сих пор не было. По слайдам выступления сложно это утверждать наверняка, но мне кажется, что мнение Карстена в том, что все, кому надо, ломают A5/1 втихаря и никто не делится. Мое мнение другое: чтобы реально слушать разговоры, нужно помимо собственно нахождения уязвимостей в A5/1 решить еще ряд сугубо инженерных проблем, до которым криптографам нету дела, вот они и не делают публичных демонстраций. Решил ли кто-то еще эти проблемы и воплотил ли решение в железе - вопрос открытый (см. ниже).

2. После статьи 2006-го года Эли Баркана сотоварищи не было (насколько мне известно) других работ с публикацией более серьезных уязвимостей в A5/1.

Что же "нарыл" коллектив Баркана? Основной их результат следующий - т.к. в GSM коррекция ошибок идет до шифрования (а надо бы наоборот), возможно определенное уменьшение пространства поиска для подбора Kc и реализация known ciphertext аттаки (т.е. при полностью пассивном прослушивании эфира) за вменяемое время с помощью предварительно вычисленных данных.

Сами авторы статьи говорят, что при приеме без помех для взлома в течении 2 минут требуется 50 терабайт предвычисленных данных. В той же статье (в разделе про A5/2) пишется, что сигнал из эфира всегда идет с помехами, которые "мешают жить" алгоритму подбора ключа. Для A5/2 приведен измененный алгоритм, который способен работать в присутствии помех, но требует вдвое большего объема предвычисленных данных и двукратного увеличения времени на взлом. Для A5/1 указана возможность построения аналогичного алгоритма, но сам он не приведен и влияние помех на объем предвычисленных данных для A5/1 даже не оценено. Будем считать, что и в этом случае нужно увеличить объем предвычисленных данных вдвое.

Кроме того, процесс подбора ключа A5/1 является вероятностным - чем дольше мы слушаем и считаем, тем больше вероятность подобрать Kc. Соответственно, заявленные в статье 2 минуты - это примерное, а не гарантированное время подбора Kc.

Из чтения слайдов Карстена, сайта его проекта и сайта проекта THC я так и не понял, как они "усушили" 50 терабайт (или даже 100, если считать с удвоением) из оригинальной статьи до 2 Tb. Скорее всего, т.к. речь идет о time-memory tradeoff, они используют меньше memory, но больше time, полагаясь на то, что с 2006-го года процессоры стали несколько быстрее :) Было бы неплохо получить какое-то подтверждение этому предположению.

3. Но как же получить данные из эфира? Проект Карстена тут ссылается на THC и проект airprobe. А у них - результаты более чем скромные. Если я все правильно понял, то максимум, что сумели сделать энтузиасты - это при помощи Нокий  с прошивкой DHT3 записывать свои собственные разговоры, а потом их ломать. Т.е. дизайна и уж тем более реализации полноценного пишущего сканера GSM-сети у них нет.

А что должен уметь полноценный сканер? Как минимум, разбираться, какие базовые вещают вокруг, на каких частотах, каким операторам они принадлежат, какие телефоны с какими TMSI (temporary IMSI) проявляют вокруг активность. Сканер должен уметь следить за разговором с указанного телефона, корректно обрабатывая переходы на другие частоты и базовые.

Впрочем, если не получится сделать что-то работающее самостоятельно, подобное устройство (пишущий сканер без дешифратора) можно купить за несколько (десятков) килобаксов ;)

4. Получается, чтобы построить прибор с "красной кнопкой", по нажатию на которую мы начинаем слушать "снятый" из эфира разговор по телефону Х, требуется:
а)реализовать часть, которая разбирается с эфиром. В частности, позволяет указать, какой из TMSI соответствует нашему телефону или с помощью активных атак заставить телефоны "обнаружить" свои реальные IMSI и MSISDN (я про подобные способы писал в предыдущих постах)
б)реализовать алгоритм подбора Kc для A5/1, хорошо работающий на реальных данных (с помехами/ошибками, пропусками и т.п.)
в)рассчитать для него rainbow tables
г)объединить все это в законченное работающее решение.

Пока что мне кажется, что Карстен сотоварищи работают над пунктом (в). Причем я лично не думаю, что они рассчитывают rainbow tables для алгоритма, удовлетворяющего требованиям из пункта (б). Скорее всего, это таблицы для алгоритма, работающего на "идеальном шифропотоке" без искажений. По крайней мере, у них на wiki не написано обратного.

Исходя из этого я думаю, что совершенно не зря нет публично известных демонстраций взлома A5/1 - хоть энтузиастами, хоть поставщиками коммерческих решений.

А что думаете вы?
Tags: gsm
Subscribe

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 8 comments