软件测试的精神家园

Web 应用安全利器:IBM Rational AppScan

上一篇 / 下一篇  2010-06-02 15:54:29 / 个人分类:WEB安全测试

 基于 Web 的应用正受到越来越多的青睐,从企业应用到形形色色的公共站点,可以说 Web 无处不在。黑客也逐渐将注意力从以往对网络服务器的攻击逐步转移到了对 Web 应用的攻击上,“跨站脚本”、“SQL 注入”新的网络安全问题不断涌现,如何保障 Web 应用的安全已成为当今业界关注的问题。Rational AppScan 是 IBM 公司推出的全面 Web 安全解决方案,提供了扫描、报告和修复建议等功能,可以帮助开发者在项目起始阶段即全面准确地发现并解决安全问题。

  Web 应用安全现状

  很多开发人员对 Web 安全有着片面的认识,认为只要建立了防火墙,设置了入侵检测系统,部署了网络安全工具,Web 应用的安全就可以高枕无忧了。的确,通过以上措施确实可以从网络以及系统层面增强 Web 应用的安全性,但它片面强调了硬件的作用却忽视了 Web 应用本身的安全问题。对于存在缺陷的应用来说,再多的防护措施也将形同虚设。Web 安全是各种因素的综合体,涵盖了网络、操作系统、应用服务器以及 Web 应用本身的安全问题,任何方面的缺失都会将应用暴露于黑客的攻击之下。著名统计机构Gartner的报告称发生在网络上的攻击当中,大约 75% 是针对 Web 应用的;而另外一项统计数据更是让人不安,约 67% 的 Web 程序是存在安全缺陷的。

  开放 Web 应用安全组织 OWASP(Open Web Application Security Project)发布了2010年 Web 应用十大安全缺陷,与上一榜单相比:注入缺陷(Injection flaws)位列榜首,跨站脚本攻击(Cross Site Scripting)退至第二;错误安全配置(Security Misconfiguration)与非法链接跳转(Unvalidated Redirects and Forwards)首次上榜,分列第六,第八位;恶意文件执行(Malicious File Execution)与信息泄露/异常处理(Imformation Leakage and Improper Error Handling)跌出前十。

  为使读者对 Web 安全问题有所了解,在此只对 SQL Injection(注入缺陷的一种)进行简单介绍,如果读者感兴趣可以学习本文的参考资料或者访问 OWASP 官方网站以获得更多信息。对于用户登录来说,大多数程序都会使用如下的 SQL 语句对用户名和密码进行验证:

SELEECT * FROM user_table WHERE user_name = ''  AND password = ''

  通常情况下上述 SQL 语句可以对用户账号进行有效的检测,但是如果用户输入的账号信息为:用户名 'or 1 = 1--;密码 test,那么登陆程序拼接出的 SQL 语句将变为:

SELEECT * FROM user_table WHERE user_name = ''  or 1 = 1--' AND password = 'test'

  数据库在执行 SQL 语句时会将 "--" 后面的内容作为注释忽略掉,其结果是上述 SQL 语句永远返回真,一个非法的用户获得了网站的登录权限。为了防止此类问题我们通常会对用户输入数据的合法性进行校验,同时使用预编译语句将用户输入作为参数传递到SQL语句中。

  Rational AppScan 初识

  Web 安全检测主要分为两大类,分别是白盒检测和黑盒检测。

白盒工具通过分析应用程序源代码以发现问题,而黑盒工具则通过分析应用程序运行的结果来报告问题。 Rational AppScan(以下简称 AppScan)属于后者,它是业界领先的 Web 应用安全检测工具,提供了扫描、报告和修复建议等功能。为使本文达到更好的效果,在继续文本前读者最好先从 developerWorks 网站下载并安装 Rational AppScan 试用版,安装完成后导入证书激活产品。证书的有效期为 30 天,授予了使用产品全部功能的权限,但是用户只可以扫描本机(localhost)或者 Rational AppScan 测试站点(http://demo.testfire.net)上部署的应用程序。需要说明的是登录 http://demo.testfire.net 站点的用户名和密码为:jsmith / Demo1234,该登录账号在后面的章节中会用到。

TAG:

路口-花落 引用 删除 路口小丫   /   2011-05-09 11:00:30
我正准备做这方面的测试,正在学习ing
xiaoyan2140的个人空间 引用 删除 xiaoyan2140   /   2010-07-15 20:00:12
也在做这方面的测试,但还是不很懂。。。
 

评分:0

我来说两句

Open Toolbar