软件安全测试可以混在单元测试、集成测试、系统测试里一起做,但对安全性有较高需求的软件,则必须做特有的安全性测试,以便在破坏之前预防并识别软件的安全问题。
软件安全测试一般分为两个层次:
1、即应用程序级别的安全性和操作系统级别的安全性,应用程序级别的安全性,包括对数据或业务功能的访问,在预期的安全性情况下,操作者只能访问应用程序的特定功能、有限的数据等;
2、操作系统级别的安全性是确保只有具备系统平台访问权限的用户才能访问,包括对系统的登录或远程访问。
软件安全测试方法分主要为三种:
1、静态的代码安全测试:主要通过对源代码进行安全扫描,根据程序中数据流、控制流、语义等信息与其特有软件安全规则库进行匹对,从中找出代码中潜在的安全漏洞,静态的源代码安全测试是非常有用的方法,它可以在编码阶段找出所有可能存在安全风险的代码,这样开发人员可以在早期解决潜在的安全问题,而正因为如此,静态代码测试比较适用于早期的代码开发阶段,而不是测试阶段;
2、动态的渗透测试:渗透测试也是常用的安全测试方法,是使用自动化工具或者人工的方法模拟外侵入者的输入,对应用系统进行攻击性测试,从中找出运行时刻所存在的安全漏洞,这种测试的特点是真实有效,一般找出来的问题都是正确的,也是较为严重的。但渗透测试一个致命的缺点是模拟的测试数据只能到达有限的测试点,覆盖率低;
3、程序数据扫描,一个有高安全性需求的软件, 在运行过程中数据是不能遭到破坏的,否则会导致缓冲区溢出类型的攻击,数据扫描的手段通常是进行内存测试,内存测试可以发现许多诸如缓冲区溢出之类的漏洞,而这类漏洞使用除此之外的测试手段都难以发现。
软件安全测试反向安全性测试过程:
1、建立缺陷威胁模型:建立缺陷威胁模型主要是从已知的安全漏洞入手,检查软件中是否存在已知的漏洞,建立威胁模型时,需要先确定软件牵涉到哪些领域,再根据各个领域所遇到的攻击手段来进行建模;
2、寻找和扫描入侵点:检查威胁模型里的哪些缺陷可能在本软件中发生,再将可能发生的威胁纳入入侵点矩阵进行管理,如果有成熟的漏洞扫描工具,那么直接使用漏洞扫描工具进行扫描,然后将发现的可疑问题纳入入侵点矩阵进行管理;
3、入侵矩阵的验证测试:创建好入侵矩阵后,然后可以针对入侵矩阵的具体条目设计对应的测试用例,然后进行测试验证。
软件测试中的安全测试包括哪些方面:
1、xss跨站脚本攻击:数据输入参数中输入简单的js语句看会不会执行,常见的恶意JS脚本有获取用户的cookie、或者是键盘钩子来记录用户的键盘输入;
2、sql 注入:在查询参数中,输入正确的查询条件1=1,其他SQL,查看返回结果,目前这种安全性问题已经绝迹了,除非是lowb写的代码;
3、登录认证:抓包是否存在明文的用户名和密码;
4、代码注释:源代码注释部分是否含有敏感信息;
5、锁定机制:多次登录错误,对账号进行临时锁定;
6、验证码:验证码需一致方可通过验证;
7、修改密码:需输入旧密码或者发送短信验证;
8、默认账户名称:默认账户名称密码,设置复杂些;
9、错误页面跳转提示:跳转的提示是否出现代码等错误,捕获异常跳转至同一错误页面,避免对外泄露详细错误信息。
我们公司本着“客户**、服务至上”的宗旨,牢记“让每个客户都用好产品”的使命,与各界朋友广泛合作,携手共进,共创美好未来。
http://zmrjcp.b2b168.com
欢迎来到湖南卓码软件测评有限公司网站, 具体地址是湖南省长沙岳麓区湖南省长沙市岳麓区旺龙路芯城科技园5号7楼,联系人是吴经理。
主要经营湖南卓码软件测评有限公司是一家致力于第三方计算机软件测试服务的专业公司,出具的第三方软件测试报告全国各地、国际均有效。公司拥有专业的软件测试团队和科学的管理机制,拥有先进完善的计算机网络硬件平台和系统软件平台环境,拥有完善的自动化测试工具环境。可根据客户的需求到客户现场服务,或为客户在公司部署各种复杂度的系统测试环境进行测试服务。。
单位注册资金单位注册资金人民币 250 - 500 万元。
我们公司主要提供第三方软件测试,第三方软件测试机构,软件测试公司,第三方软件测试报告,软件测试机构,软件检测报告等服务,我们确信,凭借我们的专业服务和良好的协调、沟通能力,使客户在经营生产中顺利进行,协助客户不断成长,在合作中与客户实现共赢。欢迎您致电咨询!