Quantcast
Channel: CodeSection,代码区,网络安全 - CodeSec
Viewing all articles
Browse latest Browse all 12749

目前市场上的网络安全产品都是如何进行内测的?

0
0

在20世纪90年代的中后期,对网络安全的产品测试需求几乎与第一个防病毒程序的开发同时出现,最开始,是一些计算机安全方面的杂志,利用自制的方法来对一些要报道的安全解决方案的有效性进行验证,往后慢慢地,就出现了一个个专业的安全测试公司来使用全面的测试方法来进行各种相关的检测。

最开始的测试方法就是,从各个计算机上提取一些所谓的恶意文件进行扫描测试,但是由于这种测试的样本和测试结果都非常的不可靠,所以一直被网络安全的解决商所批评,很少有人相信这种方法所测试出来的结果。

20多年过去了。虽然网络安全保护的解决方案在经历了很大的发展,但是网络威胁的威力也越来越大了。反过来,这也加快了相应的测试方法的改进。让那些公司不断的设计出最安全和最准确测试方法。不过这个过程不管是从成本的角度还是从技术的角度来讲都极其的困难,这就是为什么现在安全产品的测试质量取决于实验室的财务状况和其积累的专业知识(比如卡巴斯基实验室的情况)。

关于测试的成本:事实是,独立测试是评估其测试结果的公平,有效的唯一方法。比如NCAP(New Car Assessment Program) 就是一个民间组织,不同于那些由政府机构组织实施的强制性安全认证,它有着自己标准。所以安全产品的测试公司,就得耗费巨资来获得各个开发者的认可。

不过现在这个问题目前正在慢慢地解决,因为网络安全行业本来就是基于网络的产品,所以通过机器学习可以有效的降低很大的成本。所以未来的基于机器学习的检测结果将会越来越普及。

安全产品的基本测试方法

按需扫描(ODS):ODS是最开始使用的测试实方法,用于测试的实验室会收集所有类型的恶意程序(主要是已经感染了恶意软件的文件 ,现在主要是木马程序),将它们添加到用于测试的文件中,然后启动有要测试的安全产品对整个文件进行测试。如果测试的产品捕获的恶意程序越多,就认为它越好,为了接近实战效果,在测试过程中,测试者会将文件从一个文件夹复制到另一个文件夹,看看交叉感染的测试效果。

但目前大部分比较高级的安全技术根本就不适用于这种类型的测试,这也就意味着无法评估解决方案有效地应对威胁的效果。不过,ODS通常会结合一些更为更先进的方法来实施检测。

执行测试(On-execute test):这是ODS之后发展的一项测试技术。在安全软件正在运行的机器上复制并启动样本集合,并记录安全解决方案的反应。这曾经被视为一种非常先进的技术,但其缺点很快在实践中显露出来。因为现在的网络攻击往往是分几个阶段进行的,而恶意文件只是攻击的一部分。例如,攻击样本要等待命令行参数,才能在特定环境,例如,特定浏览器中运行,或者攻击样本可以是连接到主木马的DLL形式的模块,比如DLL木马(一种动态嵌入式木马)。

现实测试(RW):这是目前最复杂的测试方法,但也最接近现实攻击环境,现实测试会模仿感染程序的整个周期。测试人员在安装了安全解决方案的干净系统上打开通过电子邮件传送的恶意文件,或者通过浏览器跟踪实际的恶意链接,以检查整个感染链是否在正常工作,或者看正在测试的解决方案是否能停止恶意攻击过程的哪些阶段。

这种测试考虑了安全产品在真实的网络环境中可能遇到的各种问题。

然而,这种测试方法需要严格的准备工作。首先,需要大量的机器及大量的时间对超过一百个或更多的样品进行全面测试,这是少数实验室所能承受的。其次,目前的许多木马可以识别出它们是否是在虚拟环境中运行,如果是,它们则不会运行,它们会阻碍任何试图分析它们的工作。因此,为了获得最可靠的结果,测试实验室必须使用实际带有物理地址的计算机来运行,在恶意软件样本运行后在重新启动安全产品进行测试。

另一个困难是需要生成用于测试的大量恶意链接数据库。因为许多恶意链接会在测试完后,直接消失,根本起不到实际的测试效果,所以RW测试的质量在很大程度上取决于实验室是否可以找到具有实际检测效果的恶意链接。

主动的网络行为检测(Behavior or proactive test):这个思路就是要对未知的样本来进行。为此,进行测试的安全产品,要不断地进行更新。然后,在最后一次更新后,对所出现的恶意程序进行样本汇总,然后再执行按需扫描和执行测试。一些测试公司打包或模糊已知的威胁,以测试安全解决方案识别恶意行为的能力。不过很难正确地评估这种测试的结果,因为,一些实验室会为了保持所收集样本的特性而在完全断网的测试机上进行检测,但是在实际的环境中,病毒是会发生变异的,所以这种测试完全不可行。

删除或修复测试(测试是否完全删除了恶意软件):这是为了检查安全产品对恶意程序的实际处理能力,即清除自动运行密钥,删除任务调度程序和恶意软件活动的其他痕迹。这是一个重要的测试,假若删除不干净,可能会让恶意程序死灰复燃。在测试期间,干净的系统会先被所收集的恶意软件样本所感染,然后让安全产品进行查杀,完了之后,重新启动计算机,并安装具有最新更新的安全产品进行检测。这个测试可以进行单独一部分测试或作为RW测试的一部分。

性能测试:此测试是为了评估安全产品是如何有效地使用计算机系统资源的。为此,在安装和运行安全产品的情况下,要对计算机平时运行的各种操作速度进行测量。这些操作包括系统引导,文件复制,归档和解压缩以及应用程序的启动,一句话,就是模拟真实用户的工作场景。

假阳性测试(False positive test):该测试对于确定最终评估的可靠性是非常必要的。显然,机器学习,特别是未受监控的机器学习,将不可避免地创造假阳性。这些假阳性将必须通过人类予以纠正,安全产品可能对测试中的恶意程序进行100%的甄别,但在实际的环境中,安全产品必须对合法应用的反应作出评判。为此,要使用不同的方案来创建和测试常用软件。

反馈:这不是测试方法,而是任何测试都要经过的最重要的阶段,没有它,结果就不能被验证。在执行所有测试之后,实验室将产品实现的初步结果发送给相应的供应商,以便他们可以检查并识别产品的漏洞。这是非常重要的,因为测试实验室根本没有资源来检查每一个情况,并且测试中的错误也是不可避免的。这些错误不一定是由测试方法论引起的,例如,在RW测试期间,应用可以成功地绕过检测设备,但是不执行任何恶意动作,因为它没有碰到恶意运行的环境或者其最初不是恶意的,而是用于广告目的,但是这些运行都是在安全产品安全后所发生的,所以会影响到最终的效果评判。同时,安全解决方案旨在阻止恶意操作。然而,在这种情况下,并没有发生恶意操作,而反恶意软件程序还依然按照最初的设计在运行,所以碰到这种情况只能通过分析恶意样本的代码及其行为来处理了。

针对安全产品的特定性能进行测试

这种方法是用于深入测试特定类型的威胁或特定安全技术的方法。许多安全产品的开发商需要知道哪种安全解决方案对加密系统的保护最有效,例如,哪种产品对网上银行系统提供了最佳保护。在这种情况下,对安全解决方案的整体性评估就不是很有代表了,因为这个测试结果只是显示一个产品“不比其他产品差”而已。这还不够,所以一些测试实验室还进行了专门的测试。

漏洞测试:对付网络攻击比检测出恶意软件样本更困难,并不是所有的安全解决方案都能成功对付网络攻击的。为了评估安全产品的防御技术,实验室会使用RW测试:测试人员会收集大量的恶意数据链接包,在干净的机器上跟踪它们,记录流量并在测试中为所有反恶意软件解决方案重现这些恶意数据包的攻击过程。为了使实验尽可能的干净,一些公司,除了真正的漏洞利用包外还会使用Metasploit框架创建自己特有的漏洞,这样就可以测试安全解决方案对未知代码软件漏洞的反应了。

金融威胁测试:网上银行和银行客户端系统是网络犯罪分子攻击最多的地方,所以测试人员会使用许多特定技术,例如,替换网页内容或远程系统管理,并且还会检查安全解决方案如何对抗它们。此外,许多安全产品的开发商还会提供专门的安全技术来防范金融威胁,例如,卡巴斯基的SafeMoney,SafeMoney的有效性也会通过这些测试来进行检查。

特殊平台:绝大多数测试都是在最常用的平台上进行的, 比如windows。然而,安全产品的开发商有时对其他平台上的安全解决方案更感兴趣,比如,Android,linux,Mac OS,Windows服务器,移动操作系统,甚至早期的Windows版本(例如,大多数ATM目前仍然使用Windows XP)。

针对安全产品的测试类型

除了测试方法,测试也会因测试类型而异。一般情况下,安全产品都是单独进行测试,比如对卡巴斯基进行测试完后再对AntiVirus进行检测,不过这么测试仅仅只是一个相对的结果,比不出哪个产品更好,所以有时会对几种安全产品一起测试,比如对卡巴斯基和AntiVirus同时进行测试,看看他们对同一恶意程序的反应,但是这种比较测试会耗费更多的测试资源,但能为开发商和用提供更多信息。

另外还和测试的频率与测试结果的评价方法有关。大多数测试公司进行会六个月进行的一次测试。每一次测试的结果都会独立评价,在一个测试中可以高度评价的解决方案,可能会在下一个测试中,可以评价很低,反之亦然。除了安全产品本身的特征之外,还取决于测试使用的样本集合或测试的方法。

如果是在连续测试的情况下,会累积给出综合评价,例如,有的安全产品会每个月进行一次测试,这样每六个月综合评价一次,这样的测试最具准确性。所以对消费者最重要的和对开发商最重要的就是连续测试。只有“远距离比赛”的结果才能够评价产品的各种测试结果与各种样本的集合,并对产品做最后的定论。

连续测试能评估一个产品以前和当前版本的各种区别,并能预测未来可能会发生什么反应。连续测试表明了这个安全产品是在不断的更新,不仅样本数据库在更新而且代表着开发人员也在密切关注不断变化的安全形势并对变化做出响应。

安全产品测试市场的概况

目前,市场上出现了许多与安全产品测试相关的公司。这无疑对行业发展有利,因为他们每个都各有擅长的方面,来自不同实验室的评估会让安全产品得到全方位的评价:

AV:这家奥地利公司是测试市场上最早的公司之一。它专注于B2B的安全解决方案,并利用自己的病毒样本执行一系列测试,包括RW测试。测试会持续进行10个月,然后对最好的安全产品授予年度最佳的称号。每年一次,其测试人员就是使用ODS,OAS和On-Execute方法测试针对Android和Mac OS的安全解决方案。

AV-TEST:成立于20年前的一家德国公司,目前是该市场最大的公司。它每月进行一次比较RW测试,测试结果每两个月提供一次;它还使用ODS + ODS + OES方法即样品被扫描,运行后并再次扫描。AV-TEST还会对Android进行性能测试,每年两次使用ODS方法测试针对Mac OS的安全解决方案。

MRG:总部设在英国,该公司自2009年以来一直在测试安全产品。它专门从事神队的技术测试,并进行季度比较RW测试(360评估)。 MRG还会测试金融威胁比如网上银行测试和漏洞预防测试,另外该公司还会执行各种按需测试。

SELAB:由前DTL员工Simon Edwards创办,该公司是在框架基础上设计了自己的一套攻击测试体系,进行季度RW测试,包括防御测试。

Virus Bulletin:该公司使用静态WildList(在野病毒列表)进行非常简单的基于ODS方法的测试认证,可供开发商下载。它还执行安全产品的主动行为测试,但目前其数据库已经几个月没有更新了。

ICSA:这个美国公司是Verizon的一个部门,它只执行认证测试和抗APT的安全解决方案的测试。

NSS Labs:一家美国公司,专注于公司业务。该公司包括RW测试,防御测试和抗APT的安全解决方案的测试。

杂志和网络出版商:如PC Magazine(美国著名的IT杂志),ComputerBild,Tom’s Hardware Guide等,也进行了自己的防病毒测试。然而,他们的方法不是很透明,而且他们也没有公开他们的恶意软件样本集。

除了上述市场参与者之外,还有许多应安全产品开发商而进行非常规测试的公司。不过,在查看其评估结果时应当小心,它们的方法通常不透明,并且比较测试的对象也不会公布。应当指出,高质量的测试方法是一个复杂而昂贵的过程,需要大量的资源和专业知识。只有这样的测试才能为安全产品提供有价值的参考。


Viewing all articles
Browse latest Browse all 12749

Latest Images

Trending Articles





Latest Images