我写了这个C程序,并在我的Windows系统上运行。我的系统挂起了,甚至连任务管理器都没有打开。最后,我不得不重启系统。这显然是一个恶意程序,但我的杀毒软件没有检测到这一点。为什么?
#include<unistd.h>
main() {
while(1)
fork();
}发布于 2009-09-25 04:42:42
由于巨大的速度损失,开发人员通常不使用AV软件,或者至少他们在他们工作的文件系统子树上禁用了AV软件。
但即便如此,这也不是反病毒软件试图检测的那种模式。反病毒软件会查找您正在读取和写入的文件以及对系统状态的更改,或者特定识别的病毒或其先前识别的签名。
不管怎样,它会怎么决定呢?从程序的角度来看,过载的web服务器和分叉炸弹之间只有一线之隔。
最后,这种行为是一种自我纠正。如果我们真的有比叉子炸弹更具破坏性的病毒到达,我们可能只会宣布胜利,并说“不要运行那个”。
顺便说一句,你是以管理员的身份运行分支炸弹的吗?
发布于 2009-09-25 04:33:51
防病毒程序无法识别恶意行为-它们识别已经存在的已知病毒的模式(文件名、进程名、二进制签名等)。
这就是为什么它们经常会被颠覆,因为它们是不断发展的问题的反应性解决方案。
发布于 2009-10-09 11:38:50
你的程序不是病毒,因为它不能自我传播,也就是说,它不能感染其他文件/计算机
https://stackoverflow.com/questions/1475438
复制相似问题