WordPress остаётся самой популярной CMS, и атаки на неё не прекращаются. Zero-day уязвимости особенно опасны: сигнатурные WAF и антивирусы бессильны, пока не появится патч. Однако атакующий оставляет следы в логах доступа — временные паттерны запросов к REST API и попытки обхода nonce-защиты. Нейросетевая детекция аномалий позволяет выявить эти следы и реконструировать цепочку эксплуатации до нанесения ущерба.
Сигнатурные методы работают по принципу «чёрного списка»: они ищут известные строки атак. Zero-day не имеет сигнатуры, поэтому проходит сквозь WAF. Более того, эксплуатация часто маскируется под легитимные запросы к REST API WordPress. Например, злоумышленник может использовать уязвимость в плагине, отправляя запросы с корректными заголовками и параметрами, но с вредоносной полезной нагрузкой. Традиционные системы не видят аномалий, потому что запросы выглядят «нормально».
Нейросети же анализируют не содержимое, а поведение: частоту, последовательность, временные интервалы. Это позволяет обнаружить отклонения даже при отсутствии сигнатур.
Логи доступа содержат временные метки, IP, URL, метод, код ответа, User-Agent. Нейросеть (например, LSTM или автоэнкодер) обучается на нормальном трафике, строя базовую линию. Затем каждый новый запрос сравнивается с прогнозом. Аномалии — это резкие всплески частоты, необычные интервалы между запросами, нетипичные последовательности эндпоинтов.
Ключевые признаки аномалий:
Для обучения можно использовать открытые датасеты или собственные логи за месяц. Важно исключить периоды атак из обучающей выборки.
Рассмотрим гипотетический zero-day в плагине, добавляющем эндпоинт /wp-json/mycustom/v1/update. Уязвимость позволяет обновить опцию без проверки nonce. Атакующий сначала сканирует эндпоинт, затем отправляет запросы с разными nonce, пытаясь подобрать валидный. Нейросеть замечает аномалию: 50 запросов за 2 секунды к этому эндпоинту от одного IP, при этом обычно он вызывается раз в час.
Далее атакующий эксплуатирует уязвимость, отправляя POST с полезной нагрузкой. Нейросеть фиксирует ещё одну аномалию: необычный размер запроса и последующий запрос к /wp-admin/user-new.php. Реконструкция цепочки:
Восстановив временную шкалу, можно точно определить, какие данные были скомпрометированы.
Nonce в WordPress — это токен, проверяемый на сервере. Обход возможен через: 1) повторное использование nonce (если он не истекает); 2) подбор; 3) эксплуатацию уязвимости, где nonce не проверяется. В логах это выглядит как серия запросов с одинаковым nonce или с nonce, который не меняется, хотя должен. Нейросеть обучается на нормальных последовательностях: например, nonce обновляется при каждом действии. Если видит 20 запросов с одним и тем же nonce за минуту — это аномалия.
Пример: атакующий перехватил nonce через XSS и использует его для CSRF. В логах: запросы к admin-ajax.php с action=update_option и одинаковым _wpnonce. Нейросеть помечает их как аномальные, так как обычно этот nonce используется один раз.
Предположим, у нас есть лог за сутки. Обучим автоэнкодер на нормальных запросах. Затем подадим лог с атакой. Модель выделит аномальные сегменты. Ниже таблица с примером восстановленной цепочки.
| Время | Запрос | Аномалия | Действие атакующего |
|---|---|---|---|
| 10:00:01 | GET /wp-json/mycustom/v1/update | Высокая частота | Сканирование |
| 10:00:02 | POST /wp-json/mycustom/v1/update (nonce=123) | Неверный nonce | Брутфорс |
| 10:00:05 | POST /wp-json/mycustom/v1/update (nonce=456) | Успешный обход | Эксплуатация |
| 10:00:06 | POST /wp-admin/user-new.php | Нетипичный переход | Создание админа |
Используя нейросеть, мы не только обнаружили атаку, но и восстановили её этапы.
Нейросетевая детекция аномалий в логах WordPress — мощный инструмент против zero-day. Анализ временных паттернов запросов к REST API и обхода nonce позволяет выявить атаку на ранней стадии и восстановить цепочку эксплуатации. Внедрение требует ресурсов, но окупается предотвращённым ущербом. Начните с простых моделей и постепенно переходите к глубокому обучению.







