目前市场上的网络安全产品都是如何进行内测的?
在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测试期间,应用可以成功地绕过检测设备,但是不执行任何恶意动作,因为它没有碰到恶意运行的环境或者其最初不是恶意的,而是用于广告目的,但是这些运行都是在安全产品安全后所发生的,所以会影响到最终的效果评判。同时,安全解决方案旨在阻止恶意操作。然而,在这种情况下,并没有发生恶意操作,而反恶意软件程序还依然按照最初的设计在运行,所以碰到这种情况只能通过分析恶意样本的代码及其行为来处理了。
在20世纪90年代的中后期,对网络安全的产品测试需求几乎与第一个防病毒程序的开发同时出现,最开始,是一些计算机安全方面的杂志,利用自制的方法来对一些要报道的安全解决方案的有效性进行验证,往后慢慢地,就出现了一个个专业的安全测试公司来使用全面的测试方法来进行各种相关的检测。
最开始的测试方法就是,从各个计算机上提取一些所谓的恶意文件进行扫描测试,但是由于这种测试的样本和测试结果都非常的不可靠,所以一直被网络安全的解决商所批评,很少有人相信这种方法所测试出来的结果。
20多年过去了。虽然网络安全保护的解决方案在经历了很大的发展,但是网络威胁的威力也越来越大了。反过来,这也加快了相应的测试方法的改进。让那些公司不断的设计出最安全和最准确测试方法。不过这个过程不管是从成本的角度还是从技术的角度来讲都极其的困难,这就是为什么现在安全产品的测试质量取决于实验室的财务状况和其积累的专业知识(比如卡巴斯基实验室的情况)。
关于测试的成本:事实是,独立测试是评估其测试结果的公平,有效的唯一方法。比如NCAP(New Car Assessment Program) 就是一个民间组织,不同于那些由政府机构组织实施的强制性安全认证,它有着自己标准。所以安全产品的测试公司,就得耗费巨资来获得各个开发者的认可。 copyright 无奈人生
不过现在这个问题目前正在慢慢地解决,因为网络安全行业本来就是基于网络的产品,所以通过机器学习可以有效的降低很大的成本。所以未来的基于机器学习的检测结果将会越来越普及。
安全产品的基本测试方法
· 按需扫描(ODS):ODS是最开始使用的测试实方法,用于测试的实验室会收集所有类型的恶意程序(主要是已经感染了恶意软件的文件 ,现在主要是木马程序),将它们添加到用于测试的文件中,然后启动有要测试的安全产品对整个文件进行测试。如果测试的产品捕获的恶意程序越多,就认为它越好,为了接近实战效果,在测试过程中,测试者会将文件从一个文件夹复制到另一个文件夹,看看交叉感染的测试效果。
但目前大部分比较高级的安全技术根本就不适用于这种类型的测试,这也就意味着无法评估解决方案有效地应对威胁的效果。不过,ODS通常会结合一些更为更先进的方法来实施检测。
· 执行测试(On-execute test):这是ODS之后发展的一项测试技术。在安全软件正在运行的机器上复制并启动样本集合,并记录安全解决方案的反应。这曾经被视为一种非常先进的技术,但其缺点很快在实践中显露出来。因为现在的网络攻击往往是分几个阶段进行的,而恶意文件只是攻击的一部分。例如,攻击样本要等待命令行参数,才能在特定环境,例如,特定浏览器中运行,或者攻击样本可以是连接到主木马的DLL形式的模块,比如DLL木马(一种动态嵌入式木马)。 内容来自无奈安全网
· 现实测试(RW):这是目前最复杂的测试方法,但也最接近现实攻击环境,现实测试会模仿感染程序的整个周期。测试人员在安装了安全解决方案的干净系统上打开通过电子邮件传送的恶意文件,或者通过浏览器跟踪实际的恶意链接,以检查整个感染链是否在正常工作,或者看正在测试的解决方案是否能停止恶意攻击过程的哪些阶段。
这种测试考虑了安全产品在真实的网络环境中可能遇到的各种问题。
然而,这种测试方法需要严格的准备工作。首先,需要大量的机器及大量的时间对超过一百个或更多的样品进行全面测试,这是少数实验室所能承受的。其次,目前的许多木马可以识别出它们是否是在虚拟环境中运行,如果是,它们则不会运行,它们会阻碍任何试图分析它们的工作。因此,为了获得最可靠的结果,测试实验室必须使用实际带有物理地址的计算机来运行,在恶意软件样本运行后在重新启动安全产品进行测试。
另一个困难是需要生成用于测试的大量恶意链接数据库。因为许多恶意链接会在测试完后,直接消失,根本起不到实际的测试效果,所以RW测试的质量在很大程度上取决于实验室是否可以找到具有实际检测效果的恶意链接。
· 主动的网络行为检测(Behavior or proactive test):这个思路就是要对未知的样本来进行。为此,进行测试的安全产品,要不断地进行更新。然后,在最后一次更新后,对所出现的恶意程序进行样本汇总,然后再执行按需扫描和执行测试。一些测试公司打包或模糊已知的威胁,以测试安全解决方案识别恶意行为的能力。不过很难正确地评估这种测试的结果,因为,一些实验室会为了保持所收集样本的特性而在完全断网的测试机上进行检测,但是在实际的环境中,病毒是会发生变异的,所以这种测试完全不可行。 www.wnhack.com
· 删除或修复测试(测试是否完全删除了恶意软件):这是为了检查安全产品对恶意程序的实际处理能力,即清除自动运行密钥,删除任务调度程序和恶意软件活动的其他痕迹。这是一个重要的测试,假若删除不干净,可能会让恶意程序死灰复燃。在测试期间,干净的系统会先被所收集的恶意软件样本所感染,然后让安全产品进行查杀,完了之后,重新启动计算机,并安装具有最新更新的安全产品进行检测。这个测试可以进行单独一部分测试或作为RW测试的一部分。
· 性能测试:此测试是为了评估安全产品是如何有效地使用计算机系统资源的。为此,在安装和运行安全产品的情况下,要对计算机平时运行的各种操作速度进行测量。这些操作包括系统引导,文件复制,归档和解压缩以及应用程序的启动,一句话,就是模拟真实用户的工作场景。
· 假阳性测试(False positive test):该测试对于确定最终评估的可靠性是非常必要的。显然,机器学习,特别是未受监控的机器学习,将不可避免地创造假阳性。这些假阳性将必须通过人类予以纠正,安全产品可能对测试中的恶意程序进行100%的甄别,但在实际的环境中,安全产品必须对合法应用的反应作出评判。为此,要使用不同的方案来创建和测试常用软件。
· 反馈:这不是测试方法,而是任何测试都要经过的最重要的阶段,没有它,结果就不能被验证。在执行所有测试之后,实验室将产品实现的初步结果发送给相应的供应商,以便他们可以检查并识别产品的漏洞。这是非常重要的,因为测试实验室根本没有资源来检查每一个情况,并且测试中的错误也是不可避免的。这些错误不一定是由测试方法论引起的,例如,在RW测试期间,应用可以成功地绕过检测设备,但是不执行任何恶意动作,因为它没有碰到恶意运行的环境或者其最初不是恶意的,而是用于广告目的,但是这些运行都是在安全产品安全后所发生的,所以会影响到最终的效果评判。同时,安全解决方案旨在阻止恶意操作。然而,在这种情况下,并没有发生恶意操作,而反恶意软件程序还依然按照最初的设计在运行,所以碰到这种情况只能通过分析恶意样本的代码及其行为来处理了。
本文来自无奈人生安全网