Компания
309,79
рейтинг
20 июня 2014 в 16:11

Разработка → Прослушка украинских мобильников: как это сделано и как защититься

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

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

Если коротко, схема такая. Атакующий внедряется в сеть сигнализации SS7, в каналах которой отправляет служебное сообщение Send Routing Info For SM (SRI4SM), указывая в качестве параметра телефонный номер атакуемого абонента А. В ответ домашняя сеть абонента А посылает атакующему некоторую техническую информацию: IMSI (международный идентификатор абонента) и адрес коммутатора MSC, который в настоящий момент обслуживает абонента.

image

Далее атакующий с помощью сообщения Insert Subscriber Data (ISD) внедряет в базу данных VLR обновленный профиль абонента, изменяя в нем адрес биллинговой системы на адрес своей, псевдобиллинговой системы.

image

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

image

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

image

Сразу скажу скептикам: схема эта не фантастична и, как можно видеть, вполне реализуема на практике. При разработке системы сигнализации SS7 в ней не было заложено механизмов защиты от подобных атак. Подразумевалось, что сама по себе сеть SS7 довольно закрытая, и «чужой» попасть туда не может. Однако времена меняются, и мы с вами становимся свидетелями злонамеренного использования технологий телефонии. К сожалению, нельзя просто так взять и включить фильтрацию сообщений SS7 из внешних сетей, поскольку это повлияет на работоспособность услуг в роуминге. А ни один оператор не хочет лишать себя доходов.

image

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

Что делать


Не плохо было бы закрыть так называемые «уязвимости» в стеке протоколов SS7, но любой специалист вам скажет, что это нереально. Классический случай «это не баг, это фича».

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

  1. Провести тестирование на проникновение в SS7-сети.
  2. Одновременно организовать мониторинг сообщений сигнализации на периметре сети оператора всеми доступными средствами.
  3. Проанализировать полученную информацию и принять меры для минимизации рисков.

Тесты на проникновение


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

  1. Проверка на раскрытие конфиденциальных технических параметров: IMSI абонента; адрес коммутатора MSC, где абонент зарегистрирован; адрес БД HLR, где хранится профиль абонента. Зная эти параметры, злоумышленник будет иметь возможность проводить более сложные атаки.
  2. Проверка на раскрытие данных соты, обслуживающей абонента. Зная идентификатор соты, злоумышленник может определить местонахождение абонента. В условиях городского покрытия местонахождение абонента может определяться с точностью до десятков метров.
  3. Проверка на возможность нарушения доступности абонента для входящих вызовов (DoS на абонента). В случае успешной атаки абонент-жертва перестает получать входящие вызовы и СМС. При этом мобильный аппарат жертвы показывает наличие сети. Такое состояние абонента-жертвы продержится до тех пор, пока абонент не совершит исходящий вызов, не переместится в зону действия другого коммутатора или не перезагрузит телефон.
  4. Проверка на раскрытие частной СМС-переписки. Данная атака является следствием атаки номер 3. В случае успешной атаки входящие СМС начинают приходить на оборудование злоумышленника, прочитать их не составит труда. Чтобы СМС не была доставлена получателю впоследствии, в СМС-центр отправляется уведомление о получении.
  5. Проверка манипуляции USSD-командами. В случае успешной атаки злоумышленник получает возможность отправлять USSD-команды от имени абонента. Возможный ущерб будет определяться набором сервисов, которые предоставляет оператор по USSD (к примеру, тем, есть ли возможность с помощью USSD-команд переводить средства между счетами абонентов).
  6. Проверка возможности подмены профиля абонента в VLR. В случае успешной атаки злоумышленник получает возможность задействовать свое оборудование в качестве интеллектуальной платформы для расширения возможностей голосовых вызовов и манипуляций с тарификацией.
  7. Проверка на возможность перенаправления исходящих вызовов. Является продолжением атаки 6. В случае успешной атаки злоумышленник получает возможность перенаправлять исходящие голосовые вызовы абонента-жертвы. Кроме того, атака позволяет злоумышленнику устроить конференц-вызов, несанкционированно «вклинившись» в разговор.
  8. Проверка на возможность перенаправления входящих вызовов. В случае успешной атаки злоумышленник получает возможность перенаправлять входящие голосовые вызовы, предназначенные абоненту-жертве. Кроме того, звонки по направлениям с высокими тарифами могут либо не тарифицироваться, либо плата за вызов будет начисляться абоненту-жертве.
  9. Проверка устойчивости коммутатора к DoS-атаке. В случае успешной атаки коммутатор перестает обрабатывать входящие вызовы на абонентов, находящихся в зоне его действия.
  10. Проверка возможности прямых манипуляций с биллингом. В случае успешной атаки злоумышленник получает возможность опустошения персонального счета, таким образом лишая абонента возможности осуществлять вызовы.

Как защититься


Наши исследования показали, что подавляющее большинство атак в сетях SS7 начинаются с получения технических данных об абоненте (идентификатор IMSI, адреса коммутатора MSC и БД HLR). Эти параметры получаются из ответа на то самое сообщение SRI4SM, которое упомянуто в начале статьи.

Одним из решений безопасности является процедура SMS Home Routing, предложенная организацией 3GPP в 2007 году. Иногда ее называют SMS Firewall или SMS-фильтр.

В сеть оператора внедряется дополнительный узел, обеспечивающий фильтрацию злонамеренных сообщений SRI4SM. Принцип его работы заключается в следующем. Когда в сеть оператора приходит сообщение SRI4SM из другой сети, оно перемаршрутизируется на новый фильтрующий узел. Этот узел отправляет нормальный ответ, выдавая в качестве адресов коммутатора MSC и БД HLR свой адрес, а в качестве IMSI абонента — фальшивые данные. Если сообщение SRI4SM было сгенерировано злоумышленником, то он в ответе не получит никакой полезной информации, и его атака захлебнется еще на первом этапе. Если же сообщение SRI4SM было началом легальной транзакции для отправки СМС-сообщения, то сеть отправителя передаст это СМС-сообщение на фильтрующий узел, а он уже, в свою очередь, доставит сообщение адресату внутри своей домашней сети.

Прошло 7 лет с момента выпуска этой рекомендации, но, как мы видим, до сих пор далеко не все операторы запустили такое решение. И к слову, сообщение SRI4SM это не единственный способ получить IMSI абонента.

Вместо заключения


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

P. S. Во время форума Positive Hack Days IV мы делали доклад о возможных атаках в сетях операторов мобильной связи, в котором коснулись прослушки телефонных разговоров практически из любой точки Земли.


Видео: live.digitaloctober.ru/embed/2990#time1400670335

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

Авторы: Сергей Пузанков и Дмитрий Курбатов, исследовательский центр Positive Research.
Автор: @ptsecurity
Positive Technologies
рейтинг 309,79

Комментарии (45)

  • 0
    В догонку, хотел бы напомнить вот эту статью:
    habrahabr.ru/post/200914/
    Там «всего-лишь» возможность подампить GPRS/EDGE, но зато доступно всем:)
    • 0
      Не актуально
      • 0
        да
  • 0
    Простите, но не увидел.
    Сразу скажу скептикам: схема эта не фантастична и, как можно видеть, вполне реализуема на практике.
    • +1
      Патчей для астериска не увидели?
  • +2
    А можно внедрить ещё одного посредника? Прослушивать прослушиваемого/прослушивающего.
  • +31
    > Прослушка украинских мобильников: как это сделано и как защититься
    > В комментариях абстрагируйтесь, пожалуйста, от политических пристрастий.
    Уберите из поста Украину и Россию. Ведь речь о телефонии? Пока пристрастия только в самом посте.
    • –2
      Меня вот, например, раздражает когда в любой статье вспоминается американский большой брат. Странно, только что никто это не критикует. Биткоин? Ну как же не пообсуждать ФРС США? Кандроиза Райс пошла работать в отдел по связям Дропбокс? Это вообще не про айти, но на хабре целая статья и под ней куча комментариев про ужасы американских правительств. Элон Маск с к кем-то судится из-за ракет? Ах, это он злоумышлят против России!
      И вдруг такая принципаильность, когда речь идет про Россию и Украину. Может хватит уже этого лицемерия?
      • –5
        Решили все-таки развести срач? Думаю тут у всех есть что сказать…
        • +2
          Я просто написал правду. То, что «аполитичным свободолюбцам», которые обожают пбсуждать Обаму, Райс, взлом какого-то израильского правительственного сайта Анонимусами, каждую очередную блокировку роскомнадзора, это режет глаза это их проблема. Я это давно заетил. Стоит автору в одной строке упомянуть Украину сразу появляются возумущенные голоса. Точно така же статья про США или внутрироссийские дела и все бъют себя в грудь: «да это не политика, да это мы за свободу!»
          • 0
            Правда у всех своя, вы этого до сих пор не знаете? А здесь вы написали свою точку зрения, да еще и обобщили прилично. Вы сами прекрасно иллюстрируете свой собственный пост. И поверьте, если бы сюда захаживали американцы — так-же возбуждались из-за этого. А суть в том, что если принято правило — то надо его соблюдать, настоящие лицемерие — опубликовать провокационную тему и попросить не писать комментарии.
      • +4
        +1

        Тем более, что заголовок чем конкретнее, тем интереснее.
        Например, «Как приготовить обед» будет намного менее интересным заголовком, чем «Как сварить вкусный суп с клецками».
  • +1
    А универсальный пароль к BIOS помните? Он есть и кто нужно о нём знает.
    • +7
      это батарейка?
    • 0
      До сих пор в подкорке засел один самый пригодившийся: ZJAAADC
    • 0
      У меня ни один не сработал из огромного списка найденных в интернете. В детстве я был страшно огорчен.
      • 0
        Сочувствую. :) Я помню в местном компьютерном клубе переводил время, заходя в BIOS через инженерный AWARD_SW. Видимо на большинстве компов были одинаковые матери с AWARD BIOS. :) Делалось это когда оставалось 5 минут от оплаченного, время переводилось на час назад.
  • +1
    Очень хотелось бы больше технической информации.
    Например:
    что нужно, дабы провести атаку подобным вектором (оборудование например)?
    Гео-привязанность атаки?

    И вообще спецификация с рекомендациями это конечно есть гут, но как и написано в статье — воз и ныне там.
    Когда потоврить атаку могут только спецслужбы — это одно. А вот если выпустить джина из бутылки, то может быть операторы мобильной связи и зачухаются, разработают более безопасную схему. либо усовершенствуют имеющуюся.
    • 0
      Эта тема раскрыта в вводной части нашей презентации c phdays, можно посмотреть видео
  • +3
    Вообще подобные «атаки» вовсе и не атаки, а следствие раздолбайства или саботаж! Просто HLR/VLR настроен криво и позволяет делать ISD кому не поподя (а настройки там достаточно гибкие ;)
    Как можно просто взять разрешить подмену GT (Global Title — можно считать аналогом IP адреса в ОКС7) SCP (Service Control Point)? Надо быть клиническим идиотом разрешая подобные операции для «внешних» GT (хотя я склоняюсь к саботажу и проискам спецслужб).

    P.S. Про CAMEL забыли упомянуть (хотя может быть и INAP, но скорее все-таки CAMEL).
    • +1
      Даже в намного более «технологичном» (и современном) протоколе BGP легко можно анонсировать чужую AS и лишить связности целого оператора, а то и пол мира.
      Подмена (спуфинг) делается элементарно если нет необходимости ждать ответа, прямая аналогия — UDP.

      Защититься, естественно, можно, но на всём периметре сети должны быть установлены системы, проводящие «умную» фильтрацию приходящих пакетов, и, к примеру, позволяющие делать InsertSubscriberData только для абонентов в роуминге и только из той страны, в которую он уехал.
      • 0
        Вы путаете теплое и мягкое. Сравнивать BGP c SS7 просто некорректно (в SS7 большое количество подсистем).
        Про периметр сети :) Достаточно на SRI_FOR_SM отвечать не адресом реального VLR а адресом антиспам системы (что все операторы сейчас и делают ;)
        • 0
          Про «тёплое с мягким» и не спорю, это действительно практически несравнимые вещи. Просто интернет многие считают более современным и технологичным по сравнению с телефонией.
          Но и в ядре маршрутизации интернета мы имеем дыры размером с паровоз.

          Про периметр сети :) Достаточно на SRI_FOR_SM отвечать не адресом реального VLR а адресом антиспам системы (что все операторы сейчас и делают ;)

          Ну да, вот только это ничего не даст из-за крайне ограниченного числа VLR'ов у оператора (и доступности их списка).
          Никто не мешает атакующему «стукнуться» не в единственный VLR, а во все VLR'ы региона-прописки абонента и с вероятностью эдак в 90-95% добиться цели (оставшиеся 5-10% на случай нахождения абонента в роуминге).

          Единственное что приходит в голову — на периметре скрывать реальный IMSI абонента, тогда бОльшая часть атак станет невозможна.
          • –1
            Зря вы так про телефонию :)
            Не примет VLR пакеты на перезапись информации неведомо от кого. У него же есть «список доверенных» GT («старшие товарищи» подсказывают, что обновление данных в VLR может прислать только HLR).
            • 0
              Ещё как примет, если получит пакет от «правильного» GT. А уж сгенерировать пакет от нужного GT не проблема, единственное ограничение — не получится принять ответ. Но ведь это не всегда и нужно.

              p.s. Да, знаю, MAP позволяет вместо END'а прислать CONTINUE. И не отрабатывать транзакцию если в ответ от отправителя не прилетит END.
              Но не уверен, что HLR'ы поддерживают такой механизм проверки.
              • 0
                А как он его примет то? Извне послать — думаю невозможно т.к. STP из «внешнего интерфейса» пакетов со «своих» GT думаю не ожидает принять и тупо такие сообщения отбросит. Только изнутри если, но это уже не уязвимость протокола, а саботаж :)
                Кстати да, забыл сказать — в современных операторах все уже давно используют STP и там подобные вопросы, насколько мне известно, решены уже достаточно давно (a la SS7 firewall функионал).

                Про END. Насколько помню он не в MAPe, а в TCAP (MAP выше уровнем будет)
                • 0
                  А как он его примет то? Извне послать — думаю невозможно т.к. STP из «внешнего интерфейса» пакетов со «своих» GT думаю не ожидает принять и тупо такие сообщения отбросит.

                  Даже если речь про GT «из собственной сети», то есть 2 причины, по которой пакет вполне может попасть в сеть извне:
                  1. Не факт, что STP сети поддерживает возможность такой защиты и не факт что она настроена.
                  2. Транзитный оператор (к примеру, ростелеком) может использоваться в качестве резервного межрегионального линка. И прилёт через него пакетов с GT собственной сети — вполне нормальное (хоть и редкое) явление.
                  В результате, подстановку GT сможет сделать любой оператор, подключившийся к тому же транзитнику (конечно, нужно чтобы и сам транзитный оператор не выполнял фильтрации пакетов с кривым GT).

                  Про END. Насколько помню он не в MAPe, а в TCAP (MAP выше уровнем будет)

                  Ой, да. Постоянно об этом забываю.
  • +1
    Просто зная IMSI уже можно сделать массу интересного, а уж если есть VLR GT… ситуацию может спасти Fake IMSI, возвращаемый на SRI_FSM запрос.
    Самое неприятное, что IMSI можно узнать не только через сеть,… но и через приложение, установленное на смартфоне. Т.е. ещё один вектор атаки появляется.

    И к слову, сообщение SRI4SM это не единственный способ получить IMSI абонента

    А вот это интересно :)
    Расскажите, какие ещё варианты существуют?
    • 0
      Можно просто SRI послать, без SM ;) Так сказать «голосовой»

      • 0
        Был уверен, что там только MSRN прилетает.
        Спасибо, почитаю.
    • 0
      А что можно сделать особо интересного зная IMSI?
      • 0
        Если честно, то в вашем списке оказалось раза в 3 больше вариантов, чем я мог предположить :)
        Но основной смысл моего комментария — знать VLR GT далеко не обязательно, но этот GT может существенно облегчить жизнь атакующему.
  • +2
    Ну собственно вопрос к автору ptsecurity, сильно ли влияет данный вид атаки на скорость соединения абонентов?
    Или да же так: Вот нынче в Славянске/Николаевке (за другие города не знаю) частый глюк — Звонишь, гудка нет в принципе, потом если ждать то абонент поднимает трубку и дальнейший разговор без проблем.
    Я в мобильных сетях дуб полный, за исключением конечно радиопередающей аппаратуры :)
    • 0
      Мой друг родом из Славянска. Дважды, когда по телефону связывался с родными, происходил примерно следующий диалог:

      — Привет, ну что там у вас?
      — Нас сегодня обстреливали.
      — Кто стрелял?
      Обрыв связи. И так два раза уже было.

      Может, совпадение, но мне в это верится с трудом. Ведь даже во времена событий на Грушевского СБУ массово рассылала на все телефоны в радиусе 200 м от эпицентра событий СМС в духе «Вы зарегистрированы, как участник массовых беспорядков».
      Так что в Славянске могут действовать и местные системы контроля связи, которые могли развернуть например российские спецы. Своего рода localhost, который осуществить проще, быстрее и надежнее, чем делать это на глобальном уровне.
      • 0
        Не натыкался на подобное, разрывы конечно бывают но не просматривается взаимосвязь между ними.
        В Славянске сейчас в принципе связи можно сказать нет, присутствует номинально но работает чисто случайно.
        В Николаевке со связью проблем например нет, МТС и Лайф работают без проблем.
    • +1
      В мобильной сети наибольшая составляющая времени соединения приходится на сигнальный обмен на радио тракте: поиск абонента (paging), согласование технических характеристик мобильного аппарата и сети, включение шифрования, аутентификация…

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

      По вопросу установления соединения в Славянске никаких комментариев дать не получится, это вопрос к техническим специалистам украинских операторов мобильной связи.
      • 0
        Ну это то понятно, интересовало именно «добавит ко времени соединения несколько десятых секунд».
        Так что все глюки в данный момент можно смело списывать на загруженность сетей.
  • +3
    Я просто оставлю ЭТО здесь. вдруг кому пригодится, для расширения кругозора. И главное — никому никуда не надо внедряться, всё делается провайдером
  • +8
    Простите, но не могли бы Вы поправить заголовок заметки?

    А то у Вас получается «убийство инопланетян на Земле: как это сделано и как защититься», а внутри «говорят, инопланетян убивают жители земли. При наличии атомной бомбы можно убить кого угодно, даже инопланетянина. Теперь отвлечемся от недоказанности существования зеленых человечков и поговорим, что можно с бомбой сделать. А ничего — она же существует, и взрывается, если бросить ее»

    У Вас:

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

    Испугать — получилось. Напечатали бы облегченную версию в Комсомолке — вообще бы паника началась :), но, простите, и вы безопасники, и здесь Хабр — нужны же какие-то деятельные выводы?

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

    И конечно, даже завернутый в прослушку трафик наверняка можно как-то закрыть от прослушки, о чем в статье компании-безопасника можно было бы и написать.
    • 0
      > в статье никак не доказанный и не развернутый тезис про именно «украинские» мобильники.
      Комментарием выше есть ссылка, оттуда идёт ссылка на официальное расследование инцидента. В качестве доказательств события вполне достаточно.

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

      > И конечно, даже завернутый в прослушку трафик наверняка можно как-то закрыть от прослушки
      К сожалению, голосовой трафик, передаваемый по телефонным сетям общего пользования, идёт в открытом виде. Поставить средства шифрования можно только на абонентском оборудовании. Но оно должно быть установлено у обоих абонентов, вовлечённых в разговор.
      • 0
        Может я чего-то не понимаю, но во-первых, какая ссылка в комментариях ведет «на официальное расследование инцидента», а во-вторых, если ссылка в коментах, то заголовок таки «желтый», так как в самом тексте никаких упоминаний о прослушке именно украинских мобильников нет.
        • 0
          Так, ссылку нашел (http://users.livejournal.com/_adept_/127629.html), только где там упоминается, что все было организованно через SS7?
  • 0
    А кто-то сам пробовал? )
    Мы пробовали как-то подменять маршрут вызова со стороны IN, заработало это далеко не сразу, и надо было делать соответствующие настройки, да и то в рамках одной сети. А уж извне лезть.

    Почитал оригинальный отчет комиссии, увы, там многих деталей нет.

    Очередное нагнетание, при том через месяц после инцидента, и cnews проснулся и тут… Пропаганда какая-то…
  • 0
    Я думаю самый надежный способ защититься от подобных проблем — использовать сети ОПСОСов только для транспорта данных. Благо современные voip решения — в изобилии. Тот-же FB Messenger умеет совершать звонки, не говоря уже о Skype
    • 0
      Защита от прослушки, Skype ?!
      Да вы что, вы еще предложите SIP от мегафона как защиту от прослушки.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка