Pull to refresh

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

Reading time2 min
Views1.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 (когда то давно..).

Tags:
Hubs:
Total votes 3: ↑3 and ↓0+3
Comments0

Articles