Перейти к основному содержимому

Вредоносное ПО, которое само выбирает следующий шаг, ломает сигнатурную защиту

Когда инструменты вторжения используют набор моделей для выбора следующего действия, обнаружение должно сместиться с артефактов на поведение — и агентные платформы наследуют последствия.

Flat lay of wooden letter blocks spelling 'Next Steps', inspiring progress and motivation.

Что меняется, когда атакующий рассуждает

Сигнатурное обнаружение предполагает, что вредоносный код и последовательности команд достаточно стабильны, чтобы быть зафиксированными как артефакты: хеши файлов, байтовые шаблоны, известные строки команд. Это предположение верно, когда инструмент вторжения выполняет фиксированный скрипт. Оно перестаёт работать, когда инструмент выбирает следующее действие из набора моделей во время выполнения.

В такой системе полезная нагрузка — это не единый артефакт, а политика над действиями. Каждое выполнение может порождать разную последовательность: здесь чтение файла, там вызов API, в другом месте небольшая передача. Набор не изобретает новые примитивы; он выбирает среди выглядящих легитимно. В результате статические сигнатуры и сопоставление по хешу быстро теряют ценность, потому что наблюдаемый вывод — это распределение, а не фиксированная строка. Сообщения о вредоносном ПО, интегрирующем языковые модели для адаптации поведения, иллюстрируют направление движения [1].

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

Поведенческое обнаружение для трафика агентной формы

Защитный ответ — строить базовую линию поведения, а не артефактов. Для любой идентичности — пользователя, сервисной учётной записи или агента — релевантные сигналы — это последовательность и разветвление вызовов инструментов, а не только объём трафика.

Vibrant abstract image featuring colorful neon light trails with motion blur.

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

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

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

Честный компромисс: поведенческие базовые линии требуют периода прогрева и дают ложные срабатывания, когда легитимная работа меняется. Новое развёртывание, миграция или легитимный выпуск агента будут выглядеть как отклонение. Команды должны решить, какую толерантность допустить, и эта толерантность — ровно то пространство, которое использует адаптивный нарушитель. Не существует порога, устраняющего одновременно и ложные срабатывания, и уклонение; есть только выбор того, какой режим отказа приемлем.

Последствия для агентных платформ

Агентные платформы напрямую наследуют эту проблему. Собственный профиль использования инструментов агентом — последовательность чтений файлов, вызовов API и небольших передач — неотличим от скомпрометированного, если идентичность и намерение не связаны в момент вызова. Платформа не может определить, был ли вызов сделан потому, что агент так

Colorful financial graph lines displayed on a black screen showing market data and trends.

Первое следствие: песочница и политика передачи наружу должны обеспечиваться средой выполнения, а не запрашиваться в промпте. Инструкция в промпте — это предложение; политика среды выполнения — это ограничение. Если агента можно убедить игнорировать инструкцию, инструкция никогда не была контролем. Среда выполнения должна обеспечивать то, что агенту разрешено делать, независимо от того, о чём его попросили.

Второе следствие: логирование должно фиксировать решение, а не только действие. Журнал, записывающий «прочитан файл X», недостаточен. Журнал, записывающий «прочитан файл X, потому что планировщик выбрал действие A при контексте C в рамках политики P», позволяет проверяющему восстановить, почему вызов был разрешён. Это разница между аудиторским следом и списком событий.

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

Ещё один компромисс: связывание намерения в момент вызова добавляет задержку и сложность. Каждый вызов теперь требует шага проверки и оценки политики. Для высокопроизводительных агентных систем это может быть значительной стоимостью. Альтернатива — доверять собственному описанию намерения агентом — дешевле, но не обеспечивает границы безопасности. Команды должны выбрать, где разместить границу, и этот выбор определяет, до чего может добраться нарушитель.

Что делать дальше

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

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

ПоделитьсяXLinkedInПостоянная ссылка4 мин чтения

Связанное чтение

На какие вопросы это отвечает

Why do static signatures fail against model-driven malware?

Because the payload and command sequence vary per execution. The tool selects among legitimate-looking primitives at runtime, so there is no stable artefact to hash or match.

What should be baselined for behavioural detection?

The sequence and fan-out of tool calls per identity, not just traffic volume. Unusual combinations of read scope and egress destination are a high-value signal.

Why must sandboxing be enforced by the runtime?

A prompt instruction is a suggestion; a runtime policy is a constraint. If the agent can be persuaded to ignore the instruction, it was never a control.

What is the trade-off of binding intent at call time?

It adds latency and complexity because every call requires verification and policy evaluation. The alternative — trusting the agent's own description — is cheaper but provides no security boundary.