Подопытные кролики в офисе МГТС
Давненько хотел написать данную статью, но только после того как на хабре не так давно прошла серия статей про фрикинг и взлом таксофонов, таки решился сделать это. Это шевельнуло во мне те, давно забытые нотки. То самые, благодаря которым начал заниматься электроникой, программированием и стал, кем сейчас являюсь. В посте «Взлет и падение начинающего фрикера» в комментариях началось обсуждение конструктивных особенностей таксофонов, по этому решил опубликовать тут переработанную и дополненную статью «кишки таксофона». Разбираем, что у таксофона внутри. Не забываем, что статья 2006 года выпуска!
Разбираемся в устройстве таксофона
Вероятно, каждый фрикер, от начинающего до опытного, мечтает заглянуть внутрь таксофона. И не просто заглянуть, а чтобы ему еще и рассказали о том, для чего какая железка нужна, о тонкостях системы защиты. Задача почти не разрешимая. Возможно, конечно, упереть таксофон, но разобраться, как он функционирует весьма сложно. Когда работал в журнале «Хакер», пользуясь возможностью журналиста, я связался с компанией МГТС на тему написать об устройстве таксофона. И, о чудо!, телефонная компания МГТС предоставила нам такую возможность и подробно проконсультировала нас на предмет того, как же он работает. Сейчас мы развенчаем многие слухи или, наоборот, подтвердим некоторые из них.
Встреча и знакомство
Мы встретились с пресс-секретарём МГТС и нас повели дворами к офису МГТС. За давностью лет, не могу вспомнить географию места (это был 2006 год!). По моему было м. Бауманская. И далее нас встретили сотрудники МГТС. Мы поднялись на второй этаж, где в холле висят практически все поколения таксофонов, которые устанавливались в г. Москве
Аллея славы
После чего мы пришли в кабинет, и узрел рабочее место телефонных пиратов работников, которое приведено в заходнике статьи. Изначально мне отказывались показывать и рассказывать о внутренностях таксофона, но я был настойчив и гласил, что такова была договорённость встречи и в конце концов они сломались и началась экскурсия в недра!
Подопытный кролик
Вскрываемый объект
Рядовой таксофон, стоящий во многих городах, оказывается, не так прост, как кажется. Это в некотором смысле полноценный компьютер, в котором реализованы все антифрикерские и антивандальные достижения технического прогресса: ударопрочный корпус; литой картоприемник, который достаточно сложно сломать; различные системы защиты от вскрытия, как программные, так и аппаратные. Для вскрытия таксофона справа у него есть кодовый замок, код которого для каждого таксофона свой. Таксофон регистрирует проникновение встроенными датчиками открытия и отзванивается на АТС, сообщая о нем. При этом монтеры должны набрать на клавиатуре таксофона секретный пароль, который и скажет АТС о том, что он был вскрыт санкционировано. Если это не будет сделано, автоматика вызовет на место наряд милиции и человек, посягнувший на таксофон, будет задержан. Аналогично работает и монетоприемник, отличие состоит лишь в том, что вместо кодового замка используется обычный замок под ключ.
И так, мы открываем санкционировано, первое знакомство.
Вскрываем и что же там?
Таксофон состоит из двух частей: лицевой и начинки корпуса. Пробежимся по базовым узлам, после вскрытия:
Раскрытый таксофон
Итак, по пунктам:
1. Кодовый замок
Используется для открытия таксофона Как в сейфе, кручу-верчу — запутать хочу.
2.Замок инкассации
Открывает кассу для выгребания дядей мелочи. Та же петрушка, как и в замке открытия.
3. Провод кардридера
Служит для соединения картридера с материнской платой таксофона.
4.Отверстие для монет
Сюда кидается денежка
5. Отсек возврата монет
Сюда падает сдача или левые монеты
6. Емкость инкассации
Используется для хранения полученных денег
7. Шлейф подключения линии
Нужен для связи с АТС (боюсь, за давностью лет не вспомню, что я имел в виду, когда это писал).
Продолжим знакомство с потрошками, перейдём к внутренностям лицевой части
Внутренности лицевой части
1. Криптоключ
С его помощью проверяют, настоящая ли карточка Ниже чуть детальнее остановлюсь, что же это такое. Внешне выглядит как обычная полноразмерная SIM-карта
2. Разъем клавиатуры
В него вставляется шлейф от клавы
3. Картоприемник
Место засовывания карточки
.Детально картридер будет разобран ниже.
4. Коммуникационная плата
Связывает таксофон с АТС. Вместо неё может стоять GSM модем
5. Разъем дисплея
К нему коннектится ЖК дисплейчик
6. Микросхема встроенных часов
Внутренний таймер, по нему сверяется дата карточки и время звонка на АТС Ниже можно заметить цилиндр — это батарейка.
7. Процессор
8.Датчик открытия таксофона
Если с приятелем откроешь таксофон, то придёт пативэн
9. Описание расположения элементов
Схема расположения разъемов, микросхем и т.д.
Внутренности основного корпуса
Потрошка корпусной части
1. Контроллер монетоприемника
Детектирует, какая денежка упала
2. Звуковой контроллер с динамиком
Звучит при ошибке или в будущем будет звонить
3. Монетоприемник
Глотает монеты и определяет их номинал
4. Предварительное хранилище монет
Сначала монеты попадают в предварительное хранилище, потом ссыпаются в инкассатор
5. Механизм возврата монет
По этой горке монеты попадают юзеру обратно
6.Наклейка описания
Основные узлы
Итак, в общих чертах мы просмотрели, как выглядит таксофон. Теперь давайте пройдёмся по его основным узлам, и узнаем для чего же они нужны. Следует заметить, что я не разработчик этого устройства.Лишь записывал со слов инженеров, так как это понял, кое что искал самостоятельно в интернете, так что данная информация может быть не совсем корректной. Рад буду, если кто-то меня поправит.
Модем
Модемный отсек
В каждом московском таксофоне стоит модем, который вечером или при открытии связывается с АТС. В модеме используется микросхема 73M2921, обеспечивающая скорость обмена до 9600 кбод/с. Над модемом находится плата коммутации с линией. Обычно это просто плата согласования с линией, однако, если нет возможности подвести к таксофону телефонную линию, вполне может стоять и GSM-модем.
Центральный процессор
Процессор P51XAG30KFA
Основу таксофона составляет центральный процессор P51XAG30KFA. Это 16-разрядный процессор, способный адресовать до одного мегабайта программной памяти, клон самой распространенной архитектуры С51. Ранние версии таксофонов тоже делались на С51-архитектуре младших моделей. Продолжение традиции скорее всего связано с переносимостью кодов, дающей возможность не переписывать заново прошивку к каждому таксофону.
Криптография
Микросхема криптозащиты
Все системы защиты в таксофоне по силам обойти даже начинающему фрикеру, кроме одной — встроенной криптозащиты. В таксофоне имеется ключ криптографии, по которому идентифицируется таксофонная карточка. Путем прямой эмуляции таксофонной карточки обойти это место защиты практически нереально. На этом этапе обламываются все эмуляторы, сделанные по описанным в интернете хакерским правилам.
Принцип действия достаточно прост. Таксофонная карточка представляет собой Неперезаписываемое ПЗУ, в котором хранится её серийный номер и перезаписываемое (можно менять биты выставленные в единицу в ноль, всё). Часть каточки занято некоторым дампом, о котором говорит m0n5ter в своей статье
Вторая мера защиты состояла в том, что в неперезаписываемой части памяти карты хранился некий код, сгенерированный на основе серийного номера и оригинального номинала карты (возможно, чего-то еще). Алгоритм формирования этого кода так и остался для нас загадкой. Этот код не давал нам достичь полного совершенства и генерировать каждый раз свежие дампы прямо на лету в микроконтроллере, приходилось прошивать дампы от настоящих использованных карт. Тогда мы надеялись, что собрав достаточное количество дампов памяти карточек, мы сможем вычислить алгоритм хеширования. Но, как я уже написал, надеждам этим сбыться было не суждено.
Вот этот криптоключ и проверяет соответствие дампа в перезаписываемой части серийному номеру. Вычислить ключи — практически невозможно (мы-то знаем цену этому «невозможно» :))) (передаю привет darksimpson ;) ))
Примечание: На самом деле, ещё есть одна засадная система — это проверка длительностей импульсов, которая даёт карточка и качество фронтов. Это эмулировать технически ооочень сложно.
Картоприемник
Кардридер. Оранжевая полоска — детектор выводимых проводов.
Предмет множества слухов во фрикерских кругах – это картоприемник. Из слухов подтвердилось лишь то, что существует датчик выводимых проводов, который легко обходится, если припаять микросхему эмулятора непосредственно на контактные площадки таксофонной карточки. Других систем распознавания эмулятора у картоприемника нет.
Серверная
Серверы МГТС
Каждый таксофон в нормальном режиме работы отзванивается на телефонный узел и передает информацию о звонках, использованных в нем телефонных картах и о своей работоспособности. Делает он это ночью, когда меньше всего нагружена телефонная сеть. При этой операции в таксофоне могут выполняться различные настройки и модификации софтовой части. На данном этапе зачастую выявляются эмуляторы и отслеживается, куда совершались звонки. Когда звонки делаются по России, вычислить человека, использующего этот эмулятор, несложно. Если таксофон не отзвонился, то это означает, что он либо неисправен, либо его просто нет на месте. На следующий день к таксофону выезжает мастер разбираться с причиной его «молчания».
Мифы о вечных карточках
Карточка монтажника
Каждому монтажнику выдается такая карточка с подписью «для служебного пользования». В свое время ходили слухи, будто эта карточка вечная. К сожалению, нет, карточка не вечная. На ней записано очень большое количество единиц, но они в конце концов исчерпываются. Карточка утилизируется, и монтеру выдается новая.
Фрикерская молодость
К моей чести, мечта похачить таксофон сподвигло меня на изучение электроники и программирование микроконтроллеров. Свело со многими интересными людьми, и даже попал на работу в «Хакер». Таксофон я так и не поломал (не жалею), хотя попыток было много. Но получил громадный опыт. Даже изготовил печатную плату толщиной в карточку, но правда немного ошибся с длинной
Печатная плата
В результате пады находятся как раз в металлическом картоприёмнике, но затолкать её удавалось. Один из экспериментов того времени был такой. У карточек есть пины: data, clock и reset (плюс питание). Так вот, первичное считывание идёт с карточки с данными, а потом идёт перебрасывание с помощью тумблера пина data на пустую карточку (разумеется остальные пины соединены параллельно). Всё было смонтировано в коробке. Помню делал наверное дня три (школолошником ещё был).
Февраль. Мороз минус 30 точно! Ночь, момент истины! Воткнул платку, считывание прошло успешно. Видать тогда не было ни датчиков проводов, ни проверки на фронты (был бы адов завал фронтов из-за ёмкости проводов), ни потребляемого тока (питаем же две карточки! И! Барабанная дробь: переключаем тумблер! И…
Я чуть в штаны не наложил. Тогда узнал что в таксофоне есть зуммер. При чём весьма мощный. Ночь, улица фонарь, орёт таксофон и рядом с ним кекс с какой-то коробкой, из которой идут провода в таксофон. Самое забавное, что благодаря каплям припоя, моя карточка застряла в недрах таксофона. И тогда не догадался взять с собой пассатижи и доставал сие устройство зубами из стального картоприёмника. Как там не оставил свои губы — не знаю.
Эх, романтика. Сейчас так приятно вспомнить фрикерскую молодость. Пусть и не очень результативную, хотя как посмотреть.
Итог
Вывод в журнале был весьма наивен, но забавен.
Я лишь скажу, спасибо МГТС и вообще телефонным сетям за наше счастливое детство! И большое человеческое спасибо компании МГТС, что таки дало заглянуть в недра того, что мы так хотели поломать. Эти и другие фотографии в полном размере можно посмотреть тут
Справедливости ради, оригинальная статья обитает тут (30-я стр. PDF, 71 мегабайт! ).
З.Ы. DIHALT может меня справедливо обвинить в некропостерстве, но с другой стороны, в последнее время постить старьё совершенно не хочется (а ведь столько всего можно написать:RFID, комп в масле и многое другое). Поскольку вдохновение того времени прошло, а написать уже вдохновения нет. Эта статья просто как бы продолжение фрикерских статей от разных авторов. Они меня и вдохновили на подвиг.
З.З.Ы. Помните, лучшая благодарность автору за пост: оставленный комментарий!
Автор: dlinyj
Смотря какие карточки и какой таксофон ты хочеш взломать.
Когдато были так называемые емкостные карточки так те ломались очень просто покупаеш самую дешовую… Покупаеш тестер для испытания конденсаторов выводиш 2 проводка (електрики поймут которые знают как конденсаторы меряются)
Дальше надо методом тика… Главное найти емкость которая приблезительно на карточке написана чтото типо етого: ТО 6984489 (ну както так они обозначают емкость) ну и дальше просто оставлялось на сутки так подключенным тестер емкость накапливалась и карточка которая имела в наличие допустим час за сутку простоя с тестером имела уже около 3-х часов)))
Правда проблема с тем как заставить тестер не выключаться. В разных тестерах по разному решалось…
п.с. уже карточки так не работают… (по крайней мере в Украине) но я могу ошибаться просто давно не занимался этой фигней…