我编译并执行了这段代码,计算机挂了。我把文件(a.out不是a.c)发送给朋友,他执行了它,结果是一样的。 如何智能地检查无限循环中是否存在这样的fork()?针对这次袭击的预防措施应该是什么?
#include<stdio.h>
int main(){
while(1)
fork();
}
答案 0 :(得分:1)
只需使用 ulimit 来限制最大进程数。此外,您可以通过编辑 /etc/security/limits.conf 文件来配置限制。请查看以下链接,该链接提供有关如何防止此攻击的更多信息:
http://www.cyberciti.biz/tips/linux-limiting-user-process.html