Томас Шкора (Thomas Skora), исследователь безопасности из Германии, представил приложение для платформы Android, способное читать содержимое бесконтактных кредитных карт. Для создания канала связи задействован стандартный беспроводной стек NFC (Near Field Communications), используемый для обмена данными в пределах малого радиуса действия. Код приложения опубликован на GitHub.

Приложение было успешно протестировано для сбора детальной информации с кредитных карт PayPass Mastercard, но также работает и с другими платёжными системами, такими как GeldKarte, пользующимися популярностью в Германии. В процессе демонстрации удалось считать номер карты, срок действия, информацию о транзакциях, идентификаторы торговых систем. По словам разработчика, создавая приложение он не преследовал злонамеренных целей, а лишь попытался продемонстрировать незащищённость бесконтактных платёжных систем и способность организации атаки при помощи обычного смартфона с поддержкой NFC.

Атаки на бесконтактные кредитные карты не являются новинкой, но в данном случае для организации доступа, вместо специализированных устройств, оказалось достаточно стека NFC. Малый радиус действия NFC (порядка 10 см.) ограничивает условия совершения атаки и не позволяет организовать сбор данных в глобальных масштабах. Тем не менее, компания Google сочла приложение опасным и удалила android-nfc-paycardreader из Android Market, откуда некоторое время можно было загрузить готовую сборку. После удаления, автор приложения разместил APK пакет на стороннем сервере.

Дополнительно можно отметить обнаружение в NFC-стеке ядра Linux пяти удалённо эксплуатируемых переполнений буфера, которые можно использовать для организации выполнения кода через отправку на устройство жертвы специально оформленных пакетов с полями некорректной длины. Положительным моментом является то, что NFC-стек интегрирован в ядро Linux относительно недавно и ещё не получил распространения. Для решения проблемы представлен патч, но авторы патча предупреждают, что проблема имеет системный характер и требует для своего решения более глобальной переработки кода.

Дополнение: проект paycardreader удалён с GitHub, но код можно найти в форках Git-репозитория.

Источник: http://www.opennet.ru/opennews/art.shtml?num=34164