что значит пароль 3d secure
Что такое 3-D Secure и как она защищает твою банковскую карту
Простота оплаты приложений, товаров и услуг сегодня позволяет нам расставаться с деньгами быстрее чем когда либо. Уважающий себя сервис сегодня должен иметь способ мгновенной оплаты своих услуг, иначе потребители уйдут к конкурентам.
К сожалению, такие технологии порождают новые возможности для мошенников. Доверия к приложениям и сайтам с каждым днем все меньше. Ты же знаешь, как могут увести данные твоей банковской карты.
Самое время вспомнить о проверенном временем способе защиты.
У клиента банка могут украсть карту или телефон, но вероятность, что в руках мошенников окажется и то и другое, гораздо меньше. Добавим к этому защиту на самом устройстве в виде пароля или биометрического сенсора и получаем довольно хороший уровень безопасности.
Как это работает
Изначально технология 3-D Secure была разработана для платежной системы Visa. Позже подобным протоколом обзавелись системы Masterсard, JCB International, AmEx, «Мир» (НСПК) и другие.
Сейчас практически все банки поддерживают 3-D Secure, но не всегда активируют защиту для клиентов по умолчанию.
Принцип работы технологии прост и знаком большинству из нас. При попытке совершения платежа от покупателя требуют не только данные карты, но и подтверждающий код, который приходит по СМС на привязанный мобильный номер.
Реже вместо СМС могут использоваться постоянные или одноразовые коды, которые известны лишь держателю карты.
Для ввода таких кодов всегда используется защищенный интерфейс банковской системы, что само по себе гарантирует безопасность оплаты.
Преимущества и недостатки
Такая двухфакторная авторизация призвана повысить защиту средств клиента, но имеет как положительные, так и отрицательные стороны.
Дополнительная защита никогда не бывает лишней, при краже карты или телефона снять деньги со счета практически невозможно. Даже если в руках злоумышленника окажется и то и другое – потребуется взломать еще и защиту смартфона.
3-D Secure снижает оперативность покупателя. СМС с паролем приходят не так быстро, как хотелось бы. Оператор может и вовсе «потерять» нужное сообщение, а если находишься в зоне неуверенного приема, проклинаешь эту защиту через пять минут.
Как еще можно защититься
Система 3-D Secure не гарантирует 100% защиту средств на карте. Для большей надежности следует придерживаться определенных правил:
Некоторые банки дополнительно предлагают застраховаться от потери денег с карты. За дополнительный процент или фиксированный ежемесячный платеж можно обезопасить себя от мошенников.
Что такое 3D Secure
В рамках обслуживания банковских карт эмитенты обязаны гарантировать сохранность денежных средств клиентов. На это банк тратит по-настоящему большие деньги. С развитием современных технологий разрабатываются новые инструменты безопасности. Один из них — 3D Secure: что это такое и как работает, расскажет портал Бробанк.ру.
Что такое технология 3D Secure
3D Secure — это разновидность XML-протокола, который используется в виде дополнительного уровня безопасности при совершении операций с банковскими картами в интернете. Протокол предусматривает проведение двухфакторной аутентификации клиента до завершения транзакции.
Впервые 3D Secure использовалась компанией VISA в рамках пакета услуг Verifled by VISA (VBV). Основная цель работы с протоколом — повышение уровня безопасности банковских карт при совершении операций в онлайне. Протокол применяется по кредитным и дебетовым картам.
Позже, пакет услуг стали применять все крупнейшие мировые платежные системы. Подключение производилось компаниями в следующем порядке:
Национальная система платежных карт МИР подключилась к 3D Secure в 2016 году. Сейчас все банковские карты выпускаются с подключенным по умолчанию пакетом. Отключить его нельзя — услуга оказывается бесплатно, вне зависимости от наименования банковской карты.
Протокол 3D Secure не следует рассматривать как 100% гарантию сохранности средств на счете. Он всего лишь предусматривает дополнительный шаг со стороны клиента при совершении CNP-операций (card not present) — когда не предъявляется карта.
Практика показала, что разовый код может быть перехвачен мошенниками: достаточно подвергнуть устройство воздействию вируса или вредоносного программного обеспечения. Технология снижает вероятность применения фишинга, но не исключает ее полностью.
Расшифровка термина
Инструмент получил такое наименование по причине одновременной работы трех доменов сразу (отсюда и название 3-D). Первый — домен продавца и кредитной организации, в которую перечисляются деньги. Второй — домен эмитента, выпустившего банковскую карту. Третий — домен совместимости (Interoperability Domain), предоставляемый платежной системой для поддержки работы протокола безопасности 3D Secure.
Как работает 3D Secure
При совершении операции в интернете, держатель карты, поддерживающей технологию 3D Secure проходит аутентификацию в два этапа. Протокол не нужно путать с кодами безопасности CVV2 и CVC2. Использование протокола производится следующим образом:
Если код указывается неверно, эмитент блокирует проведение транзакции. Как правило, разовый код 3D Secure состоит из шести случайных чисел, которые генерируются отдельно по каждой операции. Протокол работает на телефонах, смартфонах, персональных компьютерах, и все остальных устройствах.
У некоторых банков действует правило, согласно которому 3-5 раз неверно введенный код приводит к автоматической блокировке банковской карты. Таким образом, эмитент исключает доступ к карте со стороны третьих лиц.
Числовой код отправляется в виде СМС-сообщения, либо другим способом. Отдельные кредитные организации используют в этих целях push-уведомления. Для совершения операции необходимо иметь при себе телефон, привязанный к карте. За отправку кода плата не взимается.
3D Secure с многоразовым паролем
По некоторым картам технология 3D Secure используется виде многоразового пароля. Его клиент получает при активации карты. Этот вариант намного экономичнее, чем отправка числового кода, но уровень безопасности при его использовании еще ниже.
По стандартной схеме мошенникам потребуется перехватить одноразовый числовой код, либо завладеть телефоном держателя карты. Намного проще получать доступ к счету, когда по всем транзакциям используется один и тот же пароль.
Достаточно узнать этот самый пароль, чтобы по карте совершать практически любые операции. В этом виде технология используется небольшими банками, продукты и услуги которых не пользуются хорошим спросом у потребителей. Причина заключается в дороговизне подключения XML-протокола.
Проблемы с безопасностью при наличии 3D Secure
Часть держателей банковских карт совершенно ошибочно полагают, что наличие технологии 3D Secure полностью исключает несанкционированный доступ к счету. Подобное заблуждение часто приводит к непоправимым последствиям.
Дело в том, что некоторые интернет-магазины и прочие торговые площадки не поддерживают данную технологию безопасности. Покупки на этих ресурсах совершаются без аутентификации клиента.
По такому сценарию любой человек, знающий номер карты, инициалы держателя, срок действия и защитный код, может сделать покупку по карте в обход разрешения со стороны законного держателя. И подобных случаев встречается масса. Наличие 3D Secure никак не влияет на такие проблемы. За год с банковских карт пропадает огромная сумма, и вопрос сохранности средств пока для банков остается открытым.
Узнать, поддерживает ли интернет-магазин технологию безопасности можно на его титульной странице. Здесь должны быть отображены логотипы Mastercard Secure Code, Verifled by VISA, МИР Accept (для пользователей из Российской Федерации). Если соответствующих обозначений на сайте интернет-магазина нет, значит, покупки здесь производятся без дополнительной аутентификации клиентов.
Что такое Liability Shift
Использование 3D Secure по карте не исключает доступ к счету со стороны третьих лиц. При утрате денежных средств кто-то должен понести ответственность. Клиенты, в первую очередь, возлагает всю вину на банк, который может применить Liability Shift — перенос ответственности. Эта процедура подразумевает, что банк может оспорить транзакцию, и вернуть деньги на счет клиента. Для этого необходимо:
Если мерчант (торгово-сервисное предприятие) не проводит дополнительную аутентификацию покупателей, и кто-то воспользуется ворованной картой, то банк-эмитент может перенести ответственность на интернет-магазин по требованиям, которые ему (банку) предъявляет клиент.
Причина этого: банк позаботился о безопасности счетов своих клиентов, а магазин — нет. Следовательно, конечная вина может быть возложена на мерчанта. Но для этого держатель карты должен предпринять первичные действия — обратиться с требованиями о возврате суммы к банку-эмитенту, а также доказать, что операция совершена несанкционированно.
Как подключить и отключить 3D Secure на карте
3-DS в большинстве случаев подключается по умолчанию. Клиент для этого не совершает никаких действий. После активации карты технология начинает действовать в автоматическом режиме. При этом в некоторых банках подключать опцию необходимо вручную. Делается следующими способами:
К примеру, у Сбербанка, Тинькофф Банка, Альфа-Банка и других крупных кредитных организаций технология подключена по умолчанию. Клиенту для ее активации никаких действий совершать не нужно. У Промсвязьбанка и ВТБ услуга подключается клиентом самостоятельно.
Отключение опции в ряде случаев не предусматривается. У Сбербанка ранее можно было подключать и отключать технологию безопасности в Сбербанк Онлайн. Сейчас, по современным картам, деактивация по желанию клиента не производится.
Как узнать, есть ли на карте 3D Secure
Самый простой и верный способ — изучение описания к продукту. Специалисты сервиса Brobank.ru составляют экспертные описания к банковским картам. Цель этой работы — дать пользователю полную картину о предложении, за которым он собирается обратиться в банк. Если карта оформлена после 2016 года, то технология безопасности, скорее всего, подключена по умолчанию.
Второй вариант — попытаться совершить какую-нибудь операцию в интернет-магазине, в котором используется двухэтапная аутентификация покупателей. Найти такой магазин не составит труда — крупнейшие площадки уже продолжительное время работают с повышенными мерами безопасности. После того, как подходящий магазин будет найден, необходимо совершить следующие действия:
Завершать операцию покупкой товара нет необходимости. Если на телефон придет числовой код, который система предложит ввести в отдельное поле, значит, на карте полноценно работает технология безопасности 3D 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. Там может оказаться еще достаточно много вещей, которые помогут вам понять, как устроен мир онлайн-платежей.