Тысячи карт в Европе заблокированы из-за уязвимости в платежной системе

Тысячи карт в Европе заблокированы из-за уязвимости в платежной системе

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



Все началось неделю назад после того, как государственный румынский банк CEC Bank заблокировал ~17,000 карт, чтобы обезопасить своих клиентов от бреши в системе безопасности одной из европейских платежных систем VISA. Вскоре последовала реакция и других банков. Румынский филиал банка ING Bank также подтвердил блокировку скомпрометированных карт, однако не сообщил, какое количество карт было заблокировано. Банк сообщил о блокировке только небольшого количества карт, уверив, что пристально следит за ситуацией, сообщает securelist.com.

Спустя несколько дней сербские банки также начали блокировать тысячи карт в целях безопасности. Raiffeisen Bank, Komercijalna и Societe Generale подтверждают, что были проинформированы VISA о компрометации карт некоторых клиентов. Ситуация очень напоминает то, что произошло в Румынии

Слухи указывают на то, что источником бреши является европейский филиал поставщика услуг электронных платежей Euronet Worlwide. Эта информация появилась в различных румынских деловых СМИ, и, несмотря на отсутствие официальных подтверждений, она могла бы объяснить, почему пострадали клиенты различных банков в разных странах.

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

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

Чтобы обезопасить себя от мошенничества с кредитными картами, следуйте трем основным правилам:
Как можно чаще просматривайте выписки с вашего банковского счета. Удостоверьтесь, что все указанные платежи проведены именно вами. Если вы подозреваете, что была проведена мошенническая транзакция, как можно скорее свяжитесь с вашим банком.
Подключите активацию SMS-умедомлений, если такая услуга предлагается вашим банком. Некоторые банки предлагают ее бесплатно, другие — за плату. В любом случае, она того стоит — вы сможете получать мгновенные отчеты о платежах с использованием ваших карт.
Храните ваши основные сбережения на счете без карты. Возможно при этом перевод денег с одного счета на другой еженедельно или ежемесячно покажется вам неудобным, однако это поможет вам сберечь нервы в случае компрометации вашей карты.

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

Этот механизм, пришедший на смену webRequest API, позволяет расширениям сообщать браузеру, что следует изменить или заблокировать на загружаемой странице (заголовки, реклама, трекеры).

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

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

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

RSS: Новости на портале Anti-Malware.ru