Кибербезопасность

Как один скрипт отслеживания перенаправлял криптовалютные платежи по всей сети

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

Рекламные технологии — это темная материя современного интернета. Они невидимы для обычного пользователя, но при этом оказывают огромное влияние на то, как данные перемещаются по сети. Когда этот невидимый слой дает сбой, последствия мгновенно распространяются на тысячи не связанных между собой веб-сайтов. 27 июля 2026 года компания Adform обнаружила, что один из ее основных скриптов отслеживания был использован против пользователей. Компрометация цепочки поставок позволила злоумышленникам внедрить вредоносный код в широко используемый JavaScript-файл, превратив его в инструмент, который в режиме реального времени подменяет адреса криптовалютных кошельков.

Я провел утро, анализируя захваченные образцы вредоносного скрипта. Компрометация затронула trackpoint-async.js — файл, обслуживаемый инфраструктурой Adform. Поскольку этот скрипт интегрирован в заголовки примерно 1800 сайтов клиентов для обеспечения рекламной аналитики, злоумышленникам не нужно было взламывать каждую из этих компаний по отдельности. Они просто «отравили колодец». Как только измененный скрипт загружался в браузере посетителя, он начинал отслеживать объектную модель документа (DOM) на предмет специфических паттернов, похожих на адреса Bitcoin, Ethereum или Tron.

Невидимый риск сторонних зависимостей

Современная веб-архитектура опирается на безоговорочное доверие к сторонним ресурсам. Когда разработчик добавляет строку кода для вызова скрипта от глобального провайдера, он предоставляет этому провайдеру значительный контроль над пользовательским опытом. Этот инцидент является хрестоматийным примером атаки на цепочку поставок, где эксплуатируются доверительные отношения. Рассматриваемый скрипт, trackpoint-async.js, предназначен для запуска на всем сайте или в его определенных разделах. В данном случае злоумышленники добавили два вредоносных блока кода в конец легитимной библиотеки.

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

Анатомия компрометации trackpoint

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

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

Буфер обмена — зона конфликта

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

С точки зрения конечного пользователя, атака проходит почти полностью незаметно. Нет никаких всплывающих окон, замедлений или очевидных признаков заражения системы. Вредоносное ПО не пытается установить программное обеспечение или закрепиться на жестком диске. Оно существует только в оперативной памяти вкладки браузера. Как только пользователь закрывает затронутую страницу, вредоносный процесс прекращается. Однако ущерб наносится за те секунды, которые требуются для нажатия кнопки «отправить». Одного измененного адреса в момент оплаты достаточно, чтобы перенаправить тысячи долларов способом, который функционально необратим в децентрализованном блокчейне.

Устранение противоречий в хронологии

Существует расхождение между официальным отчетом об инциденте и независимыми наблюдениями. Adform называет 27 июля датой инцидента и заявляет, что код был оперативно удален. Кевин Бомонт сообщил, что наблюдал вредоносную активность через Adform как минимум за неделю до этой даты. Этот временной разрыв является серьезной проблемой для оценки рисков. Если скрипт был активен семь дней вместо одного, количество пострадавших посетителей увеличивается на порядки. Adform обслуживает около 1,5 миллиарда объявлений ежедневно в 180 странах. Даже если лишь малая часть этих объявлений содержала вредоносную нагрузку, потенциальный пул жертв огромен.

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

Оценка возможностей эксфильтрации данных

Одним из наиболее тревожных аспектов кода является его связь с внешним сервером. Скрипт пытается отправить HTTP-запрос на IP-адрес (84.32.102[.]230) при загрузке страницы. Этот запрос включает имя хоста и конкретный путь страницы, которую в данный момент просматривает посетитель. Adform заявила, что не обнаружила доказательств того, что IP-адреса посетителей или история посещений попали к злоумышленникам. Однако в уведомлении об инциденте признается, что такая передача была технически возможна, исходя из структуры кода.

По моему опыту анализа APT-угроз и взломов цепочек поставок, злоумышленники редко включают возможности эксфильтрации данных без намерения их использовать. Данные об имени хоста и пути предоставляют операторам живую карту того, какие сайты успешно распространяют их вредоносное ПО. Это помогает им расставлять приоритеты и измерять эффективность компрометации. Говоря наперед, мы должны исходить из того, что любые данные, к которым скрипт мог получить доступ, потенциально были записаны командно-контрольным сервером злоумышленника.

Меры защиты для современного веба

Этот инцидент служит резким напоминанием о том, что сторонние скрипты являются основным вектором системного риска. Чтобы защититься от этого, организации должны перейти к модели гранулярной безопасности. Использование хешей целостности субресурсов (Subresource Integrity, SRI) является основной защитой. SRI позволяет браузеру убедиться, что полученный скрипт не был изменен. Если хеш файла на сервере не совпадает с хешем, определенным в коде веб-сайта, браузер отказывается его выполнять. Если бы клиенты Adform внедрили SRI для trackpoint-async.js, вредоносная версия была бы заблокирована автоматически.

Другой важной защитой является политика безопасности контента (Content Security Policy, CSP). Грамотно настроенная CSP может ограничить домены, с которых могут загружаться скрипты, и запретить им отправку данных на несанкционированные внешние IP-адреса. Если бы действовала CSP, явно блокирующая соединения с IP-адресом злоумышленника, попытка эксфильтрации данных провалилась бы. Безопасность — это не один инструмент, а серия перекрывающихся слоев. Когда один слой скомпрометирован, другие должны быть готовы подстраховать его.

В конечном счете, ответственность за проверку транзакции остается на пользователе. Самая эффективная защита в данном конкретном случае — самая простая: всегда проверяйте адрес назначения через второй канал или перепроверяйте каждый символ перед отправкой. В мире, где сам код, который вы используете для просмотра веб-страниц, может обернуться против вас, здоровая паранойя является функциональным требованием для цифровой жизни.

Основные выводы для ИТ-руководителей

  • Проведите аудит всех сторонних скриптов, запущенных в ваших рабочих средах, и удалите те, которые не являются критически важными.
  • Внедрите хеши целостности субресурсов (SRI) для всех внешних зависимостей JavaScript, чтобы предотвратить выполнение несанкционированного кода.
  • Усильте политику безопасности контента (CSP), чтобы ограничить выполнение скриптов и эксфильтрацию данных только известными доверенными доменами.
  • Применяйте подход нулевого доверия (Zero Trust) к ресурсам на стороне клиента, предполагая, что любая внешняя зависимость может быть скомпрометирована в источнике.

Источники

  • Уведомление об инциденте Adform (июль 2026 г.)
  • MITRE ATT&CK Framework: Supply Chain Compromise (T1195)
  • NIST Special Publication 800-161: Cybersecurity Supply Chain Risk Management Practices for Systems and Organizations

Отказ от ответственности: Данная статья предназначена исключительно для информационных и образовательных целей и не заменяет профессиональный аудит кибербезопасности или услуги по реагированию на инциденты.

bg
bg
bg

До встречи на другой стороне.

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

/ Создать бесплатный аккаунт