Linux中可怕的fork炸弹介绍

什么是linux中的 fork 炸弹
linux中的fork炸弹(fork bomb)是一种拒绝服务攻击的形式,它利用了操作系统中的“fork()”系统调用。fork()系统调用用于创建新进程,该进程是调用进程的副本。fork炸弹利用此系统调用创建大量的子进程,以消耗系统资源,例如内存和cpu时间,从而使系统不可用。
要实现fork炸弹,可以使用以下代码:
:(){ :|:& };:  
该代码使用了一个称为“镜像递归”的技术,其中一个进程通过创建另一个进程来反复复制自身,以迅速创建大量进程。管道符号(|)使进程从一个进程传递到另一个进程,以在更快的时间内创建更多的进程。“:”和“;”字符分别定义了shell函数和结束该函数的语法。
一旦fork炸弹被激活,它会快速生成许多进程,消耗系统资源,导致系统崩溃或变得不可用。为了避免这种攻击,linux系统管理员可以限制每个用户创建进程的数量,或者禁用fork()系统调用。
fork bomb 基本上就是创建 fork 的过程,无限地创建 fork,直到您的系统没有剩余的资源。
fork炸弹命令解析
:() 定义了一个名称为 : 的函数,不接受任何参数。
{} 是函数开始和结束的地方。简而言之,它包含最终会崩溃您的机器的命令。
:|: 是递归开始的地方(调用自身的函数)。更准确地说,它会将一个 : 函数加载到内存中,将其输出管道 (|) 其自身的输出到另一个已加载到系统内存中的 : 函数。
& 将执行整个函数后台,以便不会杀死任何子进程。
; 将每个子函数从多个执行的链中分离。
: 运行最近创建的函数,因此链式反应开始了!
如何预防
限制登录用户可以运行的最大进程数量,先查看当前用户可以使用的最大进程数量
ulimit -u  
然后编辑 /etc/security/limits.conf 文件
vim /etc/security/limits.conf@wheel           hard    nproc           5000rumenz           hard    nproc           5000  
这样,这些用户的最大进程数量将被限制在 5000 个进程以内,这有助于防止 fork bomb 对系统造成太大的影响。


被动元件,说好的缺货两年呢?
什么方法可以有效的提高云服务器网站安全性
震撼!3天内,5家国产传感器公司IPO获受理!募资总额超50亿!
对苹果不要期望太高,iPhone8能做到这样果粉就很知足了
vivo为何如此看重5G?提前、强力布局5G有何战略意义?
Linux中可怕的fork炸弹介绍
土壤墒情监测系统方案
星闪技术是什么无线技术 星闪技术是毫米波吗
怎样对物联网进行简单的解释
光纤压力传感器在眼部按摩仪中的应用
鸿蒙系统开源意味着什么
Nvidia于2017年首次凭借芯片销售量跻身全球前十大半导体供货商
侧发光贴片LED灯珠的优势特点
PLC中的指针都有哪些用法呢?
常用保护电路器件的选型要点
意外!“国产CPU第一股”登录科创板破发,背后意味着什么?
索尼PS5处理器的频率将达到3.2 GHz,8核16线程设计
调幅发射机电路图大全(振幅调制/锁相环/晶体管发射机电路图详解)
全新vivo S9将搭载天玑1100芯片
大功率电源EMC设计的难点在哪里?