NFC технологии последнее время активно продвигаются в массы. Ещё бы, ведь это удобно - использовать какую-нибудь одну маленькую штучку типа браслета, карты или даже телефона как универсальное платежное средство или средство идентификации, которые не нужно никуда вставлять, набирать пароли и тому подобное: поднес к считывателю, получил что нужно и идешь дальше: на крупных мероприятиях, в транспорте, отеле, на горнолыжном курорте, в банкоматах, машинах и т.п.
Давайте посмотрим подробнее.
Near field communication, NFC («коммуникация ближнего поля», «ближняя бесконтактная связь») — технология беспроводной высокочастотной связи малого радиуса действия, которая дает возможность обмена данными между устройствами, находящимися на расстоянии около 15 сантиметров. В отличие от такой технологии как Bluetooth позволяет быстрее обмениваться маленькими объемами информации и поддерживает пассивные устройства (метки, карты), дешевле в реализации – что существенно увеличивает область применения.
Изначально технология активно применялась в беспроводных смарт-картах и беспроводных метках, сейчас же область активно расширяется за счет эмуляции смарт-карт или меток в устройствах:
· Телефон
· Планшет
· Брелок
· Кольцо
· Беспроводная карта для контроля доступа
· Универсальные карты
· Пассивные метки
· Считыватели и т.п.
Существует 2 режима передачи данных: пассивный – когда одно из не создает своего поля, а только отвечает на поле другого устройства и активный – когда оба взаимодействующих устройства создают свои поля. Наиболее универсальны в этой части телефоны и планшеты с поддержкой NFC – они могут выступать как пассивные NFC устройства, как считыватели для пассивных устройств, а также участвовать в активном взаимодействии двух устройств.
Технологию предлагают применять все шире. Из того что я слышал или видел это:
· Контроль доступа в помещения, на территорию (крупные объекты – заводы, гостиницы, отели, аквапарки, публичные мероприятия – концерты, выставки, саммиты в том числе мероприятия по ИБ, горнолыжные курорты, олимпиады и другие спортивные мероприятия)
· Доступ в автомобиль, доступ к управлению авто, управление умным домом
· Банковские платежи
· Мобильные платежи
· Оплата транспорта (транспортные карты, электронные билеты)
· Получение произвольных услуг
· Оплата товаров
· Отслеживание перемещения товаров
· Удостоверение личности
· Получение информации (NFC визитка / аналог QR кодов)
В перспективе все сведется к тому что мы не будем носить с собой связку ключей, кошелек, паспорт и прочие удостоверения, кучу карточек – все заменит какой-нибудь удобный браслет или даже вживленный чип. Махнул рукой, получил что надо и идешь дальше.
Не удивительно что у NFC как у любой активно развиваемой технологии находятся уязвимости и слабости. Есть и ошибки в конкретных реализациях. Достаточно много на эту тему говорили на недавнем форуме PHDays. Рекомендую посмотреть записи:
· Пентест NFC —вот что я люблю , Маттео Беккаро, Технический доклад
· Безопасность электронных систем контроля доступа , Маттео Беккаро, Hands-on Labs
Если кратко:
· HydraNFC
· Proxmark3
· Chameleonmini
· NFCulT(ПО)
С точки зрения ИБ основные слабости и недостатки NFC связаны с тем что стек протоколов NFC не предусматривает криптографии при передаче. Стандарты хранения данных в метках и картах, а также их эмуляции – не предусматривают криптографической защиты при хранении. В реализациях многих карт, смарт-карт и их эмуляции применяются слабые криптографические алгоритмы.
В NFC сервисах традиционно закладывается излишнее доверие к информации, хранящейся на картах и метках, в результате фактически не выполняется фильтрация данных. Раньше, когда пользовательские устройства для считывания и записи информации на карты были не так распространены это можно было понять. Сейчас же в большом количестве NFC смартфонов можно легко создать эмуляцию карты и записать туда произвольные данные (SQL инъекции, выполнение команд на стороне сервиса и т.п.)
Хорошо проработаны такие атаки на NFC как:
· Прослушивание информации при передаче по NFC
· Несанкционированное (скрытое / не заметное для пользователя) считывание информации с NFC устройств
· Lock Attack(перевод эмулированной карты/метки в режим только чтение и блокирование записи информации считывателем)
· Time Attack(в случае если срок действия карты или услуг прописан на самой карте, можно поменять эту дату)
· Reply Attack(перехват информации и многократное её повторение или применение – позволяет получать услуги, товары, получать доступ от имени другого лица)
Схожая с приведенной выше атака clone attack(клонирование NFC устройств)
· Relay attack (злоумышленник использует 2 NFC устройства, одно из которых считывает данные с устройства жертвы, передает данные на второе, а второе устройство выдает полученные данные считывателю и получаем услугу от имени жертвы)
· Классические атаки на серверную и инфраструктурную часть NFC сервисов
Разработчикам NFC сервисов и организациям, активно их применяющим нужно внимательно относится к обеспечению безопасности данных сервисов.