Читаем паспортные данные студентов, школьников и пенсионеров у них из кармана

в 11:45, , рубрики: mifare, RFID, идиоты, информационная безопасность, Песочница, метки: , , ,

Читаем паспортные данные студентов, школьников и пенсионеров у них из кармана

Спасибо правительству Москвы и лично товарищу Гаеву

Введение

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

Технически, карта представляет из себя RFID-карту Mifare Classic одной из двух модификаций, 1K или 4K.
Карта Mifare Classic поделена на секторы (16 и 40 соответственно), доступ к каждому из которых предоставляется по ключу (6 байт). Карта Mifare Classic реализует проприетарное шифрование и ограничивает доступ к секторам самостоятельно.

В СКМ сектора поделены между различными организациями.
Некоторые сектора (13-14) являются открытыми, доступ к ним осуществляется по определённому в описании карточек стандартному ключу A0...A5.

По мнению разработчиков системы, знать этот стандартный ключ может только «организация, зарегистрированная ГУП МСР как акцептант социальной карты», что, мягко говоря, не соответствует действительности.

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

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

Ключи

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

  • с перехватом информации, передающейся по эфиру между картой и считывателем, «знающим» ключи
  • с использованием уязвимости программного ГСЧ и алгоритма шифрования, используя только карту
  • ускоренная модификация предыдущего метода, использующая только карту и знание ключа к хотя бы одному сектору

Т.к. в СКМ есть открытые секторы, то самым простым является использование третьей атаки.

Восстановление ключей

Атака этого типа осуществляется, например, утилитой http://code.google.com/p/nfc-tools/. Для проведения атаки понадобится считыватель, поддерживаемый libnfc, например SCM SCL3711 . Более доступны в России считыватели ACR122T или ACR122U на том же чипе.

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

Смотрим внутрь

Внутри ничего интересного. Из всех закрытых секторов информация содержится только в секторах метро, электричек и автобусов. Просматривать эту информацию можно, а вот изменять, а тем более копировать на другие карты нельзя в соответствии со ст. 327 УК РФ.

Самое интересное

Оказалось, что начиная с недавнего времени, вероятно с прошлого года, СКМ основаны на Mifare Classic 4K, а не на 1K, как это было раньше. Восстановив ключи к такой карточке и посмотрев содержимое новых закрытых секторов (17-40), в 17 секторе можно наткнуться на следующее:
Читаем паспортные данные студентов, школьников и пенсионеров у них из кармана

Здесь

  • XX, YY, ZZ — фамилия, имя и отчество в CP-1251
  • BB — дата рождения в формате YYYYMMDD, записанный цифрами в hex, т.е. 2012-05-13 будет кодироваться как 0x20 0x12 0x05 0x13
  • NN — номер социальной карточки, формат тот же.
  • EE — дата окончания (месяц, две цифры года), RR — регион выдачи (0177).
  • ?? — неизвестно, 0x21 (тип документа?)
  • PP — номер и серия паспорта, ASCII
  • СС — код подразделения, цифры в hex
  • DD — дата выдачи, YYYYMMDD, цифры в hex
  • далее — кем выдан, CP1251 большими буквами, оставлено в дампе
  • байт в конце — 0x8C — неизвестно.

В дампе личные данные замазаны.

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

Чем это опасно?

Восстановить ключи к СКМ может каждый желающий, имеющий $30 на покупку считывателя. Напомню, эти ключи одинаковые для всех социальных карт. Зная эти ключи, злоумышленник может считать данные с СКМ, лежащей в вашем кармане с расстояния до нескольких метров, используя внешнюю антенну. Полученные паспортные данные можно было бы использовать далее в преступных целях, если бы не ФЗ-152.

Как дальше жить?

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

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

Автор: evgeny_boger

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js