3、APPSCAN IBM的安全性测试引擎

Appscan简介                      

(中国测试员网站      www.cntester.com)

IBM Rational AppScan Standard Edition 是一种自动化 Web 应用程序安全性测试引擎,能够连续、自动地审查 Web 应用程序、测试安全性问题,并生成包含修订建议的行动报告,简化补救过程。  
IBM Rational AppScan Standard Edition 提供:  
 核心漏洞支持:包含 WASC 隐患分类中已识别的漏洞——如 SQL 注入、跨站点
脚本攻击和缓冲区溢出。  
 广泛的应用程序覆盖:包含集成 Web 服务扫描和 JavaScript 执行(包括 Ajax)
与解析。  
 自定义和可扩展功能:AppScan eXtension Framework 运行用户社区共享和构建开
源插件。  
 高级补救建议:展示全面的任务清单,用于修订扫描过程中揭示的问题。   面向渗透测试人员的自动化功能:高级测试实用工具和 Pyscan 框架作为手动测试
的补充,提供更强大的力量和更高的效率。  

法规遵从性报告:40 种开箱即用的遵从性报告,包括 PCI Data Security Standard、ISO 17799 和 ISO 27001 以及 Basel II。

Appscan概要 

扫描原理

1. 探测阶段 
        在这个阶段,Appscan主要的工作是模仿一个用户对被访问的Web应用或Web服务站点进行探测访问,它这时主要工作是通过发送请求对站点内的链接与表单域进行访问或填写,以获取相应的站点信息。之后,Appscan分析器将会对自己发送的每一个请求后的响应做出判断,然后查找出任何可能潜在风险的地方,并针对这些可能会隐含风险的响应,确定将要自动生成的测试用例。对于探测过程中,所采用的测试策略可以选择默认的或自定义的,可采用不同的测试策略,测试策略库是Appscan内置的,它可以定义为你想要的组合,去检测你最想检测的可能存在的安全隐患。 
        Appscan测试策略库是针对WASC和OWASP这两大安全组织所认为的安全风险定置的。并且,测试策略库就如同病毒库一般,时刻保持着最新的状态,可以通过对策略库的更新,来检测最近发现的Web漏洞。 
      探测阶段完成后,这些高危区域是否真的隐含着安全缺陷或应做更好的改良,以及这些隐含的风险是处于什么层度的,是需要在测试执行完成后,才能最终得出决论。

2. 测试阶段 
          测试阶段其实同探测阶段是处于同一个过程的,现在区分开来,主要是让我们更了解Appscan的共作流程。继上一个探测阶段后,Appscan已经分析出可能潜在安全风险的站点模型。也已经知道需要生成多少的测试用例,以便检测这些区域的安全隐患。这个时候的工作,主要就是生成这些已经计划好的测试用例。Appscan是通过测试策略库中对相应安全隐患的检测规则而生成对应的测试输入,这些足够全面而且复杂的测试输入,将会在扫描执行阶段对系统进行验证,通过这些全面合理的测试输入数据,我们就可以想象这是我们人工执行所难以达到的。通常对一个系统的测试,将会生成上万甚至几十万上百万的测试用例输入。

3. 扫描阶段 
      在这个阶段,Appscan才是真正的工作起来,他将会把上个阶段的测试用例产生的服务请求陆续的发送出去,然后再检测分析服务的响应结果,从而判断该测试用例的输入,是否造成了安全隐患或安全问题,然后再通过测试用例生成的策略,找出该安全问题的描述,以及该问题的解决方案,同时还报告相关参数的请求发送以及响应结果。 
扫描阶段完成以后,Appscan中将统计相应的安全问题的检测结果,可以再进行检测结果的报告导出等,继而对检测出的问题进行逐个的分析,并可依据报告对问题进行修复或改良。

典型工作流 
     Appscan是一个交互式的工具,他测试的范围和层度取决于你对它进行的相应配置,因此,在使Appscan为我们工作之前,我们应先对它进行相应的配置,以满足我们不同范围和层度的需求。当然,你也可以通过默认的内置定义进行测试,那么Appscan将会按照它缺省的设置进行测试。通常情况下Appscan包含下面的操作流程。 4.2.1.        1. Template Selection(模板选择) 
你可以预先定义一套模板,或则选择系统默认的设置模板。预定义模板可以通过先选择默认模板后,完成向导后先暂时不执行测试,然后再对当前的扫描任务进行自定义,定义为你想要的模板样式,然后在Scan Configuration中选择另存,保存为你想要的模板,之后再创建新的扫描时,就可以选择这个定义好的扫描模板。

2. Application or Web Service Scan(应用或Web服务扫描) 
你需要选择你测试的对象是Web应用程序还是Web服务。 

3. Scan Configuration(扫描配置) 
在这进行扫描配置,你需要设置你要访问的应用或服务,然后设置登陆验证,之后将对你所需要采用的测试策略进行选择,可以使用默认的配置或加载修改适合你需要的配置。 4. Scan the Application or Service(扫描应用或服务) 
这里的工作包括了探测和测试阶段。 
 Explore(探测):

    在探测阶段里,Appscan将会爬行访问你的站点,他会按照你制定的规则访问链接并记录访问后的响应,然后创建出包括URL、目录、文件等等的层次结构,而这些结构将展示在一个Application Tree(应用树)里。你可以通过自动或手动浏览的方式来完成这个探测过程,你还可以通过导入已经录制好的手工浏览脚本文件来实现你想要的探测方式。 
 Test(测试):

在测试阶段里,Appscan会依据有关的规则,访问探测阶段发现的相应URL、输入参数以及输出响应,这些测试用例都是采用先进的技术来发现这其中存在的安全隐患。Appscan自动生成不同的测试用例,这些测试用例主要包括以下两种类型 

               [A] Infrastructure Tests(异常结构测试):这类测试主要是测试已知的安全隐患,主要包括商业化的工具、第三方产品插件、IE浏览器等中存在的安全性脆弱的部分。

               [B] Application Tests(应用测试):这类测试将测试你系统中特有的应用,Appscan将会通过复杂的智能算法来学习当前系统中的应用逻辑,并生成这类有效的应用测试。 

    这些测试用例可以通过更改测试策略中的组合以及配置来达成你想要的测试效果,这些测试策略都是Appscan根据业界与WASC和OWASP两大安全组织等声明的潜在安全攻击隐患而针对定置的检测策略。但如果你觉得不足够,你也可以进行自定义测试策略,用来实现你特有的想法或需求,假如你觉得这很有必要并且你会的话。    
          Review Results(回归结果集):

如果你觉得有需要,可以再次回归检测后的结果集,然后手工追加你仍要探测的链接,以及回归一下需要进行补救修复的任务。 

你可能感兴趣的:(测试,安全,appscan)