Что такое 3D secure на банковской карте, как подключить/отключить услугу и как ей пользоваться
Чтобы злоумышленники не воспользовались потерянной картой владельца, была придумана функция 3D Secure. Что она из себя представляет, как ее подключить и как использовать – обо всем этом будет рассказано дальше.
Что такое 3D secure простыми словами
Для безопасности владельцев пластиковых карт были внедрены следующие степени защиты:
Технология основана на протоколе расширяемого языка разметки. Применяется для защиты онлайн-платежей с дебетовых и кредитных карт.
Она не защищает денежные ресурсы, лежащие на карте, как пин-код, вводимый при снятии денег с банкомата. Также технологию не следует путать с CVV-кодом на обороте карты.
Почему именно 3D
3D-Secure не означает, что оплата проводится в каком-то трехмерном пространстве. Этот термин произошел от общего сокращенного названия трех систем или доменов (англ. «3 D» – Three Domains, что переводится как «Три домена»), которые участвуют в процедуре обмена деньгами и обеспечивают защиту их перевода от владельца к продавцу. Ими являются:
Если технология подключена к карте ее держателя, то без ведома последнего провести платеж невозможно.
Как работает протокол
Работа протокола 3D Secure заключается в перенаправлении пользователя на страницу банка-эмитента, то есть банка, выпустившего карту. На этой странице пользователь должен будет ввести одноразовый код в специальное поле. Одноразовый пароль приходит по смс на номер телефона, привязанного к карте владельца.
Протокол будет задействован только в том случае, если услуга активирована.
Как подключить 3D Secure
Функция является бесплатной. Если у пользователя данная услуга не подключена, то он ее может активировать одним из способов:
- в офисе банка; по телефону; через банкомат; через онлайн-банкинг.
Примеры банков, которые подключают карты к 3D Secure:
| Наименование банка | Подключение | Стоимость подключения | Ежемесячная комиссия |
| Сбербанк | Автоматическое, при получении карты | Бесплатно | Нет |
| Тинькофф | Автоматическое, при получении карты | Бесплатно | Нет |
| ВТБ 24 | По заявлению владельца, через онлайн-банкинг | Бесплатно | Нет, взимается единоразовая плата за входящее смс с баланса телефона |
Обратившись в офис местного филиала банка
Подключение этой услуги осуществляется бесплатно. Владельцу карты необходимо сделать следующее:
- Прийти в банк с паспортом и картой. Написать заявление о подключении. Форму для заполнения выдаст сотрудник. Активация произойдет после совершения первого платежа.
По телефону
Подключить услугу можно по телефону, не выходя из дома. Например, для Сбербанка:
- Отправить Слово «Полный» в смс на номер 900. Дождаться сообщения с динамичным кодом (одноразовым паролем) из четырех цифр. Ввести эти цифры в ответном сообщении и отправить снова на номер 900. Дождаться смс с подтверждением о подключении. Теперь можно безопасно оплачивать услуги и товары по интернету.
Через банкомат
Чтобы осуществить подключение через банкомат, пользователю необходимо будет позвонить в банк и узнать о том, есть ли функция 3D на у его карты. Если ответ положительный, то владелец может смело отправляться в ближайший банкомат и подключать услугу.
- Вставить карту в банкомат именно того финансового учреждения, которое выпустило ее. Кликнуть по пункту «Другие операции». Найти и выбрать «3D Secure». Ввести номер мобильного, привязанного к карте.
Теперь динамичные коды для оплаты посредством технологии 3D Secure будут приходить на телефон при проведении платежа.
Через онлайн-банкинг
Подключить услугу можно в личном кабинете Сбербанка или любого банка, поддерживающего технологию. Будет показано на примере Сбербанка:
1 Открыть главную страницу банка и войти в личный кабинет.
2 Нажать на вкладку «Карты».
3 В выпавшем меню выбрать «Подключение 3D Secure».
Отключение 3D Secure
Вообще нежелательно отключать данную функцию, если она была подключена, потому что тогда владелец карты не сможет оплатить товар или услугу в интернет-магазине, оснащенном этой защитой.
Причины, по которым владельцу может быть нужно отключить защиту:
- переезд в другую страну; смена номера телефона; необходимость совершить покупку в тех магазинах, где 3D Secure не поддерживается.
В таких ситуациях банки могут помочь пользователю следующим образом:
- Например, Альфа-банк дает возможность смены номера на иностранный, если так удобнее для клиента, без отключения защиты. Если пользователь все-таки настаивает на отключении, то он может обратиться в банк с письменным заявлением, (если финансовая организация не поддерживает услугу отключения функции защиты в личном кабинете пользователя). В онлайн-банкинге Сбербанка предусмотрена услуга отключения функции. Для этого пользователь должен в личном кабинете пройти во вкладку «Карты». В открывшемся списке под пунктом «Подключить 3D Secure» будет располагаться пункт «Отключить 3D Secure». Кликнуть по нему.
Как пользователю узнать о подключении карты к технологии защиты 3D Secure
Не все банки используют данную технологию, так как обслуживание этой функции – дорогостоящее. Финансовые организации, которые работают более 10 лет и имеют развитую розничную сеть (Сбербанк, Альфа-банк, ВТБ и другие известные банки), регулярно встраивают ее по умолчанию в выпускаемые карты.
Подключение к ней осуществляется сразу после получения и активации. По международным предписаниям карты Visa и Mastercard наделяются услугой по умолчанию.
Узнать, присутствует ли на карте пользователя эта функция или нет, владелец может двумя способами:
- совершить покупку в интернет-магазине. Если смс с динамичным кодом не пришло на номер телефона, то это значит, что услуга не подключена. Например, Альфа-банк подключает эту функцию по умолчанию только для некоторых видов платежей. Поэтому, чтобы использовать возможности услуги полностью, рекомендуется узнать о наличии технологии вторым способом; обратиться к сотрудникам банка, в котором была выпущена карта.
Карточки с 3D-Secure
Список популярных банков, поддерживающих услугу 3D Secure:
- Сбербанк; Альфа-банк; ВТБ; Бинбанк; «Русский Стандарт»; «Почта-банк»; «Тинькофф»; «Связной банк» с 2012 г.; «Уралсиб» с 06.2013; «Промсвязьбанк»; «Абсолют Банк» с 10.2013; МДМ с 11.2013; Ренессанс-кредит с 11.2013.
ДЛЯ СПРАВКИ: Карты, выпущенные ранее 2012 года, не поддерживают 3D Secure.
Интересные факты о безопасности
Интернет-магазин, который не поддерживает стандарт 3D Secure, не несет ответственность за безопасность платежа. Поэтому ответственность ложится на банк, выпустивший карту.
Однако, если пользователь подтвердил платеж динамичным кодом, пришедшим в смс, вся ответственность перекладывается на владельца. Если карта и пароль все-таки оказались в руках мошенника, законному владельцу не удастся доказать, что не он проводил платеж.
Все динамичные пароли, которые приходят по смс при проведении платежа, после введения в соответствующее поле и оплаты становятся недействительными. Они также имеют ограниченный срок действия: обычно это 5 минут. Эти коды не следует разглашать третьим лицам.
Например, владельцу карты приходит сообщение на почтовый ящик с предложением пройти по ссылке и забрать некий выигрыш. При этом он должен ввести данные своей карты, якобы чтобы получить деньги. Этого делать не стоит, так как компьютерная программа считает информацию карты пользователя, а потом использует в собственных целях.
Не рекомендуется оплачивать онлайн-покупки в общественных местах. В видеонаблюдении могут работать недобросовестные люди и следить за информацией, которую вводит держатель карты.
Преимущества и недостатки системы
К преимуществам можно отнести:
- Получение нового кода в смс при каждой покупке или оплате. Не нужно держать пароли в голове и менять их раз в месяц. Простота процедуры. Безопасность. Доступ к телефону есть только у владельца карты. Если же он украден, то мошеннику потребуется еще и карта.
- При плохой связи или при полном ее отсутствии смс-коды могут не прийти на телефон. О том, как решить проблему, если пользователь не дождался прихода динамичного пароля, будет рассказано в блоке «Ответы на вопросы». Возможность похищения кода с компьютера. Операционные системы, через которые проводится платеж, подвержены заражению вирусами. Последние умеют анализировать коды и отправлять их злоумышленникам.
Как избежать действий мошенников и обхода системы безопасности
Владелец карты может защитить себя от мошеннических действий следующими способами:
- регулярно обновлять антивирусную базу и пользоваться только лицензионным антивирусом на компьютере или смартфоне, с которых проводятся платежи; ничего не покупать на неизвестных или малознакомых сайтах; внимательно читать текст, который пришел в смс вместе с динамичным кодом; желательно установить дневной лимит на снятие денег с карты. Это обезопасит владельца от потери всей суммы в случае атаки злоумышленников; и самый редкий, но все же встречающийся ход от воров электронных денег – это перевыпуск сим-карты. Поэтому, если телефон владельца перестал ловить сеть даже в тех районах, где всегда хорошо ловил ее, держателю карты нужно будет как можно быстрее обратиться в банк для блокирования счета и к своему провайдеру – для замены номера.
Платеж с помощью 3D Secure (подробная инструкция)
Совершить платеж в магазинах, где предусмотрена эта система безопасности, можно следующим образом. Такие онлайн-магазины помечаются специальными логотипами:
Предположим, владелец карты желает купить сумку в интернет-магазине.
1 Он выбирает товар и переходит на страницу оплаты.
2 Вводит информацию со своей карты для проведения платежа.
3 Пользователя перенаправят на страницу для ввода специального кода. На странице дана краткая информация, окно для ввода динамичного кода и логотип банка-эмитента.
4 Теперь держателю карты предстоит ввести одноразовый код, который придет на номер телефона, привязанный к карте.
При совпадении динамичного кода, пришедшего на телефон, и введенного пользователем платеж поступит в обработку и произойдет снятие указанной суммы с карточки.
Динамичный код не следует показывать третьим лицам. Вводить его нужно тому человеку, которому он пришел на телефон. Об этом предупредит смс с кодом.
Вопрос – ответ
Какие плюсы получают от данной функции интернет-магазины и продавцы?
Подключение этой услуги дает им защиту от фрода. Фрод – это вид мошенничества. Заключается в требовании возврата денег после оплаты и получения товара. Злоумышленник, прикидывающийся владельцем карты, обосновывает это тем, что не давал согласия на оплату.
Разрешена и безопасна ли покупка в магазинах без 3D Secure?
Многие торговые площадки в сети, например, как AliExpress, не поддерживают такую функцию и продают без проблем, еще и спросом пользуются. Банк проведет операцию в любом случае, даже если данные были украдены с помощью вируса и введены мошенником. При покупке товара владельцем карты он и так знает, что покупает он сам. Поэтому ответ положительный, но в любом случае надо полагаться на свой или чужой опыт, если нет своего, и на совсем уж подозрительных сайтах не совершать покупок.
Что делать, если одноразовый код не пришел?
Нажать на кнопку «Отправить код еще раз». Но перед этим убедиться в том, что:
- смартфон включен, связь не заблокирована, тариф сотовой связи проплачен и действует; тарифный план предполагает получение СМС, если пользователь находится за рубежом; пользователь находится в зоне приема сети провайдера; телефон привязан к карте.
Что делать, если происходит ошибка авторизации 3D Secure?
Существует две причины, по которым приходит ошибка авторизации 3D Secure.
После этой ошибки желательно перезайти в браузер и провести платеж снова.
Можно ли отказаться от сервиса 3D Secure?
Данный сервис является обязательным. Многие магазины не работают с картами, на которых не задействована эта функция защиты.
Принимая денежные средства на хранение, банки обязаны гарантировать их безопасность. Одним из способов обеспечить безопасность транзакция является технология 3D Secure. Эта методика была разработана для безопасности электронных платежей. Мы расскажем, что такое 3D Secure на банковской карте, как ее подключить, и с какими ошибками можно столкнуться при отправке платежей.
Содержание
Технология применяется для подтверждения личности клиента. Она основана на XML-протоколе (протоколе расширяемого языка разметки). Название технологии расшифровывается как Three Domain Secure. Это значит, что в процессе обработки данных участвуют 3 домена:
Изначально технология входила в пакет Verified by VISA и была доступна только держателям карт VISA. Сейчас 3DS аутентификация широко применяется платежными системами разных стран. Рассмотрим подробнее, что это такое.
Как происходит 3DS аутентификация
При оформлении заказа в интернет-магазине клиент вводит реквизиты карточки. После введения реквизитов открывается новое окно с логотипом банка-эмитента. В новом окне есть пустое поле, в которое нужно ввести одноразовый код (не путать с CVV2 и CVC2).
Последовательность состоит из 6 цифр, каждая из них генерируется отдельно. Поскольку услугой пользуются миллионы клиентов, последовательности цифр могут совпадать. Но каждый номер действителен для одной транзакции. Номер действует ограниченное время после его генерации.
Методы получения уникального кода:
При ошибке или задержке ввода платеж отклоняется. Система работает при оплате заказов с ПК, смартфонов, планшетов. Некоторые организации автоматически блокируют счета, если цифры введены неверно 3-5 раз подряд.
Видео на тему:
Многоразовый пароль
Некоторые банки выдают клиентам многоразовый пароль для подтверждения операций. Не стоит путать его с PIN Code. PIN используется для работы с банкоматом и оплаты покупок в магазинах. Пароль 3DS применяется для подтверждения онлайн платежей.
Использование многоразового пароля менее надежно, чем генерация одноразовых кодов. Один и тот же пароль злоумышленникам легче подсмотреть (или перехватить с помощью вредоносного ПО).
Как подключить 3D Secure
Технология 3DS аутентификации доступна владельцам дебетовых и кредитных карт VISA, MasterCard, МИР и т.д. Эта услуга предоставляется по умолчанию с 2016 года. Не нужно подключать ее в настройках личного кабинета. Отключить функцию по желанию клиента невозможно. Сбербанк, Тинькофф, ВТБ24 и другие банки подключают услугу автоматически.
Проверить, подключена ли услуга, можно на сайте любого интернет-магазина, где есть логотипы Verified by VISA, MasterCard SecureCode, МИР Accept. Если при оформлении заказа не приходит код, функция не подключена. Так бывает с продуктами непопулярных банков.
В личном кабинете
Вопрос, как подключить 3D Secure, редко бывает актуален. Но если ваш банк не предоставляет функцию по умолчанию, подключить ее можно в личном кабинете или мобильном приложении:
Трехдоменная аутентификация будет подключена к банковскому счету. За генерацию одноразовых кодов не взимается комиссия. Также подключить услугу можно в меню банкомата, в офисе банка, по горячей линии для держателей.
Банковский офис
Для подключения услуги следует прийти в банковское отделение с паспортом. Некоторые банки могут потребовать предъявить саму карточку. В других организациях это не требуется: сведения обо всех открытых счетах есть в базе данных.
Сотрудник организации выдаст форму заявления, которую следует заполнить и подписать. Услуга станет активной при совершении первой покупки в интернет-магазине, который поддерживает 3D Secure.
Меню банкомата
Прежде чем искать нужную функцию в меню банкомата, следует уточнить, поддерживает ли банк эту систему. Получить ответ можно, позвонив на горячую линию. Также эту информацию можно найти на сайте организации.
Если возможность подключения доступна, активировать функцию можно через банкомат. Для этой цели подойдет только банкомат эмитента. Как активировать функцию:
После подтверждения операции услуга будет активирована.
Возможные ошибки при 3D Secure авторизации
| Описание ошибки | Возможные причины | Как исправить ошибку |
| Ошибка аутентификации | Неверно введены реквизиты | Проверьте правильность данных |
| Не поддерживается валюта платежа | Проверьте список доступных валют | |
| Не приходит код | К счету привязан другой номер | Проверьте привязанный номер в личном кабинете на сайте банка |
| Ошибка на этапе генерации и отправки | Повторите попытку через несколько минут | |
| Память телефона заполнена | Удалите старые SMS и повторите попытку | |
| Плохая сотовая связь | Найдите место, где телефон стабильно ловит сеть | |
| Введенный код не срабатывает | Ошибка при вводе данных | Проверьте номер и повторите ввод |
| Истек срок действия | Запросите генерацию нового кода | |
| Не открывается поле для ввода, деньги списывают сразу | Интернет-магазин не поддерживает 3DS |
Что такое Liability Shift (перенос ответственности)
3DS аутентификация не гарантирует полную безопасность счета. Например, если воры завладели и картой, и телефоном, они смогут вводить коды и списывать деньги со счета жертвы. Но если телефон остался при владельце, то использовать карточку будет сложнее. Перехватить отправленные коды можно с помощью вредоносного ПО, установленного на телефон жертвы.
Процедура Liability Shift применяется для переноса ответственности. Банк имеет право оспорить транзакцию при следующих условиях:
Чтобы вернуть деньги по Liability Shift, владелец карты должен обратиться в банк с заявлением и доказать, что он не совершал транзакции. Если банк сочтет требования убедительными, он может обязать интернет-магазин вернуть деньги. Но отменить платеж нельзя, если уникальный код был введен верно (даже если цифры ввел не владелец).
Технология 3DS аутентификации обеспечивает безопасность электронных переводов. Опция по умолчанию доступна держателям карт VISA, MasterCard, МИР и т.д. За использование услуги нет комиссии. При возникновении ошибок при аутентификации следует проверить реквизиты и номер телефона.
Карта не проходит 3ds аутентификацию – почему?
Часто при покупках онлайн жизнь покупателю омрачают разные технические заморочки. Одна из частых ситуаций – сбои в обработке платежей с пластиковых карт, в частности статус “Ваша карта не прошла 3DS-аутентификацию, либо отклонена платежной системой”. Обычно это уведомления выглядит так, хотя у некоторых банков могут быть свои обозначения, как у ВТБ: threedsservertransid.
Например, такая ошибка частенько выскакивает при оплате на Авито.
Рассмотрим возможные причины такого отказа.
3Ds аутентификация – то же самое, что и 3-D Secure
Во-первых, определимся с терминологией. 3Ds аутентификация (она же 3D-secure) это по сути двухфакторная авторизация, двойное действие при подтверждении платежа.
От обычной оплаты в “один клик” 3д-секуре отличает то, что в этапах оплаты появляется еще один шаг – ввод кода на специальной странице вашего банка, который выпустил карту.
3D Secure – это когда при оплате в интернете Вам приходит SMS от Вашего банка, и Вы вводите полученный код в специальном окне.
Код может быть как постоянным, придуманным вами на этапе включения опции 3D-secure в личном кабинете или интернет-банкинге, так и одноразовым, который приходит в СМС или берется из карты кодов банка (всё это зависит от конкретной банковской сети, у разных брендов свои правила на этот счёт).
Данная опция включается при заключении договора обслуживания в банке или самостоятельно клиентом через интернет-банк. Вот как это выглядит в моём кабинете (но у каждого банка структура настроек отличается, и у вас всё может быть по-другому).
Банковские карты без проблем 3DS:
Карта Тинькофф Банк
Карта Альфа-Банк
Карта Банк Открытие
Самых частых причин, по которым карта не проходит и появляется статус “карта не прошла 3D-аутентификацию, либо отклонена платежной системой”, всего три:
Поэтому в момент оплаты пользователь видит незнакомое (не часто используемое для 3ds-secure) окно для ввода пароля, но по привычке или не имея под рукой нужного пароля – еще раз вводит пароль для интернет-банка.
Пароль неверный, не для этого этапа, и происходит отказ в обслуживании пластиковой карты.Решения данной проблемы, исходя из вышеизложенных причин, тоже очевидны:
Если же решение не найдено – стоит копнуть глубже: проверить лимиты карты на выполнение суточных операций по сумме, на полный запрет интернет-транзакций или платежей в иностранных магазинах.
3D Secure, или что скрывают механизмы безопасности онлайн-платежей
Электронная коммерция — одна из самых больших и быстро растущих областей, в связи с чем она привлекает внимание как исследователей информационной безопасности, так и злоумышленников. Поэтому хотелось бы разобраться в некоторых аспектах механизмов безопасности, применяемых при проведении онлайн-платежей.
Один из протоколов, используемых для увеличения безопасности онлайн-платежей — 3D Secure. Это протокол, который был разработан на основе XML в качестве дополнительного уровня безопасности платежей, проводящихся без физического участия карты (card not present payment). VISA создала первую версию этого протокола, но вскоре его начали использовать и другие компании (Master Card, JCB International, AmEx, Мир), впоследствии объединившиеся с VISA в содружество EMV. EMV занимается поддержкой и развитием протокола 3DS.
Почему протокол 3D Secure называется именно так?
Полное название этого протокола — Three Domain Secure.
Первый домен — домен эмитента — это банк, выпустивший используемую карту.
Второй домен — домен эквайера — это банк и продавец, которому выплачиваются деньги.
Третий домен — домен совместимости (interoperability domain) — инфраструктура, используемая при оплате картой (кредитной, дебетовой, предоплаченной или другими типами платежных карт) для поддержки протокола 3D Secure. Он включает в себя Интернет, подключаемый модуль продавца (merchant plug-in), сервер контроля доступа (access control server) и других поставщиков программного обеспечения.
Зачем это нужно?
3D Secure обеспечивает новый уровень безопасности путем предоставления дополнительной информации.
Еще одним важным моментом является «перенос ответственности». Это означает, что в случае мошенничества вся ответственность ложится на банк-эмитент. Этот момент является очень важным для продавца (мерчанта), т.к. до появления 3D Secure урегулированием спорных вопросов приходилось заниматься мерчанту.
Также не стоит забывать о двух важных психологических аспектах: повышении доверия к онлайн-платежам и увеличении конверсии.
Конверсия может быть увеличена за счет обновлений протокола 3DS, направленных на сокращение взаимодействия с пользователем.
Версии протокола 3D Secure
В настоящее время большинство платежных сервисов используют версию 1.0.2 при проведении онлайн CNP-платежей, запрашивающих OTP-код.
Версия 1.0.2 была создана в 2001 году и в ней есть некоторые проблемы.
На данный момент актуальной версией является v2.2, и EMV планирует, что к концу 2020-го года она будет использоваться везде.
Как это устроено?
Это основная схема, необходимая для понимания всего процесса платежа с использованием механизма 3DS.
На этом рисунке мы видим все три домена, используемые в протоколе, а также последовательность сообщений между всеми участниками платежной операции.
Как это работает?
Главное, что необходимо понять, — это то, что при использовании своей карты (виртуальной или реальной) для онлайн-оплаты, вы сталкиваетесь именно с протоколом 3DS. Поэтому сейчас мы проиллюстрируем все этапы совершения онлайн-платежа.
1 — Покупатель уже добавил все необходимые ему товары в корзину и нажал кнопку «Оплатить». В этот момент он попадает на страницу MPI-сервиса, где вводит данные своей карты.
После нажатия кнопки оплаты продавец (MPI) инициализирует старт платежного потока и, согласно протоколу, отправляет CRReq-запрос (Card Range Request). Данный запрос необходим, чтобы найти банк-эмитент вашей карты и получить CRR из домена взаимодействия. Этот запрос нас мало интересует.
После этого MPI отправляет VeReq (Verification Request). Этот запрос отправляется банку-эмитенту для проверки того, что 3DS для данной карты включен и карту можно использовать для оплаты.
VeRes (Verification Response) содержит дополнительную информацию для следующего этапа платежа.
Клиенты не могут видеть эти два типа сообщений.
2 — MPI создает PaReq (Payment Request) — запрос на оплату. Этот запрос отправляется через редирект в браузере клиента.
Итогом отправки PaReq становится отображение запроса на ввод OTP-кода.
3 — Клиент вводит OTP-код и возвращается на сайт продавца. Опять же в процессе этого через редирект от банка-эмитента к MPI передается PaRes (Payment Response), который содержит информацию о статусе проверки.
А поподробнее?
CRReq/CRRes для нас не очень важны. А вот VeReq/VeRes рассмотреть нужно.
В VeReq самым важным параметром является идентификатор сообщения, информация о продавце и PAN карты.
VeRes возвращает message id, который необходим, чтобы сопоставить запрос с этим ответом. А status enrolled показывает, что карта поддерживается.
Однако наиболее важным параметром в данном сообщении является URL-адрес. Этот параметр указывает, где находится ACS сервер эквайера и куда нужно отправить PaReq.
Pareq
Браузер клиента, совершающего оплату, может произвести достаточно много редиректов по различным компонентам, участвующим в совершении платежа. Так, в России есть некоторое количество запросов, обрабатывающихся на стороне Национальной Системы Платежных Карт. Но сегодня нас интересует только традиционный этап, описанный в спецификации протокола. А именно этап передачи PaReq.
Платежный запрос, содержащий PaReq (метод POST), имеет три параметра:
1) MD — данные продавца. Он нужен MPI, чтобы сопоставить PaReq и PaRes одной транзакции;
2) PaReq — параметр этого платежного запроса. Он содержит всю важную информацию о платеже;
3) TermUrl — URL-адрес, на который клиент будет возвращен в конце процесса аутентификации 3D Secure.
Параметры TermURL и MD всегда отражаются в ответе на данный запрос. Поэтому могут встречаться имплементации ACS, уязвимые к атакам типа reflected XSS. В процессе аудита различных систем такие сервера были найдены.
Важный момент №1: ACS сервера обрабатывают все входящие PaReq!
Что входит в параметр PaReq?
Вы можете получить его значение, раскодировав PaReq. Это сделать достаточно легко, потому что PaReq — это Xml-> zlib-> base64-> urlencode. Для упрощения работы с этими запросами был написан плагин для burp.
Теперь мы видим, что из себя на самом деле представляет PaReq, а именно сообщение формата xml. Это сообщение содержит информацию о сумме платежа (purchAmount, amount и currency), некоторую информацию о продавце и MessageId (из VeReq).
При отправке правильно сформированного PaReq (в большинстве случаев вам не нужен полный набор запросов на оплату — требуется отправить лишь PaReq, содержащий параметры правильного типа и длины), мы получим PaRes — ответ на платеж, подобный следующему:
Первая мысль, которая может прийти в голову веб-исследователю, который видит XML-запрос — это попробовать выполнить XXE. И это правильный путь!
Но для начала посмотрим на то, что случится, если отправить некорректно сформированный PaReq. Мы получим ошибку! Вот несколько примеров таких ошибок:
Ошибка может помочь получить дополнительную информацию о версии ACS. Некоторые из них могут также оказаться полезными для получения данных из XXE.
Раскрутим XXE
Рассмотрим следующий пример:
acqBIN, merID, xid, date, purchAmount и currency отражаются в PaRes. Однако во всех реализациях ACS, которые мы нашли, удалось использовать только merID. Остальные параметры проверяются на соответствие типам данных.
Еще один интересный параметр (и наиболее полезный для атаки) — это URL. Этот параметр не отражается, но и не проверяется. Поэтому его можно использовать для эксплуатации XXE.
Вернемся к нашему примеру. В одной из реализаций ACS мы обнаружили, что можем читать короткие файлы, а также получать ответ в PaRes error через параметр merID. Таким образом, используя PaReq из примера выше, мы получали следующий ответ:
Тем не менее в большинстве случаев оставалось только использовать параметр URL для получения DNS или HTTP-запроса к нашему сервису. Другой вектор — это выполнить DOS через XXE-атаку «billion laughs» (проверялось на тестовом сервере).
Где это можно найти?
В ходе нашего исследования мы обнаружили несколько распространенных URL-адресов:
И распространенные имена поддоменов:
Впрочем, иногда вы можете найти и другие интересные пути.
Если вы хотите найти что-то новое, используйте proxy interceptor и записывайте процесс совершения платежей для интересующей вас платежной системы.
3D Secure v 2. *
Как мы писали ранее, в 3DS v1.0 есть некоторые проблемы.
Основная проблема в том, что покупатель может использовать множество разных типов устройств. Планшет, мобильный телефон, умные часы, умный чайник и т.д. Но сайт ACS не всегда разработан для взаимодействия со всеми типами устройств.
Для этого в 3DS 2.0 предусмотрели 3DS SDK.
Другая проблема состоит в том, что новый тип защиты требует дополнительного взаимодействия с клиентом. И этот момент влияет на конверсию. Решением проблемы конверсии стала возможность использования механизма управления рисками, который позволяет не заставлять пользователя вводить дополнительные секретные данные, если банк обладает достаточным количеством информации, подтверждающей личность клиента.
Следующий важный момент заключается в том, что технологии аутентификации развиваются. Соответственно, 3DS могла бы использовать не только OTP. Поэтому v2 задумывалась с возможностью расширения поддержки различных механизмов аутентификации.
Интересный факт про v1.0. Люди некоторых стран не доверяли этому протоколу, потому что видели редирект и думали, что это мошенничество!
Этот психологический момент послужил причиной изменения спецификации второй версии протокола для сокрытия момента перенаправления.
Как работает 3D Secure v2?
Начало потока платежей аналогично предыдущей версии. Клиент должен указать данные своей карты.
Первый и самый важный момент — это Risk Engine. В версии 1.0.2 клиенты всегда должны вводить второй фактор, например OTP. Однако в версии 2. * клиент может никогда не увидеть этот дополнительный защищенный запрос.
Особенности работы v2
Если вы посмотрите на схему потока платежей, вы увидите, что она похожа на предыдущую, но во 2-й версии больше этапов. Это происходит за счет добавления дополнительных аутентификационных запросов и механизма Risck Engine, который может совершать как один дополнительный запрос (при платеже через браузер), так и множество (используется 3DS SDK).
Условно, 2-ю версию можно разделить на два блока. Красный, где пользователь непосредственно влияет на передаваемую информацию, и желтый, где система сама собирает и передает информацию о пользователе.
А поподробнее?
AReq (base64url) расскажет все о вас и об устройстве, с которого совершена покупка.
Если вы задумаетесь о том, какой информацией о вас располагают рекламные агентства, то данные AReq вас не удивят. Но если вам кажется, что это плохо, рассмотрите следующий момент: банки знают все о ваших покупках и о вас. С этой точки зрения, некоторая дополнительная информация не так уж и плоха)
Это сообщение необходимо для работы системы управления рисками и упрощения покупок.
Если этой информации оказалось недостаточно, Risk Engine сперва попытается получить дополнительную информацию, и именно в этот момент клиент может получить OTP-запрос.
Что контролирует пользователь?
CReq (base64url json) — challenge request — сообщение, отправляемое браузером пользователя, в случае если ARes вернет сообщение о необходимости провести Challenge Flow.
Если платежный процесс использует 3D Secure SDK, это сообщение будет зашифровано (JWE).
В CReq вы можете увидеть следующие поля:
К сожалению, нам пока не удалось провести достаточно подробное исследование 2-й версии протокола 3DS, поэтому сложно сказать, какие уязвимости встречаются чаще. Вы можете стать первым, кто опубликует исследование на данную тему.
Подведем итоги
Проблемы (найденные и возможные)
На что смотреть в v1
На что смотреть в v2
Тем, кто подумывает обратить свой взгляд на платежные системы, я бы посоветовал остановиться еще и на сервисах, предоставляющих 3DS как SaaS. Там может оказаться еще достаточно много вещей, которые помогут вам понять, как устроен мир онлайн-платежей.

















