渗透测试可以让企业了解现有安全措施的成效或不足,进而帮助其调整安全项目,并主动发现漏洞。虽然大多数企业熟悉并进行手动渗透测试,但近年来自动渗透测试成为一种备受关注的选择。自动渗透测试与手动渗透测试孰优孰劣?不妨比较一下各自的优缺点。
手动渗透测试的优缺点
手动渗透测试的最大优点是灵活,它更有可能发现和应对测试系统中的漏洞。手动渗透测试可以发现自动测试可能未发现的更狡猾漏洞和攻击,比如盲SQL注入攻击、逻辑缺陷和访问控制漏洞。训练有素的专业人员可以在手动渗透测试中分析应用程序对此类攻击的响应,可以捕捉到自动测试软件认为没问题,但实际上有问题的响应。
手动渗透测试的另一个优点是专家随时审查报告。虽然自动渗透测试工具也会生成报告,但安全分析员仍然要审查和修复发现的许多问题。手动渗透测试还可以在寻找漏洞时更灵活。Enterprise Strategy Group分析师Jon Oltsik说:“优秀的渗透测试人员会运用直觉,并根据结果,选择朝出人意料的方向进行测试。”一些渗透测试也只能手动执行。例如,当企业想要分析防范社会工程攻击的情况,就需要手动渗透测试,测试有无语音钓鱼攻击时更是如此。
手动渗透测试的最大缺点是成本和时间。渗透测试付出的成本和时间以其彻底程度而定,有时可能需要数周时间才能获得结果,这并不总是尽如人意,在处理严重漏洞时更是如此。手动渗透测试也可能很烧钱,这就是为什么许多企业执行这种测试只是为了满足合规和监管要求。如果企业没钱设立内部红队或渗透测试团队,会选择第三方服务提供商用于满足测试需求,这是另一项成本。
自动渗透测试的优缺点
手动渗透测试既复杂又烧钱,因此许多企业不常进行测试。自动测试成本较低、更容易进行,可能会改变这种局面。Gartner分析师Mitchell Schneider说:“组织有兴趣进行更频繁的测试。我们从自动渗透测试工具中看到的好处之一是,它使这类测试更频繁了。企业希望及时消除相关的风险和威胁,而不是等待安排测试。”
自动渗透测试的另一个好处是,它为安全分析师节省了时间,使他们可以专注于测试期间可能被耽搁的其他任务。自动化还可以处理重复性任务,这些任务不一定复杂,但手动处理起来很耗时。频繁的自动渗透测试还可以帮助企业评估全部计算机系统——这些系统的更新比测试来得更频繁,比如在快速发布周期期间内。Forrester Research分析师Jeff Pollard说:“需要自动测试才能真实了解环境。”
自动渗透测试的一个潜在缺点是分析师仍将其视为新兴市场。Oltsik说:“独立的自动测试工具在过去几年不断改进。随着风险资金继续投入,这个创新市场在不断壮大。”它的另一个缺点是测试结果取决于渗透测试工具本身的好坏以及用户的知识水平。Oltsik说:“人是自动测试的累赘。软件效果完全取决于人的知识库。针对漏洞,用户一定要会某些策略和技术。”如果渗透测试软件开发人员没有尽到本职工作,自动渗透测试就有缺陷,可能会错漏关键问题。
一些人还担心自动工具可能取代渗透测试人员,但Oltsik表示情况未必如此。他说:“自动测试有可能变得很出色,也许只需要监督员和审计员来管理自动化测试就可以完成相关工作,但这种局面不会很快出现。”此外,自动渗透测试在功能上依然有限,无法面向各种测试场景进行部署。大多数工具不支持面向无线网络、Web应用程序和社会工程攻击进行渗透测试。
手动自动相结合使用
在实际工作中,企业在选择渗透测试方式时,往往不是二选一的问题。相反,自动渗透测试工具应该辅助手动渗透测试工作。Schneide表示,自动渗透测试工具并不完全适用于所有类型的渗透测试。至少在接下来几年,它们不会完全取代渗透测试人员或红队。自动化还带来了渗透测试即服务(PTaaS)的发展潮流。NetSPI、Cobalt和Pentest People等供应商已经提供一些服务。PTaaS产品结合了手动渗透测试和自动渗透测试,通过两者的结合使用,企业更容易完成特定的渗透测试工作,例如满足合规或监管要求等。