Критическая дыра в сердце сотовых сетей

По поводу атак на SS7 на нашем ресурсе уже было несколько подробных статей технического содержания:
- Атаки на SS7: вчера для спецслужб, сегодня для всех
- Прослушка украинских мобильников: как это сделано и как защититься
- Как взломать Telegram и WhatsApp: спецслужбы не нужны
Но в данной статье происходящее объяснено более простыми словами, и может заинтересовать людей, далёких от внутреннего устройства мобильных сетей.
В феврале 2014 года посол США в Украине стал жертвой позорящей его утечки. Секретный разговор между ним и помощником государственного секретаря по делам Европы и Евразии Викторией Нуланд, в котором она отзывалась о Евросоюзе в грубых выражениях, был размещён на YouTube.
Разговор вёлся по незащищённой связи, и представители правительства США рассказали журналистам о своих подозрениях перехвата звонка в Украине, но не методике этого перехвата. Некоторые считают, что это произошло благодаря использованию уязвимостей в сети мобильных данных SS7, являющейся частью основы инфраструктуры, используемой телефонными провайдерами всего мира для межпровайдерного общения, переадресации звонков и текстовых сообщений.
Оставшийся практически незамеченным отчёт украинского правительства, выпущенный через несколько месяцев после происшествия, придал достоверности этой теории. Хотя в отчёте не упоминался посол, в нём было сказано, что в течение трёх дней в апреле данные о расположении десятка неизвестных пользователей мобильных телефонов в Украине были отправлены российскому провайдеру посредством использования уязвимостей в SS7. Текстовые сообщения и телефонные звонки некоторых из них также перенаправлялись в Россию, где кто-либо мог прослушать и записать их.
Провайдерам уже много лет известно, что SS7 уязвима для прослушки, но они мало что делали по этому поводу, поскольку считалось, что риски эти больше теоретические. Всё поменялось после происшествия в Украине – так говорит Кэтал Макдэйд [Cathal McDaid], глава отдела разведки угроз в фирме AdaptiveMobile, занимающейся мобильной безопасностью. Некоторые компании, включая и его фирму, разработали методы обнаружения атак на SS7, и с тех пор они уже обнаруживали подозрительную активность в сетях различных провайдеров, что доказывает не только реальность атак на SS7, но и то, что они периодически случаются. AdaptiveMobile выпустила в феврале отчёт, в котором подробно описала некоторые атаки.
SS7 только сейчас появляется в области внимания общественности, например, из-за сюжета в передаче «60 минут» на прошлой неделе, в котором два исследователя из Германии при помощи SS7 шпионили за конгрессменом США Тедом Лью – с его разрешения. Лью организовал слушания в конгрессе с целью изучения уязвимостей SS7, и у государственной комиссии по коммуникациям (FCC) также есть планы по их изучению.
Так что такое SS7 и почему он так уязвим?

На графике показано, как одна система в Восточной Европе использовала SS7 для отслеживания одного абонента в течение двух минут, отправляя запросы на местоположение провайдеру абонента. Через минуту каскад запросов этого же абонента пришёл с многих систем из разных стран.
Азбука SS7
SS7, или Signaling System No. 7 (сигнальная система №7) – это цифровая сеть и набор технических протоколов, или правил, управляющих обменом данных по этой сети. Её разработали в 1970 годах для отслеживания и соединения телефонных вызовов по стационарным телефонам между разными сетями, а сейчас она используется для подсчёта счетов за мобильные звонки и СМС, в дополнение к роумингу и звонкам между стационарными телефонами и региональными АТС. SS7 – часть основы телекоммуникаций, но это не та сеть, по которой идут ваши разговоры – это отдельная административная сеть, выполняющая другие задачи. Если представить себе систему пассажирских поездов, то SS7 – это технические туннели, которые рабочие используют вместо основных туннелей, где ходят пассажирские поезда.
Сейчас SS7 часто используют для роуминга, поэтому в путешествиях вы можете получать и делать вызовы и отправлять СМС даже там, где не работает ваш домашний провайдер. Внешний провайдер посредством SS7 отправляет запрос вашему, чтобы получить уникальный ID вашего телефона для его отслеживания, и запросить, чтобы ваши коммуникации были переведены в его сеть, чтобы он смог обеспечивать перевод звонков и сообщений.
Проблема
Проблема в том, что сеть SS7 работает на доверии. Любой получаемый сетью запрос считается легитимным. Поэтому любой человек с доступом к серверу или гейту в сети SS7 может отправить запрос на местонахождение или перенаправление с целью роуминга, и провайдер, скорее всего, ответит на него, даже если запрос идёт из Санкт-Петербурга в Бомбей, а вы с телефоном находитесь в Нью-Йорке. Атакующий может таким образом шпионить за чиновниками, директорами компаний, военными, активистами и другими. Стоит отметить, что перехват ваших сообщений и звонков означает, что атакующий также сможет перехватывать и коды двухфакторной аутентификации, которые отправляют по СМС Gmail и другие сервисы для доступа к вашим учётным записям. Атакующий, зная имя пользователя и пароль от аккаунта, может перехватить эти коды до того, как вы их получите.
Доступ к SS7 есть у сотен провайдеров по всему миру. Различные правительственные разведагентства также могут получать доступ к сетям, либо с разрешения провайдера, либо без такового. Коммерческие компании тоже продают услуги по взлому SS7 правительствам и другим клиентам. Преступники могут купить доступ к сети у нечистых на руку работников провайдеров, а хакеры могут взломать небезопасное оборудование, обслуживающее SS7.
Но способы для предотвращения атак провайдеры начали применять не раньше декабря 2014 года. Именно тогда Карстен Нол [Karsten Nohl] из немецкой компании Security Research Labs и независимый исследователь в области безопасности Тобиас Энгель [Tobias Engel] сделали презентацию по поводу SS7 на конференции Chaos Communication Congress в Германии. Она проходила через несколько месяцев после вскрытия украинских происшествий. Энгель показал метод отслеживания телефонов через SS7 в 2008-м, но он не был таким удобным, как те, что он с Нолом описали в 2014-м. В результате регуляторы Северной Европы потребовали от провайдеров ввода мер для предотвращения SS7-атак к концу 2015 года.
«Большинство атак SS7 можно предотвратить при помощи существующих технологий,- сообщил Нол. – Есть несколько случаев, создание защиты против которых потребует пары лет… но, по крайней мере, основная форма защиты есть в большинстве сетей Северной Европы и в других сетях мира».
Но эти исправления, очевидно, не были сделаны двумя провайдерами США — T-Mobile и AT&T. Нол с коллегой показали в передаче «60 минут», что оба они были уязвимы для атак. Verizon и Sprint используют другие протоколы для обмена данными, и теоретически они менее уязвимы. Но Макдэйд отметил, что все мобильные сети в итоге переедут на другую систему передачи сигналов под названием Diameter. Эта система «повторяет многие концепции и устройство предыдущих SS7-сетей», отмечает он, включая предположение о том, что всем запросам можно доверять – то, что губит SS7.
И как же можно использовать SS7 для отслеживания лично вас?
Для этого можно отправить вашему провайдеру запрос «Anytime Interrogation» (AI), чтобы получить уникальный ID вашего телефона и определить, какой центр мобильной связи (mobile switching center (MSC) использует ваш телефон. Обычно один MSC покрывает весь город. Провайдеры используют эту информацию для определения вашего местоположения, чтобы передавать вам звонки и сообщения через ближайшую к вам вышку связи. Отправляя повторяющиеся AI-запросы на получение информации о вас и ваших GPS-координат, атакующий может отслеживать ваш телефон и вас с точностью до квартала.
Провайдеры могли бы предотвратить это, блокируя AI-запросы, приходящие извне их границ,- говорит Нол. Но есть и другие способы получения информации о местонахождении, через другие запросы в SS7, и их уже не так легко блокировать.
И это не гипотетическая возможность. Мы знаем, что этот способ использовался на практике. Отчёт от AdaptiveMobile описывает одну операцию, в которой атакующий отправлял запросы о местонахождении из множества систем. Запросы на отслеживание одних и тех же клиентов приходили из систем SS7 по всему миру, а не от одной – возможно, чтобы не вызвать подозрения, поскольку множество запросов от одной системы было бы легче заметить. Эти системы отправляли несколько сотен запросов в день, отслеживая определённых абонентов, при этом отправляя один-два запроса в день на те номера, которые хакеры пытались взломать.
«Очевидно, чем больше вы используете систему для отправки запросов, тем вероятнее вы себя выдадите. Но это были ценные цели и их количество было малым,- говорит Макдэйд. — Пока вы отправляете немного запросов, есть шанс, что их не заметят».
Ещё одна операция в одной из европейских стран заключалась в отслеживании телефонов на Ближнем востоке и в Европе с систем, установленных у каждого из четырёх европейских провайдеров, что наталкивает на мысль об их причастности. «Это наше предположение… Если это система для шпионажа или государственная система, то у провайдеров выбора немного».
Перехват
Нол описывает три технологии перехвата звонков и текстов через SS7. Один оп показал в передаче «60 минут Австралия», отправив запрос из германии австралийскому провайдеру, и изменив настройки голосовой почты политика с тем, чтобы поступавшие ему звонки переадресовывались на телефон Нола. Это можно было бы легко предотвратить, отвечая только на запросы, приходящие из того региона, где находится телефон – но мало кто это проверяет.
Ещё один метод использует возможность изменения номеров, на которые вы звоните. Если вы выехали за границу, и набираете номер из контактов, функция изменения номеров понимает, что звонок международный, и добавляет код страны.
«Добавление кода страны осуществляется путём замены „неправильного“ номера на „правильный“, с добавленным кодом, и отправки его назад»,- поясняет Нол. – Удобно, правда? Но атакующий может заставить систему заменить любой номер другим. Когда приходит звонок, его переправляют на нужный номер, а атакующий остаётся посредине, с возможностью прослушивать и записывать звонок.
Третий способ пользуется тем, что мобильные телефоны обычно находятся в спящем режиме, пока не получат звонок или текст, и не общаются с сетью. В это время атакующий говорит вашему провайдеру, что вы находитесь в Германии, и все коммуникации надо перенаправлять туда. Когда-нибудь ваш телефон в США проснётся, и скажет, где он. Но атакующий может отправить ещё одно сообщение, опровергающее это.
«Если делать это раз в пять минут, то вы очень редко сможете принимать звонки и СМС эксклюзивно – большую часть времени принимать их будем мы»,- говорит Нол. Вы потом заметите счёт за роуминг, но к тому времени ваша приватность уже пострадает.
«Это не самый элегантный метод перехвата, поскольку вам придётся платить за роуминг. Но работает хорошо»,- говорит он.
Что делать?
Такую атаку легко предотвратить, используя алгоритм, который понимает, что пользователь не может быстро скакать между США и Германией. «Но никто такие проверки просто не вводит»,- говорит Нол.
Лично вы мало что можете сделать. Можно защитить ваше общение такими сервисами, как Signal, WhatsApp или Skype, но Макдэйд говорит, что атакующий может отправить вашему провайдеру запрос на отключение услуг передачи данных. «Поэтому у вас останутся лишь СМС и звонки, если у вас не будет доступа к Wi-Fi»,- говорит он. И вы останетесь уязвимыми перед атаками по SS7.
Макдэйд говорит, что провайдеры работают над предотвращением таких атак, но пока большинство из них ограничиваются самыми простыми методами. «Теперь они дошли до стадии, на которой приходится устанавливать гораздо более сложные файрволы и алгоритмы, которые пытаются обнаружить и предотвратить более сложные атаки»,- говорит он. «Атакующим сложнее их проводить, но и защите сложнее их останавливать. Поверьте мне – работа над этими атаками ведётся».
Signaling System #7 / Система сигнализации №7
Signaling System #7 / Система сигнализации №7 — это набор сетевых протоколов, обеспечивающих обмен служебными сообщениями между мобильными станциями (мобильными телефонами) и телефонными станциями, а также между самими телефонными станциями.
В настоящее время SS#7 используется, как стандарт сигнализации в телефонных сетях.
В данной статье будет описана структура и принцип действия SS#7.
Введение
Все телефонные звонки состоят из двух неотъемлемых компонентов. Первый и наиболее очевидный – это фактическое содержание – наши голоса, данные факса, модема и т.д. Второй компонент – это информация, которой обмениваются сетевые устройства для организации соединения и доставки данных предназначенному пункту назначения.
SS#7 – это стек протоколов, описывающий способы коммуникации между телефонными распределителями (switches) в открытых телефонных сетях. Используется телефонными компаниями для межстанционной сигнализации. В прошлом, внутри полосная (in-band) сигнализация использовала межстанционные магистрали. Данный способ сигнализации предусматривал один общий канал для использования обоих компонентов телефонных звонков. Данный метод не был эффективен и вскоре был заменён вне полосным.
Для правильного понимания Системы Сигнализации №7, в первую очередь необходимо понять основные недостатки предыдущих методов сигнализации, используемых в PSTN (Public Switched Telephone Network). До недавнего прошлого, все телефонные соединения осуществлялись множеством техник, основанных на внутри полосной общеканальной сигнализации.
Сеть, использующая внеполосную общеканальную сигнализацию, представляет собой совокупность двух сетей в одной:
- 1. Сеть с коммутацией каналов, которая обеспечивает передачу голоса и данных. Осуществляет физический канал между отправителем и получателем.
- 2. Сеть сигнализации, обеспечивает передачу служебной информации, управляющей вызовом. Сеть с коммутацией пакетов, использующая общеканальные коммутационные протоколы.
SS#7 является основным межстанционным протоколом ISDN. Но с не меньшим успехом используется и за пределами ISDN.
Уровни протокола SS#7
Система сигнализации №7 является взаимозаменяемым набором сетевых элементов, используемых для обмена сообщениями для поддержки телекоммуникационных функций. Протокол SS#7 разработан с целью продвижения этих возможностей и обслуживания сети, на которой они предоставляются.

Рис. 1 Строение стека протоколов SS#7
Message Transfer Part
Подсистема передачи сообщений
MTP1
На данном уровне выполняются функции электронно-оптического преобразования, обеспечение необходимой мощности сигнала передачи. MTP1 совместим с разными интерфейсами (E1, T1).
MTP2
Выполняет следующие функции: кадровая синхронизация, проверка ошибок при передаче одного кадра, согласование скорости передачи, организация повторной передачи кадров, в которых обнаружены ошибки.
На этом уровне формируется 3 вида кадров.
MSU (Message Signaling Unit) — кадр передачи, который используется для передачи сигнальных сообщений (для организации, разрыва соединений и т.д.).

Рис. 2 Строение кадра MSU
Цифры — количество бит каждого поля. Назначение всех полей будет описано далее.
LSSU (Link Status Signal Unit) — кадр передачи, который несёт информацию о статусе сигнальных сообщений, о состоянии соединения сигнализации.

Рис. 3 Строение кадра LSSU
FISU (Fill In Signaling Unit) — данный тип кадра не несёт информации и называется «пустым». Применяется в случае однонаправленной передачи сигнальных сообщений принимающим узлом для сигнализации передающему узлу о наличии ошибок и организации повторной передачи.

Рис. 4 Строение кадра FISU
Уровень MTP2 формирует кадр передачи, дополняя к существующим полям (Info, SIO, SIF или SI) следующими полями — флаги F, контрольным полем FCS (Frame Check Sequence), индикатор длины LI (Lenght Indicator), указательный бит вперёд FIB (Forward Indicator Bit), указательный бит назад BIB (Backward Indicator Bit), номер последовательности вперёд FSN (Forward Sequnce Number), номер последовательности назад BSN (Backward Sequnce Number).
В поле BSN сообщения MSU в направлении от узла А к узлу В вписывается номер последнего кадра, полученного А от В. Если А получил от В ошибку, то А вписывает в поле BSN номер кадра с ошибкой и вставляет «1» в поле BIB. В, получив это сообщение, отправляет кадр повторно и вписывает «1» в поле FIB, что означает повторную передачу.
Поле FSN применяется для указания номера последовательности передающей стороной, а BSN применяется для указания номера последовательности последнего принятого кадра. Т.е., отправляя первый кадр MSU, узел А вписывает в поле FSN «0». Если узел В получил кадр успешно, формирует ответное сообщение и вписывает принятый в FSN номер «0» в своё поле FSN. А, получив ответ от В, считывает поле FSN, убеждается в том, что его первый кадр дошёл успешно, формирует второй кадр и вписывает «0» в BSN. Таким образом, при передаче второго кадра от А к В, узел В также получает и отчёт о том, что его ответ на первый кадр узел А получил без ошибок. И так далее.
Битом BIB можно заказать повторную передачу, если на приёме возникла ошибка. Вписывается «1», если была и «0», если всё прошло успешно.
Битом FIB передающая сторона информирует принимающую сторону о наличии повторной передачи.
MTP3
Функции данного уровня совпадают с функциями сетевого уровня модели OSI. Выполняет адресацию в сети SS#7, маршрутизацию.
На MTP3 формируются поля SIO, SIF и SI.

Поле SIF (Signaling Information Field) применяется для указания ID кода сигнального узла, при этом, указывается код узла, который передаёт сообщение (OPC — Originating Point Code), как и код узла, которому назначено данное сообщение (DPC — Destination Point Code).
Поле CIC (Circuit Identity Code) применяется для указания временного интервала (time-slot’a), который применяется для передачи сигнальных сообщений и находится в одном из потоков E1, T1.
Поле SIO (Service Information Octet) применяется для идентификации типа услуги. NI (Network Indicator) — указатель сети, служит для указания типа сети (национальная или интернациональная сеть). Pri (Priority) — данное поле, обычно, является резервом, в отдельных случаях может применяться для указания приоритета. SI (Service Indicator) — указывает к какому типу услуг относится сигнальное сообщение, которое находится в информационном поле.
На третьем уровне формируются сигнальные соединения между узлами.

SL (Signaling Link) — это соединения между двумя узлами, через которые происходит обмен сигнальными сообщениями. Как правило, число SL больше 2-х.
Два SL, связывающие два узла сигнализации, обычно входят в набор сигнальных линий SLS (Signaling Link Set). Набор SLS может содержать 2, 3 и более SL, в зависимости от ёмкости соединительной линии между АТС.
В сети SS#7 различают три типа сигнальных узлов:
SSP (Signaling Switching Point) — узел, выполняющий коммутацию узлов.
SСP (Signaling Control Point) — контролирует работу SSP, содержит базу данных, управляя тем самым доступом к услугам, которые предоставляет SSP.
STP (Signaling Transfer Point) — узел, выполняющийй функции маршрутизации сигнальных сообщений.

Telephony User Part (TUP)
Данный уровень содержит набор протоколов, предоставляющий возможность применения SS#7 в аналоговой сети стационарной телефонии, адаптированный к системе сигнализации с совмещённым каналом, применяющейся в аналоговой абонентской линии. В настоящее время не используется.
ISDN User Part (ISUP)
Набор протоколов, позволяющий применение SS#7 в сетях ISDN. Поддерживает принцип работы всех интерфейсов ISDN, определяет алгоритм формирования соединений.
Sifnaling Connection Control Part (SCCP)
Система управления соединением каналов сигнализации
Выполняет функции контроля за соединениями в сети SS#7. Позволяет организовать 4 вида передачи данных. Каждый вид характеризуется классом от 0 до 3.
Class 0
Формирование соединений без согласования между терминалами.
Class 1
Формирование соединения с учётом номера последовательности при передаче. Не ориентировано на соединение.
Class 2
Формирование соединения с предварительным согласованием, после происходит передача.
Class 3
Формирование соединения с предварительным согласованием, после которого происходит передача данных с контролем скорости передачи.
Transanction Capability Application Part (TCAP)
Прикладная часть средств транзакций
Обеспечивает функции обработки данных для работы оборудования с удалённым доступом. TCAP применяется для обеспечения роаминга между сетями. В этом случае используется услуга «глобального переводчика», которая переводит код сигнального узла (SIF) в формат телефонного номера.
TCAP состоит из нескольких подуровней.
Mobile Application Part (MAP)
Набор протоколов, позволяющий применять SS#7 в мобильной сети. В этом случае, данные протоколы поддерживают все интерфейсы мобильной сети, определяют принцип hand-over’a, принципы формирования соединений.
IS 45
Набор протоколов, использующийся для обеспечения роаминга между сетями одного и того же стандарта, так и между сетями разных стандартов (GSM и CDMA, например).
Inteligent Network Application Part (INAP)
Данный набор протоколов служит для применения SS#7 в интеллектуальных сетях связи (IN). Определяет принцип формирования соединений в IN. При этом, возможно применения аутентификации, как метода проверки подлинности абонента.
- ss7
- signaling system 7
- cистема сигнализации
- окс7
Sigtran Protocol – SS7 over IP
Sigtran is the legacy Ss7 signaling over the IP network. The protocol standards are defined in the IETF specs. The SS7 network is fast and reliable, and it is a circuit-switched network. Having dedicated resources for voice calls. It has links, which act as a stream of messages.
This enables multiple streams to work in parallel. Facilitates low latency in the ss7 network and multiple paths to the peer node. A user of the ss7 link gets immediate link status (congestion, link down, etc.). The network deploys nodes in mated pairs for redundancy. There is a separate wire for each ss7 link. The protocol specification in RFC 4666.
Sigtran protocol stack:
Similar to other protocols, Sigtran also has a protocol stack. The lowest layer is the IP layer; the top layer can be any ss7 application layer(e.g., INAP, CAP, MAP). The Sigtran stack has Sigtran layers (M3UA, M2PA, M2UA, etc.). Each layer provides services to the upper layer and uses the services of SCTP for network transport.

The Internet is another network which was grown faster and faster with time. Growth was at a hardware level, from metal cables to Fiber optics.
This enables faster transfer of IP packets but still lacks other requirements to become useful for telecom networks.
Transmission Control Protocol (TCP) was the only connection-oriented protocol for setting up a virtual circuit over the IP network. It is reliable but still unsuitable for telecom because of the following shortcomings.
Single Streaming: TCP/IP uses a single stream in a TCP connection. The stream is the sequence of bytes. If one byte is corrupted, all bytes stop until corrupted bytes will not be re-transmitted again by the sender. Imagine multiple concurrent calls are going on a TCP stream. The problem in one call will create problems in the remaining other calls.
No Message Boundaries: TCP flow is a stream of bytes. The sender and receiver have to manage message boundaries. The Telecom network has coverage all over the globe. Both ends need to work on a common protocol to talk. Then creating boundaries was required to set a new protocol if TCP had to use.
No Asynchronous State Indication: After a TCP/IP connection setup. If the IP network fails (e.g., the cable is removed), there is no immediate indication to the sender or receiver. This protocol doesn’t have a path health check mechanism. If TCP has to use, then it’s the TCP application’s responsibility to check a connection’s health.
Single Homed: A TCP connection has a pair of IP addresses and a port. If one IP interface or path fails, all communication on the connection fails.
A new stream-controlled transmission protocol (SCTP) was standardized to overcome all shortcomings of TCP protocol for telecom. Because of the following features, it is more suitable for fast and reliable transport.
Multi Streaming: A SCTP connection may have multiple streams. While sending a message, the user of SCTP can specify the stream to send. This enables parallel processing of calls without disturbing other calls in case of failure of a single call. While connection setup, both endpoints negotiate on incoming and outgoing streams.
Packet Oriented: Uses sending packets (like UDP protocol style) in connection-oriented mode.
Heart Beat: SCTP Protocol uses a heartbeat mechanism to monitor a connection’s health. A user receives a connection status whenever there is a change in the connection state.
Multi-Homing: A SCTP endpoint consists of a list of IP addresses and a port. This makes a connection to keep active, even if one IP network fails.
Sigtran Network
Signaling over IP for SS7 protocol messages, Sigtran standard defines new protocols stack. This brings new nodes into a network. The End node in the Sigtran network is called ASP or application server process. This is similar to SSP or SCP in an SS7 network. This node runs the actual ss7 application.
HLR is an example of ASP in m3ua. It terminates the SS7 traffic over the IP networks. An asp may be connected directly to another ASP or to a signaling gateway for reaching other nodes. The signaling gateway or SG is similar to STP in SS7 Network. It has Sigtran and SS7 transport support. When a new node over m3ua needs to connect to the telecom network, it connects via SG.
Sigtran protocol stack:
The Sigtran protocol stack has three layers.
Adaptation Layer (M3UA, SUA, M2UA, M2PA):
This layer uses the services of the SCTP protocol and provides the services to an SS7 layer. Starts association with peer node for setting an SCTP connection. Perform signaling for bringing AS and ASP up at the adaptation layer.
SCTP Layer:
It is a transport layer that provides services to the adaptation layer and uses the services of the IP layer. It uses a four-way handshake with peer SCTP for connection setup to create a connection.
IP Layer:
Provides services to SCTP and used services of the data link layer. Provides routing of IP packets having SCTP as payload.
User Adaptation Layers In Sigtran:
Sigtran is only for transport purposes. The user application should not change if an ss7 node connectivity changes from SS7 to Sigtran. To make this possible, in Sigtran protocols, there are adaptation layers. An SS7 layer is the user of the adaptation layer, and the adaptation layer uses the service of the SCTP protocol. The basis of the SS7 layer and Sigtran layers are standardized.
M3UA or Mtp3 User Adaptation Layer:
A peer of MTP3 in the Sigtran protocol is M3UA. The user of M3UA is SCCP.
SUA or SCCP User Adaptation Layer:
The peer of SCCP in Sigtran protocol is SUA. The user of SCCP is TCAP.
M2UA or MTP2 User Adaptation Layer:
A data link level Sigtran layer. The user of M2ua is the ss7 MTP3 layer. The signaling gateway provides services of MTP2. Whenever an M2UA application server needs to send a message to a remote application hosted by an SS7 node. M2ua asp connects to the SG and sends messages via SG to the remote ss7 node. The layer can also have IPSP mode too, similar to other layers.
M2UA provides the same primitives to the MTP3 layer. On the network side, it uses SCTP services.
M2PA or Mtp2 Peer Adaptation Layer:
M2PA is the replacement of the MTP2 layer in Sigtran or IP. Two MTP3 layers can directly connect to each other over m2pa. At the same time, M2UA uses the services of MTP2 from SG.
Sigtran vs. ss7
There are many differences between Sigtran and ss7. Both have their own transport and protocol stacks. The following tables list the Sigtran vs. ss7 key differences.
| SS7 | Sigtran |
|---|---|
| A legacy protocol in telecommunication. The media and Signaling path both uses the ss7 protocol. | Relatively new protocol in telecommunication. Only signaling uses the Sigtran protocol. |
| Uses TDM-based E1 or T1 links for transport of ss7 messages. | Uses an IP network for ss7 signaling messages. |
| Special hardware is required for ss7 links. This hardware is an ss7 card, which implements MTP2 and MTP1. Dialogic, Digium, and Adax are the few vendors for ss7 cards. | No special hardware is required. The Sigtran uses an Ethernet card, which is available on all computers. |
| Protocol Standards defined by ITU-T. | IETF defines Protocol Standards. |
| The complex implementation of the network layer. | Easy implementation of the network layer. |
| High cost because ss7 requires additional hardware. | Low in cost and uses a transitional IP network interface. |
What is the SS7 protocol?
SS7, or signaling system 7, is the legacy protocol used by the Traditional telephony system. SS7 standards are defined by the standardization body ITU-T(International Telecommunication Union Telecommunication Standardization Sector ). For physical connectivity, E1 or T1 cables are used.
An E1 port has 32-time slots (links), and T1 has 24-time slots. There are variants also, but those are specific to fewer countries, e.g., J1 in Japan. The protocol stack is based on the layered architecture, which follows the OSI model partially. In the stack, a layer below is a service provider, and a layer above is the service user.
The trunks are set up between telephone exchanges to carry protocol messages for voice and signaling. An SS7 trunk has multiple circuits (time slots). Imagine a trunk like a pipe with a bundle of wires inside. When a call setup message (ISUP signaling) originates from a switch/exchange, a circuit from the trunk is reserved for that call.

With the emergence of IP-based telephony (VOIP). Telephone exchanges may also have VoIP trunks. You can learn more about VoIP by learning SIP Trunking. In this tutorial, we will discuss the ss7 only.
What are the layers in an SS7 Protocol stack?
SS7 protocol stack has the following layers.

Message Transfer Part 1 (MTP1) – Physical Layer
Transfers bits over a physical channel in the form of electrical signals. Have physical ports to connect the cables. A card may have its CPU and RAM. When someone buys an SS7 card, it also comes with MTP2. An SS7 card may have multiple ports with multiple channels (32 – E1, 24 -T1).
Message Transfer Part 2( MTP2) – Data Link Layer
Transfers the error-free frames between two directly connected nodes. It maintains the receiver and sender windows. It uses sliding window protocol and retransmissions for flow and error control.
What are the functions of the MTP2 layer?
- Error Control- checks the error in a received frame based on 16 bits CRC. Re-transmits lost message or error message.
- Message Sequencing– maintains the sequencing of messages between directly connected nodes. Forward and backward sequencing numbers are maintained for sequence and retransmissions.
- Link Alignment– provides link alignment procedures when requested from its user(MTP3).
- Flow control– if the receiver is slow, sending mtp2 gives an indication to its user for congestion.
- Link Status– link status is given to the user. The status may be, in service(UP), out of service(DOWN), or congestion(CONGESTED).
Message Transfer Part 3(MTP3) – Network Layer

This is the network layer that implements the mtp3 protocol. This does end-to-end routing of SS7 messages. This is the network layer in the ss7 protocol stack. For routing mtp3 routing, the level is defined. The routing level is defined in the MTP3 header, which contains OPC, DPC, and SLS. Mtp3 specification is given in Q.704. DPC is the point code of the destination ss7 node, OPC is the originating point code, and SLS is used for the load distribution of MTP3 user messages over links.
When a message is passed from MTP2 to MTP3, the routing level, SIO, and MTP3 user data are passed in the message. MTP3 has two primary functions, discrimination, and distribution. The discrimination function decides if the message is for the self node or some distance node. The discrimination function uses DPC. If a message is for a self-node, it is passed to the distribution function.
The distribution function checks SI, which is part of SIO. The value of SI identifies the user of MTP3. For Eg, if SI is 5, the message is delivered to the ISUP layer over MTP3. If the value of SI is 3, then the message is delivered to the user (SCCP/ISUP).
What are the functions of MTP3?
Remote Point code status management, mtp3 maintains the configuration of remote point code and its status. The status may be available or unavailable. The user of mtp3 gets PAUSE or RESUME indications for a configured remote point code. During the routing of a message, the status of the remote point code is checked.
Link Alignment:
Once a link is configured at MTP2 and MTP3 levels, the MTP3 layer starts the link alignment by issuing an alignment primitive to the MTP2 layer. This starts link alignment at the mtp3 level. Once a link comes up on the mtp2 level. MTP3 receives an in-service indication from the MTP2 layer. MTP3 sends an SLTM message to the remote end. If SLTA is received in response to SLTM, the link is marked up at the mtp3 level. If the link is the first link in a link set, then it’s an emergency link alignment procedure, else it’s a normal link alignment procedure.
Transfer Prohibited (TFP):
This is the MTP3 procedure by which a signaling point code can mark a route unavailable for a destination point code. This updates the routing table for a destination point code when a signaling transfer point (STP) detects an unreachable point code.
Load Sharing does the load sharing over Linkset and links based on SLS received from the user.
Change Over, when a link fails, the failed link’s traffic is distributed to the available links.
Change Back, when a failed link comes back, the traffic is rerouted to the association.
Signaling Connection Control Part (SCCP) – Transport Layer
It works as a transport layer and uses the service of MTP3. Do the segmentation/reassembly of large messages if required. A user application is identified by an SSN (an integer value). An SSN is a standard numeric value identifying an application/node in the GSM network.
- HLR – SSN 6
- VLR-SSN 7
- MSC – SSN 8
- SGSN – SSN 149
In the telecom network, an SCCP layer is identified by a Global title. A global title is a sequence of digits that is unique globally. Your phone number with country code is an example of a global title. The SCCP layer does SSN management, global title translation, an d other functions.
SSN management:
SSN configured on the SCCP layer can be local or remote. Before sending a message to a peer SSN, SCCP layers check the status of the remote SSN. If it is down, the message is dropped. To check the status of an SSN, a peer transmits the SST and waits for SSA. This procedure is optional. A remote SSN can be marked as available when a peer point code comes up after successful link alignment.
Global Title Translation:
An SCCP address has called party and calling party address in the SCCP header. Both addresses are global titles. Upon receiving, SCCP checks if GT matches the current node. If yes, then the Called Party GT is translated to the point code of the current node. The message is delivered to the local user identified by the called party SSN in the incoming messages.
If a message is not of local use, the GT can be translated into another GT or PC. Or it can be forwarded to the next hope. If the current nodes know the point code serving the called party address, the gt is translated on point code. Else forward to the next hop.
SCCP message classes:
Class 0, connection less non sequenced message.
Class 1, connection less sequenced delivery of messages.
Class 2, connection oriented without flow control.
Class 3, connection oriented with flow control.
User Primitives of SCCP Layer:
A user primitive is the interface a layer provides to access its services. SCCP Provides request primitives to request a service from the layer, and Indication primitives, to inform events received from the network.
Sccp Primitives (Connection Less)

Belongs to classes 0 and 1. No prior logical connection is set up. The messages are routed based on the called party address parameter. Class 0 messages are delivered not in sequence, while class 1 messages are delivered in sequence. ISUP and TCAP use connectionless SCCP protocols .
Data Request, this sends the user data in the SCCP protocol message. In UDT or XUDT SCCP messages, it depends on the length of a user message.
Data Indication, When protocol data is received from the network in UDT or XUDT.
Sccp Primitives (Connection-Oriented)

Belongs to message classes 2 and 3. A prior connection setup before sending user data. BSSMAP and RANAP use connection-oriented SCCP.
Connection Request (CR) starts a request towards the remote node for an SCCP connection.
Connection Confirmation (CC), remote SCCP user issues CC primitives to SCCP for sending a connection request response.
Connection Release request, user issues this primitive when a connection has to close.
Connection Release Confirmation, to confirm a release connection request.
Data Request issues a user to send data (e.g., RANAP ) to the remote peer.
Data Indication issues a user for received data from the network.
ISDN User Part or ISUP Protocol Layer
ISUP uses the services of MTP3. ISUP layer implements the protocol messages required for call control functionalities and voice circuit management. When a call starts, ISUP signaling traverses many intermediate telephone exchanges. The voice carries on SS7 circuits. These are E1 or T1 lines. Each E1 has 32 logical channels. A single channel is required for a call. Channel is identified by a circuit identification code (CIC).
Essential messages in the ISUP protocol:
Initial Address message (IAM) is the first message which sends by the call-originating SSP.
Address Complete Message (ACM) is the first message originated by the call terminating exchange in response to an IAM.
Answers Message (ANM), when the called party goes off-hook, the terminating exchange sends ANM to the calling exchange.
Release Message (REL), sent by the exchange from which the connected user (Called or Caller) goes on hook.
Release Complete message (RLC), Response of ISUP release message.
ISUP Call Flow :

TCAP Layer, This is the transaction layer. It’s the user of the SCCP layer. This layer provides the functionalities to its user for maintaining end-to-end dialogue with the peer node. TCAP message carriers application context name for the application running over TCAP. A TCAP dialogue starts with a TCAP begin protocol message. Begin message and originating transaction id and application context.
If the remote peer accepts the dialogue, then sends a TCAP end or a TCAP continue message, with dialogue response as accepted. In case of dialogue is not accepted, the peer sends an abort or reject. Abort is of two types. The user of the TCAP layer generates user abort . Protocol Abort, generated by the transaction layer.
A TCAP message may have user components. A component is for operation, from the sending application that wants to invoke on remote application.
MAP Layer is an application-level protocol provider. It implements the messages required for Roaming and Messaging for the GSM handset.
SS7 network elements or nodes:

SS7 network has three types of nodes. Each node has specific functionalities.
Signaling Switching Points (SSP)
This node terminates the wireless side (BSC/BTS) and connects to the rest of the network over SS7. An SSP may be connected to another SSP directly, or it may be connected via a signaling gateway. MSC, or mobile switching center, is an example of SSP. MSC provides roaming, messaging, billing, and call control functionalities.
Signaling Transfer Point (STP)
This node is working as a router in the SS7 network. The primary important role is to do Global Title Translation and select the next node for the message. The next node may be SSP or another STP.
Signaling Control Point (SCP)
This node has a database and maintains a centralized service. For a service, these nodes are contacted. Many SSPs can contact a single SCP. HLR or Home Location Register is an example of SCP in the GSM network . When a mobile phone is switched on, it tries to attach first to MSC (SSP), and then MSC sends a location update to the HLR. The MSC may change, but the HLR remains the same. A mobile operator can map location information with time.
Sigtran or SS7 Signaling over IP:
In earlier days, the internet was not such a strong, fast, and reliable network. With the advancement of hardware and software technologies, the internet is much faster and more reliable. Sigtran is the SS7 signaling over the IP network. With the invention of the SCTP protocol, Sigtran became possible. In Sigtran, the user applications are the same, and the SS7 user adaptation layers have been developed. A Sigtran layer uses the services of SCTP protocol and provides service to an SS7 layer.
M3UA or MTP3 user adaptation layer:
This layer is the service provider for the MTP3 user in the SS7 network. The MTP3 users are ISUP and SCCP, which means M3UA carries the signaling for ISUP and SCCP. The primitives provided to its users by this Sigtran layer are the same as the mtp3 layer.