主动防御貌似已经被炒的够热,因为以病毒为主要攻击方式的网络安全事件层出不穷,反病毒软件多数情况下对新出现的病毒没有识别能力,也就不能很好地起到拦截作用。这种情况持续了很多年,随着病毒的变化越来越多,病毒产业链的活动越来越猖獗,这个现象变得更严重了,由此引发了用户对杀毒软件的不信任。
为了解决这些日益严重的新威胁,杀毒厂商实际在分两个方向同时启步。一方面是采用传统的特征识别、加强引擎脱壳、加强样本的收集、加快病毒特征的更新等等。时至今日,这仍然是最主要的,效率最高的应对方法。但是,不可避免,会有电脑中招倒下,成为新病毒的牺牲品。另一方面,就是开发新的病毒识别技术。比如行为识别、注册表保护、应用程序保护等等。
回头看主动防御这个词,最早应该来自网关或防火墙等网络硬件系统。IDS(入侵检测系统)和IPS(入侵防护系统),这些功能是在防火墙的基础上开发的攻击识别和拦截技术。因为,防火墙是两个网络之间的设备,用来控制两个网络之间的通信,相对自己所在的网络来说,由外而内的访问会根据防火墙的规则表,适用相应的访问策略,策略包括允许、阻止或报告。通常,防火墙对由内而外的访问,是允许的。那么,如果攻击者在网络内存在,将会对整个网络产生安全问题。
入侵检测系统是为监测内网的非法访问而开发的设备,根据入侵检测识别库的规则,判断网络中是否存在非法的访问。管理员通过分析这些事件,来对网络的安全状况进行评估,再采取对应的防护策略。入侵检测系统(IDS)一个很重要的问题,就是这类警告太多了,以致于管理员要从浩如烟海的日志中来发掘安全事件,不仅仅容易出错,也增加了管理成本。IPS则相当于防火墙+入侵检测,提高了性能,也减少了误报。这些都是网关设备,这些设计理念,应用到桌面计算机系统,就被引伸为HIPS,即基于主机的入侵防护系统。
所谓的"主动防御"软件,实际上是安全软件的一个发展方向,不应该被解释为某种技术或产品。用户眼中的主动防御,应该是可以自动实现对未知威胁的拦截和清除,用户不需要关注防御的具体细节。目的很简单,就是我安装了你,你为我负责,老老实实干你的活,别再烦我了。
安全软件厂商也一直向这个方向努力,比如,杀毒软件的主动更新,主动漏洞扫描和修复,以及对病毒的自动处理等。某种程度上说,符合主动防御的部分特征。
目前,在很多被列为HIPS的软件中,可实现大致三方面的功能:
1.应用程序层的防护,根据一定的规则,执行相应的应用程序。比如,某个应用程序执行时,可能会启动其它程序,或插入其它程序中运行,就会触发应用程序保护的规则。
2.注册表的防护,根据规则,响应对注册表的读写操作。这个比较好理解了,某程序执行后,会创建或访问某些注册表键,同样,这些注册表键是被HIPS软件监视或保护的。
3.文件防护,对应用程序创建或访问磁盘文件的防护,就是某程序运行后,会创建新的磁盘文件,或者需要访问硬盘上某程序文件,从而触发HIPS软件的监视或保护功能。
HIPS软件的监视和保护功能,向主动防御目标更进了一步,但还不没有实现"主动防御"。因为,在使用这类软件时,会大量频繁触发HIPS软件的监视功能,这些功能,尚不能自动进行正确的处理,对这些警报的处理,需要这台电脑的最终用户作出正确的选择,这就是困惑所在。
目前来说,HIPS软件,尽管可以一定程度上起到提升安全性的作用,但用起来,太麻烦了。它真的是普通用户需要的吗?普通电脑用户能够做出正确的处置吗?这些都是安全软件厂商进一步需要完善的功能。同时,它还有另一个困惑:如果我能够顺利而熟练的使用HIPS的软件,我可能只需要在其它方面注意,就可以更容易的避免受到病毒或木马的入侵。
主动防御,并不神奇,显然,目前还远未实现真正的"主动防御"。只能说,离这个目标近了一些,杀毒厂商还有更多的选择。难点在于:如何用技术实现,不需要更多技术,也能很好实现该技术所创造的功能。