EICAR 测试文件用于对防病毒系统进行功能测试。目前,几乎每个 AV 系统都会将 EICAR 标记为“测试”病毒。有关此历史性测试病毒的更多信息,请单击这里。
目前欧盟儿童基金会测试文件仅适用于测试在场AV 解决方案,但它不检查引擎文件或 DAT 文件最新换句话说,为什么要对可能包含 10 多年前的 DAT 文件的系统进行功能测试。随着每天发布的病毒数量不断增加,随着时间的推移,EICAR 签名作为测试工具的价值逐渐降低。
话虽如此,我认为 EICAR 需要更新/修改,才能成为与 AV 管理解决方案协同工作的有效测试。
serverfault 上的一些人对这个问题的早期版本做出了回应。
致答复者:请关注以下几点:
本次修改的问题是关于 测试 AV 系统的功能。
请不要用管理解决方案来回答,因为它们不会在现场测试部署的内容。管理解决方案报告可能存在这样或那样的缺陷,例如:有时由于操作员错误,机器可能未包含在常规 AV 管理中。有时 AV 由不同的公司或团体管理。无论你对“管理”的立场如何,在我看来,这都不算部署后的“测试”。这个问题是关于真实世界的测试,不使用活病毒……这是原始 EICAR 的意图。
我建议采用一种新的 EICAR 文件格式,附加一个 XML blob,以便有条件地促使防病毒引擎做出响应。
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-EXTENDED-ANTIVIRUS-TEST-FILE!$H+H*
<?xml version="1.0"?>
<engine-valid-from>2010-1-1Z</engine-valid-from>
<signature-valid-from>2010-1-1Z</signature-valid-from>
<authkey>MyTestKeyHere</authkey>
在此示例中,只有当签名或引擎文件等于或晚于有效期时,防病毒引擎才会对 EICAR 文件发出警报。此外,还有一个密码可以保护系统管理员对 EICAR 的使用。
如果您有软件“测试驱动设计”TDD的背景,您可能会发现我所做的就是将TDD的原理应用到我的基础设施中。
根据您的经验和联系,我该如何实现这个想法?
答案1
您所追求的(在不受您控制的系统环境中)不太可能实现,因为它会为 AV 软件本身带来另一个漏洞。也就是说,可以探测系统以确定它是否能够检测到最新的病毒。如果测试失败,病毒可能会在不引起过度怀疑的情况下通过而不被检测到。
至于 EICAR 测试,早就该放弃了。我见过的大多数 AV 软件要么是硬编码来检测它,要么有它的签名,这使得“测试”毫无价值。
答案2
我怀疑业界是否会每月为您制作一份新的 EICAR 文件。这浪费时间和资源。解决您的问题的方法是购买 Symantec 或 Sophos 等集中式 AV,这样您就可以运行报告并查看哪些客户端需要更新。
答案3
EICAR 文件本身并不测试防病毒软件的存在。它只是用作测试工具(因此您不知道测试的是活病毒)。
有很多方法可以监控和管理引擎和定义更新(我假设您使用的是 McAfee,因为您使用的是 DAT 术语)
每个企业防病毒软件都有一个中央管理控制台。对于 McAffee,请查看 ePolicy Orchestrator(或任何当前 SMB 软件的名称)。
答案4
上面的答案将您引向了集中管理控制台。这通常是最好的答案。我接受您关于被动监控的观点,但我认为您有点偏离了基础。我使用过的集中解决方案并不假设客户端已获得更新;它们使用客户端所说的定义日期/版本来更新控制台中的信息。这与您以其他方式亲自询问客户端机器一样准确。事实上,可能发生的最糟糕的情况是控制台出现故障,仍在发送更新的 DAT,但丢失了来自客户端的返回通信,并且在控制台中显示的定义日期比客户端实际的日期更旧。
但是,如果您不能这样做(部署后机器不会一直处于您的控制之下等),那么您可以尝试找出您使用的 AV 软件将该信息保存在哪里。
当我必须为 SAV CE 执行此操作时,您可以查询客户端计算机的注册表以查找当前 AV 定义版本,我认为还可以查找日期。对于 McAfee DAT 文件,您可能能够找出保存 DAT 的目录,并有一个脚本来查找该目录中最新 DAT 文件的创建日期或上次修改日期。