词条 | 安全测试 |
释义 | 安全测试安全测试是什么安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程 。 安全测试的目的1.提升IT产品的安全质量; 2.尽量在发布前找到安全问题予以修补降低成本 ; 3.度量安全。 当前安全测试方法1.模式匹配方法:将程序看作字符串 2.状态机模型:将程序看作状态机 3.黑盒模型:将程序看作黑盒子 4.白盒模型:将程序看作路径的组合 安全测试面临困境1.测试理论很难适用于安全领域; 2.安全测试基础理论薄弱,当前测试方法缺少理论指导,也缺乏技术产品工具 。 安全测试与通常测试区别1.目标不同:测试以发现BUG为目标,安全测试以发现安全隐患为目标。 2.假设条件不同:测试假设导致问题的数据是用户不小心造成的,接口一般只考虑用户界面。安全测试假设导致问题的数据是攻击者处心积虑构造的,需要考虑所有可能的攻击途径。 3.思考域不同:测试以系统所具有的功能为思考域。安全测试的思考域不但包括系统的功能,还有系统的机制、外部环境、应用与数据自身安全风险与安全属性等。 4.问题发现模式不同:测试以违反功能定义为判断依据。安全测试以违反权限与能力的约束为判断依据。 安全测试与渗透测试区别1.出发点差异:渗透测试是以成功入侵系统,证明系统存在安全问题出发点;而安全测试是则是以发现系统所以可能的安全隐患为出发点。 2.视角差异:渗透测试是以攻击者的角度看待思考问题,安全测试则是站在防护者角度思考问题,尽量发现所有可能被攻击者利用的安全隐患,并指导进行修复。 3.覆盖性差异:渗透测试只选取几个点作为测试的目标,而安全测试是在分析系统架构并找出系统所有可能的攻击界面后进行的具有完备性的测试。 4.成本差异:安全测试需要对系统的功能、系统所采用的技术以及系统的架构等进行分析,所以较渗透测试需要投入更多的时间和人力。 5.解决方案差异:渗透测试无法提供有针对性的解决方案;而安全测试会站在开发者的角度分析问题的成因,提供更有效的解决方案。 翰海源安全测试1.把程序看作数据流+数据处理+权限对象 2.威胁建模 程序外部宏观分析,指导更好更全面的安全测试 程序攻击界面和威胁分析 程序安全功能安全策略分析 3.数据流污染 程序内部微观分析 数据流流经的路径上 对数据的处理是否存在安全问题 安全包括的三个层次1.安全功能(特性) 2.安全策略(部署,配置,全局设计准则) 3.安全实现 安全测试理论包括:1.安全测试强调完备性,覆盖性,可度量性 2.安全测试强调测试系统本身的安全性,而不是外部防护系统的安全性 3.安全测试对安全漏洞可利用性的定级依赖于对潜在危害 4.安全测试提供的解决方案不是简单的防护,而是如何修复,进一步指导安全编程,最后辅助实施安全开发过程 安全测试方法论:我们在方法论上强调: 1)安全问题的本质是权限或能力约束的突破,从系统角度分析安全问题必须从外部内部权限对象的角度实施威胁建模,通过完备的分析攻击界面,数据流,威胁,威胁的细化漏洞形式来指导进行完备的安全测试。 2)系统自身的安全问题涵盖了3个不同的要点:安全功能,安全策略,安全实现。威胁建模的不同过程可以逐步指导对这三个层面的要求,最后反馈和指导安全测试。 3)但是安全也是一种成本,威胁建模的需求分析阶段,必须根据系统保护的资产,环境,受影响的范围等角度制订系统自身要达到的安全要求和等级,配合着一起对系统的安全测试的项目进行筛选,在成本和安全之间获得平衡。 4)在此基础上,实施安全测试 基于SDL数据流的安全测试流程 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。