Собери их всех: Разбираемся, как IMSI-Catcher’ы используются в сотовых сетях



Дата публикации: 2020-06-07
Автор: Перевод: @N3M351DA
Теги:

Источник: https://www.eff.org/wp/gotta-catch-em-all-understanding-how-imsi-catchers-exploit-cell-networks

IMSI-Catchers Exploit Cell Networks

1 Введение

Вы, наверное, слышали о Stingrays или IMSI-catcher’ах, которые относятся к широкой категории CSS – Cell Sites Simulators (поддельных базовых станций – ред.) – устройств, которые маскируются под легитимные базовые станции сотовой связи, заставляя телефоны в пределах определенного радиуса подключиться к себе, а не к оборудованию оператора. Эти устройства позволяют своим операторам «шпионить» за использованием мобильных телефонов людьми поблизости. Существует много неопределенностей в отношении того, на что действительно способны CSS, и разные социальные группы – от активистов до политиков и технологов интерпретируют их возможности по-разному.

В исследовательском сообществе наблюдается тенденция игнорировать распространенность CSS и угроз, которые они представляют для общественности. Конгресс недавно обратился к Министерству национальной безопасности за дополнительной информацией об их использовании федеральными правоохранительными органами, а также государственными службами. Многие активисты не знают, что CSS могут использоваться вокруг них без их ведома, особенно во время протестов. Правда заключается в том, что CSS значительно более широко распространены, чем известно большинству политиков, исследователей и активистов, и их опасность для конфиденциальности является более значительной, чем большинство осознает. Конечно, трудно признать распространенность CSS, когда правоохранительные органы идут на все, чтобы скрыть информацию о них от общественности.

Существует множество научных исследований разного уровня, но они не разъясняют, что же представляют из себя атаки на сотовые сети с использованием IMSI-catcher’ов. Наша цель состоит в том, чтобы закрыть этот пробел, и с помощью этого текста мы надеемся сделать понятнее техническую часть работы CSS и детали атак, которые могут осуществляться с их помощью. Например, какие существуют виды атак раскрытия местоположения и как они на самом деле работают? Другой пример: широко распространено мнение, что CSS способны к перехвату связи, но каковы ограничения для перехвата связи сотовой сети?

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

2 Необходимая справочная информация

Существует много неопределенностей в том, что на самом деле делают CSS и как они это делают. Эта путаница возникает из-за того, что термин CSS фактически включает в себя целый ряд различных атак на сотовую сеть, которые значительно развились за последние 25 лет. В дополнение ко всему, термин «IMSI-catcher» используется взаимозаменяемо с CSS и соотносится с конкретными возможностями, которые есть у некоторых CSS.

Вот перечень наиболее важных поколений сетей сотовой связи:

• 2G (например, GSM): сотовая сеть самого старого типа, которая все еще широко используется. 2G поддерживает только вызовы/текстовые сообщения, но в 2.5G появилась возможность передачи данных (например, электронной почты и доступ в Интернет).

• 3G (например, UMTS или CDMA2000): улучшена поддержка 2G благодаря более высокой скорости передачи данных (которая может поддерживать видео вызовы) и усилена безопасность, по сравнению с 2G (подробнее об этом позже).

• 4G (например, LTE или WiMax): более высокие скорости и повышенная безопасность.

Спецификации для этих сетей разрабатываются рабочими группами, организованными 3GPP [1], международной организацией, к которой может присоединиться любая группа специалистов (но она имеет высокие членские взносы). Членами обычно являются операторы мобильной связи, исследовательские лаборатории университетов и производители беспроводного оборудования (включая производителей технологий наблюдения).

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

Немного определений, которые нам потребуются в дальнейшем:

IMSI (международный идентификатор мобильного абонента): уникальный идентификатор, связанный с вашей SIM-картой, который является одним из фрагментов данных, используемых для аутентификации в мобильной сети. Он предназначен для сохранения конфиденциальности (поскольку, как мы увидим позже, он может быть связан с вашим физическим местоположением и вашими телефонными звонками/сообщениями/данными).

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

IMEI (международный идентификатор мобильного оборудования): уникальный идентификатор, связанный с вашим физическим мобильным устройством.

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

MCC (мобильный код страны): код вашей страны, его не следует путать с префиксом мобильного телефона страны. Например, MCC Канады – 302, а его телефонный префикс +001.

MNC (код мобильной сети): код, обозначающий оператора, которого вы используете. Например, 410 принадлежит MNC AT & T.

Cell ID: каждая сотовая вышка отвечает за обслуживание небольшой географической области, называемой сотовой ячейкой, к которой прикреплен идентификатор ячейки.

LAC/TAC («Код зоны местоположения»): в GSM соседние сотовые ячейки организованы в «Зону местоположения» (сокращенно «LA»), причем идентификатор каждой LA называется «Код зоны местоположения» (LAC). В 4G они соответственно называются областью отслеживания (TA) и имеют код области отслеживания (TAC).

BTS («базовая станция»): общий термин для таких устройств, как вышки сотовой связи (CSS – поддельные базовые станции). [2]

Важно отметить, что некоторые из этих терминов различаются в зависимости от поколения сети. Например, в LTE базовая станция упоминается как eNodeB, а в 3G/UMTS LAC и Cell ID заменяются на PSC и CPI. Для простоты мы будем придерживаться приведенной выше терминологии.

3 Описание атак

Насколько нам известно, никто (кроме правительственных органов или поставщиков технологий наблюдения) никогда не получал в свои руки коммерческой CSS (например, Harris Corp Stingray) и не публиковал общедоступные подробности ее работы, так что вся эта информация исходит из научной литературы и проектов хакеров с открытым исходным кодом, пытающихся воспроизвести то, как могут работать коммерческие CSS.

Существует три основные категории атак:

1. Перехват связи

2. Отказ в обслуживании и понижение протокола связи

3. Отслеживание местоположения

Детали практической реализации для краткости опущены.

3.1 Классические «IMSI- catcher’ы»

Классические «IMSI-catcher’ы» просто собирают IMSI и не взаимодействуют с целевыми телефонами. Они буквально «ловят» (то есть, записывают) IMSI, притворяясь реальными базовыми станциями, а затем оставляют целевые телефоны. Давайте рассмотрим, как они работают более подробно.

В сетях GSM телефоны будут пытаться подключиться к любой базовой станции, вещающей с наивысшим уровнем сигнала.

Image of a phone connecting to a CSS instead of a cell tower, because the CSS has higher signal strength.

Как только телефон нашел базовую станцию имеющую наилучший уровень сигнала, он может инициировать соединение с ней. Сначала базовая станция просит телефон отправить ему информацию о своих возможностях шифрования. Если базовая станция представляет собой CSS, а не вышку сотовой связи, она может либо проигнорировать ответ, либо установить для него режим, в котором будет отсутствовать шифрование. [3]

После этого базовая станция отправляет запрос идентификации, на который телефон отвечает своим IMSI. Телефон отправляет его, потому что IMSI хранится на вашей SIM-карте, выданной оператором мобильной связи, и телефонная сеть должна определить, что вы действительно клиент, связанный с оператором мобильной связи. После получения вашего IMSI, CSS возвращает ваш телефон обратно в реальную сеть и пытается захватить IMSI другого телефона. Это все, что нужно для получения IMSI с ближайшего телефона!

https://www.eff.org/files/2019/07/01/image4imsicatchers.png

CSS отправляет запрос идентификации для получения IMSI целевого мобильного телефона. Это же действие повторяется с другими телефонами.

Если правоохранительные органы используют подобные CSS в некоем географическом районе, после получения IMSI, они могут использовать юридические процессы, для получения остальных сведений обо всех присутствующих пользователях [4].

Cell towers are shown on a map, each with gray circles radiating out from them. A CSS (which is depicted here as a truck with a signal) emanates a red circle overlapping with the other cell tower circles.

Перехват IMSI – это отправная точка для более сложных атак, но в основном IMSI-cather’ы просто собирают IMSI во время процедуры подключения, затем прерывают ее и переходят к своей следующей цели.

В более поздних протоколах (например, 4G/LTE) телефоны немного «умнее» и не подключаются к случайной базовой станции с высоким уровнем сигнала, поэтому злоумышленнику нужно использовать более сложные методы, чтобы убедить телефон подключиться к CSS. (Смотрите раздел 3.3).

3.2: Перехват связи

Насколько нам известно, перехват связи между мобильным телефоном и легитимной базовой станцией возможен только в GSM (в отличие от более поздних протоколов 3G или 4G) из-за двух причин:

1. Связь через GSM не всегда требует шифрования.

2. Даже когда шифрование включено, некоторые из криптографических алгоритмов, используемых в GSM, могут быть нарушены (в том числе, в режиме реального времени).

Представьте, что CSS пытается запустить активную атаку, для перехвата связи между сотовым телефоном и легитимной базовой станцией. В таком случае, CSS необходимо иметь возможность участвовать в связи между телефоном и вышкой – это обычно называют атакой MitM.

Есть два варианта реализации MitM:

1. Подделать аутентификацию: CSS необходимо убедить сеть в том, что это действительно целевой мобильный телефон. (Раздел 3.2.1)

2. Разобраться с шифрованием, которое пытается установить сеть (то есть его необходимо отключить или взломать). (Раздел 3.2.2)

3.2.1: Подделка аутентификации

Продолжение раздела 3.1, IMSI телефона перехвачен CSS через запрос идентификации:

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

2. В ответ на запрос обновления местоположения сотовая сеть просит CSS идентифицировать себя, используя запрос идентификации. CSS отвечает, используя украденный IMSI.

3. Легитимная базовая станция отвечает криптографической задачей, для решения которой требуется секретный ключ Ki (хранящийся на SIM-карте). Поскольку у устройства-CSS нет доступа к Ki, оно передает его на телефон для решения. Телефон решает задачу, передает ее CSS, которое затем передает ее обратно в сеть.

4. После этого сеть принимает соединение между собой и CSS как аутентифицированное.

Примечание: это применимо только к 2G.

https://www.eff.org/files/2019/07/01/image2imsicatchers.png

Иллюстрация шагов 1-4, как CSS может провести аутентификацию с помощью MitM.

3.2.2: Работа с шифрованием

Существует несколько алгоритмов шифрования, используемых в GSM: A5/1, A5/2 и т. д. A5/0 используется для указания того, что шифрование не используется.

Если сеть пытается указать, что она хочет осуществлять передачу данных с использованием шифрования, CSS может ответить, что у нее нет возможностей шифрования и будет использовать по умолчанию A5/0. Таким образом, CSS проведет атаку MitM и сможет читать текстовые сообщения, передаваемые между телефоном и реальной сетью.

Шифрование A5/1 может быть расшифровано в режиме реального времени. Детали подобной атаки выходят за рамки этого поста, но вы можете прочитать об этом в статье Barkan et al 2006. Алгоритм A5/2 настолько слаб, что его использование запрещено с 2006 года. Несмотря на то, что известны атаки на алгоритм A5/3, известных атак на него в режиме реального времени не существует.

3.2.3. Почему пользователи не оповещаются о том, что шифрование отключено?

Многие люди задаются вопросом: почему их телефон не говорит им, что что-то не так? Согласно спецификациям GSM, пользователи сотовых телефонов должны быть уведомлены, когда шифрование отключено, и раньше подобные уведомления существовали. Тем не менее, это вызывало путаницу, потому что:

1. Люди меняя свое местоположение на то, где базовая станция была настроена иначе (например, в некоторых странах шифрование сотовой сети запрещено), получали оповещения: «Предупреждение: шифрование отключено».

2. Повсеместно существуют неправильно настроенные базовые станции сотовой связи, что также вызывает появление такого оповещения.

Подобные проблемы привели к бесчисленным обращениям в службу поддержки мобильных операторов, что повлекло за собой отключение подобного вида предупреждений.

3.2.4: Понижение протокола обслуживания

Несмотря на то, что, насколько нам известно, перехват связи возможен только в GSM, понизить соединение целевого сотового телефона с 3G или 4G до GSM (см. раздел 3.5 для получения дополнительной информации) – достаточно тривиальная задача. Это связано с тем, что базовая станция может выбирать любые параметры конфигурации и даже имеет возможность запрашивать понижение уровня протокола. В качестве альтернативы предыдущего метода можно сделать недоступными диапазоны 3G или 4G недоступными для использования, за счет генерации белого шума, препятствуя установлению соединения, из-за чего телефоны будут вынуждены менять протокол обслуживания в поисках доступного для связи диапазона. Понижение протокола обслуживания LTE подробно описано в конце раздела 3.5.

3.3: Методы подключения CSS в LTE

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

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

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

Итак, как злоумышленник может заставить телефон подключиться к CSS, используя LTE? Один из методов – маскировка под базовую станцию из списка ближайших соседей (например, с той же частотой, идентичным идентификатором соты и т. д.) и вещание с высокой мощностью, для того, чтобы телефон переключился.

Существует более быстрая техника! Она основана на том факте, что частотам LTE назначаются различные приоритеты (это называется «повторный выбор соты на основе абсолютного приоритета»), и, если телефон видит, что базовая станция работает на частоте с более высоким приоритетом, чем та, к которому он подключен, он должен переключиться на ее, независимо от ее уровня сигнала. Чтобы обнаружить частоты с более высоким приоритетом, используемые в данной области, все что требуется – это извлечь их список из незашифрованных сообщений конфигурации, передаваемых базовыми станциями.

Используя эти методы, злоумышленник может заставить телефон, использующий LTE подключиться к CSS, что позволит перехватить IMSI телефона и проводить последующие атаки.

3.4: Отслеживание местоположения

Зачастую, когда обсуждаются угрозы, которые несут CSS, основное внимание уделяется их способности перехвата связи. Однако на практике последствия отслеживания местоположения в реальном времени бывают гораздо более серьезными. Используемая здесь модель угрозы – это третья сторона (например, правоохранительный орган), пытающаяся получить ваше местоположение без сотрудничества с вашим оператором сотовой связи.

Как правило, существует два вида отслеживания местоположения, на которые способны CSS:

1. Проверка присутствия: определение присутствия или отсутствия телефона в географической области (где географическая область обычно означает «область местоположения» ранее, то есть группу ячеек).

2. Точное местоположение: вычисление точных или приблизительных GPS-координат телефона. Используется два метода: трилатерация или служебные сообщения, заставляющие телефон передать свои точные GPS-координаты.

3.4.1: Проверка присутствия абонента в сети LTE

Пассивная проверка присутствия

Самый простой способ провести проверку на присутствие телефона в сети LTE на самом деле не требует CSS. Вместо этого все, что требуется – это простое радиооборудование для сканирования частот LTE, например, антенна, SDR (Software Defined Radio) и ноутбук. Пассивное тестирование присутствия получило свое название, потому что злоумышленнику на самом деле не нужно ничего делать, кроме как искать сигналы, несущие нужную информацию.

Основополагающим аспектом беспроводных технологий является модель пейджинга. Когда в сети генерируется сообщение, которое необходимо направить на конкретный телефон, она отправляет «пейджинговое сообщение RRC», которое получает каждый телефон, прослушивающий частоту пейджинга своего оператора в этой области, [5] запрашивая подключение конкретного телефона для связи с базовой станцией, чтобы установить соединение для приема вызова или сообщения. Таким образом, телефоны постоянно прослушивают пейджинговые сообщения RRC, а также принимают и отфильтровывают сообщения, адресованные не им.

RRC является сокращением от Radio Resource Control – это протокол, который используется для связи между сотовым телефоном и базовой станцией. RRC, также, отвечает за установление соединения и отправку пейджинговых уведомлений о том, что вы получаете сообщение или телефонный звонок.

Режим работы пейджинга зависит от нескольких факторов, включая тип сообщения, которого сеть пытается вам направить. Например, сеть пытается направить вам телефонный звонок. Телефонные звонки считаются высоко приоритетными (так как на другой стороне ожидают соединения), поэтому сеть уведомляет каждую базовую станцию сотовой связи в последней области местоположения, в которой находился ваш телефон, для отправки пейджингового сообщения RRC, адресованного вашему телефону (в отличие от случая, когда сеть уведомляет только последнюю базовую станцию, которую использовал телефон). Подробнее об этом – позже.

Пейджинговые сообщения RRC зачастую используют идентификатор TMSI, но иногда используют IMSI и IMEI. Контролируя незашифрованные каналы поискового вызова, любой человек может получить IMSI и TMSI, которые, по мнению сети, находятся в данной области. В следующем разделе мы увидим, как злоумышленник может соотнести TMSI с конкретным телефоном, так как сейчас сбор TMSI подразумевает сбор «псевдонимов» – временных идентификаторов мобильных телефонов.

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

Полупассивная проверка присутствия

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

В этом разделе мы рассмотрим две атаки, целью которых является определение местоположения: одну, которая проверяет наличия телефона в заданной области местоположения («Базовый тест области местоположения»), и одну, которая проверяет телефон на факт подключения к определенной вышке сотовой связи («Умный пейджинговый тест» – с меньшим радиусом использования).

Базовый тест области местоположения

Первым этапом базового теста области местоположения является инициация 10-20 уведомлений для телефона получателя с помощью телефонных звонков, а также отслеживание отправляемых пейджинговых сообщений RRC. Чтобы остаться незамеченным, злоумышленник может почти сразу же положить трубку после инициации вызова, чтобы пейджинговое сообщение поступило на телефон, но пользователь не получил уведомление о входящем вызове.

Так как телефонные звонки считаются более приоритетными, сеть уведомляет каждую базовую станцию в последней зоне расположения, в которой был замечен конкретный телефон, отправкой пейджингового сообщения RRC. Затем злоумышленник может провести выявление пересечения во времени (объяснение в [6]) своих вызовов, чтобы выяснить TMSI телефона из сообщений RRC.

https://www.eff.org/files/2019/07/01/image7imsicatchers.png

CSS отправляет много пейджинговых запросов RRC, чтобы определить, находится ли телефон в данной LA.

Умный пейджинговый тест

Обычно радиус области местоположения довольно велик, поэтому злоумышленник может использовать «умный пейджинг», чтобы выяснить, какая именно сотовая вышка используется целью (определить местоположение пользователя внутри радиуса ~ 2 км).

Поскольку обычные сообщения (например, сообщения WhatsApp и FB Messenger) не имеют высокого приоритета, сеть сначала передает пейджинговые сообщения для них от последней базовой станции, к которой был подключен телефон (это называется «умный пейджинг»). Таким образом, как только злоумышленник подтвердит местоположение цели в TA («Зона отслеживания»), он может проверить различные ячейки, чтобы найти ячейку цели. (Примечание: мы кратко переключаемся с терминологии «Location Area» на «Tracking Area» для описания концепции, представленной ниже.) Как и прежде, злоумышленник отправляет синхронизированные сообщения WhatsApp или FB Messenger и используют анализ пересечений по времени для проверки TMSI, отправляемых в сообщениях RRC в этой ячейке.

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

3.4.2: Активное отслеживание местоположения и получение точных координат GPS

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

В этом сценарии мы предположим, что у злоумышленника есть CSS, и ему удалось заставить свою цель сделать попытку подключения, используя методы, описанные в разделе 3.3. После выполнения начальных шагов процедуры подключения телефон переходит в состояние ПОДКЛЮЧЕНО.

Затем злоумышленник отправляет команду «RRC Connection Reconfiguration», которая содержит идентификаторы ячеек как минимум 3 соседних вышек сотовой связи и их частоты, и отправляет эту команду на телефон своей цели.

Обычно команда «RRC Connection Reconfiguration» используется для изменения существующего соединения с базовой станцией, но злоумышленник интересуется только первоначальным ответом целевого телефона на его сообщение. Этот ответ содержит уровни сигнала ранее указанных вышек сотовой связи, которые затем можно использовать для определения местоположения телефона с помощью трилатерации.

Visualization of a phone being at the intersection of 3 overlapping circles, each of which represents the range of a CSS.

Говоря простыми словами, трилатерация включает в себя вычисление пересечения окружностей, проведенных вокруг ранее определенных вышек сотовой связи, где радиус каждого круга является функцией сообщенного уровня сигнала.

Примечание: трилатерация отличается от триангуляции.

Для более новых телефонов и сетей, которые поддерживают функцию locationInfo-r10, этот отчет также будет содержать точные GPS-координаты телефона, а это означает, что вычислений трилатерации не требуется. Точные координаты GPS – это поле в ответе телефона.

В дополнение к методам, описанным выше, существует другой способ получения аналогичных данных трилатерации и определения местоположения GPS с использованием отчетов RLF («сбой радиосвязи»), но мы не будем рассматривать их подробно, так как они аналогичны вышеописанным методам.

3.5 Отказ в обслуживании и понижение протокола

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

Атаки, направленные на понижение протокола обслуживания

Предположим, что злоумышленник настроил CSS и заставил свою цель подключиться к ней (описано в разделе 3.3). После процедуры подключения телефон отправит «Запрос на обновление зоны слежения» («TAU»). Этот вид сообщения используется телефоном, чтобы держать сотовую сеть в курсе самого последнего местоположения телефона, чтобы сеть могла быстрее маршрутизировать вызовы к нему. Запросы TAU обычно отправляются телефонам, когда они подключаются к новой базовой станции.

CSS отвечает сообщением «TAU Reject». В сообщении «Отклонить» есть параметр, называемый «номером причины EMM», которое указывает, почему сообщение было отклонено. В этом случае злоумышленник устанавливает значение 7 («Услуги LTE не разрешены»).

Получив это значение EMM, телефон удаляет всю имеющуюся у него информацию о предыдущей реальной сети, к которой он был подключен, а затем переводит себя в состояние, в котором он считает свою SIM-карту недействительной для LTE. Затем телефон начинает искать сети 3G и GSM для подключения и больше не будет пытаться установить соединение LTE, до тех пор, пока не будет перезагружен.

https://www.eff.org/files/2019/07/01/image6imsicatchers.png

Основная причина, по которой атаки с использованием более ранних версий протоколов являются настолько серьезными, заключается в том, что они делают телефоны с поддержкой LTE уязвимыми для атак, которые обычно работают только с более ранними версиями протоколов связи (например, перехват связи из раздела 3.2).

3.5.2: Отказ в обслуживании (DoS)

Если злоумышленник собирается запустить крупномасштабную DoS-атаку, самое простое для него – заглушить частоты LTE белым шумом. Однако существуют также методы осуществления DoS атак, которые нацелены только на конкретные устройства.

Запуск атаки типа «отказ в обслуживании» против отдельного телефона схож, с атакой понижения протокола, за исключением того, что CSS отвечает причиной EMM номер 8 («Услуги LTE и не-LTE запрещены»). Затем телефон переводит себя в состояние, в котором он не пытается установить какие-либо сетевые подключения, пока не будет перезагружен.

Кроме того, были проведены исследования по выборочному запрету некоторых сетевых услуг (например, разрешать только SMS и запрещать звонки и получение данных), но мы не будем их рассматривать.

4 Методы обнаружения и приложения

На данный момент вы, вероятно, задаетесь вопросом:

• Есть ли способы обнаружения CSS?

• Как защитить себя от CSS?

• Что привело к этим уязвимостям в сотовых сетях и что с ними делать?

Это три вопроса, которые мы собираемся рассмотреть в этом разделе, и, к сожалению, у них нет простых ответов.

4.1: Методы обнаружения

Фундаментальная проблема исследования методов обнаружения заключается в том, что мы не знаем, как работают коммерческие CSS. Вместо этого мы надеемся на то, что они могут работать так, как мы предполагаем, на основе результатов исследований. Важно помнить об этом при рассмотрении некоторых известных методов обнаружения ниже. Следующий список не является исчерпывающим, и предназначен для введения в эту тему.

Необычные параметры базовой станции или конфигурации

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

Отсутствие возможностей базовой станции

• Маловероятно, что производитель CSS мог бы реализовать полный набор возможностей обычной базовой станции. Отсутствующие возможности, такие как отсутствие широковещательной рассылки некоторых стандартных сообщений системной информации (SIB), неспособность ответить на определенные стандартные запросы или очень незначительный трафик пейджинга, исходящий от базовой станции, могут быть индикаторами CSS.

Эфемерность

• Считается, что CSS не могут оставаться в одном месте в течение значительного периода времени, и поэтому стоит исследовать базовые станцию, появляющиеся на короткий период времени. Однако есть много нормальных причин, по которым базовая станция может появляться на короткий период времени. Например, это может быть тестирование оборудования или, метод увеличения канала передачи данных при проведении большого события.

Ландшафт сотовых сетей постоянно меняется. Крупномасштабный и долгосрочный сбор данных – лучший способ для изучения местности и получения возможности определить, что нормально, а что нет. Проект Вашингтонского университета Sea Glass является прекрасным примером этого.

Вы можете прочитать намного больше об этом в статье Дабровски «IMSI-Catch Me If You Can: IMSI-Catcher-Catchers». Повторим еще раз: несмотря на подозрительную активность вышеперечисленные признаки могут быть свидетельствами совершенно нормальных вещей (которые не имеют ничего общего с наблюдением). Например, испытательное оборудование, временное оборудование, привезенное для большого события (например, на спортивное мероприятие), вышла из строя вышка сотовой связи и при возобновлении вещания транслируются неверные значения, пока она не перезапустилась, и так далее.

4.2: Приложения для обнаружения CSS

Было выпущено много приложений, которые утверждают, что предупреждают пользователей, когда им кажется, что телефон подключен к CSS. Наиболее популярные из них: Android IMSI-Catcher Detector (AIMSICD), SnoopSnitch, Sitch, GSM Spy Finder, Cell Spy Catcher. Качество этих приложений различается, и некоторые из них по-прежнему популярны, несмотря на то, что они больше не поддерживаются.

Большинство из этих приложений реализуют, по крайней мере, некоторые из методов обнаружения, перечисленных выше. Хотя даже если в нескольких приложениях используются одни и те же методы обнаружения, они не обязательно будут давать один и тот же результат при оценке того, является ли конкретная базовая станция подозрительной или нет. Давайте рассмотрим приложения обнаружения не использующие базовую эвристику, а также какие могут быть расхождения в оценках, которые они производят.

Изменение уровней мощности

Один из ранее описанных методов обнаружения заключается в том, чтобы отслеживать, транслировался ли идентификатор ранее виденной вами базовой станции с гораздо более высокой мощностью. В «Borgaonkar et al’s White-Stingray: Evaluating IMSI Catchers Detection Applications» исследователи проанализировали четыре из ранее упомянутых приложения и обнаружили, что, хотя большинство из них сохраняло регулярные измерения уровней мощности BTS, ни одно из них не сравнивало новые значения с прошлыми значениями. Это означает, что ни одно из приложений не может определить, когда вышки обладают необычно высокой мощностью вещания.

Изменение LAC

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

Все ранее упомянутые приложения обнаружения отслеживают изменения LAC. Одно из них проверяет, совпадает ли LAC с соседними базовыми станциями, и отображает предупреждение для пользователя, когда он находится близко к краю LA. Поскольку изменения LAC распространены, когда пользователь находится на краю LA, эти предупреждения зачастую являются ложными. Другое приложение хранит все LAC, которые телефон видел раньше, и отправляет предупреждения всякий раз, когда появляется новое, что означает, что отправляются ложные предупреждения, когда пользователь перемещается в новые места. Другое приложение по умолчанию помечает что-либо, передающее значение LAC между 0-9, как подозрительное. Это пример того, что, несмотря на то, что во всех приложениях реализована эвристика для обнаружения подозрительных базовой станции на основании определения необычных значений (LAC), их интерпретации результатов и их реализации сильно различаются и они возвращают разные результаты.

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

4.3: Защита от CSS

CSS обладают таким широким спектром возможностей, поэтому не существует универсального способа защиты от всех атак, которые можно осуществить с их помощью. Построение концепций защиты должно начинаться с рассмотрения того, что представляет собой конкретная угроза для дальнейшего поиска необходимых методов.

Примеры

На момент написания этой статьи не было общеизвестных подтвержденных примеров использования CSS правоохранительными органами для перехвата сообщений или проведения атак типа «отказ в обслуживании». Тем не менее, существует довольно много примеров использования CSS для отслеживания местоположения.

Поскольку основная угроза, создаваемая CSS, связана с отслеживанием местоположения в реальном времени, и не существует пользовательских настроек, которые можно изменить, чтобы повлиять на это, то можно сказать, что в настоящее время не существует шагов, которые можно предпринять, чтобы защитить себя от CSS. Существует лишь вариант отключения и/или оставления дома телефона.

Несмотря на это, есть рекомендации для защиты от отслеживания, некоторые из которых описаны в Surveillance Self Defense Guide.

Вывод: прошлое и будущее безопасности сотовых сетей

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

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

Ссылки

Примечания

  1. Название организации «3GPP» вводит в заблуждение, поскольку оно содержит «3G». Хотя эта организация не существовала, когда GSM (технология 2G) разрабатывалась, позже, эта организации поглотила некоторые другие, которые отвечали за разработку GSM. Это все еще одна из главных организаций, которая разрабатывает и поддерживает существующие и будущие протоколы.
  2. К сожалению, большинство телефонов обычно не имеют возможности указать настройки соединения. В последнее время некоторые телефоны начали реализовывать такие функции, как принудительное использование LTE.
  3. К сожалению, большинство телефонов обычно не имеют возможности указать настройки соединения. В последнее время некоторые телефоны начали реализовывать такие функции, как принудительное использование LTE.
  4. Согласно данным Министерства юстиции, некоторые CSS могут напрямую собирать телефонные номера абонентов. См. Страницу 6 https://www.eff.org/files/2015/11/30/illinois.dist_.ct_.stingrays.pdf.
  5. Обычно сеть направляет сообщение последней известной базовой станции, к которой был подключен телефон, и эта базовая станция отправляет пейджинговое сообщение всем, кто прослушивает ее частоту пейджинга. Если сеть не получит ответ, то она отправит пейджинговое сообщение всем базовым станциям в данной области расположения и так далее. Точная информация о том, как это работает, зависит от типа маршрутизируемых данных (например, SMS, телефонный звонок или сервисные сообщения сети LTE) и от оператора связи.
  6. По сути, вы сравниваете идентификаторы пейджинга в сообщениях RRC, отправляемых после каждого короткого вызова, который вы инициируете, и извлекаете значения, которые повторяются столько раз, сколько вы выполняли вызовы. Вы можете прочитать об этом здесь в разделе «Выявление идентичностей»: https://www-users.cs.umn.edu/~hoppernj/celluloc.pdf
  7. Обратите внимание, что сообщения Facebook имеют преимущество, которое заключается в том, что вам не обязательно знать номер телефона вашей цели, чтобы иметь возможность инициировать отправку уведомлений на ее телефон! (Злоумышленнику тоже не обязательно быть другом своей цели на Facebook, поскольку сообщения Facebook Messenger, отправленные незнакомым людям, попадают в папку «Прочие», но по-прежнему вызывают push-уведомления LTE, которые не отображаются пользователю.)