软件安全性测试是指有关验证应用程序的安全等级和识别潜在安全性缺陷的过程,其主要目的是查找软件自身程序设计中存在的安全隐患,并检查应用程序对非法侵入的防范能力,安全指标不同,测试策略也不同。但安全是相对的,安全性测试并不能最终证明应用程序是安全的,而只能验证所设立策略的有效性,这些对策是基于威胁分析阶段所做的假设而选择的。例如,测试应用软件在防止非授权的内部或外部用户的访问或故意破坏等情况时的运作。软件安全是软件领域中一个重要的子领域,系统安全性测试包括应用程序和操作系统两个方面的安全性。
一、软件安全性测试一般有以下几种类型
1、漏洞扫描:通过工具自动对代码进行静态分析,用来识别系统组件中是否存在已知的漏洞问题。
2、渗透测试:在安全的情况下模拟外来入侵者对软件系统进行攻击的活动过程,可以发现未知的漏洞。
3、应用程序的安全测试:该测试主要是针对Android/iOS移动App、web等应用,需要收集这类应用程序的相关资料,发现系统缺陷或漏洞。
4、API安全测试:识别API和网络服务中的漏洞(如API注入、XML注入等)。API特别容易受到中间人(man in themiddle,MiTM)攻击等威胁,如窃听API通信并窃取数据或凭证。
5、配置扫描:一般根据合规标准或研究机构指定的最佳实践列表来检查系统,识别软件、网络和其他计算系统的错误配置的活动过程。
6、安全审计:按照定义的法规和安全要求、合规标准来审查代码或架构,分析存在的安全漏洞,评估硬件配置、操作系统和组织实践的安全状况。
而系统安全性又包括两个方面的测试:一是软件漏洞,设计上的缺陷或程序问题,二是数据库的安全性,这也是系统安全性的核心。
展开
收起