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

Эмулятор чиповых карт и замена FIME SmartSpy

Время на прочтение2 мин
Количество просмотров1.5K
сколько всего за годы то накопилось. Даже не все в кадр влезло.
сколько всего за годы то накопилось. Даже не все в кадр влезло.

Разбирая различный "мусор" из тумбочки на на работе выгреб 2 кг чиповых карт. В том числе и перехватчик протокола чиповых карт "FIME SmartSpy".

Кто разрабатывает/тестирует банковские карты и POS/ATM, тот знает что это. Когда то, функциональность его меня не устроила. Для тестов/проверки уязвимостей нужно было еще вклиниваться/вносить изменения в ATR и поток APDU команд и ответов на них. Для этого сделал функциональный аналог SmartSpy на базе SM32F103 с поддержкой T0/T1. Сделал, по большей части, конечно из за "могу ли я такое сделать", ну из за того, что очень плотно занимался разработкой приложений для карт и пр.

После 2022г получить что то от FIME (включая и SmartSpy) в России не возможно. Так что, выкладываю исходные коды на Github. Исходники без скриптов сборки. Не охота было подгонять древние скрипты под современные инструменты. Я уже давно не занимаюсь непосредственно чиповыми картами, но стало жаль, что работа пропадет.

Специально для "я у мамки хакер" и "ответственных работников МВД" - защита платежей по картам НЕ полагается на то, что протокол можно прослушать/подменить. Все "уязвимости" - это ошибки разработчиков ПО POS/ATM и вылавливаются махом на этапе сертификации ПО специальными инструментами. Но сертификация (и ее попытки) не дешева (а сейчас после 2022 и не тривиальна) и для поиска проблем, до сертификации, инструменты, типа этого, незаменимы.

Общая схема работы перехватчика проста.

  • STM32F103 работает по двум каналам:

    • RS232 для общения с программой на компе

    • ISO7816 протокол T0/T1 со стороны "карта".

  • STM32F103 обращается в RS232 за данным для APDU, ATR

  • Программа (java) получает запросы через RS-232 и либо формирует самостоятельно ответ (эмуляция) либо транслирует запрос в PC/SC ридер карте. Соответственно, весь трафик выводится в stdout в текстовом виде.

Из эпохи динозавров

Нашел в куче всего самые первые карты Gemplus c JavaCard. Еще с усеченной криптографией. Было время когда правительства боялись и даже DES был запрещен к "экспорту".

Попытка Microsoft сделать свою OS для чиповых карт закончилась едва начавшись. Победила JavaCard. Под впечатлением этой попытки, сделал приличное надгробие для этого проекта Microsoft (когда то давно..).

Теги:
Хабы:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Публикации

Истории

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань