防病毒程序不能在创建时扫描所有文件吗?

信息安全 杀毒软件
2021-09-04 09:55:29

防病毒程序能否在创建时扫描所有文件,而不是使用访问扫描。这种方法不是更安全吗?

4个回答

不,仅在创建时扫描病毒并不安全,原因如下:

  1. 反病毒启发式和签名会不断更新,因此在创建时可能会遗漏某些内容,但会在执行时被捕获。
  2. 创建文件时可能没有加载防病毒系统:

    • 可能由于某种原因暂时禁用了 A/V
    • 也许它是一个可移动驱动器,并且该文件是在其他地方创建的
    • 也许系统被引导到另一个操作系统
  3. “创建时间”是否包括修改?
  4. 从未作为文件创建的内联执行代码呢?

还有更复杂的场景。例如:您得到一个加密的有效载荷(包含病毒)。A/V无法检测到这一点,因为它无法解密它。很久以后,你有第二个文件到达。这个文件在技术上不是恶意的,但它会解密第一个文件,然后运行并感染你的系统。这是一种越来越常见的技巧,用于避免在传统 A/V 以及FireEye恶意软件沙箱中进行检测

散列文件并根据最新的文件信誉服务检查这些散列的系统只需要扫描未知的散列。Cisco AMP这样的云沙盒系统可以做到这一点。

只要源不受信任 - 可移动存储、网络驱动器等,您仍然需要在读取期间进行扫描。

原则上,如果您总是在创建/修改时扫描文件,那么无需扫描就可以安全地读取本地文件。我不知道有任何桌面 AV 软件有这种行为。这将是一种性能改进,而不是为了安全,因为无论哪种方式,您都(或多或少)有相同的盲点。

事实上,我在真实系统中看到过这种行为:一些文件服务器只在写入时进行 AV 扫描。在这种情况下,扫描不是为了保护服务器,而是为了保护访问共享的客户端,以防他们的桌面 AV 遗漏了什么。性能优势在这里可能很重要,所以这似乎是一个非常聪明的举动。

是的,那将非常安全。它仍然会让一些不好的东西通过,因为它仍然是基于签名的,但更大的问题是它会使任何系统都崩溃。

对于我的工作,我分析受感染计算机的取证,并且经常进出 MFT 和 USN期刊操作系统的所有部分都在不断地创建、更改和删除文件和互斥体。每天每微秒通过 AV 引擎运行每个单独的对象是一个糟糕的主意。

这种方法可能会以某种方式打开另一个攻击媒介。如果您无需先在磁盘上就可以运行恶意代码,请从可移动媒体(受感染的代码已经存在,因此不会被检查)运行它,或者运行一个明显有害的文件。为了传播病毒,只需要创建一个空文件,然后使用允许将来执行的恶意代码更新它(在启动时运行、根据用户请求运行、在启动等事件上运行等)。

病毒可能会分两个阶段开始传播。首先作为一个明显的好文件(1. 一种传输的主机),恶意代码通过加密/其他方式隐藏)。并且比病毒会创建文件并在使用恶意代码更新它之后(2.病毒复制)。