Mastodon Mastodon Mastodon Mastodon

Удалённое выполнение кода [RCE]

Обновлено: · CyberSecureFox Editorial Team

Удалённое выполнение кода (RCE) — класс уязвимостей, который позволяет злоумышленнику по сети запускать свои команды и программы на чужом компьютере или сервере.

Как работает RCE

RCE возникает, когда программа начинает исполнять данные, которые пришли от атакующего. Типичные причины:

  • ошибки работы с памятью — переполнение буфера, use-after-free;
  • небезопасная десериализация;
  • инъекции команд и шаблонов;
  • загрузка файлов, которые попадают в исполняемый каталог.

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

Хрестоматийные примеры:

  • EternalBlue (MS17-010) — уязвимость в SMB, на которой в 2017 году распространялся WannaCry;
  • Log4Shell (CVE-2021-44228) в библиотеке Log4j. Её запускала одна строка, попавшая в журнал, и она получила максимальную оценку CVSS — 10.0.

Почему RCE так опасна

Это самый опасный тип уязвимостей: ошибка в коде превращается в полный контроль над машиной. Особенно опасны RCE, которым не нужны ни вход в систему, ни действия пользователя (pre-auth, zero-click). Их эксплуатируют автоматически по всему интернету уже через несколько часов после публикации.

Через RCE в VPN-шлюзах, межсетевых экранах, почтовых и веб-серверах злоумышленники устанавливают бэкдоры, запускают программы-вымогатели и собирают ботнеты.

Как защититься

  • В первую очередь обновляйте системы, доступные из интернета. Следите за каталогом CISA KEV (Known Exploited Vulnerabilities).
  • Ведите реестр ПО и библиотек, чтобы быстро найти, где используется уязвимый компонент.
  • Запускайте сервисы с минимальными правами, изолируйте их в контейнерах и отдельных сегментах сети.
  • Проверяйте входные данные, не используйте небезопасные десериализаторы. Новый код пишите на языках с безопасной работой с памятью.
Синонимы:
удаленное выполнение кода, удалённое исполнение кода, удаленное исполнение кода, выполнение произвольного кода