Загрузка...

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

Тема в разделе Kali Linux создана пользователем baronsubbotage 15 янв 2022. (поднята 26 апр 2025) 775 просмотров

  1. baronsubbotage
    baronsubbotage Автор темы 15 янв 2022 3 5 апр 2021
    Форк бомба Linux – это один из самых старых и наиболее эффективных способов вывести систему Linux из строя.

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

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

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


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



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

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


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

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

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

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

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

    forkbomb(){ forkbomb | forkbomb & }; forkbomb

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

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

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

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

    bash: fork: retry: Resource temporarily unavailable.

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



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

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

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

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

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

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

    @corporate hard nproc 30

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

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

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

    itsecforu hard nproc 40

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

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

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