Киберпреступники активно эксплуатируют неочевидные свойства формата Scalable Vector Graphics (SVG) для проведения изощренных фишинговых атак, обходящих стандартные системы безопасности. Этот формат, широко используемый для создания масштабируемых изображений на веб-сайтах, стал новым вектором для распространения вредоносных скриптов. Эксперты предупреждают о волне атак, где SVG-файлы служат троянским конем для перенаправления жертв на фальшивые страницы ввода учетных данных.
Описание
Техническая основа угрозы
Ключевая уязвимость кроется в фундаментальном отличии SVG от растровых форматов вроде JPEG или PNG. Файлы SVG основаны на XML-коде, описывающем векторные пути, фигуры и текст, что обеспечивает идеальное масштабирование. Однако эта особенность позволяет злоумышленникам внедрять в файлы исполняемый JavaScript-код. При открытии в браузере - стандартном действии для SVG в Windows - скрипт активируется автоматически. Это превращает безобидное, на первый взгляд, изображение в инструмент для скрытого редиректа.
Тактика доставки и обхода защиты
Атаки распространяются преимущественно через два канала. Злоумышленники рассылают целевые письма со вложенными SVG-файлами, используя методы spear-phishing: подделывают адреса отправителей и создают правдоподобные темы вроде "Напоминание о запланированном мероприятии 7212025.msg". Альтернативный метод - распространение ссылок на SVG-файлы через облачные хранилища (Dropbox, Google Drive, OneDrive), что позволяет обходить почтовые фильтры, блокирующие вложения. Файлы маскируются под безвредные документы: "Предстоящая встреча.svg" или "Ваш список дел.svg".
Механизм атаки: от SVG к краже данных
После открытия файла внедренный скрипт мгновенно перенаправляет жертву на фишинговый ресурс. Технический анализ образцов показывает сложные методы обфускации кода. Злоумышленники помещают вредоносную логику в секцию CDATA внутри SVG-тега "<script>", скрывая ее за шестнадцатеричной кодировкой. Декодирование выполняется с помощью XOR-ключа непосредственно при открытии файла. Расшифрованный JavaScript-код перенаправляет жертву через конструкцию "window.location = 'javascript:' + v;" на контролируемый злоумышленниками URL.
Многоуровневая маскировка фишинговых ресурсов
Анализ одного из образцов выявил цепочку перенаправления на адрес "hxxps://hju[.]yxfbynit[.]es/koRfAEHVFeQZ!bM9". Этот ресурс использует дополнительный уровень защиты: страницу с CAPTCHA от Cloudflare, что создает видимость легитимности и усложняет автоматический анализ. После прохождения проверки "я не робот" пользователь попадает на фишинговую страницу, имитирующую интерфейс входа в Office 365. Форма мгновенно передает введенные логин и пароль злоумышленникам, которые могут их валидировать в реальном времени.
Рекомендации по защите
Для противодействия этой тактике организациям требуется комплексный подход. Необходимо внедрить глубокий контент-анализ SVG-файлов в почтовых системах и шлюзах безопасности, проверяя не только структуру, но и потенциально опасные скрипты. Важно отключить автоматическое открытие SVG в браузерах по умолчанию, особенно для вложений из непроверенных источников. Критически значимым остается обучение сотрудников: пользователи должны понимать риски открытия неожиданных векторных изображений, даже если они выглядят безобидными. Одновременно следует мониторить сетевую активность на предмет аномальных редиректов и выполнения скриптов из файловых вложений.
Эксперты подчеркивают, что эта тенденция отражает общий тренд на использование легитимных технологий в злонамеренных целях. Формат SVG, являясь стандартом веб-разработки, редко блокируется корпоративными системами и вызывает меньше подозрений у пользователей по сравнению с исполняемыми файлами. Растущая частота подобных инцидентов требует пересмотра политик безопасности в отношении векторной графики и усиления многофакторной аутентификации для критических сервисов.
Индикаторы компрометации
MD5
- 2ecce89fa1e5de9f94d038744fc34219
- 4aea855cde4c963016ed36566ae113b7
- 6b51979ffae37fa27f0ed13e2bbcf37e
- 84ca41529259a2cea825403363074538
- c78a99a4e6c04ae3c8d49c8351818090
- f68e333c9310af3503942e066f8c9ed1