前 言
在网络安全分析中,传统的网络安全在当今时代背景下是十分局限的,这也造就了网络安全自动化的兴起。网络安全自动化即,通过流程自动化的产品和服务实现整个网络安全分析过程自动化,使安全分析师能快速地关注与最大风险相关的信息、事件。安全产品与服务将不可避免地要顺应自动化的潮流,将自身与自动化思想相互结合。但现有的产品和服务并不能完全支持自动化改造,因此评估产品和服务的自动化潜力是十分有必要的。
本文将主要介绍评估自动化潜力的相关背景、API的可用性、功能方面的考虑和信息方面的考虑,使读者可以对评估产品和服务的自动化潜力有相应的了解。本文内容主要参考了文献[1]。
背 景
随着安全自动化的推广,安全产品与服务将不可避免地要顺应自动化的潮流,将自身与自动化相互结合,但现有的产品和服务并不能完全支持自动化改造。产生这一问题的主要原因是:通过应用程序编程接口(API)获得的功能和信息可能与通过用户界面获得的功能和信息不同。因此,评估产品和服务的自动化潜力对于如今安全自动化的实行是十分重要的。评估已经部署或正处于开发阶段的产品和服务,以确定它们是否具有有限的自动化潜力。这种评估需要更多的细节,而不仅仅是确保有一个API,而且不容易从典型的供应商演示中区分出来。评估自动化潜力的流程如图1所示。
图1 评估自动化潜力流程图
图1中的流程图展示了两组问题,分别为功能方面的问题和信息方面的问题。这些问题是产品和服务在自动化操作流程时遇到的最常见的问题。当评估产品支持自动化的能力时,关键是评估API的可用性、来自API工具的功能和信息是如何通过API来呈现,而不是工具的一般用户界面。
API可用性
首先,产品或服务必须具有供用户大规模使用的API。在安全编排、自动化和响应(SOAR)市场出现之前,并不是所有的产品都为用户提供了直接的API访问。预期的设想是:用户将与仪表板或控制台交互,应用程序将在内部处理所有API请求。但当用户开始从几十个产品中接收到数千个警报时,这种方法就不再是可行的网络防御了。现在,大多数产品都期望并支持用户某种程度的自动化,但是用户通过产品或服务提供的图形界面手动与应用程序交互的最初设计原则,导致了不同程度的自动化支持。
许多产品现在都有两个不同的API可用,一个设计用于与典型用户交互,另一个设计用于支持组织管理功能和相关信息。在本文中,前者称为前端API,后者称为后端API。这种区别很重要,因为不同的API通常公开不同类型的信息和功能。因此,它们可能受到不同的许可限制,这些能力和访问选项上的差异可能会影响条件操作流程或复杂操作流程的自动化,这需要结合调用前端和后端API来实现。
将本地工具与基于云的产品进行比较时,可能会出现类似的情况。许多供应商在迁移到云时删除、限制或修改API访问策略和功能。如果一个组织依赖于API访问,那么在考虑供应商提供的迁移到基于云的工具版本时,必须评估这一点。
功能方面的考虑
随着组织将操作安全流程自动化,他们会遇到一组与API公开的功能相关的常见问题。以下三个方面的考虑事项,旨在帮助组织评估产品和服务,以确保可在适当的时候启用自动化。
- 非限制性
- 综合性
- 外部应用性
非限制性。产品或服务在支持自动化处理的规模上提供API访问是十分重要的。在实现自动化流程中,通常遇到的第一个问题是许可限制。前端API密钥(用于以授权方式访问API)可能不包含在初始许可协议中。同样,有许多服务在分析师手动访问时是免费的,但需要付费升级以支持自动访问。即使组织为API的访问付费,它也常常与基于当前手工操作的最大请求数量或有限的服务集相关联。在所有这些情况下,对可用API的访问在某种程度上受到限制,这影响了组织使用其所需的自动化的机会。
综合性。分析员可以在应用程序中执行的每个功能都需要可以通过API使用。在实现自动化流程中,遇到的下一个问题是:API只公开了分析人员在操作中使用的功能的一个子集。即使有一组函数通过API可用,应用程序支持的这些函数的功能和可以自动化的功能之间也可能存在差异。这是因为应用程序可能通过一些专有方法来实现高级功能,而这些高级功能无法通过将可用API调用链接在一起来实现。分析师在操作期间执行的任何操作或任务,如果不能通过API调用一致且准确地实现,就会限制通过自动化获得的效率。
外部可用性。每个可以自动化的功能都需要由API向应用程序外部的源公开。某些供应商包或应用程序套件拥有只有其官方产品才能访问的API,或者只能使用套件内部生成的信息来调用这些API。操作流程可以从组织内部和外部的多个来源接收相同的核心信息,相同的自动化流程应该能够对相同类型的信息执行相同的操作,而不考虑信息的来源。如果需要为不同的源开发不同的自动化流程,或者需要部署不同的功能来通过不同的API访问相同的信息,那么自动化操作的有效性将受到限制。
信息方面的考虑
随着组织将操作安全流程自动化,还会遇到一组与API公开信息相关的常见问题。以下为四种考虑事项,旨在帮助组织评估产品和服务,以确保它们支持适当的自动化。
- 可获得性
- 一致性
- 可控性
- 可用性
可获得性。应用程序分析人员可获得的信息必须可通过适当的API获得。许多产品限制了使用API调用可以导出或返回的内容,使得某些信息片段只能在应用程序内部使用。前端API和后端API提供的信息往往是不同的,每个API的可访问性都受到法律、服务协议和安全策略的限制。生成或提供操作人员使用信息的产品和服务必须提供对这些信息的API访问,否则自动化的机会将受到重大影响。
一致性。任何导入操作流程中使用的信息的产品都需要通过API以一致的方式提供相同的信息。许多产品和服务提供类似的信息(例如,严重性评分,优先级),但由于信息获取的途径可能是非常不同的,即使它们有着相同的含义,这些信息也可能意味着非常不同的事情。在导入过程中,有时会删除或修改某些数据字段,如果没有完善的数据检测机制,将导致通过后端API导出的信息不一致。虽然人们可以使用上下文来推断信息的含义,但自动化通常不能。
可控性。通过API访问的信息必须与应用程序提供给分析人员的信息相匹配。图形用户界面使用户操作可视,并且在视觉上进行了优化以支持推理。它们支持分析人员定制可见的字段、标签和显示结果的顺序。API是为响应请求而设计的,并使用非常特定的结构对处理响应进行了优化,这将导致应用程序中所请求和看到的信息可能与通过API返回的信息不同的情况。自动化流程的能力直接与通过API重新生成分析人员获得的信息的能力联系在一起。
可用性。通过API公开的信息必须以某种格式提供,使其可用于产品和服务的自动执行。在某些情况下,在操作流程中使用自定义代码之前,必须开发和维护自定义代码来解析、翻译、规范化或重新格式化从API调用接收到的信息。必须执行的处理越多,自动化流程的效率受到的影响就越大。随着组织扩大自动化的使用,这种影响可能变得更加重要。
小 结
实现自动化是解决现代网络攻击速度和规模的关键组成部分。如果没有通过安全工具精心安排的自动响应,通常不可能在一个能够实现网络防御的时间框架内对网络威胁情报做出响应。本文主要介绍了评估自动化潜力的相关背景、API的可用性、功能方面的考虑和信息方面的考虑。期望读者可以对评估产品和服务的自动化潜力有所了解,可以判断出产品和服务是否能够成功获得自动响应的显著好处。
参考文献
[1]《Enabling Automation in Security Operations - Assessing Potential》