广东腾创技术服务有限公司_腾创实验室-软件测试报告-信息化项目验收测试-软件产品登记测试-软件安全测试报告-第三方软件测试机构

安全测试包含哪些内容

安全性测试是指有关验证应用程序的安全等级和识别潜在安全性缺陷的过程。应用程序级安全测试的主要目的是查找软件自身程序设计中存在的安全隐患,并检查应用程序对非法侵入的防范能力,根据安全指标不同测试策略也不同。

安全测试类型(部分):

1.跨站脚本(XSS)

XSS 又叫 CSS(CROSS SET SCRIPT),跨站脚本攻击。它指的是恶意攻击者往 WEB 页面里插入恶意的 html 代码,当用户浏览该页面时,嵌入其中的 html 代码会被执行,从而达到恶意用户的目的;(钓鱼、盗取 cookie、操纵受害者的浏览器、蠕虫攻击)

2.反射型跨站(Reflected XSS)

服务器端获取 http 请求中的参数,未经过滤直接输出到客户端。如果这些参数是脚本,它将在客户端执行(钓鱼常见)。

3.存储型跨站(Stored XSS)

用户输入的数据存在服务器端(一般存在数据库中),其他用户访问某个页面时,这些数据未经过滤直接输出。这些数据可能是恶意的脚本,对其他用户造成危害。(挂马

常见)

在允许上传文件的应用中,攻击者上传一个包含恶意代码的 html 或者 txt 文件,用户浏览这些文件执行恶意代码;

一般的应用中上传图片最普遍,如果图片中包含恶意代码的 html 或者 txt 文件,,低版的 IE 直接请求这个图片时,将其忽略 Content-Type 执行图片中的代码。

4.DOM 跨站 (DOM-Based XSS)

攻击者构造一个包含恶意 Javascript 的 URL,然后引诱用户请求这个 URL。服务器收到请求后没有返回恶意的 Javascript。

浏览器在处理 URL 中的数据时,执行恶意代码。

安全测试的方法:

①静态的代码安全测试:主要通过对源代码进行安全扫描,根据程序中数据流、控制流、语义等信息与其特有软件安全规则库进行匹对,从中找出代码中潜在的安 全漏洞。静态的源代码安全测试是非常有用的方法,它可以在编码阶段找出所有可能存在安全风险的代码,这样开发人员可以在早期解决潜在的安全问题。而正因为如此,静态代码测试比较适用于早期的代码开发阶段,而不是测试阶段。

②动态的渗透测试:渗透测试也是常用的安全测试方法。是使用自动化工具或者人工的方法模拟黑客的输入,对应用系统进行攻击性测试,从中找出运行时刻所存在的安全漏洞。这种测试的特点是真实有效,一般找出来的问题都是正确的,也是较为严重的。但渗透测试一个致命的缺点是模拟的测试数据只能到达有限的测试点,覆盖率很低。

③程序数据扫描。一个有高安全性需求的软件, 在运行过程中数据是不能遭到破坏的,否则会导致缓冲区溢出类型的攻击。数据扫描的手段通常是进行内存测试,内存测试可以发现许多诸如缓冲区溢出之类的漏洞,而这类漏洞使用除此之外的测试手段都难以发现。例如,对软件运行时的内存信息进行扫描,看是否存在一些导致隐患的信息,当然这需要专门的工具来进行验证。

安全测试工具:

1. AppScan

一款安全漏洞扫描测试工具,可支持支持Web和移动端,可生成很直观的测试报告,有助于软件开发人员进行分析和修复,使用较方便。

2. Burp Suite

一款测试人员必备的集成型渗透测试工具,采用自动测试和半自动测试的方式,可对web应用程序进行自动化攻击等,通过拦截HTTP/HTTPS的web数据包,充当应用程序和浏览器的中间方,进行拦截、重放、修改数据包进行测试,是web安全人员的一把必备的测试神器。

3. nessus

一款世界上流行的的漏洞扫描程序测试工具,可以提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库。支持同时在本机或远端上遥控,进行系统的漏洞分析扫描。

4. Excercise in a Box

一款在线安全测试工具,可测试网络是否容易遭受到攻击,支持提供各种场景,反复演练自身面对安全攻击事件的响应能力,包含了需要执行的各种计划、交付、设置、以及事后整改活动等资源。