B/S架构软件的安全性测试分析
摘要:为了保障软件的质量,对软件进行测试成为人们关注的焦点,受到越来越多人的关注。随着科学技术的不断进步,B/S架构软件得到广泛的应用,对B/S类软件进行测试,成为保障软件质量的重要手段。由于B/S架构的特殊性,导致B/S架构软件的安全测试不同于其他的软件。本文就B/S架构软件的安全性测试进行简要的分析。
关键词:B/S架构软件 安全性 测试
中图分类号:TP311.53 文献标识码:A 文章编号:1007-9416(2015)04-0189-01
为了发现软件的错误,保证软件的质量,必须要对软件进行软件测试工作,网络快速发展的今天,越来越多的人开始使用B/S架构软件,在B/S架构软件的测试中,要对B/S架构软件传统的功能进行测试,同时,也要对传统性能进行测试,除此之外,其安全性测试的重要程度也逐渐开始被人们认识。
1 B/S架构软件安全性的种类
一般情况下,软件的安全性以以下两个方面为侧重点:这两个方面包括应用程序级别的安全性,另一个就是系统级别的安全性。系统级别的安全性情况比较复杂,在登录系统时,用户只有被赋予相应的访问权限才能对应用程序进行访问。
在B/S架构下,Web页面通常是客户端的软件最为主要的页面。此时,B/S架构软件的安全性将会被分成两个部分,一部分是数据或功能访问控制安全,另一部分就是页面访问控制安全[1]。
所谓的数据或功能访问控制安全就是指,在预期安全性情况下,数据或功能访问安全性可以对不同授权的用户进行相应的保障,确保用户只能够访问特定的功能,或者是只能够对有限的数据进行访问。页面访问控制安全有:页面登录、超时限制、日志文件、SSL、脚本安全性[2]。
2 B/S架构软件安全性测试技术
为了确保数据访问安全,一定要测试应用软件的安全功能,同时,为了使页面的访问安全提供一定的保障,要对软件的安全漏洞进行测试。在进行安全功能的测试时,要以软件的安全需求为出发点,看软件的安全功能是否与之是一致的。在进行安全漏洞测试时,要注意从攻击者的角度出发,此时测试的目的就是为了发现软件的安全漏洞[3]。
2.1 安全功能测试
Web服务主要的安全功能需求既包括身份认证、访问控制、隐私保护、安全管理等,又包括审计跟踪、不可否认性、消息机密性等。安全功能测试就是针对这些安全功能需求的具体实现进行的功能性测试验证。
对软件需求中确定的有关安全模块的功能进行测试验证是功能验证最主要的工作。在进行软件开发时,开发者为了保证软件的安全,通常都会在软件中设置一些安全防护措施,比如将数据加密模块、权限管理模块等添加到软件的开发过程中。安全功能验证是B/S架构软件必须要进行的一个测试环节,在测试时,可以采用黑盒测试、白盒测试、灰盒测试等方法,这与一般软件的功能测试是相同的。
2.2 安全漏洞测试
安全漏洞测试就从攻击者的角度进行思考,找出软件中的不足,发现软件中的漏洞。所谓的安全漏洞就是指系统内部存在的缺点和缺陷。漏洞的存在会给软件的安全造成严重的威胁,一旦漏洞被攻击者利用,攻击者就会对软件进行攻击,那么软件的安全就会受到威胁。
B/S应用程序攻击包括的内容很广,对程序本身的拒绝服务攻击是应用程序攻击的范畴,改变窃取用户信息、网页内容等也属于应用程序攻击。隐藏字段、跨站点脚本编写、已知弱点和错误配置等是B/S架构软件常见的几个安全漏洞。一般情况下,参数篡改、缓冲区溢出、直接访问浏览、更改Cookies等也是常见的B/S应用安全漏洞。
(1)参数篡改。WSDL文件也被成为Web服务描述文件,通常许多重要的信息都保存在Web服务描述文件中,这些重要的信息包括Web服务提供的方法、调用这些方法所用的参数、参数的类型等。参数篡改就是更改数据类型,具体的实现方法就是首先要对WSDL文件进行扫描,在扫描的同时将Web服务调用可接受的参数类型寻找出来,然后对这些参数进行篡改,使之成为Web不期望的数据类型,这样就可以对Web服务器进行攻击。
(2)跨站脚本攻击。跨站脚本攻击又被称为XSS,就是指利用网站漏洞从用户那里盗取信息。攻击者通常会在网站的链接中插入恶意代码,用户在浏览网站时,一旦点击其中的链接,用户的信息就被盗取。防范跨站脚本攻击主要从两个方面入手,一是对所有的输入数据进行验证,二是对所有的输出数据进行编码,通过这种方式,已成功注入的脚本就很难在浏览器端运行。
(3)Cookies测试。为了辨别用户的身份,会有大量的数据储存在用户本地终端上,这些数据就是Cookies,判断注册用户是否已经登录网站是Cookies最典型的应用。对Cookies进行测试时,一般Cookies Manager或者是IE Cookies View等经常被应用到测试中。
3 B/S架构软件安全性测试工具
安全性测试工具以自动化半或者是自动化的方式,Web安全测试工具通常可以作为客户端使用,这时Web安全测试工具可以向目标服务器发出请求;同时安全测试工具也能够作为代理服务器使用,此时其最主要的功能就变成接收目标客户端的请求。这里主要介绍两类安全测试工具:一类是以Web的功能安全为关注点,测试Web服务的安全功能。另一类就是注重于Web应用漏洞的检测,可以扫描常见的Web服务安全漏洞。
Web服务扫描器具有强大的功能,一方面,Web服务扫描器可以对Web服务的安全功能进行测试,另一方面,还对Web服务的安全漏洞可以进行有效的识别和扫描。Web应用漏洞扫描器可以对Web客户端进行模拟,在执行CGI扫描的同时,还可以完成URL扫描等。
4 结语
保证软件安全才能保证信息的安全,对于信息安全体系来说,软件安全已经成为其组成的一部分。软件安全性测试受到人们的广泛关注。随着Web服务应用日益广泛,其安全性问题的会越来越受到人们的重视。Web应用服务的漏洞不断被人们发现,为了有效的保障软件的安全性,安全性测试的方法会不断地发展和完善。