Linux NFC subsystem — The Linux Kernel documentation

Architecture overview¶

The NFC subsystem is responsible for:
  • NFC adapters management;

  • Polling for targets;

  • Low-level data exchange;

The subsystem is divided in some parts. The ‘core’ is responsible for
providing the device driver interface. On the other side, it is also
responsible for providing an interface to control operations and low-level
data exchange.

Device driver interface¶

When registering on the NFC subsystem, the device driver must inform the core
of the set of supported NFC protocols and the set of ops callbacks. The ops
callbacks that must be implemented are the following:

  • start_poll – setup the device to poll for targets

  • stop_poll – stop on progress polling operation

  • activate_target – select and initialize one of the targets found

  • deactivate_target – deselect and deinitialize the selected target

  • data_exchange – send data and receive the response (transceive operation)

Продемонстрировано чтение кредитных карт при помощи смартфона с nfc. уязвимости в nfc-стеке ядра linux

Продемонстрировано чтение кредитных карт при помощи смартфона с NFC. Уязвимости в NFC-стеке ядра Linux

Томас Шкора (

), исследователь безопасности из Германии,

приложение для платформы 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-репозитория.

Источник:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *