安全测试作为一门越来越受关注的测试技术,至少近年来我的体会是更多的人加入安全测试领域,原因?需求量越来越大,人才缺口却越来越明显。
随着互联网的发展,安全问题也显得越来越重要。一个大型的互联网站点,如果你每天查看日志,都会有很多尝试攻击性的脚本。
安全测试涵盖的范围很广,在某种程度上你需要有比性能测试、自动化测试等更为广泛的基础知识。实际上,很多所谓的安全测试工程师仅仅停留在使用一些自动化审计工具来检测系统,并对工具检测出来的bug进行梳理,然后把它提给开发人员。
安全测试的核心在于指导开发人员去写出安全漏洞较少的代码。使用自动化工具自然是一时简单,实际上并不能起到安全测试的真正目的,因为你不懂原理,不懂代码,当开发人员也对于安全一窍不通的时候,根本没办法解决你从自动审计工具上整理下来的bug。
所以安全测试其实是一种比较高端的技术,它需要一定的测试和技术开发经验的积累,需要掌握基本的编程语言(c/java/python),操作系统(windows/linux)、数据库知识(mssql/mysql),了解相关的网络协议,例如HTTP协议;了解安全漏洞的产生原因和基本细节(如sql注入),具备调试程序的能力;学习安全漏洞的测试和利用方法,能够利用在线的资源搭建相应的测试环境。
整体来说,企业更加青睐于经验资深的安全测试人员,经验越丰富,薪资和待遇就会越好。所以说安全测试岗位不存在吃青春饭的问题,跟大多数技术岗位一样,安全测试是越做越好,前景非常不错的岗位。