安全测试概念及应用领域

安全性测试(security testing)是有关验证应用程序的安全服务和识别潜在安全性缺陷的过程。

注安全性测试并不最终证明应用程序是安全的,而是用于验证所设立策略的有效性,这些对策是基于威胁分析阶段所做的假设而选择的。

安全测试首先会对被测试系统做系统分析,分析其架构,软件体系以及程序部署等等,然后再对被测系统做系统安全分析,在这之后会对系统进行安全建模,明确本系统可能来自的各个潜在威胁,之后需要剖析系统,确认有哪些攻击界面,根据测试方案进行测试。安全测试只关注漏洞的可利用性分析,但不关注漏洞如何被真实利用的技术.

下面从WEN安全测试和数据库安全测试进行简单介绍。

WEB安全测试作为安全测试中的重中之重,往往容易被测试人员所忽略。

WEB安全测试主要包括一下几点:

  • 登录:一般的应用站点都会使用登录或者注册后使用的方式,因此,必须对用户名和匹配的密码进行校验,以阻止非法用户登录。在进行登陆测试的时候, 需要考虑输入的密码是否对大小写敏感、是否有长度和条件限制,最多可以尝试多少次登录,哪些页面或者文件 需要登录后才能访问/下载等。
  • 超时限制:WEB应用系统需要有是否超时的限制,当用户长时间不作任何操作的时候,需要重新登录才能使用其功能。
  • HTTPS和SSL测试: 默认的情况下,安全HTT(Secure HTTP)通过安全套接字SSL(Secure Sockets Layer)协议在端口443上使用普通的HTTP。HTTPS使用的公共密钥的加密长度决定的HTTPS的安全级别,但从某种意义上来说,安全性的保证 是以损失性能为代价的。除了还要测试加密是否正确,检查信息的完整性和确认HTTPS的安全级别外,还要注意在此安全级别下,其性能是否达到要求。
  • 服务器脚本语言:脚本语言是最常见的安全隐患,如有些脚本语言允许访问根目录,经验丰富的黑客可以通过这些缺陷来攻击和使用服务器系统,因此,脚本语言安全性在测试过程中也必须被考虑到。
  • 日志文件:在服务器上,要验证服务器的日志是否正常工作,例如CPU的占用率是否很高,是否有例外的进程占用,所以的事务处理是否被记录等。
  • 目录:WEB的目录安全是不容忽视的一个因素。如果WEB程序或WEB服务器的处理不适当,通过简单的URL替换和推测,会将整个WEB目录完全 暴露给用户,这样会造成很大的风险和安全性隐患。我们可以使用一定的解决方式,如在每个目录访问时有index.htm,或者严格设定WEB服务器的目录 访问权限,将这种隐患降低到最小程度。
  • SQL注入式攻击:SQL注入式攻击是把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表 单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。对此类问题的解决办法 是将字符串参数要替换一下单引号,非字符串参数要强类型转换一下。这就防止了非法SQL语句被数据库执行,不用考虑过多,要是影响程序设计(例如限制了用 户输入某些符号、字符、输入长度)或者增加了编写的代码,就得不偿失了。对这类问题还有其他方法,在这里就不一一说明。
  • COOKIES的欺骗:COOKIES是WEB程序的重要部分,COOKIES有利有弊。利在于不太占用服务器的资源,弊在于放在客户端非常容易 被人修改加以利用。所以一般论坛前台登陆用COOKIES后台是用SESSION,因为前台登陆比较频繁,用SESSION效率很低。但如论坛程序管理员 用户在前台也有一定的权限,如果对COOKIES验证不严的话,严重影响了WEB程序的正常工作。如前期的LEADBBS,只有后台对COOKIES验证 严格,前台的位置只是从COOKIES读取用户的ID,对用户是否合法根本没有验证。

关于数据库安全测试,目前常用到的就是用户名称和密码结合的测试,主要看使用者是否按照他的账号权限进行操作。重点关注数据库默认的帐户名和密码。

  • 数据保护测试:数据库数据写入;读出,在网络上传输过程中是否被加密;备份;删除过程中因为意外情况(服务器硬盘被拔出,网络断线等)是否产生数据丢失;丢失的数据是否可以找回,数据库设置时,是完全备份,差异备份还是其他备份方式;
  • COOKIES的欺骗:COOKIES是WEB程序的重要部分,COOKIES有利有弊。利在于不太占用服务器的资源,弊在于放在客户端非常容易 被人修改加以利用。所以一般论坛前台登陆用COOKIES后台是用SESSION,因为前台登陆比较频繁,用SESSION效率很低。但如论坛程序管理员 用户在前台也有一定的权限,如果对COOKIES验证不严的话,严重影响了WEB程序的正常工作。如前期的LEADBBS,只有后台对COOKIES验证 严格,前台的位置只是从COOKIES读取用户的ID,对用户是否合法根本没有验证。
  • 数据库的服务器硬盘在被访问和备份时是否可以防拷,数据库的客户端在访问和备份时是否可以防拷。
  • 数据库安全日志:如果真的出了问题,安全日志上是否有更新,是否会弹出警报。

你可能感兴趣的:(安全测试概念及应用领域)