💣 Форк бомба на Linux |

💣 Форк бомба на Linux

Мануал

Форк бомба Linux – это один из самых старых и наиболее эффективных способов вывести систему Linux из строя.

Это тип атаки типа “отказ в обслуживании”, которая работает путем порождения все большего количества процессов, пока в конечном итоге все ресурсы системы не будут исчерпаны, и она не рухнет.

В этом руководстве вы увидите, как разрушить систему Linux с помощью форк бомбы.

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

💣 Лучшие способы сломать Microsoft Windows

Как сломать систему Linux с помощью форк бомбы

ВНИМАНИЕ
Обязательно тестируйте этот метод только на тестовой или виртуальной машине.

Использование его на другой системе, даже в целях тестирования, сделает вас похожим на злоумышленника, который пытается вывести систему из строя.

И в некоторых случаях вам это удастся.

Следующая строка кода является коротким вариантом использования:

$ :(){ :|:& };:

Ранее мы уже рассмотрели ее тут:

🛑 Команды Linux, которые вы никогда не должны запускать в своей системе

На первый взгляд, это может показаться абракодаброй и довольно безобидным для выполнения, но давайте посмотрим, что здесь происходит на самом деле:

  • : – это имя функции
  • :|: вызывает саму функцию и порождает другой процесс
  • & переводит процесс в фоновый режим, чтобы его нельзя было легко убить
  • ; отмечает конец функции
  • : снова вызывает функцию

Имейте в виду, что существуют и другие типы форк бомб.

Например, их можно запрограммировать на Perl, Python и других языках.

Та, которую мы показали здесь, является наиболее часто используемой и будет работать в оболочке Bash.

Вот тот же вызов функции в более удобочитаемом формате:

forkbomb(){ forkbomb | forkbomb & }; forkbomb

Как вы можете видеть, функция вызывает себя дважды .

Это действие начнет потреблять все ресурсы вашей системы и в конечном итоге приведет к краху вашей Linux-системы.

Ваши результаты могут отличаться, в зависимости от конфигурации системы Linux, используемого дистрибутива и т.д.

На нашей тестовой системе Ubuntu выполнение fork bomb заблокировало систему, и в конечном итоге терминал начал заполняться этими сообщениями:

bash: fork: retry: Resource temporarily unavailable.

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

ПРИМЕЧАНИЕ
Некоторые дистрибутивы Linux запрограммированы таким образом, чтобы предотвращать такие действия. В таких системах ядро будет убивать все порожденные процессы, чтобы попытаться предотвратить крах вашей системы.

Как предотвратить крах Linux из-за форк бомбы

Форк бомба эффективна, потому что она способна порождать неограниченное количество процессов.

В конце концов, ваша система не сможет обработать их все, и произойдет сбой.

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

Лучший способ наложить ограничение на количество процессов, которые может порождать пользователь, – это отредактировать файл /etc/security/limits.conf.

В качестве примера, давайте попробуем ввести ограничение на количество процессов, которые могут порождать пользователи из группы “corporate”.

Добавление этой строки в файл позволит пользователям из группы порождать не более 30 процессов.

@corporate        hard    nproc           30

Что если мы хотим наложить ограничение на процесс для конкретного пользователя?

В этом случае мы поместим его имя пользователя в первое значение.

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

itsecforu         hard    nproc          40

Для получения дополнительных примеров ознакомьтесь с нашим руководством:

🚰 5 полезных инструментов для обнаружения утечек памяти с примерами

Заключение

В этом руководстве мы рассмотрели, как разрушить систему Linux с помощью команды fork bomb.

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

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

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий