Как искусственный интеллект меняет тактику фишинга: генерация JavaScript в реальном времени через LLM‑сервисы
Как искусственный интеллект меняет тактику фишинга: генерация JavaScript в реальном времени через LLM‑сервисы
В недавнем исследовании Unit 42 описан новый вектор атак, при котором зло‑злоумышленники используют крупные языковые модели (LLM) для создания вредоносного JavaScript‑кода непосредственно в браузере жертвы. Вместо того чтобы хранить готовый скрипт на сервере, атакующий отправляет запрос к облачному LLM‑сервису, получает сгенерированный код и сразу же исполняет его в контексте веб‑страницы. Такой подход позволяет динамически подстраиваться под защитные механизмы и обходить традиционные статические фильтры.
Что именно происходит?
- Инициация страницы – пользователь переходит на скомпрометированный или поддельный сайт.
- Вызов LLM – скрипт на странице формирует запрос к публичному API крупного провайдера LLM (например, OpenAI, Anthropic) с описанием требуемой задачи: «создай JavaScript, который подделывает форму входа и отправит данные на указанный сервер».
- Получение кода – LLM возвращает готовый JavaScript‑фрагмент, который сразу же вставляется в DOM и начинает выполнять свои функции.
- Фишинг в реальном времени – сгенерированный скрипт может подстроиться под текущий контент, менять внешний вид формы, использовать актуальные стили сайта и даже адаптироваться к обнаруженным защитным механизмам (Content‑Security‑Policy, анти‑боты).
Таким образом, злоумышленник получает возможность «собирать» вредоносный код «на лету», минимизируя следы своей активности и усложняя задачу обнаружения.
Почему это важно для управления внешней поверхностью атаки
- Динамичность – традиционные решения по сканированию внешних ресурсов (например, веб‑сканеры, WAF) в основном опираются на статический анализ кода, который теперь может отсутствовать в момент сканирования.
- Обход сигнатур – генерируемый LLM‑код меняется каждый раз, что делает невозможным построение эффективных сигнатурных правил.
- Расширение атакующего арсенала – использование публичных AI‑сервисов позволяет злоумышленникам без глубоких программных навыков создавать сложные скрипты, тем самым снижая барьер входа.
- Повышенный риск для бренда – фишинговые страницы, выглядящие «настоящими», могут быстро менять внешний вид, что затрудняет реагирование и повышает вероятность компрометации учетных данных.
Для организаций, которые активно управляют своей внешней атакующей поверхностью (EASM), такие атаки требуют пересмотра методов мониторинга и реагирования.
Практические рекомендации для команд безопасности
-
Контроль исходящего трафика к LLM‑провайдерам
- Внедрите правила firewall/UTM, ограничивающие обращения к публичным AI‑API только из доверенных сервисов.
- Используйте списки разрешенных доменов и подпишитесь на обновления провайдеров о новых эндпоинтах.
-
Усиление политик Content‑Security‑Policy (CSP)
- Запретите
script-src 'unsafe-inline'иscript-src https://*без явного указания доверенных источников. - Добавьте директиву
script-src-elemиscript-src-attr, ограничивая возможность динамического внедрения кода.
- Запретите
-
Мониторинг аномалий в DOM
- Разверните решения, отслеживающие изменения DOM в реальном времени (например, браузерные агенты, EDR‑модули).
- Настройте алерты на внезапные вставки
<script>илиeval()без предварительного наличия в исходном HTML.
-
Проверка запросов к LLM‑сервисам
- Логируйте все HTTP‑запросы к известным AI‑API, анализируя их payload на предмет генерации кода.
- Применяйте DLP‑политику, блокирующую передачу конфиденциальных данных в запросах к внешним AI‑моделям.
-
Тестирование и имитация атак
- Включите сценарии с динамической генерацией скриптов в программы Red‑Team и Purple‑Team упражнений.
- Оцените эффективность текущих WAF‑правил и средств защиты от фишинга при такой динамике.
-
Обучение пользователей
- Проводите регулярные тренинги, подчеркивая, что даже «новенькие» фишинговые страницы могут выглядеть полностью легитимно.
- Поощряйте использование менеджеров паролей и двухфакторной аутентификации, снижая ценность украденных учетных данных.
-
Сотрудничество с провайдерами AI
- При обнаружении злоупотребления их сервисами сообщайте о случаях в службу поддержки провайдера.
- Следите за их политиками использования и рекомендациями по предотвращению генерации вредоносного кода.
Что сделать прямо сейчас?
- Проверьте текущие CSP‑правила и устраните любые разрешения на
unsafe-inlineиunsafe-eval. - Внедрите фильтрацию исходящего трафика к известным LLM‑эндпоинтам и настройте логирование.
- Добавьте в список мониторинга аномальные изменения DOM и запросы к AI‑API.
- Запланируйте внутреннее упражнение по имитации динамического фишинга, чтобы оценить готовность ваших защитных средств.
Принятие этих мер поможет сократить поверхность, открывающуюся перед атаками, использующими генерацию кода в реальном времени, и повысит устойчивость организации к новым, AI‑подкреплённым угрозам.
