网站首页

人工智能P2P分享搜索全网发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

Linux中可怕的fork炸弹介绍

时间:2023-05-22 10:46

人气:

作者:admin

标签: Linux系统  Shell 

导读:Linux中的Fork炸弹(Fork Bomb)是一种拒绝服务攻击的形式,它利用了操作系统中的“fork()”系统调用。...

什么是Linux中的 Fork 炸弹

Linux中的Fork炸弹(Fork Bomb)是一种拒绝服务攻击的形式,它利用了操作系统中的“fork()”系统调用。Fork()系统调用用于创建新进程,该进程是调用进程的副本。Fork炸弹利用此系统调用创建大量的子进程,以消耗系统资源,例如内存和CPU时间,从而使系统不可用。

要实现Fork炸弹,可以使用以下代码:

:(){:|:&};:

该代码使用了一个称为“镜像递归”的技术,其中一个进程通过创建另一个进程来反复复制自身,以迅速创建大量进程。管道符号(|)使进程从一个进程传递到另一个进程,以在更快的时间内创建更多的进程。“:”和“;”字符分别定义了shell函数和结束该函数的语法。

一旦Fork炸弹被激活,它会快速生成许多进程,消耗系统资源,导致系统崩溃或变得不可用。为了避免这种攻击,Linux系统管理员可以限制每个用户创建进程的数量,或者禁用fork()系统调用。

Fork Bomb 基本上就是创建 fork 的过程,无限地创建 fork,直到您的系统没有剩余的资源。

589a1898-f70c-11ed-90ce-dac502259ad0.png

Fork炸弹命令解析

:() 定义了一个名称为 : 的函数,不接受任何参数。

{} 是函数开始和结束的地方。简而言之,它包含最终会崩溃您的机器的命令。

:|: 是递归开始的地方(调用自身的函数)。更准确地说,它会将一个 : 函数加载到内存中,将其输出管道 (|) 其自身的输出到另一个已加载到系统内存中的 : 函数。

& 将执行整个函数后台,以便不会杀死任何子进程。

; 将每个子函数从多个执行的链中分离。

: 运行最近创建的函数,因此链式反应开始了!

如何预防

限制登录用户可以运行的最大进程数量,先查看当前用户可以使用的最大进程数量

ulimit-u

然后编辑 /etc/security/limits.conf 文件

vim/etc/security/limits.conf
@wheelhardnproc5000
rumenzhardnproc5000

这样,这些用户的最大进程数量将被限制在 5000 个进程以内,这有助于防止 Fork Bomb 对系统造成太大的影响。






审核编辑:刘清

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信