渗透测试是指安全专业人员在企业的许可下,对其网络或数字化系统进行模拟攻击并评估其安全性。然而,很多企业在准备开展渗透测试工作时,他们对渗透测试服务的理解和需求,往往与现实情况存在着很多偏差和误区。因此,要做好渗透测试并不容易。研究人员认为,组织只要做好以下几点,才能够实现高质量的渗透测试,并产生积极的安全红利,而不是浪费时间和资源。

准确认知渗透测试 

对于一些企业的安全团队而言,很难将渗透测试与漏洞测试、漏洞悬赏以及新兴的BAS(入侵和攻击模拟)技术区分开来。确实,这些安全技术和服务在很多方面都存在重叠,但它们也都有着自己的特点。

从本质上讲,渗透测试是一个主要依靠安全专家或团队以人工方式模仿攻击者的真实攻击行为,其目的是在数字化基础设施的不同层级找到进入可以攻破目标网络的最有效方法。漏洞测试,主要是为了在寻找软件应用系统中的缺陷,并帮助组织了解如何解决它们。而漏洞悬赏计划通常仅限于移动或web应用程序,可能与真正的入侵行为并不匹配。漏洞赏金猎人的目标只是尽快找到漏洞并提交报告以获得奖励,而不是深入调查问题与解决问题。

入侵和攻击模拟(BAS)是一项新兴的安全防护技术。它遵循“扫描、漏洞利用和不断重复”的设计逻辑,依赖于自动化执行测试的工具,几乎不需要安全人员的参与。BAS项目本质上是连续的,并且会随着网络的变化动态地产生测试结果。

总的来说,渗透测试相比其他类似的安全技术,具有两个关键性特征:首先,它是由人类完成的,在很大程度上取决于人工进攻战术;其次,它默认所有的数字化系统都会存在安全缺陷,需要全面的安全评估,并根据受到攻击后的危害程度确定修复的优先级。

选择专业的测试团队

提供渗透测试服务的公司很多。这些公司都有各自的优势和弱点,他们的技术也各有千秋,呈现测试结果的方式也有好有坏。企业有必要确保所选测试团队的能力能够满足测试需要,在选择时需要考虑以下因素: 

  • 背景和专业知识。企业可以通过已完成的项目来评价测试团队的资质和专业能力,有很多渗透测试团队在导引用户需求上颇有心得,但他们执行测试计划的专业技能却远远不足。企业在选择渗透测试团队时,应将专业技术作为首要的考量因素;
  • 完备的测试流程。企业要充分了解测试相关的数据将会如何传输、存储以及将保留多长时间。此外,还要了解测试报告的详细程度,以及它是否涵盖了足够的漏洞信息范围。一份样本报告可以让企业更好地了解测试团队的专业化程度。
  • 测试工具包。企业要确保测试团队能够利用广泛的跨平台渗透测试软件,包括网络协议分析、密码破解解决方案、漏洞扫描和取证分析工具等。
  • 奖项和证书。企业还可以通过一些主流的第三方认证来进行选型分析和判断。

选择合适的测试方式 

根据测试方法和目标的不同,渗透测试通常分为以下集中类型,企业组织应该根据自己的实际需求进行选择。

  • 外部渗透测试。渗透测试团队将从一个远程位置来评估目标网络基础设施,完全模拟真实网络环境中的外部攻击者,采用流行的攻击技术与工具,有组织、有步骤地对目标组织进行逐步渗透与入侵,寻找目标网络中已知或未知的安全漏洞,并评估这些漏洞的可利用性。
  • 内部渗透测试。测试团队可以了解到关于目标环境的所有内部与底层知识,因此可以用最小的代价发现和验证系统中较严重的安全漏洞。内部测试主要针对心怀不满的员工、怀有恶意的承包商或已突破企业网络边界的攻击者。
  • 盲测(blind test)。盲测模拟来自攻击者端的“真实”攻击。渗透测试人员不会获得有关组织网络或系统的任何信息,这迫使他们依赖公开可用的信息或依靠自身技能收集的信息。而企业大部分的IT和安全人员也并不知道正在进行渗透测试的事实,以确保测试过程中的真实性。
  • 针对性测试。针对性测试也称为“开灯测试”,指的是渗透测试人员和企业组织的安全人员在某些特定场景中进行模拟“对抗游戏”。针对性测试通常比其他选项需要更少的时间或精力,但不能提供有关系统安全态势的完整视图。

由于企业网络安全人才的不足,企业组织往往缺乏能够有效进行渗透测试的合格专家,因此需要定期使用外部渗透测试人员。当然在实际测试中,组织内部员工需要与外部测试团队密切合作,并在测试过程中发挥自己的作用,这将拓展他们的安全视野,同时提高技能。

合理设置测试时间与频率

安全渗透测试的持续时间通常从三周到一个月不等,具体取决于测试任务的规模和要求。即使企业的攻击面相对较小,也可能需要花费额外的时间对潜在的攻击入口进行发现和分析。理想情况下,企业组织应该在目标应用程序进行重大版本升级或更新,以及部署新的应用系统时进行渗透测试。实践表明,很多长期持续的渗透测试工作往往是多余的,企业组织通常每年执行两到三次这样的安全测试与分析就足够了。

重视编写测试报告

在一次完整的渗透测试工作流程中,实际上有近一半时间都会用在如何编写报告上。大量报告实践表明,编写一份高质量的渗透测试报告需要仔细的计划、关注细节和充分的沟通。对于渗透测试工程师而言,不仅需要具备高超的渗透测试水平,同样也需要把各种专业、深奥的安全技术问题描述得通俗易懂,让非安全专业人士也可以理解。

渗透测试报告应该包含之前所有阶段之中渗透测试团队所获取的关键情报信息、探测和发掘出的系统安全漏洞、成功渗透攻击的过程,以及造成业务影响后果的攻击途径,同时还要站在防御者的角度上,帮助他们分析安全防御体系中的薄弱环节、存在的问题,以及修补技术方案。

结语

随着网络安全威胁的不断扩展与升级, 渗透测试目前已经成为现代企业组织主动识别安全漏洞与潜在风险的关键过程。但不幸的是,仍然有很多组织并未认识到主动评估安全态势的价值,而一些组织尽管开展了渗透测试工作,但主要目的也只是为了满足合规要求。

不管企业开展渗透测试的目的是什么,只要测试结果能被用于做出有意义的改变,这项工作就是成功和有效的。渗透测试可以对组织的安全状况提供有价值的见解,并突出那些需要尽快改进的领域。企业应该从测试的关键发现中吸取教训,并采取适当的行动来加强组织的安全防御。这可能涉及为员工提供额外的网络安全培训和意识计划,增强安全监控和事件响应能力。