Позвонить бесплатно: история взлома аналоговой телефонии. Часть 1

от автора

Фрикинг — это слегка устаревший термин, который означает взлом телефонных сетей для бесплатных звонков. Главным образом фрикинг относят к взлому аналоговых сетей, которых ныне почти не осталось, а потому термин стал неактуален. Но. Но в США 1960–1980-х годов это была целая культура, сравниваемая с сегодняшними хакерами. А в позднем СССР масштаб подобных взломов стал общенациональной проблемой.

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

Странные люди разговаривают бесплатно

Странные люди разговаривают бесплатно

Основа основ

Чтобы понять суть методов взлома, которыми пользовались фрикеры, необходимо сначала разобраться в принципах работы аналоговой телефонной сети. Разумеется, в том виде, в каком она существовала до внедрения цифровых АТС и сигнализации по общему каналу.

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

В аналоговых телефонных сетях ситуация была прямо противоположной. Абонентская линия была простой парой медных проводов, соединявших аппарат с АТС. Поднятие трубки замыкало шлейф — гальваническую цепь постоянного тока напряжением 60 В (в СССР) или 48 В (в США). Станция реагировала на замыкание шлейфа подачей непрерывного зуммера «Ответ станции»: 425 Гц в советских сетях, дуплексный тон 350 + 440 Гц в сетях Bell System. Этот сигнал означал готовность к приему набора.

Набор номера с дискового аппарата делали замыкая-размыкая шлейф. Номеронабиратель при возвратном ходе диска формировал серию импульсов, каждый из которых кратковременно размыкал цепь, а в паузе между импульсами — замыкал. Стандартное соотношение длительности размыкания к замыканию составляло 60:40 (так называемый коэффициент 1,6:1). Цифра 1 соответствовала одному размыканию, цифра 9 — девяти, а ноль — десяти. Такой способ называется декадным (или импульсным) набором. Межцифровой интервал (пауза между сериями) составлял не менее 600 мс.

Этот же принцип лежал в основе наиболее простого способа взломать таксофон. Его называли «пульсинг». Это когда вместо того, чтобы набирать номер диском или кнопками, вы просто быстро-быстро нажимаете на рычаг, на котором висит трубка. Одно нажатие — единичка, два нажатия — двойка, и так до десяти нажатий для нуля. Главное — выдержать ритм и не напутать с количеством.

Почему это работало на советских таксофонах? Дело в том, что в уличном таксофоне номеронабиратель (диск или кнопочная клавиатура) отключался физически. Пока вы не опустите монету (или жетон), диск или кнопки были отрезаны от линии и не замыкали контакты. Это сделано специально: сначала плати — потом набирай.

А вот рычаг, на котором висит трубка, по определению должен работать всегда. Сняли трубку — контакты замкнулись, положили — разомкнулись. Иначе как положить трубку после неудачной попытки или после разговора? Этот механизм не блокировался монеткой.

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

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

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

2600 Гц уязвимости

Если вы смотрели фильм «Хакеры» или интересовались историей телефонного андеграунда, то наверняка слышали про «синие коробки» — Blue Box. Их история началась с незрячего мальчика из Теннесси по имени Джо Энгрессия. В 1957 году восьмилетний Джо, обладавший абсолютным слухом, коротал время, насвистывая в телефонную трубку в ожидании соединения. В какой-то момент он случайно попал точно в частоту 2600 Гц — и гудок в линии оборвался, сменившись тишиной. Так был впервые случайно воспроизведен сигнал отбоя магистрального канала.

Blue Box в музее

Blue Box в музее

Чтобы понять, почему это сработало, нужно разобраться, как была устроена междугородняя связь в США. Между городами не тянули по отдельной паре проводов на каждый разговор — это было бы безумно дорого. Вместо этого использовали системы уплотнения: по одному физическому каналу (кабель или радиолиния) одновременно гнали десятки модулированных телефонных разговоров, каждый на своей частоте. 

Такой слот назывался магистральным каналом, и для управления им применяли простую схему: пока канал свободен, в нем (внутри) непрерывно звучит тон ровно на 2600 Гц. Это был признак «я готов, занимайте». Как только станция подключала абонентов, тон пропадал, и начинался разговор. Когда же кто-то вешал трубку, его сторона кратковременно посылала тот же самый тон обратно — встречная АТС воспринимала это как команду «отбой» и освобождала канал, возвращая в него фоновый сигнал 2600 Гц.

Важно: 2600 Гц был тоном внутри полосы конкретного телефонного канала. Для аппаратуры после выделения канала он выглядел как обычный сигнал в речевом тракте — поэтому его и можно было подать с абонентской стороны.

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

Дыра эта не была чьей-то ошибкой — она стала прямым следствием технического компромисса. Когда в 1940–1950-х годах Bell System строила автоматическую междугороднюю связь, отдельной сети для служебных сигналов еще не существовало. Тянуть параллельную инфраструктуру значило удвоить затраты, поэтому приняли вынужденное (но плохое) решение: команды управления пустили прямо через разговорные каналы. Это называлось «внутриполосная сигнализация» (in-band signaling). 

Разработчики успокаивали себя тремя соображениями. 

  • Во-первых, точная частота 2600 Гц и строгая длительность сигнала делают случайное повторение почти нереальным. 

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

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

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

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

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

Но если сегодня критическую уязвимость можно закрыть патчем за ночь, то в аналоговую эпоху все происходило несравнимо медленнее. Смена протокола сигнализации требовала физической замены оборудования на тысячах междугородних станций — тоновых приемников, генераторов, фильтров и релейных схем, рассчитанных именно на 2600 Гц. Стоимость такого перехода измерялась миллиардами долларов, а сроки — десятилетиями. Bell System прекрасно знала о дыре, но почти двадцать лет надеялась, что информация о ней не получит широкого распространения.

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

Координатная АТС

Координатная АТС

Пока корпорация медлила, вокруг открытия Джо и его друзей начало формироваться полноценное сообщество. В начале 1970-х годов Джон Дрейпер, известный как Капитан Кранч, показал, что для генерации тона 2600 Гц не нужна даже электроника: подойдет игрушечный свисток из коробки с овсяными хлопьями. А к середине десятилетия закрытая схема MF-набора была полностью восстановлена. Произошло это двумя путями: через утечки от действующих и бывших инженеров Bell и через методичный реверс-инжиниринг. Частоты проверяли генераторами, паттерны оцифровывали с магнитофонных записей.

Сам MF-протокол отличался от привычного нам тонового набора DTMF. В магистралях между АТС использовались шесть частот (700, 900, 1100, 1300, 1500 и 1700 Гц), которые попарно кодировали не только цифры, но и служебные команды. Например, KP (начало набора) и ST (конец). Схема взлома получалась простая: звоним на любой бесплатный междугородний номер, свистим или подаем тон 2600 Гц, слышим щелчок и тишину. Все, канал освобожден, но мы на нем. Дальше синяя коробка отправляет тон KP, затем номер в MF-кодах, затем ST. Аппаратура воспринимает это как запрос от соседней станции и послушно прокладывает маршрут — хоть на другой конец света, абсолютно бесплатно.

Тот самый свисток из коробки хлопьев, что мог выдавать 2600 Гц

Тот самый свисток из коробки хлопьев, что мог выдавать 2600 Гц

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

Именно эта архитектурная дыра и привлекла внимание двух студентов — Стива Возняка и Стива Джобса. Возняк лично позвонил Дрейперу, чтобы познакомиться, и вскоре они наладили кустарный выпуск Blue Box, продавая их по 150 долларов за штуку в кампусе Беркли. Позже Джобс признавался, что без этого опыта и заработанных денег Apple I мог бы и не появиться.

В 1971 году журнал Esquire опубликовал статью «Secrets of the Little Blue Box» с подробным описанием технологии взлома и частотами, после чего изготовление коробок из хобби одиночек превратилось в подпольный бизнес. К началу 1980-х фрикинг стал полноценной субкультурой со своим журналом (издание «2600», основанное в 1984 году и названное в честь того самого тонового сигнала), конференциями и неписаным кодексом. 

Операторы связи пытались латать дыры точечно: ставили фильтры-подавители 2600 Гц на уязвимых магистралях, меняли триггеры тарификации. Но это были заплатки, которые обходили, смещая частоту или применяя другие уловки. Единственным настоящим решением стал полный переход на внеполосную сигнализацию —  ОКС-7 (в США — SS7), завершившийся к концу 80-х — началу 90-х. К тому моменту история синей коробки уже вошла в учебники по сетевой безопасности как классический пример уязвимости, заложенной в фундаменте архитектуры.

Разноцветные коробки

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

Red Box — устройство для имитации акустических сигналов опускания монет в таксофон. В США и ряде других стран монетные автоматы Bell System, работающие по протоколу ACTS (Automated Coin Toll Service), не имели механического детектора номинала монет. Вместо этого каждая монета при прохождении через щель замыкала контакты, и специальный генератор посылал в линию короткие тоновые посылки, которые фиксировала станция. Сигнал представлял собой пару частот 1700 Гц и 2200 Гц, модулированных всплесками. Номинал кодировался количеством таких всплесков: один — 5 центов, два — 10 центов, пять — 25 центов (именно так, линейно). Длительность каждой посылки составляла около 60–70 миллисекунд с паузами между ними.

Фрикеры быстро сообразили, что станция не проверяет физическое прохождение монеты, а доверяет исключительно акустическому сигналу. Достаточно было записать звук опускания четвертака на портативный магнитофон, поднести динамик к микрофону трубки и проиграть запись в нужный момент. Red Box как раз и была миниатюрным генератором или устройством воспроизведения, которое выдавало последовательность тонов по нажатию кнопки. Позже схемы упростили до карманного осциллятора на таймере. Метод был эффективен для местных и междугородних звонков с таксофонов: оператор запрашивал монеты, фрикер проигрывал тоны нужного номинала, и станция считала, что оплата внесена. С распространением цифровых таксофонов, анализирующих монеты оптическими датчиками, Red Box потеряла актуальность.

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

Смысл устройства — в физическом подключении к абонентской линии в любом доступном месте: в распределительном шкафу на лестничной клетке, в подвале здания или даже на уличном столбе, где висит кабельный ящик. Достаточно было найти нужную пару проводов (часто просто прозвонкой или по маркировке) и зажать крокодилы. С этого момента Beige Box становился полноценным телефонным аппаратом на чужом номере: можно было принимать входящие звонки, слушать разговоры, если линия была занята, и совершать исходящие вызовы за счет абонента. 

Телефонный кросс

Телефонный кросс

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

Green Box — устройство для генерации служебных тонов управления таксофоном, которые обычно посылает станция. В отличие от Red Box, имитирующей сигналы от таксофона, Green Box имитировала команды к таксофону: сбор монет (Coin Collect) и возврат монет (Coin Return). В протоколах Bell System этим командам соответствовали тоновые пары: Coin Collect — 700 Гц + 1100 Гц, Coin Return — 1100 Гц + 1700 Гц. Сигнал подавался кратковременно, аналогично MF-командам.

Сценарий использования был таким: фрикер звонил на определенный уличный таксофон, ему отвечал сообщник или случайный прохожий (либо фрикер просто проверял работу устройства). Во время разговора он активировал Green Box, посылая в линию тон Coin Return. Таксофон, приняв команду как легитимную от станции, возвращал опущенные до этого монеты. В обратной ситуации — если нужно было «обнулить» автомат, не дав звонившему их вернуть, — использовался тон Coin Collect.

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

Magenta Box — инструмент для манипуляции с абонентскими линиями с несколькими номерами (party line). В сельских и пригородных районах США, где телефонная инфраструктура была разреженной, практиковалось спаренное или групповое подключение: два, четыре, а иногда и восемь абонентов использовали одну физическую пару. 

У каждого дома свой телефонный номер и свой звонок. Как отличить, кому звонят? По тому, как звенит звонок. Один настроен на 20 Гц, другой на 30, третий на 40, четвертый на 66. Или используют ритм: у одного — одно длинное, у второго — два коротких, у третьего — длинное и короткое. Технически это просто: когда станция хочет позвонить абоненту, она посылает в линию переменное напряжение (около 90 вольт) с нужной частотой и ритмом. А у каждого аппарата стоит механический или электронный фильтр-селектор, который замыкает цепь звонка только на свою частоту.

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

Magenta Box — это, по сути, генератор звонка. Он умеет выдавать переменное напряжение звонковой частоты (обычно 20 Гц, но можно было переключить или собрать под другую) и формировать нужный ритм — допустим, два коротких. Подключил такую коробку к линии — и она заставляет звонить именно тот аппарат, который настроен на два коротких, хотя станция об этом ничего не знает.

Как это использовали? Как бесплатный звонок соседу. Вы подключаете Magenta Box к линии, выставляете паттерн соседа (скажем, 30 Гц, два коротких), нажимаете кнопку — у соседа звенит звонок. Он снимает трубку, и вы с ним разговариваете. Станция вообще не видит этого «соединения», потому что вы не набирали номер через АТС, а просто подали звонковое напряжение напрямую в линию. Счет не выставляется, вызов не записан. Фактически вы использовали общую линию как переговорное устройство внутри дома, только чуть более хитрое. Не сказать, что это было какое-то сумасшедшее мошенничество, но де-факто оба соседа использовали телефонную линию, проложенную и содержавшуюся на деньги телефонной компании.

Стоит отметить, что все эти устройства не были изолированными поделками одиночек. Схемы и спецификации «коробок» публиковались в таких изданиях, как бюллетень TAP (Technical Assistance Program) Яппи Кристофера, а позже — в журнале «2600». Там же обсуждались методы защиты от обнаружения, легальные аспекты и новости из мира телефонных компаний. К концу 1980-х годов по мере цифровизации сетей и внедрения сигнализации ОКС-7/SS7, а также с ужесточением законодательства (в США — Computer Fraud and Abuse Act 1986 года) практическая ценность аналоговых коробок сошла на нет. Сегодня интересны исключительно как исторические артефакты, иллюстрирующие эпоху, когда безопасность сети держалась, фактически, на честном слове абонента.

ОКС-7. Лекарство от коробок

Пока фрикеры наращивали арсенал, в Bell System осознавали, что проблема не сводится к хулиганам со свистками. Дыра была колоссальная и устранить ее заплатками не получалось: управление сетью шло через те же провода и частоты, что и голос. Единственным решением оставалось разделить пути: пусть абонент говорит по своему каналу, а станции общаются между собой по другому каналу, куда абонент физически не имеет доступа. Эта идея оформилась в систему, известную как ОКС №7 (Общеканальная система сигнализации №7), в американской версии — SS7 (Signaling System 7).

Чтобы понять, что именно изменилось, вернемся на шаг назад. При внутриполосной сигнализации (in‑band) каждый магистральный канал вел себя как замкнутая пара проводов, где голос и служебные команды делили один и тот же спектр. Именно поэтому свист на 2600 Гц, попавший из микрофона в этот тракт, оказывался на том же уровне, что и легитимный сигнал отбоя от станции. Станция на дальнем конце не имела возможности отличить, кто прислал тон — оборудование или человек.

Архитектура ОКС-7 решает эту проблему кардинально. Вместо того чтобы посылать команды отбоя, набора и маршрутизации прямо по голосовому каналу, для них строится отдельная цифровая сеть. 

Сам общий канал сигнализации – это выделенный цифровой тракт (обычно со скоростью 56 или 64 кбит/с), соединяющий не абонентов, а исключительно коммутаторы и узлы сети. По этому тракту бегут короткие пакеты с командами: «занять канал Х», «освободить канал Y», «вызываемый абонент поднял трубку» и т.д. 

Абонентская линия в эту сеть не включена — она заканчивается на станции, а дальше идет только голосовой канал до встречной станции. Сигнальные пакеты передаются не через голосовой канал, а по отдельным физическим или логическим соединениям. Поэтому любые звуки, которые фрикер подаст в микрофон, останутся внутри разговорного тракта и никогда не попадут на сигнальный процессор.

Внедрение ОКС-7 закрыло сразу весь класс атак, основанных на акустическом подмешивании тонов в голосовой канал. Теперь команду «отбой» отправлял не тон, а пакет с определенным кодом, приходящий по служебной сети. Подделать его из трубки невозможно — у абонента просто нет интерфейса доступа к этой сети.

Переход не был мгновенным. Первые спецификации ОКС-7 появились в середине 1970‑х годов, а коммерческое развертывание началось в США и Европе в 1980‑е. Каждая станция требовала замены или дооснащения сигнальным оборудованием, прокладки новых цифровых линий между коммутаторами, установки программного обеспечения, поддерживающего протоколы MTP и ISUP. В масштабах страны это означало многомиллиардные инвестиции и годы плановой работы. Но принципиально иного способа устранить уязвимость не существовало, и операторы пошли на эти затраты. К концу 80‑х Blue Box как массовое явление сошел на нет именно из‑за того, что на наиболее загруженных магистралях аналоговую сигнализацию заменили на ОКС-7.

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


Размещайте облачную инфраструктуру и масштабируйте сервисы с надежным облачным провайдером Beget.

Эксклюзивно для читателей Хабра мы даем бонус 10% при первом пополнении.

Воспользоваться

ссылка на оригинал статьи https://habr.com/ru/articles/1048834/