随着应用环境与病毒技术的不断发展,这些总结一部分已经走入了矛盾之中。这些矛盾产生的根本原因是信息系统进一步复杂化和用户要求的复杂化。以下例子可以作为这些矛盾的佐证:
事例一 红色代码(IIS-Worm.RedCode.b)留下的CMD后门。红色代码蠕虫将系统的cmd.exe 复制到IIS默认的scripts目录下,名为root.exe。
问题条目:计算机病毒最根本的判据应该是程序特征码或其他的内容相关特性。
矛盾:传统的反病毒技术解决是与非的问题,判定是非的唯一判据是程序内容。而这里cmd.exe如果在系统目录下则是一个正常程序,而在scripts目录下则变成了一个后门。显然决定它有害、无害的差异,不是内容,而是特定的路径位置和权限。
过去我们可以将是否有病毒的问题为Y=f(C)的问题(Y 是检测的结果,而C是内容),但现在是否变成了y=f(C,P,R,…)的问题,这是需要我们思考的。
事例二:Psexec工具。PS系列工具是sysintel公司出品的一组行命令工具集,但其中的远程注入命令psexec却被大量口令猜测蠕虫所采用,而其中pskill也被一些蠕虫用于删掉病毒监控程序。
问题条目:一个确定的程序是否应该被反病毒软件检测,是基于明确的标准
矛盾:这只是一个比较典型的例子。反病毒软件的手到底应该伸多长。到底应该被反病毒软件检测的标准是什么?目前很多反病毒产品都加入了adware的检测,这是否是合理(法)的?虽然x-file概念应运而生,但并不能从根本上解决判定困惑。
事例三:DIY蠕虫,自身是一个自解压包裹。另外还有一些蠕虫在硬盘大量生成自身的一个zip备份文件。
问题条目:反病毒软件应识别包裹中的病毒,在具有算法授权的情况下,也可以清除包裹中的病毒,但不能删除包裹本身。
矛盾:传统反病毒软件的基本假定是,“包裹文件是正常文件,但包裹中可能含有病毒”。而DIY蠕虫则是一个自解压包裹,他自身就是病毒。这样就影响了检测分支。
而类似bagle这样的蠕虫在硬盘大量生成自身的一个zip备份文件,一些反病毒软件删除不掉不是技术问题,正是逻辑问题。
事例四:民间评测广泛采用了网上的一些“样本包”,实际上这些包的质量很差,多数病毒没有活性,也有一些文件根本就不是病毒。但各公司普遍添加了这些“不是病毒”的文件特征。
问题条目:有害或主观有害是一个文件被提取特征加入病毒特征库的唯一原因
矛盾:病毒公司之间的攀比效应,一个无意义的文件,一家公司添加后,会带动其他公司的添加,而只是为了获得民间评测的高分,这是否有价值?同时,病毒纪录的不断增加也会降低扫描速度,同时如何取舍检测性能与数量?站在一个更进一步的角度,大量没有活性的DOS病毒的特征,是否可以从效率优化的角度从库中摘掉了呢?
事例五:很多蠕虫在系统上开设一些后门,如将guest用户加入administrator组。它留下类似remote administrator之类的工具以便远程控制等等。
条目:计算机病毒的清除过程是感染的逆过程
矛盾:反病毒软件是否是否要负责恢复病毒对系统的所有修改,是否应该负责处理漏洞?谁能保证guest加入admin组一定是病毒行为,而不是用户愿意为之。用户行为与病毒行为的重叠,导致处理后用户行为流失如何处理?同时这是一个收敛的工作吗?
事例六:对行为监控和文件评估的批评。
条目:病毒监控的基本模式应该以阻止带毒文件的运行(获取系统控制权)为目的。(前报原则)
问题:虚拟机和启发式扫描是我们推崇的未知检测机制,其对于未知感染(外壳)型病毒意义比较明显,但对于未知特洛伊木马/后门等程序则几乎没有什么意义。
那么基于行为判定的后报技术是否可以被提倡呢?
事例七:主动遏制的提出与尝试。远程清除dvldr引发的争论。
条目:用户对于反病毒产品拥有的权利…
问题:由于蠕虫的出现,病毒已经从"谁感染谁受害" ,向"谁感染谁害人"演化,那么当节点构成较大网络影响的情况下,是否允许有关部门从远端不经用户许可清除病毒,什么样的手段是可以接受的?技术如果可以实施,相关的法律问题又是什么呢?
对AV的挑战可以分为三类,技术挑战(如加密、变形、EPO等等)、架构挑战(如宏病毒、脚本病毒等等)和逻辑挑战。上述任何一个事例都不是什么技术难题,而是对传统反病毒引擎基本架构和基本逻辑产生了微妙的影响。