dastapov: (Default)
[personal profile] dastapov
С легкой руки Киви Берда по просторам этого вашего интернета пошла гулять статья про один из докладов на SOURCE Boston 2010. Доклад был посвящен уязвимостям сетей мобильной связи, и именно поэтому он (surprise-surprise!) будет главным героем сегодняшнего поста.

Слегка паникерскую версию того, что накопали Ник ДеПетрилло и Дон Бэйли, вы можете почитать по ссылке выше. Или можете сходить на ProIt и почитать еще более паникерскую версию. А я вам попробую рассказать, что же было в докладе на самом деле :)

Господа ДеПетрилло и Бэйли в своей работе ссылаются на доклад Тобиаса Энгеля с CCC'2008 об определении местоположения мобильных абонентов. Он критичен для понимания происходящего, поэтому с него и начнем. На сайте ССС доступны  слайды этого доклада, причем их можно читать, как статью - они содержат очень мало смысловых пропусков.

Преамбула: что же пишет Энгель?
В чем заключается его способ определния местоположения абонента при помощи SS7?
  1. Сеть, которая вас сейчас обслуживает (в общем случае, вы находитесь где угодно на Земле, не обязательно в вашей родной сети), знает ваше текущее местоположение с точностью примерно до соты -ей это нужно, чтобы доставлять вам входящие звонки (слайд 5)
  2. Если в распоряжении злоумышленника есть SMS-центр, легально подключенный к глобальной сети SS7, то он может узнать ваше местоположение с точностью до сети при помощи MAP-запроса MAP_SEND_ROUTING_INFO_FOR_SM (слайды 9, 10). Более конкретно, злоумышленник, зная всего лишь ваш номер, может узнать ваш IMSI (номер сим-карты), адрес коммутатора, который вас сейчас обслуживает, и состояние вашего телефона - выключен или нет. То есть, злоумышленник получает какую-то новую информацию, которой у него не было (IMSI), и узнает вашу текущую страну и, возможно, сеть+адрес коммутатора в ней.

    Как это происходит? SMS-центр злоумышленника делает вид, что собирается послать вам SMS. По номеру вашего телефона можно смаршрутизировать запрос в вашу сеть: "куда сейчас направлять SMS-ы для этого адресата?" В ответ HLR вашей сети, содержащий сведения о вашей SIM-карте, сообщает все вышеназванные сведения. SMS-центр злоумышленника сохраняет эти данные, а саму посылку SMS не производит.
Что это дает злоумышленнику? Ну, выяснит он, что вы сейчас в Зимбабве. Но где конкретно в Зимбабве вы находитесь? Ведь SS7-адрес коммутатора в Зимбабве, который вас обслуживает, позволит злоумышленнику в лучшем случае определить оператора, которому этот коммутатор принадлежит, и все.

Тут у Энгеля и его партнеров возникла идея: если заполучить телефонную книгу мобильных номеров Зимбабве (с именами и адресами), то можно дождаться ночи (когда все дома и спят), и запросить местоположение у большого количества абонентов. Далее мы соотнесем полученный адрес коммутатора с номером абонента и его адресом из телефонной книги, и узнаем, какие коммутаторы обслуживают какие города/районы. (слайды 13-20)

Бинго! Теперь можно уточнить ваше местоположение в Зимбабве до какого-то города или более-менее некрупного района.

Правда, весь этот хитроумный план держится на том, что в распоряжении злоумышленника есть SMS-центр. Откуда же он возьмется? Энгель утверждает, что уже существуют компании, продающие сервис "lookup данных абонента по подобной схеме" (слайд 21). В настоящий момент услугами таких компаний пользуются те, кто занимается SMS-фродом и рассылает SMS-ы от имени произвольных SMS-центров (куда, по идее, и выставляются счета за разосланные спамером SMS-ы) - см. слайд 22.

Вы еще не устали? :) Тогда я расскажу вам, на какие проблемы может натолкнуться использование этой схемы на практике:
  1. На весь Зимбабве может отказаться ровно один коммутатор. Т.к. определение местоположение идет с точностью до коммутатора, злоумышленники не смогут уточнить ваше местоположение внутри страны. Вместо Зимбабве можно подставить "Зажопинский район России/Украины" - смысл от этого не поменяется
  2. В Зимбабве может не быть телефонной книги или другого способа привязать номер мобильного к предполагаемому местоположению абонента. Например, в России/Украине/Белоруссии все операторы раздают номера абы как, и телефонных книг не выпускают.
  3. Шквал запросов MAP_SEND_ROUTING_INFO_FOR_SM с очень большой вероятностью приведет к тому, что сеть жерты "завбанит" отправителя таких запросов до выяснения обстоятельств. Причем, это может произойти в автоматическом режиме буквально за 10-15 минут.
  4. Если сервис, позволяющий (по HTTP, WebServices, ...) "дернуть" MAP_SEND_ROUTING_INFO_FOR_SM, используется для SMS-фрода, то его будут выслеживать и "банить" фрод-подразделения операторов, попадающих под удар.
  5. Оператор сети жертвы может использовать другую схему организации доставки SMS (слайды 23, 24).
Итоги: злоумышленники могут определить ваше местоположение с точностю до "зоны обслуживания коммутатора", с учетом нескольких "если". Самое главное "если" звучит так: "если существует какой-то способ привязать номера телефонов в вашей стране к ожидаемому местоположению абонента - это может быть телефонная книга или план нумерации, привязанный к административному разделению страны".

Амбула: как использовали эти наработки ДеПетрилло и Бэйли?

К сожалению, видео доклада (пока?) недоступно, поэтому придется ограничиться слайдами.

Во-первых, они использовали базу NPANXX (доступную любому желающему за, кажется, $70) для того, чтобы отобразить телефонные номера в грубое ожидаемое местоположение абонента. Это был их аналог телефонной книги Германии, использованной Энгелем. (стр. 14 презентации ДеПетрилло и Бэйли)

Далее, телефонные номера, отнесенные таким способом к определенному географическому положению, были разделены на физлиц/юрлиц/госкомпании. Как? При помощи "АОНа". В США при звонке с мобильного номера на наземный короткое имя абонента автоматически сообщается наземному телефону (см. слово CNAM на стр. 22). Товарищи исследователи совершали звонки на свой наземный телефон, подменяя номер звонящего абонента на номер человека, данные которого они хотели собрать. И на их наземный телефон услужливо приходил CNAM с именем абонента, чей номер они подставляли вместо своего. (см. стр 23)

Более того, в части CNAM-ов им приходили не только имена, но и адреса (для компаний). Кроме того, они использовали какой-то сервис типа телефонной книги, доступный через веб (стр. 25)

Все это позволило им вычислить приблизительные граници зон контроля MSC для США (стр. 28), аналогично тому, как это сделал Энгель для Германии.

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

Развязка: что это значит в наших реалиях?

Стоило бы пригласить ДеПетрилло и Бэйли в Россию и на Украину для показательного выступления в условиях, приближенных к боевым :)

Ведь тут:
  1. Нету ничего подобного телефонным книгам Германии или штатовской базе NPANXX
  2. Нету ничего подобного АОН-у, показывающему имена/адреса звонящего
  3. Операторы строже следят за фродом, т.к. фрода больше и ущерб от него больше (соотв. трюки с массовыми запросами информации через MAP_SEND_ROUTING_INFO могли быть подавлены оператором в зародыше)

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

Выводы
С моей точки зрения, обнаруженная "дыра" состоит из трех частей:
  1. несовершенная схема маршрутизации MAP при отправке SMS - эту проблему адресует стандарт 3GPP TS 23.079, и альтернативный роутинг раньше или позже будет внедрен у всех операторов
  2. как следствие, утечка технических данных о абонентах через недобросовестных интерконнект-партнеров (через те самые сервисы, которые дают возможность через интернет дернуть MAP_SEND_ROUTING_INFO)
  3. утечка приватных (или условно-приватных) сведений из других источников (телефонные справочники, white pages, ....)
Дыра с voicemail перпендикулярна этой уязвимости.

Что можно сделать? Если реализовать альтернативные схемы роутинга при отправке SMS, то лавочка, фактически, прикрывается.

Если же нет "телефонной книги", то можно жить и с "классической" схемой роутинга.

А, чуть не забыл: покажите мне кто-то хоть одну контору, которая продает возможность засылать MAP_SEND_ROUTING_INFO, а? Я сам искал по злачным местам - не нашел.

Теперь можете перечитать статью Киви Берда еще раз :)

PS
Спасибо оператору наведения [livejournal.com profile] kzayko, который прочел слайды ДеПетрилло и Бэйли раньше меня, и в процессе их обсуждения сделал множество ценных комментариев.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

dastapov: (Default)
Dmitry Astapov

May 2022

M T W T F S S
       1
2345678
9101112131415
161718 19202122
23242526272829
3031     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags