Краткое объяснение вилочной бомбы. Что делает вилка-бомба в GNU / Linux?
: () {: |: &};:
Это тип отказа в обслуживании или DoS-атака, которая в основном заполняет доступное пространство на компьютере, хотя можно использовать вилочные бомбы на любом языке, я сосредоточусь только на колотить, по своей форме, которая кажется такой странной
Хотя это выглядит очень сложным, это просто, это простая функция, которая вызывает сама себя ... Теперь вилочный насос удобен для чтения человеком XD
: () {: |: &};:
Вот простая функция ...
function () {var1 = $ 1 echo "Функция"}
Для тех, кто умеет читать и немного программировать
бомба () {бомба | насос &}; насос
Как видите, это действительно просто, он создает функцию, которая вызывает саму себя, которая создает цикл, который не останавливается, пока не достигнет своей цели, насыщая компьютер.
В итоге…
: () {
Это функция, которая называется:
: |:
Функция вызывает сама себя с помощью рекурсии и каналов. Хуже всего, когда звонишь во второй раз ...
&
Запускает фоновую функцию, поэтому процесс не может быть завершен, пока не будут исчерпаны все ресурсы
};:
Функция завершается и вызывается снова ...
На случай, если кому-то было любопытно увидеть этот соблазнительный код, который для новичка может быть даже странным, но это не то, что небольшая логика не решает
Альфред.
На самом деле, это интересно, хотя сегодня, если они бросят в вас вилочную бомбу, ничего не произойдет, потому что есть уровни безопасности, которые вы устанавливаете, где вы ограничиваете количество процессов, которые может генерировать любая программа, только дистрибутивы, такие как Arch, Gentoo и т. Д., Не имеют этих ограничений по умолчанию и вы должны их создать.
Это забавно, потому что мы с Тете целый день насмехаемся над этой проблемой, многие люди, которые устанавливают Arch, только устанавливают его и помещают в него среду, но забывают многие другие очень важные вещи, которые необходимо настроить (или, по крайней мере, были необходимы, правда в том, что я понятия не имею, как это сейчас), и поэтому было сказано, что это было «легко и быстро установить».
Во всяком случае, я думаю, что было бы немного проще объяснить это с помощью бомбы на питоне, что еще более ясно.
Фактически, эти параметры выполнения процесса обычно очень важны при установке дистрибутива GNU / Linux с минимализмом, подобным Arch и / или Gentoo.
И, кстати, я начинаю использовать Arch только для тестирования версий программ и интерфейсов, которые только что вышли из духовки. В любом случае, эта вилка-бомба довольно интересна.
Да, в python это намного проще понять, я оставляю их здесь, если кому-то интересно:
импорт ОС
пока верно:
—-Os.fork ()
И с рекурсией:
импорт ОС
def bomb ():
—-Os.fork ()
--бомбить()
бомбить()
И nano следует отметить, что в debian 7 Stable для этого тоже нет безопасности, по крайней мере, с python, система зависает мгновенно.
Привет.
Ну, я выполнил вилочную бомбу в Ubuntu, и компьютер мгновенно сломался
Чтобы отключить насос, процессы в терминале ограничиваются: ulimit -u 50 и насос деактивирован: p.
В любом случае, следует упомянуть, что текущие ОС ограничили количество активных процессов, это вопрос запуска вилочной бомбы на Fedora, и ничего не произойдет.
Без сомнения, но, например, Solaris и окна (где я их тестировал) не защищены.
ПРОХЛАДНЫЙ! 🙂
Сделать то же самое; но на этот раз сделать его полезным, то есть запустить в windows и получить то, что получится. Не в GNU / Linux.
Очень любопытно, что близость к теме компьютерного саботажа, я не знаю, может ли это иметь место в случае с плеером Gnash: на сайте Vimeo он безупречно запускает видео, но на YouTube оно едва достигает разрешения 240 пикселей; В Dailymotions не воспроизводит, на мой взгляд, чего-то непонятного для меня, так как я не программист.
Если это не будет изменено, я думаю, что для сторонников свободного программного обеспечения будет неплохой идеей публиковать наши видео, где они распространяются среди всех без какой-либо дискриминации.
Gnash должен обратить на это внимание, но поскольку его разработка шла медленно, Mozilla решила создать свой собственный Flash-плеер на основе Javascript под названием Shumway. Я надеюсь, что Shumway скоро выйдет, и я смогу заменить имеющийся у меня Flash Player на GNU / Linux.
И поскольку мы, то недостаточно сказать, как защитить себя, очень простой способ (особенно для новичков-лучников) - это ограничить количество процессов, для этого мы переходим в /etc/security/limits.conf и добавляем следующую строку:
* хард nproc 1000
При этом мы ограничиваем процессы этим количеством, например, я установил его на это количество (хотя вся ОС при полной загрузке намного меньше, около 200-300 процессов), и при применении вилочной бомбы моя ОС остается полностью функциональной и Ясно, что если мы ограничим количество процессов чем-то очень низким, это может привести к другим последствиям, поскольку какая-то программа захочет создавать процессы, а ОС не позволит ей, в моем случае, ограничиться 1000 процессами, это идеально
Я положил это на
* soft nproc 500
* hard nproc 1000
Хотя Arch wiki рекомендует soft на 100 и hard на 200.
Хотя проблем быть не должно, боюсь кинуть бомбу на тест ... xD
Самый простой способ защитить себя - ограничить значение ulimits, чтобы можно было остановить процесс перекачки.
Интересная статья, чтобы предотвратить это в Slackware, мы используем ulimit в файле / etc / profile.
Проблема с ограничением ulimit заключается в том, что он может ограничить ваше использование системы в зависимости от того, что вы делаете.