В прошлый раз мы остановились на том, что существует легенда о «перехвате ключей из эфира» — мол, можно сделать клон SIM-карты, даже не имея к ней физического доступа. Пусть даже и временный клон. Однако ключ Ki хранится только в SIM-карте и базе данных оператора — и никуда никогда не передается. В чем же соль?
Теоретически, конечно, злоумышленник может установить фейковую базовую станцию с мощным сигналом и имитировать от ее имени запросы на генерацию ответа SRES, отправляя различные варианты случайного числа RAND (если вы успели подзабыть, что значат эти термины, стоит почитать первую часть этого сериала). Таким образом он сможет в конечном итоге вычислить Ki методом криптоанализа — точно так же, как если бы у него был физический доступ к SIM-карте.
Рассказываем о том, как устроены SIM-карты. Часть первая: история вопроса — https://t.co/CmqxlC4HgI pic.twitter.com/cHldz8cyxm
— Kaspersky (@Kaspersky_ru) December 16, 2015
Однако этот способ довольно сложен в том смысле, что криптоанализ занимает определенное время и требует большого количества запросов — за это время абонент вполне может уйти от поддельной базовой станции, и злоумышленнику придется бегать за ним с чемоданчиком. Впрочем, если речь идет о целенаправленной атаке на конкретного абонента, то установить такое оборудование на ночь рядом с его жилищем вполне можно — вопрос только в версии алгоритма шифрования: если это достаточно защищенный COMP128v2, то может и не получиться.
На самом деле «эфирные» атаки имеют своей целью в первую очередь прослушивание разговоров. Как мы помним, весь эфир шифруется (кроме случаев принудительного отключения шифрования на время операций спецслужб), чтобы нельзя было просто так взять и получить доступ к чужому разговору. Для этого используется алгоритм A5 с 64-битным ключом. Он существует в двух версиях: более сложной A5/1 и более простой A5/2, не имеющей ограничений на экспорт в страны вероятного противника (вы, наверное, догадались, входит ли в этот список Россия).
Прослушивают ли спецслужбы Skype? http://t.co/PSrSCB49Aq #Skype
— Kaspersky (@Kaspersky_ru) March 26, 2013
При этом даже в A5/1 ключ на самом деле не 64-битный, а 54-битный, потому что первые 10 бит ключа всегда нулевые — ради простоты. А протокол A5/2 специально сделан таким образом, чтобы спецслужбам, работающим на территории других стран, было легко его вскрыть.
Раньше взлом A5/1 был возможен только путем перебора ключей на уже записанных файлах и занимал настолько много времени, что к моменту расшифровки переданная информация с большой долей вероятности теряла бы актуальность. На современных компьютерах (вернее, уже даже не современных — метод взлома был показан в 2010 году) это происходит за несколько секунд с помощью так называемых радужных таблиц, которые позволяют быстро подобрать нужный ключ. Сами таблицы занимают около 1,7 ТБ: сегодня быстрые SSD-накопители достаточной для их размещения емкости легкодоступны и сравнительно дешевы.
При этом злоумышленник работает полностью в пассивном режиме, ничего не передавая в эфир, благодаря чему его практически невозможно обнаружить. А нужны для этого всего лишь программа Kraken с радужными таблицами, мощный ноутбук и немного модифицированный телефон системы «Нокия-с-фонариком»: после этого можно слушать всех подряд и читать чужие SMS-сообщения, а также блокировать их прохождение либо видоизменять их содержимое (очередной привет всем, кто считает двухфакторную аутентификацию одноразовыми паролями по SMS невероятно надежным способом защиты).
Вы можете десять раз подряд выговорить "двухфакторная аутентификация"? И мы нет :( http://t.co/whFhIx5Cpb #security #безопасность
— Kaspersky (@Kaspersky_ru) June 10, 2014
Кроме того, наличие ключа позволяет перехватывать звонки, выдавая себя за жертву. И наконец, вишенка на торте: динамическое клонирование. Злоумышленник инициирует запрос исходящего вызова в сеть одновременно с сессией радиосвязи с жертвой. Когда сеть присылает запрос на авторизацию, атакующий перенаправляет его жертве, получает ответ и пересылает его в сеть, при этом получая возможность вычислить и ключ Kc. Теперь можно закрыть сессию с жертвой и продолжить собственную сессию с сетью.
Это позволяет совершать звонки за счет жертвы, а также выполнять другие действия — например, отправку SMS на короткие номера для списания небольших сумм со счета (с последующим выводом через партнерские программы контент-провайдеров). Именно так была реализована та легендарная атака в Москве, когда злоумышленники в микроавтобусе приезжали в людное место и массово создавали подобные «временные клоны» для списания небольших сумм.
SIM-карта сокровищ: как потерять все, потеряв один лишь телефон — http://t.co/ElKB4U1unJ
— Kaspersky (@Kaspersky_ru) November 17, 2014
Долгое время они оставались незамеченными — с точки зрения сети действия совершались совершенно легитимными абонентами, — и вычислить их удалось лишь по большому количеству запросов одного и того же платного контента от разных абонентов в зоне действия одной и той же базовой станции.
Для шифрования пакетного трафика (GPRS/EDGE) используется другой ключ Kc (не тот, что для голоса), вычисляемый, однако, по аналогичным алгоритмам GPRS-A5, он же GEA (GPRS Encryption Algorithm): они именуются GEA1, GEA2 и GEA3. Так что перехватить можно и трафик мобильного Интернета. Впрочем, сейчас, когда для его передачи используются преимущественно сети 3G и LTE, эта проблема перестала быть настолько актуальной. С другой стороны, передачу данных в 2G — из-за дешевизны «железа» — по-прежнему используют многие телематические устройства, в том числе, например, банкоматы, платежные терминалы и так далее.
Защититься от подобных атак можно было бы переходом на более современный алгоритм шифрования A5/3, который не взламывается с помощью радужных таблиц. Однако операторы не спешат этого делать: во-первых, это стоит денег и не приносит дополнительного дохода (то есть нужно потратить деньги инвесторов на что-то неприбыльное — это мало кто любит). Во-вторых, в большом количестве мобильных телефонов алгоритм A5/3 или не реализован вообще, или реализован некорректно, что вызывает сбои при работе.
Продолжаем рассказывать о том, как устроены SIM-карты. На этот раз про клоны: https://t.co/sPmyxgksYh pic.twitter.com/PbBMAXifeN
— Kaspersky (@Kaspersky_ru) January 19, 2016
В-третьих, реализация A5/3 никак не мешает прослушивать разговоры с помощью фейковой базовой станции, которая может принудительно заставить телефон использовать менее сложный алгоритм, что позволит получить ключ (а ключ во всех алгоритмах один и тот же!). Коли так, то зачем прилагать лишние усилия? В-четвертых, это дорого. В-пятых, это дорого.
Впрочем, все атаки, о которых мы рассказали, потихонечку становятся вчерашним днем. В ближайшем будущем классические SIM-карты уступят место виртуальным SIM и eSIM, в которых решена часть проблем с безопасностью.