Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 477

Форк-бомба

ПроверилCybersecurity entrepreneur & security researcher

Что такое Форк-бомба?

Форк-бомбаМетод отказа в обслуживании, при котором процесс многократно порождает свои копии, исчерпывая таблицу процессов, память и CPU.


Форк-бомба — это вредоносный или случайный код, который рекурсивно порождает дочерние процессы, удваивая их число на каждом цикле, пока не будут исчерпаны лимиты ядра, память или процессор и система не перестанет отвечать. Классическая POSIX-однострочка :(){ :|:& };: определяет функцию с именем :, которая направляет две свои копии в фоновый режим по конвейеру, а затем вызывает себя; каждое поколение удваивает число процессов, поэтому таблица процессов заполняется за считанные секунды. Идея появилась задолго до Unix — одно из её ранних названий, «wabbit» (кролик), по имеющимся данным, наблюдалось на мейнфрейме Burroughs в Университете Вашингтона примерно в 1969–1974 годах.

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

Меры защиты ограничивают ресурсы, которые может потреблять дерево процессов, а не блокируют системный вызов. В Linux ключевые средства управления — это ulimit -u / PAM pam_limits (nproc) для ограничения числа процессов на пользователя и контроллер cgroups pids (pids.max) — который Docker и Kubernetes предоставляют через --pids-limit — для ограничения числа задач в контейнере. Изоляция учётных записей, песочницы для недоверенного кода и выделенные исполнители CI дополнительно сокращают радиус поражения.

flowchart TD
  A[":() функция<br/>вызывает себя дважды"] --> B[Потомок 1]
  A --> C[Потомок 2]
  B --> D[Внук]
  B --> E[Внук]
  C --> F[Внук]
  C --> G[Внук]
  D --> H["... экспоненциальный рост ..."]
  E --> H
  F --> H
  G --> H
  H --> I{"pids.max / ulimit -u<br/>достигнут?"}
  I -->|Лимита нет| J[Таблица процессов исчерпана — узел зависает]
  I -->|Лимит задан| K[Новые форки завершаются с EAGAIN — узел выживает]

Примеры

  1. 01

    Известная bash-однострочка `:(){ :|:& };:` как учебный пример DoS.

  2. 02

    Багованные CI-скрипты, случайно вызывающие fork в бесконечном цикле.

Частые вопросы

Что такое Форк-бомба?

Метод отказа в обслуживании, при котором процесс многократно порождает свои копии, исчерпывая таблицу процессов, память и CPU. Относится к категории Вредоносное ПО в кибербезопасности.

Что означает Форк-бомба?

Метод отказа в обслуживании, при котором процесс многократно порождает свои копии, исчерпывая таблицу процессов, память и CPU.

Как защититься от Форк-бомба?

Защита от Форк-бомба обычно сочетает технические меры и операционные практики, как описано в определении выше.

Какие есть другие названия Форк-бомба?

Распространённые альтернативные названия: Wabbit, Кролик-вирус.

Связанные термины

См. также