Как стать автором
Обновить

Я сделал 56874 звонка, чтобы исследовать телефонную сеть

Информационная безопасность *Asterisk *Реверс-инжиниринг *Сотовая связь
Перевод
Автор оригинала: Valtteri Lehtinen
image

Какие системы сегодня используются в телефонной сети Финляндии?

Такой вопрос возник у меня, когда я пролистывал старый телефонный справочник начала 2000-х.

Как минимум, там есть обычные абоненты, линии поддержки клиентов разных бизнесов, голосовая почта и факсимильные аппараты. Абоненты и линии поддержки меня не особо интересовали. Гораздо любопытнее для меня были автоматизированные системы, позволявшие звонящему каким-то образом взаимодействовать с ними. Этому описанию соответствует голосовая почта и факсы. Но есть ли в сети что-то ещё?

Так как телефонная сеть появилась в Финляндии за сто лет до Интернета, системы внутри неё могут быть очень старыми и загадочными. До того, как Интернет получил популярность, эти системы использовались для предоставления услуг, которые мы сегодня используем в Интернете. Будет ли интересно немного исследовать их и узнать, какие из систем дожили до наших дней? Так как для телефонных сетей нет поисковых движков наподобие Shodan, мне пришлось проводить исследования самостоятельно. В этом посте я расскажу о результатах своих изысканий.

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

Я использовал wardialing для звонков на множество номеров, а затем записывал первые 60 секунд полученного аудио, сам не говоря ни слова. Полученные записи звонков можно было проанализировать, чтобы узнать больше о системах в телефонной сети. Насколько я знаю, никто раньше не публиковал результаты своего wardialing. Особенно результаты wardialing финских пространств номеров 2021 года.

Как я пытался не пугать людей фантомными звонками посреди ночи


На стороне получателя wardialing создаёт фантомный звонок. Вам звонят, вы поднимаете трубку, но звонящий не издаёт ни звука. Спустя какое-то время звонящий кладёт трубку. Уже само по себе это может показаться кому-то угрожающим. А если к тому же звонок будит вас посреди ночи, а потом вы узнаёте, что всё сказанное вами по телефону было записано, передано сторонним лицам и опубликовано? Я был бы в гневе. Поэтому я предпринял действия для минимизации ущерба для владельцев телефонных номеров, по которым я звонил.

Голос сам по себе является личной информацией. Кроме того, люди могут раскрывать по телефону информацию, которой не хотят делиться и публиковать её. Чтобы не нарушать приватность людей, я поступил так:

  • Решил не публиковать записи с ответами людей
  • Не публиковал никаких телефонных номеров
  • Сделал так, чтобы любые записи частных лиц не покидали пределы ЕС, не сохранялись сторонними лицами и не использовались для обучения моделей машинного обучения
  • Удалил записи и номера частных лиц после классификации

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

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

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

Так как wardialing проводился с очень умеренной скоростью, я посчитал, что он не повлияет на полосу пропускания поставщиков услуг.

Бюджетный доступ к общественной коммутируемой телефонной сети


Так как у меня дома не было старой медной телефонной линии, мне пришлось искать другие способы реализации wardialling. Я нашёл современную программу для wardialling WarVOX, которая использует для звонков VoIP, и решил воспользоваться ею.

Для работы WarVOX требуется VoIP-транк — сервис, работающий в роли шлюза между IP-сетью и телефонной сетью общего пользования (Public Switched Telephone Network, PSTN). В Финляндии есть несколько сервисов VoIP-транкинга, но они или предназначены только для бизнес-клиентов, или слишком дороги для моего wardialing. К тому же я предположил, что владельцев сервисов не порадует wardialing. Зарубежные сервисы VoIP-транкинга дороги для обзвона финских телефонных номеров.

Я узнал, что существует оборудование, например, шлюзы VoIP-GSM, которые можно использовать для настройки собственного VoIP-транка. Любопытно, что это оборудование имеет возможность изменения номера IMSI. Шлюзы VoIP-GSM используются в качестве мостов между IP-сетью и PSTN-сетью через GSM-сеть.

После установки в них одной или нескольких SIM-карт они подключаются к PSTN-сети, как это делает обычный мобильный телефон, что позволяет вам выполнять и принимать вызовы. Со стороны IP-сети они обеспечивают интерфейс, например, SIP, который можно применять для программного выполнения и приёма вызовов.

Я купил самый дешёвый шлюз VoIP-GSM, обеспечивающий SIP-интерфейс в IP-сети. WarVOX общается через IAX2, а не через SIP, поэтому мне пришлось сконфигурировать Asterisk в качестве прокси между двумя протоколами.

Для подключения к PSTN-сети я купил самую дешёвую SIM с предоплатой с 5 евро на счету. Если оператору не понравятся мои действия, он может просто заблокировать эту SIM-карту.


Шлюз VoIP-GSM и Asterisk позволяют WarVOX управлять вызовами в телефонной сети

Выбираем номера для звонков


Финское Министерство транспорта и коммуникаций (Traficom) публикует на своём веб-сайте решения о нумерации телефонных сетей. Для выбора телефонных номеров, по которым буду звонить, я воспользовался планом нумерации Финляндии E164. Этот документ, датированный 2019 годом, содержит описание различных пространств номеров и их обобщённое предназначение.

К вызываемым номерам у меня были следующие требования:

  • Никаких платных номеров (мой бюджет составлял всего 5 евро)
  • Никаких частных лиц (я не хотел надоедать людям и пугать их фантомными звонками посреди ночи)
  • Максимальное количество систем

В конечном итоге я решил, что лучшим кандидатом является пространство бесплатных телефонов (по плану нумерации Финляндии R164 они предназначаются для «Негеографических номеров — общенациональных сервисных номеров (бесплатных телефонов)»). В этом пространстве абонент платит за номера больше, чтобы компенсировать затраты на звонящих.
То есть на номера в этом пространстве можно звонить бесплатно, и это отвечает первому требованию.

Думаю, из-за повышенной оплаты количество частных лиц в этом пространстве минимально, потому что обычно частные лица не хотят платить больше, чтобы им звонили бесплатно. То есть, теоретически, это отвечает второму требованию.

Количество систем в пространстве бесплатных телефонов сложно предсказать. При наличии систем в этом пространстве логично было бы централизовать затраты на их использование.

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

Совершаем 56874 звонка за 40 дней


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

WarVOX тратил на каждый звонок по 60 секунд, вне зависимости от наличия ответа. В результате скорость wardialing составила 1 вызов/минута. Для совершения 56874 вызовов потребовалось примерно 40 круглосуточных звонков.

Время, требуемое для подключения вызова, и время до поднятия трубки вычиталось из 60 секунд. То есть все записи короче 60 секунд.

Я сконфигурировал шлюз VoIP-GSM таким образом, чтобы он не отправлял Caller ID, благодаря этому трубку бы поднимало меньше людей и они не перезванивали мне.


Шлюз VoIP-GSM перенаправляет один из 56874 вызовов

В 2% вызовов я получал интересный ответ


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

Чтобы не прослушивать все записи самостоятельно, я использовал Google Cloud Speech-to-Text для создания транскрипций записей, а затем при помощи транскрипций отсёк все записи вызовов, содержащие одинаковые сообщения. Это уменьшило количество вызовов для прослушивания примерно до трёхсот — вполне приемлемое число.

Затем я самостоятельно прослушал все уникальные записи и классифицировал их в соответствии со следующей схемой:


Схема сортировки вызовов

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

Все отвеченные людьми вызовы относились или к бизнесам или к частным лицам. Я отличал частных лиц от бизнеса по неформальному стилю ответа на звонок.

Невозможно определить, что конкретно находится на другом конце, если на линии или тишина, или обратный вызов. Тот факт, что записи содержат обратный вызов (ringback), говорит нам о том, что на стороне получателя есть офисная телефонная станция (PBX), которая поднимает трубку, а затем пытается вызвать добавочный номер.

Все записи, на которые ответила машина, являлись записями человеческого голоса, факсимильными аппаратами, музыкой или чем-то неизвестным (машиной). К категории Music относятся записи, в течение которых воспроизводится только музыка. Категория Unknown (machine) содержит записи вызовов, содержащих электромеханический звук.

Записи человеческого голоса или были объявлениями, которые о чём-то сообщали (например, что номер не используется), или запрашивали ввод. Запрашивающие ввод записи были или тестовыми номерами, или голосовой почтой, или сервисами телеконференций, или их невозможно было идентифицировать, поэтому они отнесены к категории unknown (waiting for input).

В сумме ответ был получен только на 3% звонков. Из них 69% были признаны интересными. То есть из всех ответов интересными были только ответы на 2% звонков.

Всего 74 уникальных интересных ответа


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

Категория неизвестных записей, ожидающих ввода звонящего, содержит 16 различных вариантов. Также обнаружилось 2 варианта разных тестовых номеров. Категория голосовой почты содержит 23 различных варианта, а категория телеконференций — 24 различных варианта. Все факсимильные аппараты звучали по моему мнению одинаково, а среди воспроизводимой музыки было 7 уникальных композиций. Все неизвестные машины звучали для меня одинаково.

Категория Количество записей Количество вариантов
Неизвестно (ожидание ввода) 1093 16
Тестовый номер 5 2
Голосовая почта 33 23
Телеконференции 31 24
Факс 7 1
Музыка 11 7
Неизвестно (машина) 2 1

Что может скрываться за интересными ответами?


Предполагаю, что все интересные записи, за исключением факсимильных аппаратов и неизвестных машин, являются сервисами, обеспечиваемыми офисными телефонными станциями (Private Branch Exchange, PBX). PBX — это телефонные системы, обычно используемые компаниями, которые выполняют коммутирование вызовов между несколькими пользователями и могут обеспечивать дополнительные сервисы, например, голосовую почту и телеконференции.

Было большое количество ответов в категории Unknown (waiting for input) — систем, ждущих ввода и не сообщающих, какой сервис они предоставляют. Некоторые системы запрашивают PIN-код или опцию меню, вводимые с номеронабирателя, другие ожидают голосовые команды.

Среди запрашивающих PIN-код были, например, ящики голосовой почты или сервисы телеконференций. Возможно, это может быть и аутентификация в PBX с удалённым управлением? Единственный способ узнать это — спросить кого-нибудь, или попытаться подобрать коды перебором. Однако брутфорс является нарушением закона.

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

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

Я нашёл 5 тестовых номеров. Эти номера предоставляли 2 типа сервисов тестовых номеров:



Первый сообщает, что это тестовая платформа ICS, и предлагает протестировать DTMF или факс. Второй тестовый сервис, похоже, принадлежит американскому поставщику коммуникационной платформы Twilio. Он предоставляет услуги тестирования DTMF, CL readback, теста эхо и меню SMS.

Категория голосовой почты (Voice mail) по-прежнему используется. Часть записей являлась голосовой почтой бизнесов, спрашивающей отзывы клиентов или контактную информацию. Остальные были обычной почтой, ожидающей записи голоса после гудка.

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

Как и ожидалось, факсы (fax) по-прежнему используются. Предупреждаю, звук может вам не понравиться!


Ответом на 11 вызовов была только музыка (music). Музыка может что-то обозначать, например, ожидание в очереди какой-то услуги. Все варианты музыки, за исключением одного, звучали как обычная «музыка для лифтов», и могут быть стандартной музыкой удержания вызова в PBX.

Вот примеры стандартной музыки удержания вызова:


Единственное исключение:


На два вызова был получен одинаковый ответ от какой-то неизвестной машины (unknown machine). По одной записи непонятно, что это за машины. Звучат они как электромеханические устройства.

Специалисты из телекоммуникационных компаний помогают мне идентифицировать эти ответы


В 1074 отвеченных вызовах был одинаковый ответ (91% из всех интересных ответов), ожидающий, что с ним будет взаимодействовать звонящий. Он говорит: «Tervetuloa palveluun» («Добро пожаловать в сервис»), после чего многократно повторяет «Anna tunnusluku» («Введите код доступа»). Машина никак не даёт понять, что это за сервис.

Я связался с финской телекоммуникационной компанией Elisa, надеясь, что её сотрудники смогут опознать сервис. Как только я получу ответ, пост будет дополнен.

Дополнение: сервис был опознан пользователем Hacker news как интерфейс управления телефоном Vakio компании Elisa. Vakio — это сервис, предназначенный для распределённых бизнес-вызовов на мобильные телефоны сотрудников. Чтобы начать получать звонки, сотрудники должны позвонить по своему личному номеру бесплатного телефона и указать свой код доступа.

Вот одна из записей:


2 неизвестные машины звучали как электромеханические устройства. Эти загадочные машины звучат как нечто с записей Эвана Дорбелла [прим. пер.: Evan Doorbell — псевдоним известного телефонного фрикера]. Я связался с Эваном, надеясь, что он сможет опознать машины, и дополню этот пост, если ему это удастся.


Зомби-апокалипсис, секретные сообщения, неправильно настроенные IVR и прочее


Одна и та же запись воспроизводилась двумя разными номерами. Я был очень удивлён, услышав во время изучения записей это фантастическое сообщение о конце мира и зомби-апокалипсисе.

Поиск в Google по номерам и предложениям из записи ничего мне не дал. Записи звучат как captcha. Стоит сказать, что я не нажимал клавиш тонального набора!

Дополнение: пользователь Hacker news опознал в записи тестовый номер, используемый для комплексных испытаний интеграций колл-центра платформы мониторинга WebRTC на callstats.io. В качестве доказательства он рассказал о том, что при нажатии на клавишу 1 запись сообщает, что агенты-спасатели делают долгий перерыв на чай. Эта дополнительная информация оказалась правильной. То есть похоже, что зомби-апокалипсис оказался просто шуткой.


«Maple confirmation message for Clevercrossing».

Таких сообщений было 6. Что это может быть? Сообщение о подтверждении чего?

Дополнение: я получил много сообщений об этой записи. Во всех них говорилось, что на самом деле произносится «Mobile confirmation message for Global Crossing». Global Crossing — это телекоммуникационная компания, обанкротившаяся в 2002 году и купленная Level 3 Communications. Однако всё равно непонятно, для чего нужно это сообщение.


Забавное сообщение на английском со шведским произношением:


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


Финноговорящий бот:


Неполное или неправильно настроенное финское IVR (Interactive Voice Response, интерактивное голосовое меню):


SIS — No circuit. Было 2 таких ответа:


Состояние ядерной электростанции:


Какие типы систем существуют в финской телефонной сети?


Судя по моим результатам, в ней есть частные и бизнес-телефоны, факсимильные аппараты, PBX и неидентифицированные системы. PBX служат, например, в качестве систем для телеконференций, тестовых номеров и голосовой почты. Некоторые PBX также могут иметь и другие задачи, но моего исследования было недостаточно, чтобы это выяснить.

Системы, которые мне не удалось распознать, например, неизвестные машины и неизвестные сервисы PBX, могут оказаться чем-то неожиданным. Так что если вы знаете, что это такое, то напишите мне! Ссылку на записи можно найти в конце поста.

Я не могу в полной мере ответить на вопрос из начала статьи из-за выбранного узкого пространства номеров и относительно малого размера выборки. Следовательно, моё исследование скорее является знакомством с типами систем, используемых в финском пространстве номеров бесплатных телефонов в 2021 году.

Я только звонил на номера и пассивно слушал в течение 60 секунд. Было бы интересно попробовать как-нибудь повзаимодействовать с обнаруженными сервисами и посмотреть, как они будут реагировать.

Ещё можно подвергнуть wardialling-у другие пространства телефонных номеров по той же методике. В плане нумерации E164 указано, что существуют старые номера длиной 5 цифр, которые до сих пор используются. Это пространство номеров достаточно мало для прозвона за приемлемое время. Однако этот диапазон номеров может содержать номера сервисов с платными входящими.

Необработанные записи


Все необработанные записи, помеченные на схеме как интересные (за исключением голосовой почты), сохранены здесь.

Голосовая почта не публикуется, потому что часть из них содержит запись голоса самих владельцев или произносимый телефонный номер.
Теги: телефонные сетифинляндияфаксголосовая почташлюз gsmpstnvoip-шлюз
Хабы: Информационная безопасность Asterisk Реверс-инжиниринг Сотовая связь
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 11
Комментарии Комментарии 11

Похожие публикации

Лучшие публикации за сутки