渗透测试和漏洞评估有什么区别?

信息安全 渗透测试 术语
2021-09-03 01:14:10

渗透测试和漏洞评估有什么区别?

为什么你会选择一个而不是另一个?

您希望收到哪些可交付成果,您如何评价它们的质量?

4个回答

我确定我之前已经发布了一个答案,但是今天早上我的 google-fu 一定很弱。从我关于渗透分类法的博客文章中,我们列出了正在接受的测试类型。此外,通过使用渗透测试执行标准,我们希望进一步发展这一点。这个列表应该有助于解释如何选择一个而不是另一个。

可交付成果几乎是一个单独的问题 - 应该由需求和受众来定义(例如,对于治理机构,您不会期望提供与技术补救团队相同的详细信息,但您会希望包括业务风险信息) . 在 PTES 开发中还有一个报告流来尝试和编纂该领域:

发现

此阶段的目的是识别范围内的系统和正在使用的服务。它并非旨在发现漏洞,但版本检测可能会突出显示已弃用的软件/固件版本,从而指示潜在的漏洞。

漏洞扫描

在发现阶段之后,它通过使用自动化工具将条件与已知漏洞匹配来查找已知的安全问题。报告的风险级别由工具自动设置,无需测试供应商手动验证或解释。这可以通过基于凭据的扫描来补充,该扫描通过使用提供的凭据对服务(例如本地 Windows 帐户)进行身份验证来消除一些常见的误报。

漏洞评估

这使用发现和漏洞扫描来识别安全漏洞并将发现结果放入被测环境的上下文中。一个例子是从报告中删除常见的误报,并确定应该应用于每个报告结果的风险级别,以提高业务理解和背景。

安全评估

在漏洞评估的基础上添加手动验证以确认暴露,但不包括利用漏洞获得进一步访问权限。验证可以采用授权访问系统的形式,以确认系统设置,并涉及检查日志、系统响应、错误消息、代码等。安全评估旨在获得对被测系统的广泛覆盖,而不是深度特定漏洞可能导致的暴露。

渗透测试

渗透测试模拟恶意方的攻击。建立在之前的阶段,并涉及利用发现的漏洞来获得进一步的访问权限。使用这种方法将有助于了解攻击者获取机密信息、影响数据完整性或服务可用性以及相应影响的能力。每项测试都使用一致且完整的方法进行处理,使测试人员能够利用他们解决问题的能力、一系列工具的输出以及他们自己的网络和系统知识来发现可能/无法识别的漏洞自动化工具。与着眼于更广泛覆盖范围的安全评估方法相比,这种方法着眼于攻击的深度。

安全审计

由审计/风险功能驱动,以查看特定的控制或合规问题。这种类型的参与具有范围狭窄的特点,可以利用前面讨论的任何方法(漏洞评估、安全评估、渗透测试)。

安全审查

验证行业或内部安全标准已应用于系统组件或产品。这通常通过差距分析并利用构建/代码审查或通过审查设计文档和架构图来完成。此活动不使用任何早期方法(漏洞评估、安全评估、渗透测试、安全审计)

除了已经提供的答案之外,我还将解释为什么您可以选择其中一个。如果您不确定当前的安全状况并想了解您的问题可能出在哪里,那么漏洞评估会更有用。

值得注意的是,并非所有安全工作漏洞评估都是平等的。对于一些供应商来说,它可能只关注工具输出,而其他供应商将做更多的手动工作来验证和扩展这些发现。

如果这是您的目标,我将专注于@RoryAlsop 的回答中提到的“安全评估”类型的方法。

传统上,渗透测试旨在复制攻击者试图破坏系统或组织安全的行为。因此,这可能更适合那些对给定系统的安全控制措施有信心并希望证明或反驳其有效性的组织。

但是,这种方法存在问题,具体取决于您的攻击者是谁。如果您希望设计能够防御熟练的有针对性的攻击者(例如,有组织的犯罪)的控制,那么很难有效地使用渗透测试来检查这些,因为它不包含攻击者可以使用的一些技术。

由于法律问题,渗透测试难以涵盖的领域的一些示例包括针对员工的家用 PC 以破坏其远程访问设施,攻击可能出于支持目的访问目标系统的第 3 方合作伙伴,或购买僵尸网络目标环境中可能已经存在僵尸。

因此,值得了解这两种测试类型的局限性,但一般的经验法则是,当您不确定自己的安全性时,VA 和安全评估是好的,而渗透测试则可以很好地证明这一点。知道。

对大多数人来说——他们是一样的。这就是为什么像 PTES 这样的努力会失败的原因。你不能改变不想改变的人。

正确的问题是,“渗透测试和道德黑客有什么区别?”。

这个问题的答案是,渗透测试有一个特定的目标,没有时间限制,通常有一长串的参与规则(短名单要求没有人受到身体伤害或威胁)。道德黑客是有时间限制的活动,其中尽可能多地发现缺陷——通常只使用非物理方法。

“评估”、“审计”和“测试”在信息安全领域中通常是可互换的词。“漏洞”、“威胁”和其他一些词通常会被误解和误解。拥有 20 年经验、相同背景和相同认证的专业人士通常会为这些基本术语争论不休。最好忽略某人“说”或“认为”是正确答案的正确答案——而在与外行的对话中应用该术语时,请遵循您的直觉和常识。

这个问题的问题在于,对于“渗透测试”在行业中的含义,没有严格/遵循的定义。来自社区的一些杰出人士聚集在一起解决了这个问题,形成了“渗透测试执行标准”。

它试图定义渗透测试的每个阶段,以便建立一个合理的期望,业务主管和渗透测试人员可以在此基础上进行交互。

他们列出的阶段是

  1. 订婚前互动
  2. 情报收集
  3. 威胁建模
  4. 漏洞分析
  5. 开发
  6. 后期开发
  7. 报告

这是每个的淡化定义。要获得清晰的图片,您应该阅读链接的 wiki 页面。

参与前交互涉及建立范围和参与规则,以及许多面向业务的方面。

情报收集是侦察阶段,其中攻击者尽可能多地了解目标(人类和技术方面),以便在漏洞分析和利用期间使用。

威胁建模涉及识别资产和威胁,对其进行分类,最后将它们关联起来。

漏洞分析“是发现系统和应用程序中可能被攻击者利用的缺陷的过程。” 人们经常错误地认为这和利用就是渗透测试的全部内容。

漏洞利用“仅专注于通过绕过安全限制来建立对系统或资源的访问”。

后期开发是确定受损机器的价值并保持控制以供以后使用。在这个阶段,您可能会收集可以让您更深入的信息(显然是凭证)。

报告“[传达]对不同受众进行的测试的目标、方法和结果。”

他们是否成功地完成了他们的使命还有待商榷,但我相信这是一个很好的起点,可以深入了解。

还有“ PTES 技术指南”,其中介绍了渗透测试期间可能使用的策略和工具。