штрих код для активации билета на электричку

ruka sneg zakat 156193 1280x720 Игры для детей
Содержание
  1. Купить билет на электричку теперь можно в мобильном приложении
  2. Как купить билет в приложении
  3. Пользователи критикуют реализацию
  4. «Прямая» оплата банковской и транспортной картой — дело будущего
  5. Официальное мобильное приложение «Расписание и билеты ЦППК»
  6. Che Burashka и взлом систем продажи билетов на московские электрички
  7. 1. Введение от авторов (именно такой текст распространялся вместе с описанием уязвимости)
  8. 2. Описание уязвимости.
  9. Исследование защищенности турникетов компании Микротех
  10. Предыстория
  11. Как устроена система распространения билетов
  12. А что есть ещё?
  13. Как устроен контроль прохода на платформу
  14. Как устроен бумажный билет
  15. Как устроен турникет, а точнее – блок УКПД
  16. Как блокируются неправильные билеты и обрабатываются правильные
  17. Почему все это плохо работает и как все это сломается окончательно
  18. Что можно было бы сделать разработчикам системы билетов
  19. Что мы хотим и что мы сделаем
  20. P.S. Об этом исследовании
  21. 3. Послесловие от автора публикации, навеянное активным комментированием
  22. И ещё один P.S.

Купить билет на электричку теперь можно в мобильном приложении

13 августа 2019 года у пассажиров электропоездов Белорусского и Киевского направлений появилась возможность покупать билеты в мобильном приложении компании-перевозчика.

«Теперь пассажиры могут заранее спланировать свою поездку и купить билет онлайн в любое удобное время. Разовый билет в одну сторону можно будет приобрести от станций, оборудованных турникетами или валидаторами, а билет туда и обратно — если на обеих станциях есть турникеты или валидаторы», — сообщает пресс-служба ЦППК (Центральная пригородная пассажирская компания).

На Белорусском направлении через приложение можно купить электронные билеты от станций: «Беговая», «Фили», «Кунцево», «Рабочий Посёлок», «Сетунь», «Баковка», «Инновационный Центр», «Одинцово», «Отрадное», «Пионерская», «Жаворонки», «Голицыно», «Тучково», «Можайск» и от Белорусского вокзала.

На Киевском — от станций «Матвеевская», «Очаково», «Солнечная», «Переделкино», «Новопеределкино», «Нара», «Обнинское», «Малоярославец» и от Киевского вокзала.

Функция покупки разовых билетов в мобильном приложении ЦППК впервые появилась в сентябре 2018 года на Павелецком направлении, затем была внедрена на Казанском и Ярославском. В ближайшее время она станет доступна для оставшихся четырёх направлений: Курского, Савёловского, Рижского и Горьковского.

EHlektrichka

Как купить билет в приложении

Порядок покупки электронного билета через мобильное приложение указан на сайте Центральной пригородной пассажирской компании. В первую очередь, необходимо скачать приложение «Расписание и билеты ЦППК» в Google Play или AppStore (или обновить его до последней версии). После этого в разделе «Расписание» или «Купить билет» выбрать маршрут, электропоезд, дату поездки и вид билета («туда» или «туда-обратно»).

При оформлении первого билета необходимо указать паспортные данные (в соответствии с приказом Минтранса России №322 от 21.08.2012) и адрес электронной почты, на которую будут приходить чеки после покупки. Оплатить билет можно банковской картой, Google Pay, Apple Pay или Samsung Pay.

Важный следующий этап: билет необходимо активировать. Для этого его нужно открыть в разделе «Мои билеты», нажать на кнопку «Активировать билет» и просканировать QR-код на дисплее, размещённом на специальном турникете или валидаторе на станции отправления.

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

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

Пользователи критикуют реализацию

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

Кроме того, пользователи оставляют много жалоб на стабильность работы приложения. Так, в отзывах на Google Play пассажиры говорят о проблемах при активации на турникетах, не читающихся у контролёров электронных билетах, а также периодических сбоях, когда в приложении просто не получается приобрести билет. И в целом это приложение ЦППК имеет рейтинг в 2,3 из 5.

Вот некоторые из негативных отзывов:

Билет утром и вечером в час пик часто невозможно купить, пишет «что-то пошло не так» при оплате.

Не тратьте своё время и нервы. Билеты, купленные в приложении, хорошо, если срабатывают хотя бы в половине случаев. Купленный и активированный билет банально не воспринимается турникетом.

Cервис покупки билетов — это удобно. Реализация — полный провал: начиная от того что необходимо вводить паспортные данные (я вас не заставлял молча принимать приказ Минтранса) и заканчивая тем что для прохода через турникет от пользователя необходимо три (!!) действия — активировать билет, отсканировать QR, дать турникету отсканировать экран. Друзья-разработчики, на дворе 2019 год и всю эту канитель можно было организовать при помощи NFC. Основное — турникет далеко не сразу корректно считывает экран.

Пожалуйста, почините покупку билетов в своём приложении — очень неприятно, когда деньги за дорогой билет списываются несколько раз из-за «неполадок», и не возвращаются, или когда оплата билета, которая не прошла, потому что «что-то пошло не так», как заявлено у вас в приложении, списывается через час или два.

«Прямая» оплата банковской и транспортной картой — дело будущего

«В течение пары лет пригородные перевозчики обещают ввести очень удобный вид оплаты с помощью банковской или транспортной карты прямо на турникете», — сообщил в феврале 2019 года портал «Москва 24».

Такая система предполагает, что пройти на электричку можно будет, приложив к валидатору на станции отправления бесконтактную банковскую карту или же транспортную карту («Тройка», «Стрелка»), на которой заблокируется определённая сумма, которая спишется на конечной станции. Однако это нововведение продолжают обсуждать.

Источник

Официальное мобильное приложение «Расписание и билеты ЦППК»

0

0

0

0

0

Запущены продажи между станциями Павелецкого, Ярославского, Казанского, Белорусского, Киевского, Горьковского, Савеловского, Курского, Рижского направления и Курской области.

Станции Павелецкого направления:
Павелецкий вокзал, Нагатинская (Нижние Котлы), Коломенское, Бирюлево товарное и пассажирское, Домодедово, Аэропорт Домодедово, Барыбино, Михнево, Ступино, Ожерелье, Кашира, Востряково, Белые Столбы, Авиационная, Взлетная.

Станции Казанского направления:
Москва (Казанский вокзал), Электрозаводская, Авиамоторная (Новая), Андроновка (Фрезер), Перово, Вешняки, Выхино, Косино, Ухтомская, Люберцы, Панки, Томилино, Малаховка, Удельная, Быково, Ильинская, Отдых, Фабричная, Раменское, 88 км, Коломна, Голутвин, Куровская, Шатура, Сортировочная, Плющево, Красково, Ипподром, Белоозерская, Кратово, Виноградово, Бронницы, Конобеево, Фаустово, Загорново, Совхоз, Платформа 42 км (Есенинская), Радуга, Платформа 63 км, Золотово, Пл. 84 км (Трофимово).

Станции Белорусского направления:
Белорусский вокзал, Беговая, Фили, Кунцевская, Рабочий поселок, Сетунь, Баковка, Одинцово, Отрадное, Пионерская, Жаворонки, Голицыно, Тучково, Можайск, Кубинка 1, Звенигород, Малая Вязема, Петелино, Здравница, Захарово, Сушкинская, Хлюпино, Дачное, Портновская, Часцовская, Скоротово, Перхушково, Немчиновка, Сколково, Тестовская.

Станции Киевского направления
Киевский вокзал, оп. Матвеевская, Очаково, Солнечная, оп. Переделкино, Новопеределкино, Нара, оп. Обнинское, Малоярославец, Санино, Победа.

Станции Горьковского направления
Курский вокзал (Горьковское), Серп и Молот, Чухлинка, Новогиреево, Реутово, Железнодорожная, Электроугли, Фрязево, Ногинск, Павловский Посад, Орехово-Зуево, Крутое, Кусково, Нижегородская.

Станции Савеловского направления
Бескудниково, Долгопрудная, Дмитров, Лианозово, Окружная, Савеловский вокзал, Тимирязевская, Марк, Дегунино, Лобня, Шереметьевская, Водники, Хлебниково, Новодачная, Катуар, Икша, Турист, Депо, Трудовая, Луговая, Морозки, Яхрома, Некрасовская.

Станции Курского направления
Серпухов, Чехов, Гривно, Подольск, Силикатная, Бутово, Покровская, Царицыно, Москворечье, Кубанская (Люблино), Текстильщики, Новохохловская, Каланчевская, Рижская (Ржевская), Курский вокзал, Щербинка, Москва-Тов.Курская, Перерва, Битца, Молоди, Чепелево, Депо Кур., Красный Строитель, Калитники, Столбовая, оп. 66 км, Весенняя, Львовская.

Станции Рижского направления
Рижский вокзал, Дмитровская, Стрешнево (Ленинградская), Тушинская, Павшино, Красногорская, Опалиха, Нахабино, Дедовск, Истра, Покровское–Стрешнево, Трикотажная, Гражданская, Красный Балтиец, Аникеевка, Малиновка, Снегири, Новоиерусалимская, Манихино 1, Миитовская, Троицкая, оп. 50 км, Волоколамская, Пенягино.

Станции Курской области
Курск, Пл. 472 км, Пл. 470 км, Оп. 465 км, Рышково, Оп. 457 км, Рзд. 454 км, Дьяконово, Пл. 439 км, Дичня, Оп. 428 км, Курчатов, Лукашевка, Блохино, Пл. 412 км, Пл. 408 км, Оп. 404 км, Оп. 401 км, Льгов 1 Киевский, Артаково, Оп. 387 км, Колонтаевка, Оп. 378 км, Оп. 374 км, Рзд. 371 км, Оп. 367 км, Рзд. 361 км, Оп. 358 км, Коренево, Оп. 351 км, Гапоново, Оп. 344 км, Оп. 341 км, Глушково.

В планах компании осуществить возможность покупки разовых билетов в мобильном приложении между всеми станциями полигона. Следите за новостями!

Билеты в мобильном приложении – это удобно и просто!

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

Способ установки приложения на мобильный телефон:
С помощью смартфона в магазине приложений Play Маркет или App Store

googleplay appstore

Источник

Che Burashka и взлом систем продажи билетов на московские электрички

epbfi

Приблизительно 17 января группа, называющая себя «Исследовательская группа Che Burashka» опубликовала исследование уязвимости, позволяющее взлом систем продаж билетов на московские электрички. Разработчиком систем является компания Микротех.

Какого-либо опровержения от Микротех на данный момент нет.

Автор не имеет никакого отношения к группе «Che Burahska» и не несёт ответственности за деятельность этой группы. Ниже приводится текст, свободно распространяемый данной группой на различных ресурсах в интернет, и описание уязвимости (по мнению группы — неполное), сведённые вместе и отредактированные для удобочитаемости. Данный текст предлагается читателям Хабра для ознакомления и обсуждения.

1. Введение от авторов (именно такой текст распространялся вместе с описанием уязвимости)

Исследовательская группа Che Burashka обращается ко всем заинтересованным лицам и публикует описание уязвимостей, найденных нами в системе продажи билетов на московские электрички.

Мы выступаем в защиту двух независимых исследователей безопасности (далее — Исследователь 1 и Исследователь 2) [далее из предложения удалены слова по просьбе одного из них — подробности ниже текста].

Подробности этой истории Вы можете прочесть по ссылкам ниже:

Мы не согласны с тем, как эту историю представили в прессе и на суде. Мы считаем, что основной источник проблем Исследователя 1 и Исследователя 2 – это нежелание разработчика турникетного софта и железа признавать и устранять уязвимости в своих разработках.

Пожалуйста, прочитайте в самом низу дополнительную информацию по делу Исследователя 1 и Исследователя 2 — прим. автора публикации

Как нам известно, ещё до заведения уголовного дела Исследователь 1 обращался в Микротех с предложением о сотрудничестве. Во всем мире принято, что если независимый специалист находит уязвимость в софте и сообщает о ней разработчику – разработчик эту уязвимость хотя бы устраняет. Наиболее солидные компании платят деньги. Но письмо Исследователя 1 было проигнорировано Микротехом [далее из предложения удалены слова по просьбе Исследователя 2 — подробности ниже текста]. Мы подозреваем, что это совпадение не случайно.

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

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

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

К сожалению, и официальные власти и журналисты не всегда вникают в тонкости происходящего.

Можно вспомнить, в качестве негативного примера, историю с TroykaDumper.

Игорь Шевцов, опубликовавший детали взлома московской карты «Тройка», по нашему мнению, действовал как этичный хакер. Ему, конечно, стоило сначала связаться с владельцами системы. Но сами владельцы потом действовали конструктивно и устранили неисправность, обратившись за помощью к Игорю. Опубликованная им версия программы до сих пор доступна на github, но совершенно бесполезна для целей бесплатных поездок.

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

В результате информация об исследовании Шевцова была удалена с Хабра, а его профиль заблокирован. Владельцы платформы перестраховались, блокировки профиля от них никто не требовал, но они не захотели выдуманных ими самими проблем с властями.

Мы долго думали о том, как нам правильно представить найденную нами информацию для всеобщего доступа. Каждый из нас – профессионал в своей сфере. Мы успешно совмещаем учёбу в одном из московских ВУЗов с полноценной работой и не хотели бы поиметь неприятности только потому, что раскрываем сведения о халатности производителя оборудования и софта.

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

Тем более что в отличие от ситуацией с Тройкой, Микротех явно не собирается исправлять свои ошибки по собственной инициативе.

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

Мы призываем компанию Микротех признать уязвимости в своих системах и самостоятельно предпринять меры для их исправления.

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

Технология взлома билетов на пригородные электрички намного проще, чем те проблемы, которые обнаружил Шевцов на картах Тройка. Для того, чтобы печатать работающие билетики, достаточно простой программы под Windows или Linux, лазерного принтера и ножниц.

[Из предложения удалены слова по просьбе Исследователя 2 — подробности ниже текста] Микротех не желает признать небезопасность своих турникетов и своего софта. А убытки потерпят железнодорожные компании, ставшие их клиентами.

Вы не найдете в сети следов предшествующих деятельности группы «Che burashka».
Мы не хакеры, и это – одноразовый никнейм, который мы используем только для одного, конкретного проекта.

2. Описание уязвимости.

Исследование защищенности турникетов компании Микротех

Предыстория

Компания Микротех выпускает систему, обеспечивающую проход на перроны пригородных железных дорог, а так же системы распространения билетов.
Как написано на сайте компании — www.microteh.net все это называется
Автоматизированная система оплаты, контроля и учета проезда в пригородных электропоездах АСОКУПЭ.

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

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

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

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

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

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

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

Мы, один раз, общались по телефону с их начальством. Общение разочаровало. Нас просто не захотели слушать, хотя в тот момент мы даже не просили денег, а предлагали провести исследование бесплатно.

Реальными источниками информации оказались сами турникеты. Мы не очень понимаем, на какую покупательскую аудиторию рассчитывали те, кто продавал их на avito, но мы купили бывшие в употреблении аппараты и некоторое время пользовались ими. Они продавались вместе с кое-какой документацией, переданной нам на дискетке. Документация была не менее полезна, чем сами устройства. Потом все три купленных турникета пришлось отнести на помойку, так как они занимали половину комнаты.

Не менее полезными были и наши, достаточно систематические исследования самих билетов, которые продают в пригородных кассах.

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

Как устроена система распространения билетов

Микротех поставляет железнодорожникам рабочие места кассиров и софт для них.

image loader

Вот картинка с сайта производителя. На ней – системный блок, монитор и и периферийное оборудование. А так же специальный принтер для печати билетиков.

Так, как они выглядят по мысли дизайнеров Микротех.

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

Цитата с сайта производителя: МКТФ — Многофункциональный кассовый терминал, устройство, выполненное на основе персонального компьютера. Соответствует требованиям 54ФЗ. Предназначено для оформления и проверки проездных документов (со штрих-кодом и на БСК). Может работать в автономном и сетевом режимах.

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

Пока же просто отметим, что вся система от Микротех построена на том, что их устройства способны работать в автономном режиме. По всей видимости, для 1990го года, когда, по информации с сайта, была основана эта компания, и для более ранних времен, когда она была ведомственным КБ, это было и рационально и прогрессивно.

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

О полном перекрытии турникетами доступа на платформы электричек железнодорожники задумались только в 1990ые годы, когда их окончательно достали безбилетники.

Так вот. В каждой конкретной кассе АСОКУПЭ в софте в конфигах указаны направление железной дороги, к которой приписана эта касса и уникальный номер кассы.

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

Если быть точным – валидный штрих-код на билетике.

Информация может быть закодирована двумя способами.

Старый — Interleaved 2 of 5

Приведем описание:
Линейный код Interleaved 2 of 5 состоит из последовательности чередующихся черных и белых вертикальных полосок, начинающейся и заканчивающейся черными. В данном коде полоски двух видов: Широкие (логическая «1») и узкие (логический «0»). Interleaved 2 of 5 предполагает наличие стартового и стопового символов. Стартовый символ кодируется «0000», стоповый символ кодируется «100». Между этими двумя символами находится полезная информация.

Своё название код получил, исходя из того, что информация кодируется расположением двух широких полосок среди пяти. Исходя из этого, получаем, что таким блоком можно закодировать 10 различных значений, т.е. все цифры от 0 до 9. Interleaved (перемежающийся – англ.) он потому, что рассматриваются отдельно черные и отдельно белые полоски.
На нечетных позициях (считая слева направо) цифры изображаются штрихами, а на четных – промежутками (чередование). При кодировании данных с нечетным количеством знаков впереди записывается «0».

В штрих-коде Interleaved 2 of 5 для повышения надежности считывания рекомендуется использовать контрольный знак. Контрольный знак располагается непосредственно после информационных знаков перед знаком «Стоп». Если добавление контрольного знака делает количество знаков в кодируемых данных нечетным, впереди кодовой строки непосредственно после знака «Старт» добавляется «0».

И новый, двумерный Aztec code:

Билеты с ним стали появляться с конца 2015го года. Пока что неясно, планируется ли полная замена или это просто эксперимент для совместимости с мобильным приложением от Микротех.

Но это уже немного лучше. Interleaved 2 из 5, похоже, разработчики системы нашли случайным образом, Aztec поддерживают многие железнодорожные компании по всему миру.

Как бы то ни было, состав информации, кодируемой обоими способами одинаков.

А что есть ещё?

Есть, вот например, такое устройство

image loader

Опять таки картинка и текст с сайта Микротеха:
ПКТФ — Переносной кассовый терминал, устройство выполненное на базе специализированных микропроцессорных решений. Соответствует требованиям 54ФЗ. Включает в себя модули печати, чтения штрих-кодов и БСК, имеет отсек для установки ФН. Обеспечивает печать и проверку проездных документов. Может работать как автономно, так и режиме обмена данными с внешней системой.

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

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

Несмотря на то, что куплены они были в разное время и, судя по всему, эксплуатировались на разных направлениях, они позволяют одинаково хорошо проверять билеты, купленные на любом направлении.

Это дает нам полное понимание границ безопасности, которые обеспечиваются АСОКУПЭ. В штрихкодах присутствует некая контрольная информация, но она может быть проверена достаточно простым устройством, способ проверки не меняется длительное время, ее переменная часть уязвима и алгоритм её подмены довольно прост.

Как устроен контроль прохода на платформу

Контроль за проходом на платформу устроен достаточно банально.

image loader
В турникетах смонтированы два считывателя. Один — сканер для билетов со штрихкодом, а второй – бесконтактный считыватель для всякого рода бесконтактных билетов, работающий по протоколу Mifare. Сканеры поставляются от сторонних производителей (разные), а модуль считывателя Микротех разработал, кажется, самостоятельно.

Механику турникета и считыватели объединяет блок с таинственной аббревиатурой УКПД. Он же – модуль управления турникетом и устройствами ввода данных.

Весь «интеллект» системы сосредоточен в контроллере, входящем в состав УКПД.
Внешнее управление им осуществляется путем подключения по интерфейсу RS-485.

Когда пассажир подносит билет к сканеру, проверка штрихкода сводится, по сути дела, к двум достаточно простым действиям:

2222333390;20/10/2015;40
2118110622;20/10/2015;40
668690750;20/10/2015;40
84545402;20/10/2015;40
187342702;20/10/2015;40
187345542;20/10/2015;40
87534582;20/10/2015;40
2715435894;20/10/2015;40
354345614;20/10/2015;17
2710234378;20/10/2015;40
1311398318;20/10/2015;40
1242467662;20/10/2015;40
1236551358;20/10/2015;40
1576567678;20/10/2015;50

Первое поле в строке – номер билета, второе – дата начала блокировки, последнее – код причины блокировки.

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

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

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

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

vbous tuqsyl etkvbcaebf8k5o

Мы извлекли эту таблицу с той самой волшебной дискетки и долго думали, что такое «выезд владельца» и кто сообщает железнодорожникам об аресте владельца карты.

Ничего не решили и продолжили заниматься своим исследованием.

Как устроен бумажный билет

Информации об алгоритме формирования штрих кодов в документации Микротех не приводится. Мы сумели самостоятельно восстановить эти данные, но до конца не уверены, что они полны.

1) Станция отправления (код станций, обрезанный код системы Экспресс)

2) Станция назначения (код станций, обрезанный системы Экспресс)
Экспресс – это система продажи билетов на поезда дальнего следования, которую уже очень много лет эксплуатируют российские, а когда-то и все советские железные дороги. Каждая станция в этой системе имеет свой числовой id, но Микротех кодирует эти id не целиком, а отрезает несколько ведущих цифр.

3) Цифра неизвестного назначения. Мы думаем, что это – тип поезда. На сфотографированном билете показан тип поезда «пассажирский».

4) Цифра неизвестного назначения

5) Номер ККТ, сгенерировавшего билет (5 цифр)

6) ID билета (4 цифры) ID билета не уникальны, и, кажется, генерируются подряд.
Обратите внимание – мощная экономия. Вместо 10 цифр номера электронного билета используются всего 4. Целых 6 цифр оказались ненужными!

7) Дата выпуска билета

8), 9) – Ещё две таинственные цифры

10) Контрольная информация

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

Кроме работы с картами Тройка, оборудование Микротех умеет еще какой-то свой собственный формат электронных карт, но мы не стали с ним разбираться – зачем, если есть штрихкоды?

Как устроен турникет, а точнее – блок УКПД

Упомянутый выше блок управления турникетом УКПД, так же как и бесконтактный считыватель собраны из стандартнейших компонент известных производителей. Все ноу-хау компании Микротех – прошивка контроллеров, написанная, кажется, на ассемблере. Этот маленький кусочек кода и составляет всю тайну технологии железнодорожного монополиста.

У нас встал вопрос о том, нужно ли сохранять, при наличии той же Тройки и аналогичного областного билета все эти legacy решения.

Конечно, бумажные билеты печатать проще, а деревьев не жалко.

Как блокируются неправильные билеты и обрабатываются правильные

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

Но сведения о плохом билете никуда и никогда не передаются. Ну и в самом деле – сохранять сведения о номере поддельного билета, если этот номер – всего из 4 цифр не имеет никакого смысла.

Отчеты о проходах накапливаются в так называемом Z-файле – отчетной информации, которую можно выгрузить из турникета по результатам дня.

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

Как турникет определяет – хороший или плохой билет?

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

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

Сам ключ можно было бы пытаться вычислить по технологии «радужных таблиц» – для этого достаточно проанализировать штрихкоды примерно с 10-20 валидных билетов и потом проделать не такие уж сложные тесты.

Для этого вычисления не потребовалось бы какой-то запредельной мощности оборудования, тем более, что онлайн-сервисов для доступа к «радужным таблицам» в интернете не один и не два.

Мы были очень наивны.

Для защиты информации в штрихкоде Микротехом не сделано вообще ничего серьезного.
Штрихкод защищается примитивной контрольной суммой, для ее реверсинжениринга нам понадобилось потратить приблизительно день и 6 использованных билетиков.

Абсолютно все МКТФ и ПКТФ, которые мы тестировали, умеют проверять валидность любых билетов. Это означает, секрет, на основе которого формируется контрольная информация в штрихкоде – всегда и везде одинаков!

На самом деле в нем есть «очень-очень серьезная» защита. В виде переменной части, которую раз в сутки централизованно загружают в кассовые МКТФ и переносные ПКТФ.

ПКТФ «программируются» с компьютера, причем каждый ПКТФ приходится подключать спецкабелем. Унылое занятие.

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

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

А можно ездить в одну сторону, на работу – за деньги, а в обратную, домой – бесплатно.

По дороге к дому ведь и уставшему веселее.

Впрочем, технический прогресс не стоит на месте и, на самом-то деле, компания Микротех почти уже решила и эту проблему безбилетников.

Почему все это плохо работает и как все это сломается окончательно

Разумеется, эта зашита как-то работает. Пока еще.

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

Сделать можно, об этом мы напишем далее.

Мы таких программок в интернет нашли несколько штук, одну попробовали – она печатает правильные билеты, с ними пропускают кататься на электричках.

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

Авторы упомянутых программ, все как один, действительно поленились делать список подмосковных станций. У нас он уже есть.

Насколько безопасно использование самостоятельно напечатанного билетика?

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

С контролерами внутри электрички, конечно, такой билет использовать нельзя.

Но добрая компания Микротех помогла нам и здесь.

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

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

Выпущенное компанией Микротех приложение Пригородный билет во многом замечательно.

image loader

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

Наше собственное замечание. Кажется, разработчики еще ничего не знают про Android 7.

Но для нас главное – то, что оно есть и работает.

dmp1end6p gq9mzu3u5ac9rogje

Эту картинку нам и любому желающему совсем не сложно воспроизвести в своём приложении.

Чудесно, неправда ли? Мы подготовились заранее и написали прототип на Java.

Под iPhone мы его, к сожалению, не сделали. Но, впрочем, и чудо-программисты из Микротеха iOS уже два года как не могут осилить, так что мы, всего лишь, сохраняем заданную планку.

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

Что можно было бы сделать разработчикам системы билетов

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

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

Что мы хотим и что мы сделаем

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

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

И реализовала этот план на практике.

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

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

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

Вот, например, программы компании Микротех вроде бы должны опознавать фальшивые билеты. А они не делают этого.

P.S. Об этом исследовании

Ни один пассажир не пострадал.

Так же не пострадал ни один контролер и ни один турникет из числа установленных на железных дорогах.

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

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

Объявленное нами программное обеспечение не является вредоносным.

Это студенческий исследовательский проект.

Мы не использовали нелицензионного ПО.

Мы не делали самостоятельных снимков, а взяли все иллюстрации из сети Интернет. Искать нас по метаданным из картинок совершенно бесполезно.

Мы полностью избавились от всего использовавшегося в процессе исследования оборудования.

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

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

Пожалуйста, будьте бдительны.

Ваши:
* Bom
* Gerda
* PHuntik

3. Послесловие от автора публикации, навеянное активным комментированием

Ну я также могу рассказать историю из своей жизни.

Это трамвайчик из пригорода Манчестера в сам Манчестер, это который в Великобритании.
Билет на трамвайчик покупается в таких себе автоматизированных киосках, которые кушают и карты, и наличку, и — это особенность Великобритании! — смесь карты с наличкой, например вот есть у меня два фунта, а шестьдесят три пенса я хочу снять с карты — нет проблем! ну да, нашим странам такое не понять…

Ну так вот, система цен очень зависит от количества поездок, от станций «откуда-куда» от дат, от времени поездок (в час пик дороже) и кучи всего. Например, смешно, но дорога в одну сторону (это примерно 20 минут езды) стоит £4.30, а вот если туда и обратно — £4.50 если в один день и £6.50 — если в разные.
Билетик сразу печатается на картоночке, выглядит он так:
c2n4qy7vdng7makagyg5efslcfc
Тут цена другая, потому что станции другие (ну погулял я немного!), но суть та же.

Никакой там защиты или ещё чего-то.

Так вот, я прокатался туда обратно почти две недели — контроллёров я не видел. Но как мне сказали, они есть! И вот когда они берут за задницу — штрафы такие, что лучше зайцем не ездить. Невыгодно.

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

Тут мне также пишут про СССР. Ну в те времена я был помоложе, хотя и не совсем маленький, но хорошо помню, что родители говорили, что билетик надо компостировать не потому что контроллёры, а потому что ПОЗОР. Управление шло не столько через штрафы, сколько через идеологию и общественное мнение — приятно, когда все на работе узнают, что ты безбилетник? А организовать могли!

Да, и кстати в СССР могли оштрафовать за переход в неположенном месте — ГАИ работало не только на водителях.

Так что тут тоже не надо сравнивать.

Я полностью согласен со всеми замечаниями, что «устранение требует больше денег, чем эксплуатация» и т.д., но лично я понимаю студентов-ребят, которые нашли некую уязвимость и попытались сделать систему лучше. Они ещё не стали циниками «с богатым опытом» — просто хотели как лучше. А получилось, как всегда — система их просто выплюнула — и повезло, что не пережевала. Хотя то ли ещё будет.

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

И ещё один P.S.

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

Судья вернула дело прокурору. Решение устояло в Мосгорсуде.

Цели по которым они распространяют заведомо ложную как про нас так и про кодирование мне не известны.

Руководствуясь п.п.2 и 4 ст.152 ГК РФ, прошу удалить из публикации не соответствующую действительности информацию.

Источник

Поделиться с друзьями
admin
Сказочный портал
Adblock
detector