什么是安全性测试?
安全性(Security) 为防止把计算机内的机密文件泄露给无关的用户,必须采取某种安全保密措施,这些措施的有效程度如何就称为计算机系统的安全性或保密性。
安全性测试(Security test)它是指在测试软件系统中对程序的危险防止和危险处理进行的测试,以验证其是否有效。
安全性工作有哪些?
全面检验软件在软件需求规格说明中规定的防止危险状态措施的有效性和在每一个危险状态下的处理反应情况。
对软件设计中用于提高安全性的逻辑结构、处理方案,进行针对性测试。
在异常条件下测试软件,以表明不会因可能的单个或多个输入错误而导致不安全状态。
用错误的安全性关键操作进行测试,以验证系统对这些操作错误的反应。
对安全性关键的软件单元功能模块(如支付功能)要单独进行加强测试以确认其满足安全性需求。
常见的安全性测试方法
功能验证 功能验证是采用软件测试当中的黑盒测试方法,对涉及安全的软件功能,如:用户管理模块,权限管理,加密系统,认证系统等进行测试,主要验证上述功能是否有效。
漏洞扫描 安全漏洞扫描主要是借助于特定的漏洞扫描器完成。通过使用漏洞扫描器,系统管理员能够发现系统存在的安全漏洞,从而及时修复。一般漏洞扫描分为两种类型:主机漏洞扫描器,在系统本地运行检测系统漏洞的程序(如360安全卫士、X-Scan等);网络漏洞扫描器,基于网络远程检测目标网络和主机系统漏洞的程序(如EeSafe)。
模拟攻击 对于安全测试来说,模拟攻击测试是一组特殊的极端的测试方法,我们以模拟攻击来验证软件系统的安全防护能力。如:冒充、消息篡改、拒绝服务、内部攻击、外部攻击、陷阱门、木马等。
安全日志测试 测试日志的完整性、正确性。如,查看系统安全日志是否有异常记录,判断系统是否被入侵。
安全性的测试内容
实体安全 即基础设施的物理安全。
平台安全 网络平台、操作系统、基础通用应用平台(服务/数据库等)的安全。
数据安全 系统数据的机密性、完整性、访问控制和可恢复性。
通信安全 系统之间数据通信和会话访问不被非法侵犯。
应用安全 业务运行逻辑安全/业务资源的访问控制;业务交往的不可抵赖性/业务实体的身份鉴别/业务数据的真实完整性。
运行安全 对系统安全性的动态维护和保障,控制由于时间推移和系统运行导致安全性的变化。
管理安全 对相关人员、技术和操作进行管理,总揽以上各安全要素进行控制。