安全测试是在IT软件产品的生命周期中,检查产品,检验产品符合安全需求定义和产品质量标准的过程,功能测试是检验产品各功能,根据功能测试用例,逐项测试,检查产品是否符合用户要求的功能。
安全测试是在IT软件产品的生命周期中,检查产品,检验产品符合安全需求定义和产品质量标准的过程,功能测试是检验产品各功能,根据功能测试用例,逐项测试,检查产品是否符合用户要求的功能。渗透测试是模拟恶意黑客攻击方法,评价计算机网络系统安全的评价方法,接下来就来给大家分析一下这三种测试。
一、安全测试与功能测试的区别:
1.目标不同:以发现错误为目标,以发现安全问题为目标。
2.假设条件不同:假设测试导致的数据是由用户意外引起的,界面通常只考虑用户界面。假设安全测试导致问题的数据是攻击者在考虑结构,需要考虑所有可能的攻击。
打击途径。
3.思维区域不同:测试以系统所具有的功能为思维区域。安全测试的思维领域不仅包括系统的功能,还包括系统的机制、外部环境、应用和数据本身的安全风险和安全属性。
4.发现问题模式不同:测试以违反功能定义为判断依据。安全测试以违反权限和能力的约束为判断依据。
与渗透测试的区别:
1.出发点差异:渗透测试以成功入侵系统,证明系统存在安全问题为出发点的安全测试以发现系统可能的安全问题为出发点。
2.视点差异:渗透测试是从攻击者的角度来看和思考问题,安全测试是从防护者的角度来思考问题,尽量发现可能被攻击者利用的安全问题,指导修复。
3.复盖性差异:渗透测试只选择一些点作为测试目标,安全测试是分析系统结构,找出系统所有可能的攻击界面后进行的完整测试。
4.成本差异:安全测试需要分析系统的功能、系统采用的技术和系统的结构等,因此比渗透测试需要更多的时间和人力。
5.解决方案的不同:渗透测试不能提供有针对性的解决方案,安全测试站在开发人员的角度分析问题的原因,提供更有效的解决方案。
二、安全测试方法:
1.功能测试。
采用黑盒测试方法,验证设计安全模块。
例如,用户管理、权限管理、加密系统、认真系统。
对于用户隐私,检查是否在当地保存用户密码,无论是否加密,检查聊天记录、关系链、银行账户等敏感的隐私信息,检查是否加密,检查是否将系统文件、配置文件的明确文件保存在外部设备分需要保存在外部设备中的信息,每次使用前都需要判断信息是否被篡改。
对于文件权限,检查App所在的目录,其权限必须为不允许其他组成员读写。
对于网络传输,检查敏感信息是否在网络传输中加密,重要数据应采用TLS或SSL。http请求默认为明确,如果安全验证和加密机制腐烂,通过网络嗅觉扫描,很容易被推测和模拟请求,也可能被注入。
对运行时的说明保护,对于嵌入说明器的软件,检查XSS、SQL是否有注入脆弱性的webiew应用程序,检查URL是否有欺诈脆弱性。
保护安卓组件的权限,禁止App内部组件被任意第三方程序调用。需要外部调用的部件,请检查调用人员是否有签字限制。
反复升级,检查升级包的完整性、合法性,检查升级包是否被劫持。
接口截取,通过adbshell命令或第三方软件获得root权限,在手机接口截取用户填写的隐私信息,进行恶意行为。
2.漏洞扫描。
安全漏洞扫描可以通过漏洞扫描器自动检测远程或当地主机的安全性。
主机脆弱性扫描器:COPS、Tripewire、Tiger。
网络脆弱性扫描器:Satan、ISSInternetScanner。
3.模拟攻击实验。
冒充形式:
密码推测:黑客识别可用的用户账户,控制机器。
缓冲区溢出:代码层漏洞,指针指向恶意代码,执行恶意指令,获得系统控制权。
第一,理解原理,无论是sql注入、xss还是csrf等,都必须理解入侵原理。否则,测试范围就会扩大。比如有人问我,你测试csrf了吗?测试权限对话劫持了吗?你测试过权利了吗?来源于盗窃用户cookies后的不同操作,如何保证cookies被盗后不被他人使用是测试的关键。这样可以减少各种名词对测试者的伤害。
第二,把原理转换成用例。对于每个页面或功能页面(添加和删除)。首先,判断页面是否需要测试(静态页面不需要sql注入)。然后将原理转换成合适的例子。类似于这个屏幕截图