更新时间:2021年04月13日14时22分 来源:传智教育 浏览次数:
软件安全是一个广泛而复杂的主题,完全避免软件安全缺陷问题是不切实际的,但通过安全测试可以发现并修复软件大部分安全缺陷。下面介绍一些安全测试方面的原则,遵循这些原则能够避免安全测试许多常见问题的出现。
1、培养正确的思维方式
只有跳出常规思维定式才能成功执行安全测试。常规测试只需要覆盖目标软件的正常行为,而安全测试人员则要有创造性思维,创造性思维能够帮助我们站在攻击者角度思考各种无法预期的情况,同时能够帮助我们猜测开发人员是如何开发的,如何绕过程序防护逻辑,以某种不安全的行为模式导致程序失效。
2、尽早测试和经常测试
安全性缺陷和普通Bug没什么区别,越早发现修复成本越低,要做到这一点,最开始的工作就是在软件开发前期对开发和测试团队进行常见安全问题的培训,教他们学会如何检测并修复安全缺陷。虽然新兴的第三方库、工具以及编程语言能够帮助开发人员设计出更安全的程序,但是新的威胁不断出现,开发人员最好能够意识到新产生的安全漏洞对正在开发的软件的影响;测试人员要转变思维方式,从攻击者角度的各个细节测试应用程序,使软件更加安全。
3、选择正确的测试工具
很多情况下安全测试需要模拟黑客的行为对软件系统发起攻击,以确保软件系统具备稳固的防御能力。模拟黑客行为就要求安全测试人员擅长使用各种工具,如漏洞扫描工具、模拟数据流行为的前后台相关工具、数据包抓取工具等。现在市面上提供了很多安全扫描器或者应用防火墙工具可以自动完成许多日常安全任务,但是这些工具并不是万能的。作为测试人员,准确了解这些工具能做什么,不能做什么是非常重要的,切不可过分夸大或者不当使用测试工具。
4、可能情况下使用源代码
测试大体上分为黑盒测试和白盒测试两种。黑盒测试-般使用渗透方法,这种方法带有明显的黑;盒测试本身的不足,需要大量测试用例进行覆盖,且测试完成后仍无法确定软件是否存在风险。现在,白盒测试中源代码扫描成为一种越来越流行的技术,使用源代码扫描工具对软件进行代码扫描,一方面可以找出潜在的风险,从内对软件进行检测,提高代码的安全性;另一方面也可以进一步提高代码的质量。黑盒的渗透测试和白盒的源代码扫描内外结合,可以使软件的安全性得到极大程度的提高。
5、测试结果文档化
测试总结的时候,明智且有效的做法是将测试行动和结果清晰准确地记录在文档中,产生一份测试报告。该报告最好包括漏洞类型、问题引起的安全威胁及严重程度、用于发现问题的测试技术、漏洞的修复、漏洞风险等。一份好的测试报告应该帮助开发人员准确定位软件安全漏洞,从而有效进行漏洞修补,使软件更安全可靠。
猜你喜欢: