Web服务安全性测试技术问题研究

2016-08-06 09:15于颖
农业科技与装备 2016年3期
关键词:漏洞

于颖

摘要:Web服务组合安全性检测对提高Web服务的安全性具有重要意义。针对Web应用安全存在的主要8种漏洞,在建立测试框架的基础上,提出安全检测关键技术的实现方法,为提高Web服务安全性提供技术参考。

关键词:安全性测试;Web服务;漏洞;测试框

中图分类号: TP393 文献标识码:A 文章编号:1674-1161(2016)03-0036-03

1969年互联网在美国诞生,1994年我国与国际互联网成功连接,标志着我国互联网步入新时代。经过20多年的发展,我国的互联网实现了从无到有,并且规模越来越大,现已经成为世界第二大网络大国。据《中国互联网络发展状况统计报告》(中国互联网络信息中心2016年1月22日第37次权威发布)显示,截至2015年12月,我国网民规模达6.88亿,互联网普及率达50.3%,半数中国人已接入互联网。伴随着互联网的快速发展,以社交网络、电子商务等为代表的Web服务正在深刻地改变着人们的生活方式,甚至影响着整个社会发展进程。

1 Web服务的基本概念及组成

Web服务作为一种远程访问的标准,具有松散耦合、平台无关、交互性、语言中立等优点,通常作为分布式应用实现的技术基础。Web应用系统组成十分复杂,正因为其复杂组件和彼此间复杂的关系,所以才能为用户提供强大服务。Web应用系统核心组件包括用户接口代码、前端系统、服务器软件、后台系统、数据库系统等。

2 Web服务安全性测试的重要意义

Web应用当前已经成为软件开发的重要组成部分。由于开发人员技术水平有限或者安全意识比较薄弱,每一个Web系统自身都存在着一定的安全漏洞,并在使用过程中逐渐暴露出来,入侵者就可能利用漏洞到Web应用上进行恶意攻击。Web系统中有大量信息,其中许多信息涉及个人隐私或是企业关键性业务等,一旦Web服务安全性出了问题,可能会给个人或企业造成重大损失和带来严重后果。虽然当前入侵检测、防火墙等技术已经相对成熟,可以为Web系统提供一定的安全防护,但是对Web应用的恶性攻击大多来自于应用层,完全解决各种安全性问题的难度非常大。在此情况下,Web服务安全性测试具有重大现实意义。

3 Web应用安全漏洞

Web应用安全漏洞是指一个Web系统的所有组件在设计、实现或者操作和管理中存在的可能被入侵者利用的缺陷和弱点。常见的Web应用安全漏洞主要有以下8个类别。

3.1 未被验证的输入

入侵者通过篡改HTTP请求越过站点安全机制,主要包括缓冲区溢出、跨站点脚本、SQL注入、格式化字符串攻击等输入篡改攻击方式。HTTP请求主要包括查询字符串、Cookie、HTTP头部、URL、表单等。

3.2 SQL注入

SQL注入是最普遍、最严重的Web应用安全漏洞。入侵者通过在输入域中插入某些特殊字符,完全改变SQL查询的自身功能,欺骗数据库服务器进行非法操作,从而达到破坏数据库或非法获取数据清单的目的。

3.3 跨站点脚本

入侵者在Web浏览器客户端通过页面提交的输入数据嵌入恶意代码,如果服务器不经过滤或转义直接将这些数据返回,那么这些恶意代码在其他用户访问该Web页面时将被执行,从而实现其恶意攻击的目的。

3.4 缓冲区溢出

入侵者利用缓冲区溢出漏洞向Web应用发送特定请求,使目标Web应用执行其设定的代码。

3.5 隐藏的字段

在正常操作中,用户可以执行Web浏览器中的“查看源文件”,并查看字段内容,通过手工修改参数值,再传回给服务器端。入侵者通过对HTML源文件中的这些隐藏字段进行修改实现恶意目的。

3.6 不恰当的异常处理

用户向Web应用提交正常请求时,可能频繁产生内存不足、系统调用失败、数据库链接错误等异常情况。如果不能进行恰当处理,堆栈追踪、数据库结构、错误代码等内部错误信息很可能被入侵者获知,带来一定的安全隐患。

3.7 远程命令执行

用户提供的输入数据在没有经过适当验证情况下,就可以通过Web服务器进行传递。入侵者可能利用这个漏洞,使目标Web应用执行他的命令。

3.8 远程代码注入

这一安全漏洞通常是由Web应用开发者存在不良编码习惯引起的,如允许没有经过验证的用户输入,造成本地应用或远程的PHP代码被包含进来。这一漏洞被入侵者利用,实现其向目标Web应用中注入其他PHP代码的目的。

4 Web服务安全性测试技术

为保障Web服务安全,消除潜在的漏洞隐患,一方面Web服务要在用户的身份标识和验证级别上集成Web站点安全;另一方面要在服务器与用户进行信息交换的过程增加安全防范措施。目前,通常在身份验证/授权、传输层安全、应用层安全3个领域采取安全措施。

4.1 测试框架

Web应用安全性测试框架主要包括威胁建模、测试需求、测试策划、测试执行、报告5个不同阶段,具体情况如图1所示。

第一阶段是威胁建模,主要是有效确定安全目标,对漏洞隐患进行确定和评级。第二阶段是测试需求,准确确定测试对象并合理进行资源分配,主要依据软件具体需求和威胁剖面素。第三阶段是测试策划,主要是测试策略文档,通过提供控制策略,有效控制系统程序总体架构、资源需求和缺陷,准确描述测试环境等一系列情况。第四阶段是测试执行,及时准确的记录测试的结果。第五阶段是报告,对最终测试结果进行详细地说明和报告。

4.2 安全性测试技术

在Web应用系统开发的整个过程中,对整个体系结构的每一个环节都进行必要的安全性测试,就会发现其存在的安全漏洞隐患,从而有效提高整个Web应用系统的综合安全性能。在最初的设计环节对安全漏洞进行检测,并及时对漏洞进行修复,可能避免后续环节发生安全问题。把目标部署环境所关联的设计作为目标对象进行通盘考虑和研究设计,有效提高Web应用系统的安全水平。“白盒子”测试的主要内容是,在Web应用系统开发过程中,依据源代码的不同级别对目标网站进行相应安全测试,及时发现相关问题并进行有效处理。

4.3 应用及传输安全

Web应用系统设计完成后,要通过一系列的安全测试,发现系统中存在的漏洞隐患,并有效进行修复。“黑箱子”测试的主要内容是,当Web应用系统已经投入使用后,在不影响其正常运行的条件下,积极应用远程方式进行安全测试,模拟黑客攻击目标系统,最大限度对Web应用系统安全性进行有效测试。

在测试过程中,通常选取应用级和传输级2个等级层面进行测试。应用级安全性测试是通过系统自带程序对目录设置、注册及登录、在线超时、操作留痕、备份及恢复进行检查测试,有效排除程序设计方面存在的安全漏洞隐患。传输级安全性测试是以系统传输特性为基础,通过对包括SSL、数据加密、防火墙、服务器脚本漏洞在内的从用户端到服务器整个数据信息传输过程进行检查测试,进一步增强系统拒绝非法访问的能力。

参考文献

[1] 唐修平.Web服务安全性研究及应用[J].湖南工业职业技术学院学报,2011(5):5-7.

[2] 张再华.基于.NET平台Web服务安全性的研究与实现[J].电脑知识与技术:学术交流,2012(2X):1292-1293.

[3] 邢翠芳,李瑛,赵海冰,等.一种移动Web服务安全性技术方案[J].计算机技术与发展,2013(4):122-125.

[4] 周洁,任江春,王志英,等.一种基于Petri网的Web服务组合安全性动态检测技术[J].计算机工程与科学,2014(2):250-257.

猜你喜欢
漏洞
小心“漏洞”
漏洞在哪里
漏洞在哪儿?
侦探推理游戏(二)
QQ浏览器成黑客攻击帮手
漏洞在哪儿
从Windows 95就开始的超级漏洞
Windows系统WebDAV提权漏洞
漏洞一响,黄金万两
视频、Office漏洞相继爆发