Web应用安全的分析及检测

2014-04-07 09:30孟占永任江伟韩跃龙
河南科技 2014年20期
关键词:敏感数据安全漏洞攻击者

郭 强 孟占永 任江伟 韩跃龙

(郑州大学西亚斯国际学院 网络管理中心,河南 新郑 451150)

1 引言

随着互联网的发展,Web 应用系统在功能和性能上日益完善,能够给客户提供更加快捷和方便的服务。 同时,由于网络技术日趋成熟,Web 应用系统也面临着更多的安全威胁,黑客的攻击方式逐步从对网络服务器的攻击转变为对Web 应用的攻击。然而,人们的注意力大多集中在网络和服务器的安全上,对Web应用本身的安全关注较少,导致大量的应用遭到非法攻击。

据CNCERT/CC 监测[1],2013年被篡改的网站数量为24 034 个,较2012年大幅增长46.7%。 被植入网站后门的有76 160 个,较2012年大幅长增长46%。 2013年新增收录信息系统安全漏洞7 854 个,较2012年收录数量增长15%。 网站篡改、后门攻击、信息系统漏洞呈逐年上升的趋势。 网站安全尤其是网站中用户个人信息和数据的安全问题,仍然面临严重威胁。

2 Web 应用安全问题产生的原因

造成应用软件安全问题的原因可以归类为四种[2]:内因、外因、外部环境、内部环境。

2.1 内因

这主要是软件本身的安全问题, 引起安全问题的原因如下:(1)开发人员对安全问题不够重视;(2)开发人员的能力有限;(3)安全漏洞增加的速度过快,工作人员应接不暇;(4)对于某些已投入使用的应用系统,由于其更改难度大,或者更改的成本高,或版权等原因造成无法更改。

2.2 外因

软件的运行环境,主要指网络和其它基础设施方面的安全问题。

2.3 外部环境

黑客、恶意代码等网络攻击行为增加了应用软件受到安全威胁的可能。

2.4 内部环境

用户的安全防范意识淡薄、 用户本身的网络技术水平较低、误操作、报复、经济犯罪等使得运行在企业内网的应用软件也面临严重的安全风险。

由上述可知,Web 安全是各种因素的综合体, 没有绝对安全的安全防护措施。 我们在考虑Web 安全的时候,要综合考虑上述的四个方面,任何一方面的漏洞,均有可能对Web 应用造成安全威胁。

3 Web 安全问题的类型及解决办法

随着软硬件技术的发展,以及网络攻击者技术水平的不断提高,安全问题的数量呈上升趋势,但是大多数的问题主要集中在某几个方面。OWASP(Open Web Application Security Project)发布了2013年十大Web 应用安全漏洞,具体内容如下[4]。

3.1 注入

注入包括SQL、操作系统和LDAP 注入。该问题主要发生在不可信的数据作为命令或者查询语句的一部分被发送给解释器的情况下,攻击者发送的恶意数据可以欺骗解释器,以执行破坏性的命令或者访问未授权的数据。

3.2 有问题的鉴别与会话管理

与鉴别和会话管理有关的应用功能通常不能被正确执行,这就导致攻击者破坏密码、密钥或会话令牌,或者利用应用上的瑕疵来假装成其他用户。

3.3 跨站脚本攻击(XSS)

应用程序收到不可信的数据,在没有进行适当验证和转义的情况下就将它发送给浏览器。 攻击者可以利用XSS 在受害者的浏览器上执行脚本,从而劫持会话、危害站点或者将用户转向恶意网站,从而发动安全攻击。

3.4 不安全的直接对象引用

当开发人员暴露一个对内部实现对象(文件、目录、数据库密钥等)的引用时,就会产生一个不安全的直接对象引用。 在没有访问控制检测或其他保护的情况下, 攻击者就会操控或利用这些对象去访问未授权数据。

3.5 安全配置错误

一般对应用程序、框架、应用服务器、Web 服务器、数据库服务器定义和执行安全配置,以提高安全性。 由于许多设置的默认值并不是安全的,因此就必须定义、实施和维护所有这些设置以确保安全性。

3.6 暴露敏感数据

许多网络应用没有恰当地保护好敏感数据, 比如信用卡、税收ID 以及认证凭证。 攻击者可能窃取或者修改这些保护力度较弱的数据进行信用卡诈骗、身份盗用或者其他犯罪。 应当对敏感数据进行额外的保护, 比如加密或者与浏览器交互时进行特殊的预防。

3.7 函数级访问控制缺失

在UI 界面上获取某种功能时, 大多数Web 应用验证函数级访问权限。 然而,当每个函数都是可访问的时候,服务器上的多个应用都要执行同样的访问控制检查, 如果没有对请求进行验证,在没有适当授权的情况下,攻击者就能伪造请求来进行某种功能访问。

3.8 跨站请求伪造(CSRF)

迫使登录用户的浏览器将伪造的HTTP 请求, 包括该用户的会话cookie 和其他认证信息,发送到一个存在漏洞的Web 应用程序。

3.9 使用存在已知漏洞的组件

组件,比如图书馆、框架或者其他软件模块,通常几乎是以完整权限运行的。 如果一个易受攻击的组件被利用,这种攻击将会造成敏感数据丢失和服务器被接管。 采用具有已知缺陷组件的应用可能破坏应用的防御功能并且造成一系列的可能攻击和冲突。

3.10 未验证的重定向

Web 应用程序经常将用户重定向和转发到其它网站和页面,并且利用不可信的数据去判定目的页面。 如果没有得到适当验证,攻击者可以重定向受害用户到钓鱼软件或恶意网站,或者使用转发去访问未授权的页面。

4 工具检测及对比

目前有不少不错的安全评估工具, 比如IBMRational AppScan、HP WebInspect、 明鉴Web 应用弱点扫描器(MatriXay WebScan)、NSFOCUS WVSS、安域领创WebRavor、诺赛科技Jsky/Pangolin 等, 借助这些安全评估工具可以对Web 应用进行安全扫描,帮助用户检测出安全漏洞。 同时,这些评估工具还可以给出防范措施,便于用户对安全漏洞进行防护。下面对几种安全监测工具进行介绍,对其功能进行对比。

4.1 WEB 应用弱点扫描器

具有“取证式”的扫描功能和安全审计、渗透测试和网页木马检测功能,提供漏洞分析、修复、报表,全面支持OWASP TOP 10 检测。

4.2 NSFOCUS WVSS

NSFOCUS WVSS 可以对门户网站、电子商务、网上营业厅等各种Web 应用系统进行安全检测, 检测的漏洞覆盖了OWASPTop10 和WASC 分类。NSFOCUS WVSS 基于Web 的管理方式,采用模块化设计和嵌入式系统,通过内核级修改实现了多任务、多线程、数据存储、数据访问等多方面的优化,与第三方平台产品相比,该系统拥有更好的稳定性和安全性[5]。

4.3 HP WebInspect

采用.NET 架构,自动化爬取WEB 页面,然后对这些页面进行渗透式攻击,发现所有已知的安全漏洞,提供中英文的漏洞解释说明、问题的详细描述、各个角色的修改建议。

5 结论

借助于安全监测工具, 我们可以解决一些典型的安全问题,但这不是解决安全问题的根本方法。 工具检测只能算是一种辅助手段,我们应当在思想上重视Web 应用的安全问题,并在不同的开发阶段采用行之有效的措施来避免安全问题的出现。

[1]http://www.isc.org.cn/download/2014fdf.pdf.

[2]王国青.浅析Web 应用软件开发安全[J].计算机系统应用,2013,22(2):5-9.

[3]周亮.基于PDM 的协同设计系统的研究与开发[D].廊坊:河北工业大学,2005.

[4]https://www.owasp.org/index.php/Top_10_2013-Top_10.

猜你喜欢
敏感数据安全漏洞攻击者
干扰条件下可检索数字版权管理环境敏感数据的加密方法
基于大数据技术的软件安全漏洞自动挖掘方法研究
机动能力受限的目标-攻击-防御定性微分对策
基于模糊测试技术的软件安全漏洞挖掘方法研究
实现虚拟机敏感数据识别
基于透明加密的水下通信网络敏感数据防泄露方法
基于4A平台的数据安全管控体系的设计与实现
安全漏洞太大亚马逊、沃尔玛和Target紧急下架这种玩具
正面迎接批判
有限次重复博弈下的网络攻击行为研究