无疑,Web安全测试工程师或Web渗透测试工程师的任务就是审计公司的Web应用程序、Web服务、Web服务器的安全性。那么,公司如何才能请到优秀的Web应用安全专家而不是纸上谈兵的“赵括”?下面的这八项素质或技能可以为公司选聘Web渗透测试人员提供参考:
1. Web渗透测试人员拥有一定的开发背景(知道如何编码)
公司不可能聘用一位连编写代码都不懂人成为渗透测试人员。公司的Web渗透测试者应首先是开发者,在此基础上才考虑对Web漏洞扫描器的掌握技能,其好处有五个方面:
· 了解所开发WEB应用的漏洞和缺陷;
· 知道如何保障应用的安全,如何为其打补丁,如何测试;
· 可以使评估者开发自己的安全工具;
· 与那些没有任何开发经验的人员相比,如果培训得当,开发者更容易适应测试Web应用的任务。
· 能用简单的脚本编写验证代码,能验证已发布漏洞的真实性。
如果Web渗透测试者甚至不知道如何用html编码,或者以前也从没有做过程序员的工作,公司敢请他从事静态代码的测试吗?
2.了解开放式Web应用程序安全项目(OWASP)
Web渗透测试工程师应熟悉开放式Web应用程序安全项目的TOP 10,即OWASP的最重要文档,这是因为它向渗透测试人员传达了Web应用程序的最重要的安全意识。
OWASP的TOP 10涉及一些最严重的Web应用程序漏洞的细节,其中包括SQL注入、失效的认证和会话管理、跨站脚本攻击、不安全的直接对象引用、安全性的错误配置、敏感数据的暴露、功能级访问控制的缺失、使用有漏洞的组件、未经验证的重定向和转发。
如果渗透测试者能够深入理解和评述OWASP的TOP 10,甚至能够在其自己的实验室或机器上演示这些攻击,他就足以胜任此工作。
除了上述项目,如果渗透测试者还熟悉由OWASP发起的一些项目,如Mutilidae,或者搭建了一个有安全问题的OWASP Web应用项目,他就是一个有着攻击Web应用程序热情的真正爱好者。
3.参与过漏洞奖金项目
什么是漏洞奖金项目?就是由某个公司发起的一个奖励黑客的计划:黑客必须能够在公司提供的应用程序中找到安全漏洞,并且通过一种可靠的揭露方式来报告此漏洞。
如果申请渗透测试工程师的人曾经是一个漏洞奖金猎人(黑客),他就必然曾经遇到和报告过除SQL注入、跨站脚本攻击、RCE之外的非一般漏洞。这证明该黑客能够在公司的应用中找到一些重要漏洞。
如果申请者的名字曾经出现在诸如谷歌、微软、Twitter、Facebook等提供漏洞奖金项目的公司网站上,尤其是他曾经因报告过火狐、IE、Chrome的漏洞而获得过奖金,那么,该申请者就是一位杰出的渗透测试工程师。
4. 在Exploit-DB、Packet Storm或其它漏洞数据库中发布过漏洞利用程序
漏洞利用程序的开发者、漏洞研究人员、漏洞猎人等往往都揭露过开源软件和企业产品中的安全漏洞,尤其值得注意的是,如果这些人员曾经获得过CVE(通用漏洞与披露)的ID或OSVD(开源漏洞数据库)的ID,那将是非常出色的申请者。
这些申请者能够轻松地复制、修复、处理安全扫描器所发现的漏洞。由于这些人员还是精通安全的开发者,因而由他们为特定漏洞开发验证代码是非常容易的。
这些申请者中的多数人还是熟练的逆向工程师和静态代码审计师,所以除非没有受到激励,否则,他们将是很出色的选择。当然,如果他们曾经给Metasploit Framework贡献过漏洞利用模块和辅助模块,更是锦上添花。
5.对安全的好奇心和热情(或称黑客思想)
公司不能雇佣那些只是理论上知道OWASP方法的人,也不应通过其阅读的安全文档而雇佣某人。真正的Web渗透测试者还必须了解如何从外部来思考,并运用或测试这种方法,例如,他可以搭建自己的安全试验室,从而可以练习所学习的方法,攻击其自己的有漏洞的Web应用。
优秀的Web渗透测试工程师应像黑客一样思考,因为黑客是一种充满好奇且不断创新的人。对企业来说,雇佣一个总是愿意和乐于学习的安全专家更好呢,还是雇佣一个拥有许多安全证书、在信息安全领域有了很多知识却没有将其所学应用到实践中的人更好呢?
必须承认,证书并不能造就黑客,成就黑客的是创新精神和激情,但这并不是说安全证书不值钱。
6.精通UNIX或GNU/Linux
虽然多数企业Web应用程序的漏洞扫描器(如IBM的Security Appscan)都运行在Windows上,但仍有许多免费的开源的Linux工具可用于Web渗透测试和审计。
精通GNU/Linux和UNIX可以使渗透测试人员比Windows用户更占优势,因为精通Linux的用户可以更容易地使用Kali Linux和Backbox Linux等绑定了渗透测试工具的Linux发行版。如果申请渗透测试工作的人拥有Linux和UNIX背景,那么使用命令行工具就不是一个问题。
尤其值得注意的是,多数网站都由有着良好稳定性和合理TCO(总拥有成本)的GNU/Linux的服务器管理。
7.安全证书仍是加分项
通过了某项安全认证考试(如CEH、ECSA、CEH、CISSP)本身就是一种投资。用户将时间投资于道德黑客和渗透测试。参加某种安全认证考试的培训可以使用户获得、阅读、学习、练习各种优质资源。
通过某项认证并不能保证某人就已经是一名黑客,却是一个良好的开端和基础。
在雇佣Web安全测试工程师时,通过安全认证并不是必需的,因为Web安全渗透测试仍依赖于申请者的Web安全和安全测试技能。知识、技能、认证三管齐下终归是一种强大证明。
8.参加过安全大会或当地的黑客活动
花费很多时间参加黑客大会(如DEFCON、黑帽、ROOTCON)可能证明申请成为Web渗透测试工程师的人员对安全和黑客文化的激情。黑客大会有很多话题和比赛,其中会向参与者透露很多信息和新的猛料。