Комментарии 95

Мне почему-то вспоминаются "удочки" для угона машин. То же самое, но с картой. Человек подносит "карту" к терминалу оплаты, удочка устанавливает канал связи с подельником, который "чистит" задний карман кого-то. Например, другого человека в той же очереди. Терминал получает валидную карту, злоумышленники товар, жертва — списание из магазина, в котором он и так оплачивает покупку, магазин — чарджбек.


Жертве будет весело объяснять, что покупку №2 он делал, а что за "№1" он ни сном ни духом (за 5 минут до этого).

В отличие от угона машин, потенциальная прибыль здесь совершенно никакая, и скорее всего несопоставима с риском. И как раз-таки 2 транзакции вместо одной, явно заставят клиента написать жалобу в банк и разбираться, на чей же счет ушли деньги.

Да и счета будут разные, в выписке видно будет сразу. Плюс такое устройство чтения карт, которое делает достаточной напряженности поле в радиусе хотя бы метра, это будет приличный такой чемоданчик, в непосредственной близости от которого наверно глючить будет все :) В общем, дорого, палевно, и вероятно того не стоит.

И последний момент, в толпе или очереди оно вообще работать не будет т.к. отзываться начнут все карты сразу, ни одна crc не сойдется.
Зачем отходить на метр? Нужно 2 человека: один стоит впереди с огромной горой покупок, которую он оплатит по чужой карте, удочку к которой обеспечит 2й соучастник (он будет очень близко стоять к жертве, и должен приложить устройство к его карте, связанное с устройством 1го злоумышлиника).

И никаких других банковских счетов — все уйдёт на счёт магазина.
Я думаю, две карты приложенные одновременно, одна настоящая, и вторая фиктивная, вообще не сработают, данные просто перемешаются.
Не, там только одна реальная карта будет.
К терминалу прикладывается девайс, назовём его медиа-конвертер (МК1), который общается с терминалом на RFID-частоте и с другим девайсом (МК2) по любому другому каналу связи (WiFi, bluetooth, ...), можно хоть через интернет на другой конец глобуса.

Такая схема — POS->МК1->МК2->карта

МК1 сам ничего о карте не знает, он просто получает от терминала запросы и транслирует их на МК2.
А девайс МК2 второй злоумышленник прикладывает к заднему карману жертвы, где у той лежит банковская карта. Карта реагирует на запросы от МК2 (которые на самом деле запросы от терминала, транслируемые через МК1), как на запросы от настоящего терминала и отвечает на них своими валидными карточными данными (которые МК2 передаёт на МК1 для передачи на терминал).

POS-терминал думает, что МК1 — это карта. Карта думает, что МК2 — это терминал.

Большие мощности не нужны, толщину кармана «пробьёт».
МК1 маскировать несложно — он не обязан выглядеть как карта, если вспомнить про возможность оплаты телефоном/часами.

Схема вполне рабочая, если уложиться в таймауты ответов от карты.
Тут согласен, может сработать, если прикладывать псевдокарту к терминалу и девайс к карману жертвы синхронно :)

Особая синхронность тоже не нужна ) пока МК1 не получит запрос от терминала — МК2 ничего карте не передаст.
Если второй злоумышленник в той же очереди, то он видит действия у кассы и даже если протупит немного — это спишут на «чего-то терминал тормозит».


Если постоять у кассы и посмотреть на покупателей — можно удивиться, как долго люди возятся с терминалом. И как близко могут стоять сзади ))

Некоторые чипы, используемые в картах/ридерах, имеют защиту от такой атаки. Вкратце, там жёсткие требования на задержку ответа от карты, которая при такой переадресации от одного устройства другому неизбежно будет увеличена.

А вот, это вопрос интересный, насколько. С учётом тупления карты (и частот) это не могут быть наносекунды. Если рабочая частота 13МГц, то у нас есть 76 наносекунд на каждый период волны. С учётом, что современные сетевые устройства умеют обрабатывать пакеты за 10нс, за безумные 76 наносекунд можно успеть очень много чего.


А если "удочкин" канал будет, например, в районе 2.4ГГц, то за 10нс там столько всего напередавать можно...

Почитал даташит — там утверждается, что защита выстраивается не вокруг абсолютной величины задержки (которую при процедуре такой проверки карта каждый раз выбирает случайно), а вокруг её вариации. Карта старается её минимизировать. И отдельно написано, что стопроцентной защиты они не гарантируют.

Спасибо.


Если мы говорим про вариацию, то при фиксированной длинне канала удочки (допустим, 200мкс), мы получаем:


ванильная карта: 900мкс ± 400мкс.
удочка: 1100мкc ± 400мкс.


Вполне укладывается. Это если удочка вообще 200мкс. Подозреваю, что можно и быстрее, особенно, если в содержимое трафика не лезть, а тупо ретрансмитить что получено.

зависит от используемого протокола. Если это TypeA (наиболее распространенный) — reader шлет 7-bits запрос REQA, после чего карта должна ответить со строго фиксированной задержкой в диапазоне [1171/Fc — 1173/Fc + 0.4us] (86.35us — 86.90us). Если ответ не попадает в это окно — он простo игнорируется.
Так как карта будет отвечать строго в соостветствии с указанной задержкой — дополнительные задержки ретрансляции злоумышленником запроса и ответа приведут к тому, что reader увидит ответ от карты вне окна и проигнорирует его.

Ретранслятор злоумышленника может сам ответить на REQA — насколько я помню, там ответ довольно стандартный. Либо можно немного заранее записать ответ карты жертвы на REQA, и передать на ретранслятор.
То, о чём я говорил — это дополнение к функционалу карт Mifare.

Да, безусловно протокол уязвим перед MITM атаками, есть статьи по этой тематике. Я хотел показать, что предложенный выше примитивный метод атаки тут не сработает.
Вижу серьёзную проблему — лимит бесконтактной оплаты без пина 1000 рублей. Пин-код мы скорее всего не знаем. В итоге можно таким образом за раз украсть только 1000 рублей. Один и тот же человек десятки раз проходящий кассу и закупающийся ровно на 1000 рублей вызовет подозрения. Но и успокоится после пары краж тоже не вариант — оборудование и разработка ПО должны окупиться.

Не затрагивая технические сложности:


  1. Не один человек, а два разных


  2. В одном магазине может быть несколько касс


  3. Не обязательно «работать» в одном магазине


  4. На обязательно закупаться ровно на 1000. Можно просто кофе каждый день в Старбаксе покупать )


  5. Если удасться посмотреть пин (в магазине это гораздо проще, чем у банкомата), то вообще никаких проблем (кроме лимитов и остатка на карте)


Разные магазины. Гифт-карта на 800 рублей. 20 карт в день, почти 200 тысяч рублей в месяц на рыло.


Я утрирую, конечно, но сам принцип — вполне.

У тинькова сильно больше, но так же зависит от настроек терминала.

Откуда такая уверенность?
Специально для вас сходил в магазин, приложил две карты (одинаково ориентированные, плотно друг к другу прижаты, в зону считывания заносил быстрым движением), оплата прошла нормально, «сработала» ближняя к терминалу карта

Попробуйте четыре карты одновременно — пока этот тест валили все, включая всякие спецсредства.
«Диалог», конечно, получился интересный:
— две карты не будут работать
— попробовал две — работают
— попробуйте четыре

я, с вашего позволения, сольюсь на этой итерации. Не уверен, что смогу набрать столько карт.

Понятно, что карта — электронное устройство. Если поместить кучу электронных устройств в поле считывания терминала, то они будут друг мешать. В зависимости от типа карты, характеристик антенн в них, а также характеристик и ПО терминала — на каких-то комбинациях карт будут глюки.
Но также нельзя забывать о ненулевой толщине карты. Пачка в 4 карты — это 3-4мм. Регулируя скорость поднесения пачки карт к терминалу можно поймать момент, когда ближние карты уже ведут обмен с терминалом, а дальние — ещё не попали в его зону действия.
Тут наверно есть 2 варианта:
— ридер берет самый сильный сигнал, более слабый просто забивается, т.е. с самой ближней карты
— ридер берет сигнал, который пришел первым (это скорее всего опять будет ближняя карта)

В принципе, с двух карт лог на записи можно посмотреть, ответ карты видно будет. Что будет с четырьмя, хз.
Не совсем так всё.
1. Чем больше карт рядом тем больше их суммарное потребление.
2. Каждая карта рассогласует антенну считывателя.
3. Когда более двух карт отвечают на запрос, возникает коллизия.

Я видел карту, которая специально забивает поле помехами, для защиты.
Всё-таки попробовал.
Положил 4 карты в одно отделение кошелька. Все одинаково ориентированные, без посторонних прослоек между картами. К терминалу подносил со скоростью обычного покупателя. Подносил до касания, чтобы все 4 карты гарантированно были в зоне действия ридера (учитывая ещё толщину «внешней обшивки» кошелька).

Ошибок не было, деньги списались с ближней к терминалу карты.

Модель Verifone Vx820. В эксперименте с двумя картами был пин-пад Ingenico, скорее всего, IPP220

Заглянул в кошелек, обнаружил ровно четыре карты. До недавнего времени было пять, но одну из карт выложил по причине неиспользования. Я защищен?

Зависит от того, как терминал рулит в случае коллизий. Надежнее всего просто таскать ещё в довесок к этому парочку mifare карт — тогда и всякие гидры давятся.
Ну не сработает гидра на вас, злоумышленники пойдут к следующей жертве
Ну а мне это и первостепенно, не хочу чужое пиво оплачивать своими деньгами.
К сожалению, это все определяется не физикой взаимодействия, а отдано на откуп разработчикам оборудования и ПО. Ридер вполне нормально читает первую попавшуюся карту. В рекомендациях МПС есть нечто вроде отдельной ошибки «two or more cards detected», но на это просто забивают.

В протоколе IEC 14443-4 ридер может вести обмен одновременно то ли с 15, то ли с 16 картами. Он им при начальной инициализации может адреса присваивать. А пока адрес не присвоен, работает процедура антиколлизии при одновременном ответе нескольких карт.

Большинство протоколов NFC имеют фичу под названием Anticollision. Она позволяет идентифицировать каждую карту в стопке карт, поднесенных терминалу и потом работать с любой из них так, как будто она единственная.

Вы не поняли принцип. Чарджит один и тот же терминал. Просто одну из покупок отдают другому человеку.

Как раз собираю терминал для работы с рфид картами. Весь протокол общения с картой под НДА. Но, если коротко то удлинитель у вас не получится. Будет падать по таймауту. Требования довольно жёсткие. Слушанье эфира вам ничего не даст. Каждую сессию меняется не только коды, но и ид карты меняется рандомно.
И да. Терминал читает карту метро. Просто ему хватает первого пакета от карты что бы понять что это не то что ему нужно и не нужно дальше читать. Хотя он и может наладить с ней общение при наличии ключей.

Мысль замерить таймаут интересная. Меньше милисекунды.
Но будет ещё и другая проблема, нужно передать 150мА на карту (по сути на борту карты полноценный мк с шифрованием и и прочими ништяками на вроде флеша и генератора случайных чисел) что предъявляет высокие требования в конструкции антенны. Иначе даже прикладывание карты прям на антенну может не помочь с ней пообщаться.
Но собственно попытки найти уязвимости происходят уже лет 7 минимум. И пока никто не расковырял. Но если что, есть уже новые версии чипов с более навороченной логикой.
Тема кстати очень интересная. Особенно в плане НДА на коммуникации с картами. Если очень хорошо поскрести гитхаб то можно собрать из кусков весь протокол.

Меньше милисекунды.
Меньше миллисекунды — это надосекунда, или 0,9 миллисекунды? Потому что второе никуда падать не будет.
Особенно в плане НДА на коммуникации с картами. Если очень хорошо поскрести гитхаб то можно собрать из кусков весь протокол.
Тут ниже пишут, что протокол открыт, и документация в свободном доступе.

Там не протокол открыт а некоторые общие команды общения с чипом который делает коммуникацию на стороне терминала. Сам процесс общения между терминалом и картой это другой вопрос в котором только различных шифрований несколько начиная от aes и 3des

Ну вот, хоть какая-то конкретика — «меньше миллисекунды». Осталось выяснить, сколько из этого времени реально нужно карте для работы, а сколько остаётся на обмен через удлинитель.
предъявляет высокие требования в конструкции антенны. Иначе даже прикладывание карты прям на антенну может не помочь с ней пообщаться.

Но терминал карты нормально считывает? У тех моделей, над которыми у меня была возможность поэкспериментировать, область стабильного считывания — параллелепипед с высотой 2-3 см и площадью основания, условно, со спичечный коробок. Карту можно подносить под любым углом (ну или почти под любым). В чём сложность сделать такую же антенну? Или даже мощнее, злоумышленникам же не надо сертификацию проходить.
Но собственно попытки найти уязвимости происходят уже лет 7 минимум

Пытаются найти уязвимость в протоколе обмена. amarao же начал тред с варианта, когда протокол не взламывается, данные так и передаются зашифрованными.
Т.е., не классический MitM, а простое proxy, если угодно.

А вот насколько жёсткие там таймауты? WiFi/Bluetooth были предложены, как наиболее понятные массам.
На деле же эффективнее без всех этих «обёрток» общего назначения, а напрямую передавать данные, по своему протоколу, на своей частоте.

Наверно для хардкора можно использовать чисто аналоговую передачу, только усиление и перенос частоты. Будет правда, весьма громоздко наверно :)

Для того, чтобы сделать релей, не нужно брутфорсить ID карточки. Надо всего лишь делать оцифровку сигнала в районе рабочей частоты, передачу по любому low-latency протоколу на другой частоте. В двух направлениях — и оно готово. No brains involved.


Если мы можем иметь cut-though свитчи с латенси меньше сотни наносекунд, то провернуть такое в мире милисекунд значительно проще (даже с поправкой на второй радио-эфир).

Не получится, потому что время задержки установлено строгое, на обработку сигнала и перемодуляцию не хватит

Сколько именно времени терминал «ждёт» ответа от карты?
Из всех упомянутых возражений по невозможности такой атаки — единственное серьезное — это таймауты. Но никто не говорит, сколько эти таймауты (
Можете как-то гарантировать, что злоумышленникам не хватит времени?

Например, вот тут есть «Book A: Architecture and General Requirements», в главе «10 Performance Requirements» написано:
The primary requirement is the maximum time that a card must be present in the reader field when presented for a single presentment. This is a maximum of 500ms (0.5 seconds) and is for successful transactions with no transmission errors

The time utilised by a reader shall be a maximum of 100ms.
This implies a card tariff of 400ms. This is outside the scope of EMV contactless
reader requirements

т.е., на вся операция должна занять максимум 500мс, при этом на ридеру отдаётся только 100мс, а на работу карты и передачу от карты к ридеру остаётся 400мс.

Поправьте, если это не о тех «строгих задержках».

В этом же документе упоминаются и другие таймауты, но без конкретных значений, видимо, каждый вендор может устанавливать свои.
разбираться, на чей же счет ушли деньги.

Да и счета будут разные, в выписке видно будет сразу.


Счёт будет один — магазина.
Профит мошенников — покупка, оплаченная картой жертвы.
Разве что по записи с камеры и времени покупки отследить мошенника…
Через неделю после факта кражи…
Если запись не будет к тому времени перезаписана более свежей картинкой…

И последний момент, в толпе или очереди оно вообще работать не будет т.к. отзываться начнут все карты сразу, ни одна crc не сойдется.

если четко держать частоту (фильтры) и регулировать уровень сигнала, то что там «всё» от 13 МГц глючить-то будет?
Естественной преградой является, кстати, «социальная дистанция» :)

Походить вдвоём по ТЦ, закупиться в разных торговых точках на суммы <1000руб. За день профит пропорционален количеству посещенных точек, сумма может получиться 6-значная

сумма до 1000
уже можно говорить о 3000 для visa и с совсем недавнего времени 5000 для mastercard (в новостях мелькало о уже переключивших лимит штуках 5 банках в мае)
Последние 2 покупки в днс (разница примерно месяц) на 3+ и 6+ тысяч пин не запрашивался, в магните было исключение 1 раз (сумма была слегка за 1000), в остальных случаях пин запрашивается. Надо запросить подробности у ТП.
ТП ответила, что ПИН может не запрашиваться, если так настроен терминал.
Сталкивался еще больше года назад в одном магазине: сумма была чуть больше 15000р. и пин не потребовался… Спросил у продавца — тот подтвердил что не один я удивляюсь… Эквайринг был бинбанка. В остальных местах блюлось такое «до 1000».

Насколько я слышал краем уха — вроде как лимиты рулятся как эквайрингом так и банком-эмитентом карты. В том числе существует абстрактная возможность задать таковые для своей карты индивиндуально.
А как интересно в этом плане со всякими *Pay?
Потому что у меня оплата через Samsung Pay совершенно спокойно проходила БЕЗ запроса пин-кода терминалом (на часах конечно все что нужно запрашивалось перед запуском оплаты), на суммы в десятки тысяч рублей.
В чем отличие с точки зрения терминала? Можно ли это отличие имитировать?
Ну «крупняки» берут страховку на себя и поэтому некоторые даже с карт списывают без второй петли секьюрности и т.п. Аналогично *pay — выстраивают с банком доверенные отношения и платят «от себя», списывая с карты ни в чем себе не отказывая.
Правда возможно они используют какие-то интеллектуальные предположения и иногда вдруг могут попросить еще раз приложить палец или ввести пароль. Но очень редко.

Вообще, терминал не нужен. Достаточно смартфона и приложения Credit Card Reader.


Кстати, вы будете удивлены, но он позволяет прочитать список последних покупок с карты без всяких пин-кодов.


А на физическом уровне там модуляция PSK, если не ошибаюсь. Никакого AM.

Как подсказывает гугл, в RFID все же ASK, т.е. амплитудная модуляция. Но может встречаться PR-ASK (Phase-reversal amplitude shift keying), как оно выглядит хз, видимо что-то смешанное.

www.ni.com/tutorial/6645/en
Ну да, я был не совсем прав. Конечно же на нижнем уровне там данные передаются модулированием тока текущего через контур. Все же, это не совсем радио, а скорее воздушный трансформатор. Так что да, для удаленной антенны это будет выглядеть как амплитудная модуляция. Но для чтобы получить биты данных, надо полученную последовательность высоких и низких амплитуд рассматривать как сигнал модулированный в PSK.

Для любой нормальной карты не позволяет, т.к. покупки по бесконтакту не учитываются.

Ну возьмите свою карту и попробуйте. Естественно, так вы сможете считать только бесконтактные покупки.
Я пробовал. Карты Сбера защищены от такого. Последние 3 (?) по чипу считываются, это да. Но это комп.
Вид модуляции зависит от протокола, направления обмена (reader->card или card->reader) bitrate.
Пример:
TypeА, 106kbps: reader->card АSK mod Miller, card->reader OOK Manchester
TypeB 106kbps: reader->card 10% ASK NRZ, card->reader BPSK-NRZ

Я, если что, работаю в NXP и занимаюсь как раз разработкой на уровне RTL NFC модуля. Могут отвечать на ворпосы по протоколам на уровне железа.
Но разумеется, основная работа выполняется на логическом уровне, проверка карты и выполнение платежа довольно сложный процесс, в котором также задействовано шифрование.

На самом деле это совсем не сложный процесс, обычный APDU обмен — запрос-ответ к карте с набором полей в ASN.1(BER-TLV) формате, как и на большинстве других смарт карт. Стандарты в открытом доступе, и никакого шифрования там тоже нет, разве что подсчет криптограммы на одном из этапов. Протоколы, на логическом уровне, у каждой из платежных систем чуть разные, и кол-во обмениваемых сообщений тоже будет разное.

Существует вектор атаки, где перехватив этот обмен с терминалом, можно подтвердить любую другую операцию на другом терминале, но на практике это очень сложно осуществить.

По поводу лимитов по бесконтактной оплате — это рекомендация платежной системы, но не требование, карта и терминал обмениваются своими требованиями к проверке владельца карты, и в целом могут решить не требовать пин для любой суммы. Эта рекомендация вытекает из правил, установленных платежной системой, по возмещению средств в случае мошенничества. Если рассматривать конкретно бесконтакт с подписью и лимит в 1000 рублей, то в случае фрода все что до 1000 рублей ложится на плечи эмитента, больше — на мерчанта, поэтому мерчант заинтересован в том чтобы запросить у вас пин.

В большинстве случаев, некий rule of thumb, — это мерчант должен доказать что он убедился что вы действительно владелец карты, иначе он несет убытки. Именно для этого на задней стороне карты есть место для подписи — продавец, в теории, обязан сверять подписи на карте и чеке.

Очень интересно про отсутствие шифрования которое там таки есть и не одно. И именно оно мешает наклонировать 2 ведра ваших кредитных карт и распродать клонов всем кто желает. Как собственно делается с картами без шифрования или где шифрование не настолько сильное. Например mifare classic.

Клонировать эти карты мешает сертификат, который подписан сертификатом эмитента, который, в свою очередь, подписан сертификатом платежной системы. И все эти десятки сертификатов платежных систем есть в терминале, чтобы проверить аутентичность карты. Это не привычные всем x.509, а проприетарные форматы, и опять же свои у каждой платежки. А так же уникальные карточные ключи, которые используются, например, для расчета криптограммы, которая аутентифицирует карту.
Но общение на логическом уровне абсолютно никак не зашифровано, и это никак не помогает клонировать карту.

Автор, разрешите сделать несколько замечаний по вашим заключениям. Надеюсь, они помогут вам правильнее понять процессы, которые происходят и, если вам интересна эта тема — в каком напрпавлении нужно двигаться дальше.


никакого официального описания протокола обмена терминала с картой у меня нет, такие данные обычно распространяются только компаниям-партнерам после подписания NDA

Это заблуждение.
Существует компания "EMVCo, LLC", которая занимается разработкой группы стандартов и нормативных документов, которые регламентируют работу банковских карт, терминалов и даже банкоматов. Группа стандартов называется "EMV" ("Europay, Mastercard, and Visa"), и включает в себя описание работы платёжного терминала и платёжной смарт-карты вплоть до того, сколько светодиодов должно быть на банковском терминале и когда и в какой последовательности они должны мигать.
Стандарты открыты для ознакомления, доступны на сайте EMVCo. Скорее всего, вам будет интересен этот раздел сайта. Тут описывается весь протокол бесконтактного взаимодействия между картой и терминалом. Никаких секретов и NDA.


Как подсказывает гугл, 13.56МГц это стандартная частота для RFID-устройств.

Google подсказывает верно, но поверхностно. Эта частота действительно используется для RFID. Но ещё она используется для NFC в целом и для стандарта ISO/IEC 14443 в частности.
ISO/IEC 14443 как раз описывает все физические (и не только) процессы, которые возникают между PCD (proximity coupling device, это терминал в вашем случае) и PICC (proximity integrated circuit card, это банковская карта).
Соседний стандарт, ISO/IEC 7816, описывает процессы взаимодействия между чипом вашей банковской карты и терминалом. EMV Contact описывает конкретно протокол для контактных платежей. Это на случай, если терминал не поддерживает бесконтакт, и кассир вставляет карту чипом в терминал.


В протоколе RFID используется обычная амплитудная модуляция, никакого rocket science.

Rocket Science здесь нет, действительно. Однако в ISO/IEC 14443 есть целых два режима работы — A и B.


В режиме A для связи PCD->PICC (терминал к карте) используется амплитудная манипуляция (ASK), линейное кодирование основано на модифицированном коде Миллера.
Для связи PICC->PCD (карта к терминалу) используется модуляция поднесущей и Манчестерское кодирование или BPSK (Binary Phase Shift Keying), что именно — зависит от скорости передачи данных.


В режиме B для PCD->PICC используется также ASK (только 10%, а не 100%, как в A), но используется NRZ (non return to zero) код.
Для PICC->PCD используется модуляция поднесущей и BPSK всегда.


Более подробно (хоть и поверхностно) можно ознакомиться в даташите на аппаратное устройство, разработанное NXP, как раз для платёжных задач: MFRC631. Там просто сконцентирована вся техническая информация по их взаимодействию, ведь это устройство поддерживает ISO/IEC 14443 A/B.


Напоследок скажу, что изначально задача RFID была в бесконтактной идентификации (отсюда и название). Современные банковские карты сейчас — очень умные устройства, с криптографическим процессором и памятью "на борту".
Кажется, что терминал всему голова, но отнюдь — в их отношениях терминал ведомое устройство, и именно за картой остаётся конечное решение — быть платежу или нет.

Очень признателен :)
Надеюсь, мой комментарий будет кому-то полезен. Тема действительно очень интересная. В ней много классных решений и неочевидных нюансов, о которых я раньше даже не задумывался.

… хайпанем немножечко, во после подобных статей подобных «интеллектуалов», у которых определенная субстанция не удерживается внутри, малолетние подражатели «интеллектуалы» начинают пытаться применять на практике подобное, понятно что безуспешно в силу отсутствия базовых знаний, но это все оборачивается запретами и ужесточениями со стороны системы, так и RTL SDR могут запретить для свободного оборота, но потом все завоют уууууууууууууу притесняют ущемляют запрещают…
У нас ни одного широковолнового приёмника пока не запретили. Плюс отличить ТВ-тюнер от другого ТВ-тюнера та ещё задача. Плюс я очень хочу посмотреть, как вы(или кто-то ещё) при помощи одного RTL-SDR и софта сможете стырить у меня с карточки хоть один рубль, не выйдет, т.к. кроме Rx надо ещё и Tx, а вот это самое Tx без лицензии никто и не разрешал.
П.С. Ну и для начала надо запретить USB3.0 to VGA адаптер один популярный, и только потом популярный ТВ-Тюнер.
Дело даже не в лицензиях. Маломощные и приемники и передатчики для изучения ЦОС продаются совершенно свободно (например www.amazon.de/ANALOG-DEVICES-ADALM-Pluto-SDR-Software-Definiertes-Funkaktives/dp/B079VXXKXR) и не требуют лицензии, более того, есть даже приличные скидки для студентов.

Дело в том, что во всех серьезных задачах используется шифрование, поэтому перехват битового потока в большинстве случаев ничего не даст. Именно поэтому нигде в мире (кроме Германии, у них просто своя специфика, официально даже авиадиапазон слушать нельзя, хотя и там все продается) не запрещены «сканирующие» и прочие приемники, включая SDR, т.к. никакого вреда в них нет.

Данный текст имеет исключительно научно-популярную цель, ничего «украсть» с его помощью нельзя.
Это да, я пока говорю о том, что надо физически подойти к возможности взлома, а уже потом алгоритмически, плюс ко всему сужу со стороны законодательства РФ. Кстати, вы ещё про Северную Корею забыли, там тоже по информации агенства ОБС нельзя широкополосный приёмник иметь (ну или моя информация уже устарела).

Законодательство РФ не запрещает продажу и покупку радиопередающих устройств.

Спасибо большое за интересную статью, может быть вы знаете почему в магазинах эти терминалы часто зависают и не прнимают оплату, может быть устаревшие модели стоят или не исправные а может быть персонал магазинов что то накосячил, может быть вы дадите точный ответ почему топовое устройство для оплаты дает сбои и зависает, хотя по идее оно не должно давать сбои и работать в режиме 24 на 7/365.

Самый точный ответ знает производитель этого топового устройства. Вы к нему обращались?
Или к поставщику, чтобы заменил по гарантии?

почему в магазинах эти терминалы часто зависают и не прнимают оплату

Насчет топовых ничего не могу сказать, из общих соображений — следующие причины:
1) терминалы могут работать напрямую через интернет. А выходят в интернет через кабель, обжатый отверткой, передавленный креслом, пинаемый ногами, воткнутый в длинк с подыхающим блоком питания и виснущий два раза в день, канал предоставлен самым дешевым провайдером.
2) они могут быть связаны с компом по USB, и тут тоже простор для глюков, особенно если компу больше 6 лет — южник с дохнущими USB, умирающий блок питания, глючные драйвера.
3) кабель между терминалом и пинпадом (если есть пинпад отдельно) — могут быть проблемы с ним.
Большинство операций проходят через интернет. Офлайн операции редкость, большая часть онлайн. В банкоматах запрещены офлайн операции.

Не стоит путать это с проверкой пина, которая тоже есть онлайн и офлайн.
добавлю ещё:
4) терминалы могут выходить в интернет через gprs (особо весело такие ставить в металлические ангары или подвальные помещения) или Wifi, которые также вносят свои задержки
5) если терминал работает через ПК (не обязательно через USB, можно и через COM, так даже стабильнее) — то свои задержки вносит и ПО на компьютере.
никакого rocket science

Неужели трудно было русский вариант выражения подобрать? Тоже мне, бином Ньютона!
Вся статья про то как передаются данные по радиоканалу, что весьма интересно и вполне соответствует заголовку. Но в самом начале поставлен вопрос:
какие же данные передаются и принимаются во время совершения платежа

Ответ на него, мне кажется, лучше искать другим способом. Например, взять для простоты популярный у нас ридер ViVOPay Kiosk III. По факту в России большинство банкоматов оборудовано именно им, так что прибор вполне юзабельный. На первой же странице Гугла его можно даже приобрести (но это не точно).

Девайс подключается по USB и распознается как обычное HID-устройство, т. е., грубо говоря, с него можно что-то читать и в него можно что-то писать. Правда, есть два нюанса:
1. Документация
2. Прошивка
Из коробки там будет юзер-мануал по подключению и некая заводская прошивка, впрочем, скорее всего поддерживающая Визу и Мастер. Далее, подключив прибор и воспользовавшись своей любимой библиотекой по работе с USB HID, можно (предварительно коснувшись чем-нибудь платежным) прочитать какую-нибудь полубинарную строчку вида…

[01] [00] [02] %B123456789^ABCDEF^12345678?;123456=12345?

… с примитивными данными о прочтенной карте или токене. А дальше надо уже что-то отвечать. Поэтому, чтобы зажечь по-полной, понадобится как раз документация, которая официально не распространяется, но какая-то не очень свежая версия гуглится по «neo interface developers guide» (я вам этого не говорил!).

Прошивка же нужна для того, чтобы это поделие умело работать с нужным приложением. Собственно, девайс считывает с платежного средства т. н. AID, по которому понимает, можно ли вообще с ним работать. А дальше уже тонкости: понадобится поддержка по пути дальше, начиная от терминального ПО и заканчивая процессингом. Яркий пример — естественно, МИР. Сейчас такая прошивка в природе уже существует.

В общем, если кратко, то с дефолтной прошивкой и древней документацией вполне себе можно понять, какие данные туда-сюда ходят. При этом, ничего особенно интересного там нет: ну протокол и протокол.
По последнему изображению с помощью линейки видно, что это последовательность (понимая что тут modified miller coding) [Start Bit = 0] 0 1 0 0 1 0 1. Меняем порядок бит в обратный 1010010 = 52h. Это WakeUpA Request. Считыватель просто спрашивает, есть тут кто.
На запросе и ожидании карты вышло тоже самое.

Так, ребята, прекращайте! Вы уже рабочую схему кражи с банковских карт расписали.

Думаете, злоумышленники о ней не знают/не догадываются?
В тексте по ссылке из последнего абзаца статьи как раз типичный взгляд НЕ со стороны злоумышленников, вот краткий пересказ:
RFID-защитные кошельки — пустая трата денег.
Автор не смог найти crime reports о кражах через RFID (я не уверен, что это вообще должно попадать в полицию, вроде банки, МПС и мерчант между собой разруливают такую мелочевку).
Но в финансовом отчёте нашел упоминания о 6.9 млн бесконтактного фрода за 2016 год только в UK (при обороте в 25 млрд). Ему никто не смог пояснить, что это за фрод, но предположили, что это, скорее всего, не связано именно с RFID, потому что есть более простые способы (mobile device fraud) и в статистике они все учитываются одной общей цифрой.
Далее он пытается объяснить, что нельзя просто считать данные с карты и сделать фейковую транзакцию или не получится прикладывать свой терминал к карманам прохожих и не спалиться перед банком.

Концовка тоже порадовала:
Even if we assume that all £6.9 million of 2016 RFID crime reported in the UK Finance report was committed by credit cards and not mobile devices, it means RFID crime is still, at best 1.1 percent of overall credit card fraud, and it’s falling. If you are worried about a potential 1.1 percent crime rate while also using non-RFID credit cards which are responsible for 98.9 percent of credit card fraud, aren’t you focusing on the wrong threat? Why use any credit card? As far as I can tell, if you are worried about credit card fraud, you’d be about 90 times safer (and getting safer) to only use RFID credit cards. You shouldn’t run away from or even worry about RFID credit cards, you should embrace them

Не стоит париться, процент бесконтактного фрода очень мал (1,1%) по сравнению с контактным фродом.

После такого все сразу почувствовали себя Неуловимыми Джо, что их то это точно не коснётся. Дадада, конечно.

Т.е., журналисты и маркетологи пребывают в уверенности, что злодеи будут пытаться «взломать шифры», сделать фейковые карты, фейковый терминал и т.д., на эту уязвимость пока мало обращают внимания. И вендоры могут продолжать ставить большие таймауты на ожидание ответа от карты «для удобства пользователей» (у которых карта не срабатывает с первого раза)

Нормальные люди iso7816, iso14443, emvco не читают, а сразу берутся за sdr? )

чтобы увеличить его хотя бы до 100см, напряженность поля должна быть в третьей степени больше этой разницы.
А не в квадрат?

Кстати, какая эиим терминала?
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.