Profile

coolwolf0: (Default)
coolwolf0

September 2025

S M T W T F S
 1 2345 6
78910111213
141516 17181920
21 2223 24252627
282930    

Custom Text

Apr. 24th, 2020

Формальное объяснение на языке вейсманистов-морганистов:
https://www.cyberciti.biz/faq/understanding-bash-fork-bomb/

Остальным расскажу "на пальцах". Итак, в шелле можно не только "who mom likes" писать, но и целые конструкции строить, как в настоящих языках программирования. Правда, когда я говорю своим коллегам "давайте это быстренько напишем на шелле" они делают большие глаза и говорят "ну... это же сложно". Вот такой я, испорченный гик. Короче, на шелле можно и функции определять. В результате программа может стать рекурсивной, причём тут никто за стеком и памятью интерпретатора не следит. Таким образом и работает "форк-бомба" - определяется рекурсивная функция и тут же исполняется, вводя всю систему в медленный но верный ступор. Классическая бомба выглядит как многоэтажный смайлик

:(){ :|:& };:



Я говорил, что нельзя её запускать? Если запустили, то поздно - эта штука медленно но верно съедает ресурсы памяти пока не завесит систему намертво. Если упала на синтаксисе, есть более совместимая, но менее "смайловая" версия

b(){ b|b& };b



У вас нет под рукой подопытного линукса? Тогда потренируйтесь на кошках в онлайн-версии, например тут

https://copy.sh/v86/?profile=linux26

Сначала вроде бы ничего не произойдёт... Но в какой-то момент система просто перестанет отвечать на нажатие команд.

Вы спросите, а как же защититься от такой тупой атаки? Ответ - в статье на басурманском языке

ulimit -S -u 5000



Мораль: нельзя отдавать процессам полный контроль, особенно в плане форканья.

Page Summary

Expand Cut Tags

No cut tags

Style Credit