恶意软件是否必须利用漏洞?

信息安全 恶意软件 开发
2021-08-12 04:45:01

最近,我一直在尝试深入研究恶意软件和黑客攻击领域。我了解到黑客利用程序中的错误和恶意软件的做法类似,但我想知道恶意软件是否必须利用某些东西,或者它是否可以在不利用任何东西的情况下运行?

1个回答

恶意软件是执行恶意活动的任何软件。恶意软件有各种形状和大小,并带有各种感染媒介。利用软件漏洞是恶意软件传播的一种方式,但它们还使用许多其他(通常更常见)技术,例如:

  1. 通过网络暴力破解密码以访问网络。

  2. 通过共享等传播到同一网络上的其他计算机。

  3. 诱骗用户执行具有良性名称的恶意文件。

  4. 诱使用户执行执行代码的操作(例如ldd)。

永远不要高估欺骗普通人执行恶意软件的难度。经常被遗忘的技术(例如对文件名使用 unicode 反转)可以向用户显示与实际存在的文件名不同的文件名。例如,一个名为的文件history_of_rac‮4pm.msi‬似乎足够安全,对吧?实际上是history_of_rac4pm.msi,但由于 unicode 反转,最后七个字符被镜像,给人的印象是可执行安装程序是一个视频!检查HTML!

它甚至不必让它们运行一个可执行文件。执行攻击者控制的代码的许多操作是人们没有想到的。考虑lddLinux 中的实用程序。它所做的只是列出给定可执行文件所需的库。只要您不执行文件,似乎就足够安全了吗?现实情况是,ldd它实际上是一个包装器,它使用环境变量集执行文件,如果使用行为正确的 libc,它会导致可执行文件将其所需的库输出到标准输出,然后退出。创建一个不会执行此操作的可执行文件是微不足道的,因此在其上运行这样一个简单的“安全”实用程序实际上最终会执行恶意代码。