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

сколько всего за годы то накопилось. Даже не все в кадр влезло.

сколько всего за годы то накопилось. Даже не все в кадр влезло.

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

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

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

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

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

5e3bcafbc898b8a37d5d84b77416c45c.png

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

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

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

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

c6af666d7375fb10fdae9635f08280ff.jpg

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

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

© Habrahabr.ru