Profile

coolwolf0: (Default)
coolwolf0

July 2025

S M T W T F S
  123 45
6789101112
13141516171819
20212223242526
2728293031  

Custom Text

Формальное объяснение на языке вейсманистов-морганистов:
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



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

(no subject)

Date: 2020-04-24 08:58 pm (UTC)
From: [identity profile] the-drmad.livejournal.com
Мораль: не должно шеллу быть умнее операционки...

(no subject)

Date: 2020-04-25 12:17 pm (UTC)
From: [identity profile] the-drmad.livejournal.com
> ибо в системе уже был заложен правильный лимит

Мораль воспринята верно. :)

Expand Cut Tags

No cut tags

Style Credit