Современные атаки на WordPress часто остаются незамеченными, пока не наносят серьёзный ущерб. Злоумышленники используют продвинутые методы сокрытия следов: очищают логи, маскируются под легитимный трафик, используют цепочки из нескольких уязвимостей. Когда инцидент обнаруживается, восстановить полную картину атаки по стандартным логам бывает невозможно. Однако даже при утрате логов остаются косвенные признаки — микроскопические задержки в ответах REST API, которые возникают из-за дополнительной нагрузки на сервер при выполнении вредоносных действий. Эти задержки, измеряемые в микросекундах, могут стать основой для нейросетевой реконструкции цепочки атаки.
REST API WordPress обрабатывает запросы через определённые эндпоинты. Каждый запрос вызывает цепочку функций, запросов к базе данных и фильтров. При атаке злоумышленник генерирует нестандартные запросы, которые либо вызывают дополнительные проверки, либо эксплуатируют уязвимости, что приводит к увеличению времени обработки. Например, при сканировании плагинов через /wp-json/wp/v2/plugins сервер выполняет дополнительные проверки прав, что может добавить 50-200 микросекунд. При эксплуатации SQL-инъекции в уязвимом плагине время ответа может вырасти на миллисекунды из-за выполнения вредоносного SQL-запроса. Эти отклонения фиксируются инструментами APM с высоким разрешением.
Для реконструкции используется рекуррентная нейронная сеть (LSTM или GRU), обученная на временных рядах задержек. Входные данные — последовательность значений задержек для каждого эндпоинта с шагом в микросекунды. Нейросеть обучается на нормальном поведении (без атак) и затем выявляет аномалии. Далее применяется модель seq2seq для генерации вероятной последовательности действий атакующего. Например, если детектируется серия задержек на эндпоинте /wp-json/wp/v2/users с постепенным ростом, это может указывать на перебор пользователей. Если затем следует всплеск на эндпоинте уязвимого плагина, модель делает вывод об эксплуатации. Завершающая фаза — закрепление бэкдора в mu-plugins — может проявляться в виде регулярных небольших задержек при загрузке страниц из-за выполнения вредоносного кода.
Рассмотрим гипотетический сценарий. Злоумышленник начинает с сканирования REST API на предмет доступных эндпоинтов. Задержки на запросах к /wp-json/ увеличиваются на 20-30 микросекунд из-за перебора. Затем он находит уязвимый плагин, например, с отсутствующей проверкой прав в эндпоинте /wp-json/myplugin/v1/update. При эксплуатации задержка возрастает до 500 микросекунд из-за выполнения произвольного кода. После успешной эксплуатации злоумышленник загружает бэкдор в mu-plugins — это приводит к постоянному увеличению времени ответа на 10-15 микросекунд при каждом запросе, так как бэкдор выполняет проверку наличия команд. Нейросеть, анализируя эти данные, восстанавливает последовательность: сканирование → эксплуатация → закрепление. Пример кода для сбора задержек:
add_action('rest_post_dispatch', function($result, $server, $request) {
$start = microtime(true);
// ... обработка
$end = microtime(true);
$delay = ($end - $start) * 1e6; // в микросекундах
error_log("REST delay: {$request->get_route()} - {$delay} μs");
return $result;
}, 10, 3);| Шаг | Действие | Инструменты |
|---|---|---|
| 1 | Настройка сбора микросекундных задержек REST API | eBPF, APM, кастомные хуки |
| 2 | Сбор baseline нормального поведения | Prometheus, Grafana |
| 3 | Обучение нейросети на нормальных данных | TensorFlow, PyTorch |
| 4 | Детекция аномалий в реальном времени | LSTM, автоэнкодеры |
| 5 | Реконструкция цепочки атаки | Seq2seq, CRF |
| 6 | Автоматическое реагирование | WAF, блокировка IP |
Нейросетевая реконструкция атак через анализ микросекундных задержек открывает новые возможности для проактивной защиты WordPress. Даже при утрате логов можно восстановить цепочку атаки и предотвратить повторные инциденты. Метод требует точных измерений и качественной модели, но его эффективность доказана в лабораторных условиях. Внедрение таких систем позволит обнаруживать атаки на ранних стадиях и минимизировать ущерб.







