移动互联网时代,我们的生活和工作深受 软件App影响。伴随移动 软件App的广泛应用,软件安全日益重要。
为什么进行安全性测试?
1、数据库
如果缺少了安全性测试,在高手的sql盲注下,数据库就会逐步展现在黑客的面前,无论是数据库类型、表结构、字段名或是详细的用户信息,都有无数种手段可以让人“一览无余”。
2、权限
网站一般都会设定权限,如果缺少安全性,那就很容易有人跳出权限做他不该做的事情。
3、修改提交数据信息
如果是在涉及到支付相关的软件中,有人通过抓包修改理应支付的原价格进行提交,这就是一个巨大的隐患。
4、跨站脚本的安全隐患
HTML注入。所有HTML注入范例只是注入一个JavaScript弹出式的警告框:alert(1)。如果觉得警告框还不够刺激,当用户点击了一个被注入了HTML代码的页面链接时攻击者能作的各种的恶意事情。缺少安全还可能会redirect到另一个钓鱼网站之类的,让用户产生损失。
软件安全测试,如何测试?
软件安全测试的方法:
1、静态代码安全测试:主要通过对源代码进行安全扫描,根据程序中控制流、数据流、语义等信息与其特有软件安全规则库进行匹对,从中找出代码中潜在安全漏洞。静态的源代码安全测试是非常有用的方法,它可以在编码阶段找出所有可能存在安全风险的代码,这样开发人员可以在早期解决潜在的安全问题。而正因为如此,静态代码测试比较适用于早期的代码开发阶段,而不是测试阶段。
2、动态渗透测试:采用各自手段方法模拟真实安全攻击,找出黑客可能入侵系统的潜在可能途径,对整个系统任何弱点、技术缺陷、安全漏洞等进行分析。这是一个渐进并且逐步深入的过程,找出的问题真实有效。
3、程序数据扫描:任何一个软件系统在运行过程中是不能遭到破坏的,否则会导致缓冲区溢出类型的攻击。数据扫描通常是进行内存测试,内存测试可以发现很多缓冲区溢出之类的漏洞,而这类漏洞使用的测试手段都难以发现。