Следующая новость
Предыдущая новость

Близкие контакты. Атакуем бесконтактные карты

15.04.2021 13:42
Близкие контакты. Атакуем бесконтактные карты

Содержание статьи

  • Легаси
  • Клонирование карт и транзакций
  • Обход верификации плательщика
  • Подмена между терминалом и банком-эквайером
  • Подмена между телефоном и терминалом
  • PSD2 и карточное мошенничество в Европе
  • Заключение

Бес­контак­тные бан­ков­ские кар­ты очень удоб­ны: при­ложил кар­точку к тер­миналу, и через пару секунд в кар­мане звяк­нул телефон — покуп­ка опла­чена. Но это удобс­тво име­ет и обратную сто­рону: зло­умыш­ленни­ки могут украсть день­ги у дер­жателей такого «плас­тика». Давай погово­рим о спо­собах взло­ма бан­ков­ских карт, исполь­зующих тех­нологию NFC.

Читай также

О прин­ципах, на которых стро­ится безопас­ность бан­ков­ских пла­теж­ных сис­тем, ты можешь узнать из пре­дыду­щих моих ста­тей:

  • Раз­бира­емся, как работа­ют сис­темы безопас­ности кре­дит­ных карт
  • Как хакеры кра­дут день­ги с бан­ков­ских карт
  • Как работа­ют ата­ки на чиповые кар­ты

Все они теперь дос­тупны для чте­ния без под­писки.

Тех­нологи­чес­ки пла­тежи NFC явля­ются про­дол­жени­ем стан­дарта EMV, поэто­му все про­исхо­див­шие «в дикой при­роде» ата­ки уже были извес­тны иссле­дова­телям. Ког­да я занял­ся темой бес­контак­тных пла­тежей, мне все же уда­лось най­ти нес­коль­ко новых инте­рес­ных слу­чаев, но подоб­ные ата­ки все так же фокуси­руют­ся на обратной сов­мести­мос­ти и дру­гих недос­татках основных механиз­мов EMV — авто­риза­ции, аутен­тифика­ции, верифи­кации.

Про­ведя тес­ты с десят­ками карт, я был поражен мас­шта­бом проб­лем в бан­ках. С начала 2000-х они никуда не делись, и с при­ходом бес­контак­тных пла­тежей таких проб­лем прос­то ста­ло боль­ше. Одна из осо­бен­ностей мошен­ничес­тва имен­но с бес­контак­тны­ми кар­тами зак­люча­ется в том, что их труд­но под­твер­дить, так как зло­умыш­ленни­ку нет необ­ходимос­ти получать физичес­кий дос­туп к тво­им кар­там. Поэто­му бан­ки неред­ко опро­тес­товыва­ют подоб­ные жалобы кли­ентов.

Легаси

Пер­вым, кто еще в 2014 году обра­тил вни­мание на небезо­пас­ность режимов легаси при бес­контак­тном методе опла­ты, был ис­сле­дова­тель Питер Фил­лмор (Peter Fillmore).

Что такое бес­контак­тные легаси‑режимы и зачем они соз­давались в 2013 году? Легаси‑режимы — спе­циаль­ные режимы для тер­миналов, которые не уме­ли работать с крип­тогра­фией, в основном аме­рикан­ских. Так­же из‑за обратной сов­мести­мос­ти кар­ты и тер­миналы, все‑таки уме­ющие в сов­ремен­ную крип­тогра­фию, мож­но исполь­зовать в легаси‑режимах. Пред­ставь себе, что по тво­ей чиповой кар­те мож­но совер­шать пла­тежи с маг­нитной полосой, — при­мер­но о таком уров­не безот­ветс­твен­ности идет речь.

Кар­ты Visa в режиме легаси MSD (Magnetic Stripe Data) поп­росту переда­ют Track2 Equivalent с динами­чес­ким полем CVV, меня­ющим­ся «вре­мя от вре­мени». То есть один и тот же CVV мож­но исполь­зовать боль­ше одно­го раза. Одна­ко этот режим так­же обла­дает недос­татком, поз­воля­ющим исполь­зовать некор­рек­тное зна­чение поля CVV2, о чем уже говори­лось в пре­дыду­щей статье. То есть дан­ные, счи­тан­ные с маг­нитной полосы, с чипа или бес­контак­тно­го чипа кар­ты, могут быть записа­ны и вос­про­изве­дены спе­циаль­ным при­ложе­нием по про­токо­лу NFC и банк будет счи­тать это бес­контак­тной тран­закци­ей. Рус­ский прог­раммист Дмит­рий Холодов даже раз­местил в Google Play при­ложе­ние, поз­воля­ющее счи­тывать и сох­ранять эти дан­ные на телефо­не с Android.

Кар­ты MasterCard пош­ли чуть даль­ше: в их режиме легаси, называ­ющем­ся PayPass M-STRIPE, кар­та при­нима­ет от тер­минала слу­чай­ное чис­ло UN, исполь­зует счет­чик ATC и генери­рует поле авто­риза­ции CVC3 на осно­ве этих дан­ных. Далее тер­минал сам соз­дает из перечис­ленных зна­чений динами­чес­кий Track2 Equivalent и посыла­ет бан­ку для авто­риза­ции пла­тежа.

Ре­жим обла­дает глав­ным недос­татком — низ­кой энтро­пией поля UN и отсутс­тви­ем дру­гих полей для энтро­пии, таких как сум­ма пла­тежа, дата тран­закции. UN может занимать от 3 до 5 байт, каж­дый байт сос­тоит толь­ко из цифр. Зна­чит, на вход кар­те может пос­тупить 999, 9999 или 99 999 раз­личных зна­чений UN. В пер­вых двух слу­чаях, под­неся к кар­точке сотовый телефон с ус­танов­ленным при­ложе­нием, зло­умыш­ленник может быс­тро кло­ниро­вать все тран­закции с кар­ты.

Да­лее зло­умыш­ленник совер­шает пла­теж на тер­минале, который под­держи­вает режим M-STRIPE, исполь­зуя телефон с кло­ниро­ван­ными тран­закци­ями. Тер­минал генери­рует слу­чай­ное поле UN, телефон ищет в сво­ей базе тран­закций кор­рек­тную пару ATC/CVC3, отно­сящу­юся к это­му UN, и отда­ет тер­миналу.

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

Дру­гой обна­ружен­ный иссле­дова­теля­ми спо­соб мошен­ничес­тва — зас­тавить тер­минал поверить, что энтро­пия UN = 0. Тог­да он вер­нет толь­ко одно воз­можное зна­чение UN = 00000, и ему соот­ветс­тву­ет толь­ко одна пара ATC/CVC3. В этом слу­чае кло­ниро­вать кар­ту ста­новит­ся неверо­ятно лег­ко. Нам даже уда­лось най­ти один рос­сий­ский банк, который был под­вержен такой ата­ке.

Од­но из хороших опи­саний недос­татков режимов легаси на рус­ском язы­ке вы­ходи­ло в 2018 году. Одна­ко я спе­шу не сог­ласить­ся с авто­ром в том, что проб­лема в целом решена: за пос­ледний год я нашел две работа­ющих в режиме Legacy рос­сий­ских кар­ты MasterCard, а так­же одну кар­ту и один кар­точный эквай­ринг в Рос­сии, которые под­держи­вают уж сов­сем небезо­пас­ный режим Visa MSD.

Под­ход к реали­зации режимов легаси инте­ресен еще и с точ­ки зре­ния при­мени­мос­ти атак на них в реаль­ном мире. Ата­ки на кар­ты Visa до сих пор чрез­вычай­но популяр­ны и име­ют пов­семес­тное рас­простра­нение. Ведь для того, что­бы совер­шать бес­контак­тные пла­тежи по кар­там Visa, мож­но исполь­зовать информа­цию, дос­тупную для про­дажи на спе­циаль­ных форумах, — Track2 или Track2 equivalent.

Ата­ки на кар­ты Visa до сих пор рас­простра­нены

Ле­гаси‑режим карт MasterCard тоже обла­дает уяз­вимос­тями, поз­воля­ющи­ми их ата­ковать. Одна­ко эти ата­ки гораз­до слож­нее при­менить в реаль­ных усло­виях, пос­коль­ку для них нужен физичес­кий дос­туп к кар­те жер­твы, хотя бы на минуту. Вот почему подоб­ные ата­ки прак­тичес­ки не встре­чают­ся в «дикой при­роде».

Близкие контакты. Атакуем бесконтактные карты
Ата­ки на MasterCard тре­буют физичес­кого кон­такта с кар­той

Сто­ит отме­тить, что боль­шинс­тво мобиль­ных кошель­ков — GPay, SamsungPay, кас­томные HCE (Host-Card Emulation, при­ложе­ние на Android, которое эму­лиру­ет кар­ты) — так­же под­держи­вают режимы M-Stripe и MSD. Но об этом мы погово­рим в раз­деле, пос­вящен­ном мобиль­ным кошель­кам и дру­гим нес­тандар­тным пла­теж­ным устрой­ствам.

Клонирование карт и транзакций

Кло­ниро­вать бес­контак­тные кар­ты EMV, что­бы их тран­закции мог­ли про­ходить авто­риза­цию в реаль­ном вре­мени, невоз­можно. Зло­умыш­ленни­ки или иссле­дова­тели пока что не научи­лись извле­кать крип­тогра­фичес­кие клю­чи для соз­дания пла­теж­ных крип­тограмм. Одна­ко это не единс­твен­ный спо­соб изго­товить фун­кци­ональ­ный клон кар­ты:

  • зна­чение Track2 Equivalent мож­но записать на маг­нитную полосу и совер­шать пла­тежи за пре­дела­ми Рос­сии, как это было опи­сано в статье, пос­вящен­ной ата­кам на EMV.
  • для кло­ниро­вания тран­закций так­же исполь­зует­ся дру­гая тех­ника, опи­сан­ная ранее, — Cryptogram Replay.
  • на­конец, пол­нофун­кци­ональ­ный клон кар­ты или огра­ничен­ного чис­ла тран­закций мож­но соз­дать, исполь­зуя уяз­вимос­ти режимов легаси, о которых я рас­ска­зал выше.

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

1 год

9300 р.

1 месяц

870 р.

Я уже участник «Xakep.ru»

Источник

Последние новости