1.3 AppScan
RationalAppScan(简称 AppScan)是一个产品家族,它包括众多的应用安全扫描产品,从开发阶段的源代码扫描的AppScan source edition,到针对WEB应用进行快速扫描的AppScan standard edition,以及进行安全管理和汇总整合的 AppScan enterprise Edition 等。我们经常说的AppScan是指的桌面版本的AppScan,即AppScan standard edition。其安装在Windows操作系统上,可以对网站等Web应用进行自动化的应用安全扫描和测试。本书介绍的AppScan版本为V9.0.3.10。
AppScan特性如下。
- Flash支持:AppScan相对早期的版本增加了flash支持功能,它可以探索和测试基于Adobe的Flex框架的应用程序,也支持AMF协议。
- Glass box testing:是AppScan中引入的一个新的功能。在这个过程中,安装一个代理服务器,这有助于发现隐藏的URL和其它的问题。
- WEB服务扫描:WEB服务扫描是AppScan中具有有效自动化支持的一个扫描功能。
- Java脚本安全分析:AppScan中介绍了JavaScript安全性分析,分析抓取HTML页面漏洞,并允许用户专注于不同的客户端问题和DOM(文档对象模型)为基础的XSS问题。
- 报告:根据用户要求,可以生成所需格式的报告。
- 修复支持:对于确定的漏洞,程序提供了相关的漏洞描述和修复方案。
- 可定制的扫描策略:AppScan配备一套自定义的扫描策略,可以定制适合需要的扫描策略。
- 工具支持:它有像认证测试,令牌分析器和HTTP请求编辑器等,方便手动测试漏洞。
- Ajax和Dojo框架的支持。
1. “探索”和“测试”
在介绍AppScan之前,先来介绍“探索”和“测试”两个概念。
- 探索”:去发现被扫描网站存在多少个目录、多少个页面、页面中有哪些参数等。简单说,了解被扫描网站的结构。
- “测试”:利用“探索”的结果,使用“军火库”,发送导弹,进行安全攻击的行为。
- “完全测试”:即先探索再测试,使用AppScan可以仅“探索”不“测试”。
2. 设置扫描
打开AppScan,点击菜单“工具->选项->记录代理”,如26所示。
26 记录代理
选择让AppScan自动选择端口(U)。外部链接选择“全部拒绝(仅接受来自本地IP 127.0.0.1的链接)”仅扫描本地网站。接下来进入“工具->选项->首选项”,如27所示。在“记录并查看浏览器”中不要选择“使用嵌入浏览器(B)”。
27 记录并查看浏览器
3. 扫描
打开菜单“文件->新建”,选择“常规扫描”,在接下来的页面中在“我想使用以下方式进行探索”中选择AppScan(自动或手动),点击【下一步】按键,输入被测网站的URL地址。如28所示。如果连接成功会显示“已连接到服务器”的绿色字体。
28 设置AppScan被测网站
点击【下一步】按键,在“代理”中选择“不适用代理(D)”。如29所示。
29 选择代理
点击【下一步】按键,这里有四个选择,如30所示。
30 选择登录方式
- 记录:使用预登录操作。
- 提示:当AppScan遇到表单,会弹出信息填写。
- 自动:直接自动填写登录信息。
- 无:不登录。
点击【下一步】按键,选择测试策略,如31所示。
31 选择测试策略
点击【下一步】按键,选择如何启动,如32所示。
32 如何启动选择
最后点击【完成】,确认是否需要保存扫描结果。如33所示。
33 是否需要保存扫描结果
接下来,如果选择的是“完全测试”,系统将先进行“探索”然后进行“测试”操作。
扫描完毕,点击即可查看发现的问题,如34所示。
34 AppScan扫描结果
4. 设置定时扫描
点击菜单“工具->扫描调度程序”然后点击【新建(N)…】按键,进入定时扫描界面,如35所示。
35 AppScan设置定时扫描
5. 扫描结果保存
点击菜单“文件->导出”然后选择保存的文件格式,即可把扫描结果以文件的形式进行保存。如36所示。
36 AppScan导出扫描结果
创建扫描报告
点击菜单“工具->创建报告”或者图标,进入报告配置页面,如37所示。
37 AppScan设置报告
配置完毕,点击【保存报告(S)…】,即可保存报告,如38所示。
38 AppScan报告
其他一些小工具,比如:“认证测试程序”“网络连接测试”“编解码器”“正则表达式测试”和“HTTP请求编辑器”,比较简单,本书不进行详细介绍。
星云测试
奇林软件
联合通测
顾翔凡言:
图是软件项目三角形。
图 软件项目三角形
下面做如下假设。
- 假设质量(Q)与范围(S)不变,时间(T)减少的情形下,必须雇佣高水平的人员或者先进的技术,即增大产品的成本(C)。同理,质量(Q)与范围不变,时间(T)增加的情形下,可以减少成本(C)。
- 假设质量(Q)与时间(T)不变,范围(S)增加的情形下,也必须增大成本(C)。同理,质量(Q)与时间(T)不变,范围(S)减少的情形下,可以减少成本(C)。
- 假设质量(Q)与成本(C)不变,时间(T)减少的情形下,范围(S)必须减少。同理,质量(Q)与成本(C)不变,时间(T)增加的情形下,可以加大范围(S)。
于是可以得到如下公式:
Q = TC/S
也就是说质量消耗单位模块的时间和金钱的乘积。从这里可以看出,完成一个功能,需要达到一定的质量,必须消耗有效的时间或者增加产品的成本投入,由此可以看出为了赶进度,盲目加班赶工是不可取的。