关于安全性测试,咱们须要知道的一些事

关于安全性测试,咱们须要知道的一些事

一、安全性测试的最佳时机:

         不少企业只有在产品成型或者即将部署上线后才开始作安全性测试,这是一种成本高且低效的作法,最佳实践应该是在整个产品安全开发生命周期(SDLC)的不一样阶段实施相应的安全措施。企业应当在SDLC中让安全成为产品设计和开发的一部分。编程

2、越早越频繁就越好:

         安全性缺陷和普通的bug并无区别,越早发现修复成本就越低。要作到这一步,最关键的就是对开发以及QA人员进行安全培训,告诉他们安全缺陷可以形成什么样的影响,以及如何检测和修复这些缺陷。虽然新兴的第三方库、工具以及编程语言可以帮助开发人员写出更加安全的程序,可是他们最好可以意识到新产生的安全漏洞是否对正在开发的产品有影响。另外,安全培训也可以让开发人员站在攻击者的角度去对产品进行内部测试。安全

3、明确产品的安全需求:

         了解产品的安全需求是很是重要的,对须要保护的信息或资产须要进行密级分类(好比:保密、机密和高度机密等),避免在不重要的业务上花费过多时间。此外,在不一样的国家的对安全的要求和标准是不同的,最好和法律顾问专家一块儿讨论明确这方面的安全需求。架构

4、跳出常规思惟定势:

         只有跳出常规的思惟定势才能执行一次成功的安全性测试。常规的测试用例只可以覆盖目标程序的正常行为,而一次好的渗透测试要求人员站在攻击者的角度去思考各类没法预期的状况去攻破程序。创造性的思惟能够帮助咱们分析使用什么样的数据,在哪一种不安全的方式下能够致使程序失效,同时也能帮助咱们猜想开发人员的是如何开发的,以及如何绕过程序的防御逻辑,这也是为何说使用安全自动化测试工具不是一种有效的安全测试方式,由于创造性思惟必须是case by case的,不一样的开发人员开发同一个程序都会有不一样的结果。编程语言

5、深刻了解目标:

         进行安全性测试前,最重要的事情是拿到被测试目标的相关文档,好比:架构设计、数据流图、用例等等,这些技术规格和应用程序文档不只须要记录正常的用例,也要记录不容许发生的用例。工具

6、千万别忽略细节:

         一次好的安全性测试绝对不是一次简单的程序review,咱们必须尽可能确保程序的每一处逻辑和用例都被覆盖到,对于认为是误报的点也不能放过,必须反复确认。测试

7、使用源代码:

         因为黑盒测试并不能覆盖程序内部的全部逻辑,因此它不是最有效的作安全性测试的手段,若是手头上有目标程序的源代码,就必定要进行源码级别的审计,有时候可以发现一些黑盒测试没法发现的问题。spa

相关文章
相关标签/搜索