|
2#
楼主 |
发表于 2018-4-25 16:22:59
|
只看该作者
永远是正确的,所以 select 将会将所有 users 表中的数据返回。最终的结果是,黑客登陆到这个系统中。
通过 SQL 注入攻击,黑客可以轻松的敲入一些 sql 语句登陆进网站、对隐秘数据进行查询等等。
图 3. 攻击举例
通过上述原理描述我们可以看到,对于 SQL 注入攻击无论是防火墙还是入侵检测系统都无法预防和阻止,
唯一的办法是将应用本身的漏洞关闭。例如通过参数的传递配合存贮过程来实现数据库查询,这比动态的构建
sql 语句安全很多。比如在 ASP.net 中通过下面的程序将会避免攻击:
' Visual Basic example
Dim DS As DataSet
Dim MyConnection As SqlConnection
Dim MyCommand As SqlDataAdapter
Dim SelectCommand As String = "select * from users where username = @username"
...
MyCommand.SelectCommand.Parameters.Add(New SqlParameter("@username",
SqlDbType.NVarChar, 20))
MyCommand.SelectCommand.Parameters("@username").Value = UserNameField.Value
// C# example
String selectCmd = "select * from Authors where state = @username";
SqlConnection myConnection = new SqlConnection("server=...");
SqlDataAdapter myCommand = new SqlDataAdapter(selectCmd, myConnection);
myCommand.SelectCommand.Parameters.Add(new SqlParameter("@username",
SqlDbType.NVarChar, 20));
myCommand.SelectCommand.Parameters["@username"].Value = UserNameField.Value;
除了注入缺陷攻击,常见的应用攻击还有跨网站脚本攻击、恶意文件执行攻击、不安全直接对象应用攻击、
跨站点请求伪造攻击、信息泄漏以及利用错误处理机制展开攻击、等等。每种攻击都类似与 SQL 注入攻击,根
据应用程序本身的漏洞,对系统进行破坏工作,例如:获取系统权限、获取机密信息、模拟合法用户等等。
综上所述,这些利用 Web 应用漏洞的攻击是 Web 安全最主要的威胁来源,75%的攻击来源于此,只有对
应用程序本身进行改造才能避免攻击。然而,如何发现这些应用漏洞是保证安全的第一前提,我们如何以最快
最有效的方式发现 Web 应用本身的漏洞呢?没有高效检测手段,安全的 Web 应用将成为水中花镜中月。
3 通过 Rational AppScan 如何应对网站攻击
IBM Rational AppScan 正是应对这一挑战的利器。
如下图所示,Rational AppScan 工作方式比较简单,就像一个黑盒测试工具一样,测试人员不需要了解 W
eb 应用本身的结构。AppScan 拥有庞大完整的攻击特征库,通过在 http request 中插入测试用例的方法实现
几百中应用攻击,再通过分析 http response 判断该应用是否存在相应的漏洞。整个过程简单易懂高效,测试
人员可以快速的定位漏洞所在的位置,同时 AppScan 可以详细指出该漏洞的原理以及解决该漏洞的方法,帮助
开发人员迅速修复程序安全隐患。对于攻击的特征以及测试用例用户不需要花费大量的精力,WatchFire 团队
定期的对特征库进行更新,随着保证与业界的同步,最大化的提高用户的工作效率。
图 4. Rational AppScan 工作示意图
下面我们通过简单的实例介绍一下 Rational AppScan 的使用:
定义扫描
首先确定扫描站点的 URL,根据默认的模板配置向导,确定扫描的整个站点模型以及你想扫描的漏洞种类。
例如,我想扫描企业应用 www.xxx.com
,想根据默认值扫描是否有安全隐患,启动 AppScan,创建一个扫描,敲入 www.xxx.com
; 根据配置向导直至完成。
图 5. 默认的模板配置向导
图 6. 创建一个扫描
扫描启动,进行测试 只需要点击执行。
扫描结果查看
如图所示,AppScan 以各种维度展现了扫描后的结果,不仅仅定位了问题发生的位置,也提出了问题的解决
方案。
图片看不清楚?请点击这里查看原图(大图)。
图 7. 扫描后的结果
4 Rational AppScan 深入介绍
Rational AppScan 同时提供了很多高级功能,帮助客户对复杂应用进行检测。支持的扫描配置有:
Starting URL:起始 URL,制定被测应用的起始地址
Custom Error Pages:制定错误网页提高测试效率
Session IDs:管理测试过程中的 session
Automatic Server Detection:自动检测应用所在的应用服务器、web server、操作系统
Exclusion and Inclusion:制定哪些 Web 被扫描或者被排除,哪些文件类型不被扫描
Scan Limits:其他高级扫描限制,例如扫描次数限制等
Advanced:扫描的方式,是宽度扫描还是深度扫描
Communication Settings:对扫描中的延时、线程数量进行配置
Proxy Settings:代理设置vLogin/logout:对被测应用的登陆进行设置,可以采用录制回放的方式、也可以
使用自动登陆的方式
configure a Test Policy: 配置测试测量,即想测试哪些漏洞。
……
如上所述,用户可以通过 AppScan 进行一系列高级配置,制定所要检测的 Web 模型,即哪些需要扫描、哪
些不需要、扫描的方式等等;也可以定义需要扫描漏洞的列表,从而保证了用户关心的网站模型有无用户所关心
的安全漏洞。在检测出安全漏洞之后,AppScan 又提供了全面的解决方案帮助客户快速解决这些问题,最大化的
保证 Web 应用的安全。另外,对于 Web 服务 AppScan 同样可以支持。
AppScan 提供了完善的报表功能,可以支持用户对扫描的结果进行各种分析,包括对行业或者法规的支持程
度;同时,AppScan 也提供了一系列的小工具,例如:Authentication Tester 通过暴力检测方法扫描被测网站的用
户名称和密码;HTTP Request Editor 提供了编辑 Http request 的功能,等等。
5 Rational AppScan 的使用场景
在整个软件开发生命周期中的各个阶段,Rational AppScan 都可以被使用,全面的保障了软件的安全性。如下
图所示,软件开发过程中,软件开发人员、软件测试人员、QA、审核人员等诸多角色都可以通过 AppScan 检测应
用,将漏洞尽早挖掘出来。下面我们通过一些使用场景介绍一下 AppScan 给软件开发带来的利益。
图 8. AppScan 使用场景
5.1 开发人员使用 AppScan
开发人员在开发过程中可以使用 AppScan 或者专用插件,随时开发随时测试,最大化的保证个人开发程序
的安全性。越早发现问题,解决问题的成本就越低,这为 Web 应用的安全提供了最为坚实的基础保障。
测试人员使用 AppScan
系统测试人员使用 AppScan 对应用做全面的测试,一旦发现问题,可以快速的生成 defect,通过与 ClearQue
st 的集成可以实现 defect 电子化跟踪,再传递到开发人员手中,指导开发人员迅速解决问题。极大的提高了开发
团队的开发效率,也提供了完整了沟通平台解决方案。
5.3 审核人员上线前使用 AppScan
这是系统上线前的安全质量关卡。任何系统上线都应该经过严格的上线测试,这也最大化的减少了上线后问题
的出现,避免生产系统上线后给企业带来的巨额损失。
5.4 上线后审计、监控人员使用 AppScan
上线的系统应该定期检测,一旦出现问题更应该及时检测,越快速的定位发现问题,损失就会越小。
上面我们介绍的是比较通用的使用场景。当然,不同的企业可能不同的特点,AppScan 使用场景的原则是最
大化的提高使用效率、尽早的把问题暴露出来,为应用安全打下坚实的基础。每个企业都可以根据自身的开发现
状定义适合自己的使用模式。
6. 为企业带来的收益
通过上面的介绍,我们对 Web 安全现状、应用安全重要性、以及应用安全产品 Rational AppScan 的使用有了
一定的认识。但是,工具带给客户的不仅仅是一些功能,更为重要的是给企业带来的深层次的收益,给企业在开发
过程、安全策略等层面带来了深刻的变化 . 下面我们从几方面阐述 AppScan 给企业带来的价值:
AppScan 是 Web 应用安全的坚实保障
正如上面所论述的一样,当前 Web 安全 75%的漏洞出自于应用本身,快速全面的定位问题并提供完善的解决方案
将会帮助开发团队构建一个健壮的应用。
AppScan 使得开发成本降低、开发效率提高
开发测试人员通过 Rational AppScan 可以迅速的定位安全隐患,早期发现问题不仅有助于解决问题,更降低了开
发成本,避免问题过晚出现所造成的巨大损失。
AppScan 给企业提供了统计分析能力
Rational AppScan 提供了灵活报表功能,可以支持对扫描结果进行统计分析;支持对规范法规遵循的分析;更提
供了 Delta 比较报告,可以比较两次检测的结果从而作为质量检验的基础数据 AppScan 帮助建立企业级的测
试策略库
Rational AppScan
帮助企业根据不同的应用类型建立不同的测试策略,同时用户可以定义针对不同威胁的解决方法,持续的知识积
累保证了企业拥有更完善的安全解决方案。
总结
综上所述,随着 Internet 的蓬勃发展,Web 的安全性已经被空前重视,薄弱的安全性也成为了很多企业发展
的瓶颈。然而,即便安全性如此受重视的今天,很多人对如何保障 Web 的安去性都存在着巨大的误区。现实表
明,只有加强 Web 应用的防护,才能有效的防范 75%的攻击,Web 应用的防护已经成为安全话题中最为不可获
缺的部分。IBM Rational 提供了 Rational AppScan 解决方案,在 Web 开发、测试、维护、运营的整个生命周期中,
帮助企业高效的发现、解决安全漏洞,最大限度的保证了应用的安全性,为企业发展提供了坚实的技术保障。 |
|