Разбирая различный «мусор» из тумбочки на на работе выгреб 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 (когда то давно..).
ссылка на оригинал статьи https://habr.com/ru/articles/795217/
Добавить комментарий