CRUSOE:网络态势感知的数据模型

来源:CRUSOE: Data Model for Cyber Situational Awareness

摘要:获取和保持网络态势感知对于适当的事件响应是至关重要的,特别是在关键的基础设施中。事件处理程序需要处理异构数据,如网络拓扑结构和组织的任务和目标,以有效地减轻威胁。获取网络态势感知工具的开发常常面临有效获取、关联和存储此类异构数据的问题。在本文中,我们提出了CRUSOE,一个可扩展的分层数据模型,用于获取和保存网络态势感知信息。我们与来自多个保安小组的事件处理人员进行了面谈,并评估了网络态势感知方面的现有要求,以便将拟议的数据模型的要求正式化,以便在今天的常见网络环境中使用。CRUSOE数据模型跟踪组织网络中的任务、系统、网络、主机、威胁、检测和响应能力以及访问控制。它还被设计成主要使用在当今常见网络环境中以半自动化或全自动方式获得的数据。

1介绍

网络环境的复杂性和易变性严重阻碍了安全团队对当前形势的理解。特别是在关键的信息基础设施中,安全团队必须了解关键系统的位置、功能和依赖关系。如果他们没有这样做,他们可能无法识别对系统组件的攻击,或者他们可能选择在不知情的情况下中断一些依赖关系的缓解措施,从而损害任务操作。

安全团队的态势感知问题越来越受到研究者的关注。Endsley[11]对情景感知(SA)的定义是“在一定的时间和空间范围内感知环境中的要素,理解其含义并预测其在不久的将来的状态。”当应用于网络安全领域时,通常被称为网络态势感知(cyber situation awareness, CSA)[20,24]。Onwubiko[34]所描述的网络态势感知的具体特征是动态性和复杂性、自动化、实时处理、多源数据融合、异构性、安全可视化、风险评估、分辨率以及预测和预测。正如Kott[24]所描述的,当前网络态势感知面临的挑战包括复杂多变的系统拓扑结构、快速变化的技术、高噪声信号比、定时炸弹和潜伏攻击、快速演变和多方面的威胁、事件速度、非集成工具、数据过载和意义不足以及自动化导致的SA损失。

基于中心数据模型的可视化和分析系统可以帮助处理这一特性和挑战。数据模型的填充可以自动化,基于网络监控的数据使模型保持最新。自动化分析需要数据的正式化,这可能有助于应对网络环境的复杂性。数据模型可以从许多来源获得,因此可以作为各种非集成工具的集成点。数据的集中位置可以被其他工具有效地可视化。

为此,已经提出了几个模型[16,17,33]。然而,这些模型要么过于特殊,要么过时了,而且它们都不足以描述安全团队所需的信息。在本文中,我们提出了网络态势感知的CRUSOE1数据模型。该模型包含与网络防御相关的信息的形式化描述,可作为可视化和分析的信息库。

本文共分为五个部分。第2节调查了用于获得网络态势感知的数据模型。第3节总结了与第4节中详细描述的数据模型相关的需求、用例和特征。第五部分是全文的总结,并提出了进一步的研究方向。

2相关工作

在这一部分,我们调查了现有的数据模型,以获得和保持网络态势感知。简要介绍和讨论了现有方法在当今网络中的可用性和技术准备情况,并满足了我们的数据模型的要求。

建立M2D2数据模型[30]进行报警关联。它包含四种信息类型及其关系。包含的信息类型包括被监视的信息系统的特征、漏洞、用于监视的安全工具以及关于被检测事件的信息。有关监视系统的信息包括网络拓扑、主机及其配置(操作系统、程序及其在主机上运行的版本)。该模型描述了漏洞和哪些漏洞会影响哪些配置,从而允许识别网络中的所有脆弱主机。该模型考虑了两种类型的安全工具:入侵检测系统和漏洞扫描器。它们分别生成警报和扫描。警报和扫描以及引起警报的事件构成所观察到的事件。事件可以引用特定的漏洞或源和目标IP地址。该模型缺少与需求、功能和任务的任何关系,并且没有必要地详细描述网络部分(该模型描述所有接口)和观察事件部分(有四种不同类型的事件)。

InnerhoferOberperfler和Breu在《关于在[18]中使用企业架构进行IT风险管理的工作》中提出了数据模型的分层设计。提出了一个由业务层、应用层、技术层和物理层组成的模型,并给出了数据视图。该模型主要用于威胁管理,侧重于威胁列表和威胁的风险矩阵。然而,在我们的工作中,我们的目标是创建一个适用于事件响应而不是威胁管理的数据模型。

虚拟地形(VT)[17]是一个用来表示网络情况的模型。虚拟地形中包含的信息包括主机、服务器、正在运行的服务、已知的漏洞、入侵传感器检测位置、防火墙规则和物理连接。它提供了对网络的相当准确的描述,然而,它是在2008年设计的,之后就没有再维护过,它没有提供描述新技术的能力,比如虚拟化、集群计算。此外,它缺乏对任务和组件之间的依赖关系以及任务和组件之间的关系的描述。

网络资产、任务和用户(CAMUS)[16]是一个概念系统的证明,它允许网络资产自动映射到任务和用户。该模型的核心相对简单,有四个实体:用户、任务、网络资产和网络能力。它通过每个部分的详细信息进行扩展,例如用户在组织中的角色或用户经常使用的工作站。Buchanan[5]描述了模型的详细结构,并在任务影响车间[9]介绍了进一步的发展。研讨会讨论了如何映射网络资产(如网络设备)与用户、任务、业务流程和其他依赖这些资产的实体之间的关系。重点是基于网络流量和来自服务器的日志以自动方式填充模型,将其与以前的模型区分开来。该模型很好地描述了任务、用户和资产部分,但是缺少关于威胁场景、检测工具和网络拓扑的任何信息。

Jakobson[23]专注于任务建模和任务影响评估。他使用了一个网络地形[22]模型,专注于建模任务元素和它们之间的依赖关系。他将任务建模为连续的或并行的任务步骤流。每一步都是另一个流程、另一个任务或单个任务。该模型允许声明任务步骤的依赖项,允许的依赖项类型是AND和OR。影响依赖图(IDG)将任务元素映射到网络领域的服务和资产。任务步骤表达了任务的时间方面。在每个时间点上,步骤要么正在进行,要么已经完成,要么正在等待开始,攻击的影响取决于每个任务步骤的状态。

结构化威胁信息表达(STIX)[3]是Mitre为标准化网络威胁信息的规范、捕获、特征化和通信定义和开发一种语言的努力。该模型的第一个版本是在2012年推出的,从那以后就一直在发展,在2017年发布了2.0版本。数据模型非常详细,侧重于对威胁、攻击、参与者、指标、防御、安全事件和事件的描述。虽然它是为了不同的目的而创建的,但它肯定与情景感知领域有重叠。

CyGraph[33]是一个用于改善网络安全态势、在面对网络攻击时保持态势感知和保护关键任务资产的系统。系统使用的中央数据模型由四层组成:任务准备、网络威胁、网络基础设施和网络态势。任务准备层包含任务目标、任务和信息之间的关系以及它们对网络资产的依赖。网络威胁层描述由检测系统引发的漏洞和相关警报。网络拓扑、传感器、防火墙位置和配置都在网络基础结构层中进行捕获。最后,网络态势层包含有关漏洞、其属性、主机上存在的漏洞以及针对漏洞的攻击的信息。

CyGraph利用一个图形数据库来存储实体及其关系,并为针对CyGraph数据模型的查询引入了它的域专用查询语言CyQL。数据库由各种来源填充。TVA/Cauldron工具提供有关主机拓扑、防火墙配置和漏洞的信息。它们还包括来自各种传感器和检测工具的数据、来自NVD、STIX的漏洞数据以及来自常见攻击模式枚举和分类(CAPEC)的攻击模式。CyGraph的主要目的是安全态势分析和可视化。然而,它可以用于建立可能的攻击路径的预测模型,识别关键的漏洞,将警报与攻击路径关联起来,并允许在任务保证的上下文中进行分析。我们的模型深受CyGraph的启发,CyGraph也使用了分层设计。然而,在CRUSOE数据模型中,各层对应于专门知识的领域,从而使主题专家能够理解数据模型,从而使他们能够用模型的语言真实地描述实际状态。此外,CyGraph描述遵循Mitre中使安全性可度量的其他正式描述,并假设数据源也遵循这些标准。然而,这种情况经常发生。CRUSOE数据模型更加灵活,强调将模型与数据结合起来。CRUSOE数据模型只包含在典型网络环境中可以获得的数据。

3需求和用例

在本节中,我们将总结与数据模型相关的需求、用例和高级特征。首先,我们遵循北约[31]列出的网络态势感知系统的用例,并选择与数据建模相关的用例。其次,我们列出了在与几个欧洲安全团队的事件处理程序的访谈中讨论的用例。最后,我们总结了将在第4节中详细介绍的数据模型的关键特征。

3.1选定的北约用例

北约网络防御态势感知信息请求(NATO CDSA RFI)[31]列出了网络防御态势感知系统的35个用例。这些用例总结了各国在网络态势感知领域所需的功能。下面我们列出了最相关的用例,这些用例将通过实现基于我们所提议的数据模型的网络态势感知系统来解决。用例是根据它们的相关性来排序的。

单一权威数据源(UC10)——由于高质量、完整的数据、广泛的来源和解决的冲突所产生的可信度,用户可以将系统视为单一权威数据源。其他系统和利益相关者可以使用权威的数据。

查看资产的连接(UC12)——查看与资产相关的依赖关系,包括主机到组件到任务,组件到组件,任务到任务的依赖关系。

Fuse data (UC15)—数据被融合以丰富用户可用的数据—从各种来源捕获部分主机信息,数据融合规则允许这些信息作为关于同一主机的信息彼此关联。冲突数据可以通过预先定义的规则(一个源对另一个源具有权威性)解决,也可以将它们呈现给用户来解决规则不存在的地方。

向下钻取/向上滚动(UC03)——用户可以访问对应数据元素的附加细节(向下钻取)。用户还可以访问与详细信息相关的高级信息(滚动)。

查看资产依赖关系(UC06)——资产被组织在一个依赖层次结构中,其中任务依赖于组件,组件依赖于主机。通过查看资产依赖项,用户可以确定资产依赖于什么,以及什么资产依赖于资产。

查看互联性(UC11)——查看主机和网络上其他实体之间的逻辑和物理连接。用户可以将网络视为由边界设备分隔的多个子网或区域。用户可以看到主机在网络中的位置,以及哪些区域彼此相邻。

如上述用例所示,所提议的数据模型的存在和结构(假设它被数据所覆盖)将对网络态势感知信息系统的期望状态做出显著贡献。

3.2与事件处理人员的访谈

除了处理北约用例外,我们还采访了来自两个欧洲国家的几个csirt(计算机安全事件响应小组)的事件处理人员,以了解他们在日常操作和安全事件响应中缺少什么。根据访谈结果,我们根据ENISA事件处理工作流[29]制定用例,这些用例由我们的数据模型完成:

攻击目标的关键性估计——在事件处理分类(事件的初始评估)期间,事件处理程序需要评估目标的重要性,以确定事件的优先级或立即采取行动。事件处理程序可以使用对我们的数据模型的预先准备的查询来执行此任务。每个安全警报都存储在模型中,并连接到事件发生时模型的相应节点。处理程序可以找到关于目标的详细信息,找到所有依赖于它的系统组件,以及计算出目标的关键状态。此外,模型中还明确了目标的任务要求。所有这些信息对于评估攻击的潜在影响都是至关重要的。

寻找负责人——在分类之后,事件处理循环继续,查找联系信息和响应协调。在组织内联系合适的人可以显著加快事件的解决。在我们的数据模型中,安全事件连接到IP地址及其网络子网,子网进一步连接到组织的单位或特定用户。选择存储在数据模型中的受影响机器的负责管理员联系方式,将确保事件能够由最合适的人快速解决。

漏洞优先级划分和传播——由于每天都有大量的漏洞被暴露,因此在漏洞处理过程中需要快速评估风险。然而,常用的方法,如CVSS2和TARANIS[8],并没有考虑目标组织中的情况。在我们的数据模型中,每个漏洞都映射到一个特定的主机,这有助于丢弃那些不会威胁到组织的漏洞。其中,很容易找到脆弱的主机依赖、关键性和需求,以评估潜在的影响。此过程将帮助自动识别最重要的漏洞,从而向负责的管理员发出警报。

在事件响应中的三个常见问题示例上,我们说明了所提出的数据模型的优点,并分别说明了实现该模型的假设工具。此外,对事件处理人员的采访为我们的工作提供了宝贵的反馈。

3.3数据模型特征

数据模型是网络态势感知所需信息的中心点。模型的作用有三方面;它为所有相关信息提供了主干,它指定了用于进一步分析的数据输入格式,最后但并非最不重要的是,它定义了所需的信息收集目标。

作为信息收集目标的角色有助于弥合不兼容工具之间的差距。异构的数据格式和不兼容的工具被认为是阻碍网络态势感知[24]的主要问题之一。一旦将数据模型视为数据的接收方,它就可以作为集成点。这些工具可能被设计成以适当的格式提供数据,这是极不可能发生的。或者,在更可行的场景中,可以开发预处理器模块来将数据从每个工具转换为数据模型格式。

除了模型中的实体和关系之外,可能还有其他有价值的数据可供分析和可视化。此类数据的示例是来自服务和主机、事件历史记录或网络流记录的日志。数据模型不应该与此数据并排出现,从而再次造成许多数据源提供部分信息的情况。相反,附加信息应该与模型中特定的实体或关系相关,这样模型就是一个主干,并充当此类附加信息的上下文。这种方法的优点是,当操作符需要对高级模型中观察到的某个模式提供详细信息时,很容易获得这些信息,因为它已经与模式中的实体和关系相关。

数据模型还可以作为定义良好的、最新的数据输入,用于进一步的分析和可视化。加上适当的可视化方法,信息可以直接用于提高网络态势感知。

许多关于入侵响应[14,35]、警报关联[27,38]和攻击图[21,36]的概念在理论上工作得很好,但是需要大量的输入数据。作者通常不涉及获取所需数据的问题,因此这些方法和算法无法部署到生产环境中。数据模型的存在可以合理地填充数据,这将有助于这些方法的应用。

如上文所述,为履行数据模型的角色,数据模型须具备的特征可概括如下:

•包罗万象——该模型可以捕获当前使用的所有技术和概念,包括集群、虚拟化和VPN等概念。

•综合性——该模型涵盖了网络安全的所有方面。许多角色与网络安全相关,例如安全团队成员、系统管理员、网络管理员、安全管理人员和用户,每个人都有自己的观点。模型必须能够建模所有视图并将这些视图连接在一起。

•可实现性——该模型应捕获与网络安全相关的基本信息。然而,它不应该太详细或包含难以获得的参数。

•可持续性——模型不应该有难以维护的参数,比如手动插入的频繁变化的参数。

•时间意识——模型应该能够捕获和处理信息在时间上的可变性。

可扩展——模型应该考虑到它的扩展,并提供一种能力来将更详细的信息与之联系起来,从而提供一个高层次的概述。模型应该是一个语料库,而不是与其他模型并列的“另一个模型”。

从这些要求中,我们认为可获得性和可持续性是最重要的。如果没有这两个特征,模型可能是完美的,但仍然是无用的,因为在典型的设置中,它永远不会完全充满数据和最新的。不太强调模式的全面性和包罗万象的方面。由于它是可扩展的,这两个特征可以通过模型的逐步增强来实现。

4数据模型提案

在本节中,我们将描述所提出的数据模型及其实体和关系。我们定义实体,并给出具体关系和属性的推理。我们还概述了可用于将信息填充到模型中的数据源。

建议的模型由7个层组成,如图1所示。这些层的组成方式是,其中每一层都对应于公司中各种角色(如网络管理员、应用程序管理员和安全团队)的专业领域。本节后面将更详细地描述每个层。

该模型能够描述给定时间点的状态。模型实体和关系被标记为固定的或定时的。固定的实体和关系不经常改变,旧的条目(如任务定义和需求)也没有价值。对于安全团队来说,只有当前的任务和需求是重要的。相反,主动安全事件变化频繁,使用历史数据,例如,估计可信度。定时实体和关系由start和end属性(或第一个/最后一个观察到的属性)标记。

模型应该作为附加信息的主干。每个实体和关系可以指向特定类型的附加信息或历史信息。例如,一个用户可以访问一个应用程序;附加信息是来自该用户的机器的访问日志。我们在设计模型时考虑了这些信息,这样每个日志、记录和事件都可以作为模型的附加信息。

本节的其余部分将详细描述每一层。我们描述了每一层的用途,它的实体,以及如果需要,为什么模型中包含一些实体的原因。然后我们描述了层中实体之间的关系,层内关系,以及层中实体与其他层中实体之间的关系,跨层关系,这些关系概括了各个专业领域之间的交集。数据模型和基于它的示例数据库可在Github3上获得。

4.1主机层

主机是描述计算能力的一般来源的实体。它有两个子类:物理主机和虚拟主机。虚拟主机托管在物理主机上,如果系统管理程序存在漏洞,这些主机可能是重要的信息。主机集群表示一组主机将它们的计算能力集中到主机软件资源,由于强调可伸缩性和可用性,这种情况越来越频繁。一个软件资源可以在几个主机之间转移。因此,很难确定运行它的实际主机。通常通过将请求转发到正确的集群主机的入口点来访问主机集群。典型的例子是Apache Hadoop集群4,它有一个主节点和多个从节点。软件资源是在主机上运行的通用软件(包括操作系统)。网络服务表示能够接受来自网络的连接并通过下划线软件资源提供通信的端点。

在主机层的实体之间有五种不同的关系。软件资源在主机或主机集群上运行。软件资源还可以提供网络服务并能够通过网络进行通信。虚拟主机托管在物理主机上。如上所述,主机可以是主机集群的一部分,共享主机资源到软件资源。每个主机集群都有一个入口点,它是一个主机,作为与主机集群上运行的软件资源进行通信的网关。

除了层内关系之外,来自主机层的实体与来自其他层的实体也有关系。软件资源可以提供冗余,也可以是属于系统层的组件的主实例。每个软件资源都有版本,软件版本实体既属于威胁层,也属于漏洞,可能是在软件资源的实例中,即由于配置错误。软件资源与其版本的关系有助于立即找到应用程序中受漏洞影响的所有主机。主机本身是网络中的一个节点,是网络层中的一个实体。主机还可以进行访问控制;因此,它具有标识,标识定义了在这些角色中可以访问设备的角色和用户。

无源网络监测和主动网络扫描,如Nmap5或Nessus6,可以通过数据部分填充主机层。主动扫描可以提供有关网络服务及其版本的信息。被动网络监控可以发现网络服务、通过观察点通信的客户端应用程序及其使用指纹识别的版本,尽管版本确定的可靠性较低。被动网络监控也可以用于操作系统的[26]指纹识别。关于网络服务、应用程序和操作系统的最可靠的信息将提供日志分析或基于主机的代理。但是,这些数据源可能不可用。

有关主机集群的信息可以在虚拟环境中获得。但是,在大多数情况下,对于网络监控或活动扫描来说,主机集群是不可见的,因此,系统管理员必须手动插入主机集群。

4.2系统层

系统层的目的是描述信息系统的组件及其依赖关系,如图3所示。这一层还提供关于数据、数据在系统中的位置以及系统中的工作流的信息。这一层应该代表负责信息系统部署的人员的视角。该层的目的是跟踪组件之间的依赖关系,从而支持分析影响的传播。将数据映射到处理这些数据的组件对于敏感的数据保护特别有用。

组件是信息系统的单个部分。它通常对应于一个应用程序。特别是在面向服务的体系结构(SOA)中,每个服务都是一个组件。组件的功能可能依赖于其他组件。依赖项节点捕获此类依赖项及其类型。我们考虑三种类型的依赖:and、or和n-out- m。组件可以通过一个或多个软件资源实例来实现,例如主实例和备份实例,它们可以在主实例不可用时起作用。冗余节点描述了这种设置。冗余总是n-out- m,并且有几种类型,例如多个实例之间的循环负载平衡、一个主实例和一个或多个备份实例,这些实例仅在主实例不可用时接收请求。重要的方面,尤其是最近对个人信息隐私的关注,是系统中存储的数据。数据可以由组件处理,并且可以是机密性/完整性要求的对象。对数据的需求意味着对处理这些数据的组件的需求。

依赖项由两个关系表示,一个组件依赖于一个依赖节点,这个节点有依赖的组件。此外,上述组件由冗余节点提供。系统中的数据可以存储在不同的位置,但必须由至少一个组件处理。

主机层的冗余节点与软件资源之间的关系是与其他层之间的第一个关系。冗余节点可以是资源的主实例,也可以是冗余节点之一。组件可以拥有应用程序的标识,拥有其所有的信任关系,并授予对应用程序标识的所有标识的访问权。任务和要求的组件也支持其操作。任务层还对组件和数据提出要求,因为系统的每个部分在机密性、完整性和可用性方面有不同的需求。

唯一可靠的数据来源是系统管理员手动插入的数据。在关键的信息基础设施方面,许多国家规定必须维护这些信息。

自动的依赖检测方法可以帮助填充数据。然而,它们有很多缺点。自动的依赖检测可以是主动的,也可以是被动的。主动方法[2,7,13,37]通常是相对准确的,但需要修改所有受监控系统或通信协议,这在实际系统中可能会出现问题,因为它会影响系统性能。被动系统[1,6,32]被引入工作环境中,在这种环境中,修改现有软件或流量注入是不可接受的。它们通常基于包嗅探和流量监控,通过分析包到达时间分布或流量相关性和网络流量的统计分析来推断相关性。

自动检测的优势在于,它还可以检测到容易被遗忘的依赖项,例如DNS服务对域名解析的依赖项。

4.3网络层

图4所示的网络层的主要目的是描述网络的拓扑结构以及路由和过滤信息。该模型局限于OSI模型的网络层。网络层应该允许回答有关两个主机的相对位置、给定的通信是否通过观察点以及需要重新配置哪些节点来启用/禁用给定的通信的问题。

节点可以是网络中的任何元素,如主机、路由器、交换机,网关。一个节点可以有路由和过滤功能,可以分配一个或多个IP地址。地址可以是IPv4或IPv6地址。IP地址被分组到子网中。域名包含有关域名及其到IP地址的映射的信息。

基本关系是两个网络节点之间的连接。每个节点都分配了一个IP地址,其中一个节点可以分配多个IP地址(特别是IPv6地址)。由于这个赋值在时间上可能是动态的,所以关系有一个开始和一个结束时间戳来表示赋值的确切时刻。类似地,IP地址解析为域名。而且,这个关系经常会随着时间变化,并且需要携带时间戳,因为这个映射从何时到何时是有效的。一个IP地址可以进一步成为子网的一部分,子网可以作为更大子网的一部分。

主机层中的主机是网络中节点的子类。主机的虚拟和物理子类也继承了这种关系。网络节点可以具有流量监控或异常检测功能,是检测系统的数据服务器的观察点。另一种跨层关系是检测层和响应层之间的安全事件连接,它可以针对IP地址,也可以是事件的来源。访问控制层的管理连接是组织单元的子网。

网络管理员可以首先将网络静态划分为子网,然后使用网络拓扑发现工具进行验证和维护。这些方法的组合确保了拓扑的完整和最新。同样,被动DNS工具可以实时监控ip -域名关系的变化,并将相关数据填充到模型中。

当前路由和过滤规则的映射必须通过节点的主动探测来完成。路由规则对于影响评估是必不可少的,因为它们可能用于阻止攻击者,例如通过黑化[25],并且它们可以快速更改,因此监视系统必须连续工作。对于防火墙规则也是如此,但是防火墙通常是专有的,我们需要为它们实现连接器,以便为模型收集数据。

4.4检测响应层

如图5所示,检测和响应层描述了观察能力、当前和过去的事件以及相应的对策。该层对应于事件响应团队的观点。该层中包含的信息可用于进一步分析,以便将安全事件与事件关联起来,并跟踪攻击的当前状态。它还允许响应效率分析。

安全事件是具有潜在安全含义的任何事件,即IDS警报。检测系统是能够引发安全事件的任何系统,即异常检测系统。如果检测系统是基于对网络流量的观测,那么它可以从一个或多个观测点获取数据。安全事件表示违反了计算机安全策略。响应是对给定事件的一种反应性动作,它应该能够减轻事件所造成的损害,并阻止事件的继续。

探测层中的关系非常简单。观察点服务器作为检测系统的数据输入,对其进行处理并引发安全事件。然后,这些事件与系统中的事件相关。最后,对事件进行响应。

安全事件可以指来自威胁层的漏洞,也可以针对来自网络层的IP地址或来自访问控制层的用户。反过来说,IP地址或用户可能是事件的源。最后,观察点是网络层上下文中的一个节点。

关于入侵检测系统的位置和功能的信息由安全团队掌握,不会经常更改,因此可以很容易地进行维护。大多数检测系统都提供了查询生成的安全事件的功能,可以使用这些事件以自动方式填充数据。事件通常是在安全事件分析之后创建的。在自动分析的情况下,事件可以作为分析的结果创建(但是这很大程度上取决于实际的实现)。在手动分析的情况下,大多数安全团队使用一些跟踪系统(例如RTIR7),这些系统还支持查询信息。如果没有手动执行重新配置,则可以将响应添加为重新配置的一部分(在大多数情况下不是这样,配置中的更改通常是自动进行的)。

4.5访问控制层

访问控制层描述用户帐户、应用程序和设备之间的关系,如图6所示。它根据最流行的身份模型(如Microsoft Active Directory)进行描述,并且能够对基于角色的访问控制进行建模,这是为访问控制[12]建模提出的标准。该层的目的是跟踪用户和组的权限,当用户帐户在寻找对设备或应用程序具有特权访问权限的用户时,这一点尤其重要。

应用程序是一个标识,在该标识下,组件进行操作,而设备是能够进行访问控制的物理设备(如PC或打印机)的标识。每个应用程序或设备可能有特定的权限,这些权限定义了一组可以在应用程序或设备上执行的操作。角色是对该角色的用户的功能的抽象描述。用户是一个人的身份。一个人可以拥有一个或多个用户帐户。组是一组用户和组。组本身可以包含其他组。组织单元是属于组织中给定单元的一组用户、设备和子网。

用户和组可能是另一个组的成员。

一个组、一个用户、一个设备和一个组织单元本身可以是另一个组织单元的一部分。一个用户或一个组可以在组织中具有相同的功能,因此可以将其分配给相应的角色。角色可以对应用程序或设备具有一个或多个权限。

除了已经描述的层内关系之外,还有几个与其他层的关系。能够进行访问控制的组件具有标识应用程序,同样,能够进行访问控制的主机具有标识设备(分别为系统层和主机层)。来自网络层的子网可能是组织单元的一部分,来自任务层的可用性需求可能是针对特定组织单元的。

访问控制层的信息可以从任何中央身份管理系统中提取。Microsoft Active Directory就是这种系统最常见的例子。由于当前身份管理和访问控制的趋势是联合身份[15]和单点登录[4],因此信息几乎是完整的。如果只有不完整或没有信息可用,则可以使用访问日志获取至少部分信息。

4.6任务层

任务层,如图7所示,定义了任务元素、它们之间的关系,以及执行任务时应该满足的需求。这一层的目的是跟踪哪些组件支持哪些任务,并说明任务操作所需的条件。

任务是组织运作的目的。任务可以由几个以更高粒度指定操作的提交组成。任务可以由组件支持。每个任务陈述组件和数据的需求。这些要求根据CIA三联法分为三类:机密性要求、完整性要求和可用性要求。可用性需求提供了一种方法来定义组件应该为谁可用以及多少可用,即会计系统组件对于会计部门的可用时间不应该超过5分钟。基于受众,组件上可能有多个可用性需求。机密性需求可以针对组件或数据。数据的机密性意味着处理数据的每个组件都应该是机密的。完整性需求也可以针对组件或数据,其工作原理与机密性需求相同。

本质上,任务层的实体之间只有两个关系。一个任务可以支持其他任务,这意味着支持任务需要完成才能完成。任务可能要求保密性、完整性或可用性。要完成所支持的任务,还必须满足一个要求。

与来自其他层的实体的关系也很少。它与系统层联系最紧密。一个组件也可能支持一个任务,这意味着它的功能对于任务的运作是必要的。对数据或组件施加机密性、完整性或可用性要求。只有属于特定组织单元(访问控制层中的实体)的用户和设备才需要这种可用性。

关于任务和需求的信息必须手动维护和插入。特别是为了在关键信息基础设施网络(CII)中实现态势感知,法律通常要求创建和维护关于属于CII的系统的文档。此外,许多标准,如ISO/IEC 27005[19](来自ISO/IEC 27000系列),要求确定任务陈述和要求作为风险评估过程的输入。因此,有一个合理的机会,这些信息将是最新的和可用的。另一方面,任务陈述不会经常改变,手动维护它是现实的。eiros等人[10]还讨论了人工和自动捕获人工制品的选项,这将补充我们提出的模型。

4.7威胁层

图8所示的威胁层描述了通过现有漏洞暴露的网络。它应该允许简单的漏洞跟踪,提供关于关键漏洞位置的信息,并帮助有效的漏洞补丁。

漏洞是指在网络中检测到的特定类型的漏洞。漏洞可能有多个实例。漏洞可以由配置错误或软件资源中的错误引起。软件版本表示网络中软件的名称和版本,尽管版本可能只是高级的。一个软件版本可能有多个子版本,允许更细粒度的版本系统。由于一些指纹识别系统可能无法确定软件的准确版本,因此更高级别的软件版本允许在模型中包含它们的输出。它可以跟踪给定版本的软件中出现的网络中的所有漏洞。CVE指的是在一个常见的漏洞和暴露系统的漏洞的描述,包括其CVSS评级。

系统中的漏洞可能是指它的CVE描述,并可能出现在特定的软件版本中。软件版本可以是另一个版本的翻版。

到主机层A的连接,由软件资源表示,可以有特定的软件版本。此外,软件资源中可能存在漏洞。来自检测层和响应层的安全事件可以指一个漏洞,即利用该漏洞。

软件版本检测的方法包括从被动指纹识别到主动网络扫描和基于主机的发现。这些信息来源的准确性和侵入性各不相同。用于主动网络扫描和服务指纹识别的最常用工具是Nmap 8。漏洞描述可以在国家漏洞数据库(NVD)9或官方供应商feed中找到。漏洞可以被漏洞扫描器发现。有两种类型的漏洞扫描器:网络漏洞扫描器和主机漏洞扫描器。网络漏洞扫描器,如Nessus10、OpenVAS11和Retina12,使用它们的漏洞数据库和指纹识别方法,通过与主机的远程通信来评估系统上存在的漏洞。这样的检测不具侵入性,但准确性较低。主机漏洞扫描器[28]更准确,但需要在每个主机上安装一个代理。他们发现安装在主机上的软件的确切版本和配置,并将其与已知的漏洞列表进行比较。

5结论

在本文中,我们提出了一个网络态势感知的数据模型,该模型将被安全团队用于事件响应。该模型由七层组成,每一层还代表了从某个角度对系统的看法,从网络拓扑到任务陈述。因此,数据模型使不同领域的专家能够更好地理解情况,并可作为其他不兼容工具的信息交换点。还设计了数据模型,使模型所持有的信息能够以合理的方式获得,最好是以自动方式获取。还考虑了可扩展性,以便数据模型可以作为附加信息源的主干。建议的数据模型经过了彻底的评估,并与来自几个安全团队的事件处理程序进行了讨论,以反映未来操作部署的需要。

今后的工作将朝两个方向进行。首先,我们将实施一个信息系统来跟踪网络态势感知所需的数据。我们将进一步研究可用的数据源和派生数据的方法。此外,需要检查来自更多数据源的合并信息的方法,因为多个异构数据源可以提供相同类型的信息。第二,我们将利用提出的数据模型进一步分析网络安全形势。可以使用基于所提议的数据模型的工具执行广泛的任务,例如自动攻击影响分析、网络安全情况可视化、安全团队的决策支持和攻击缓解建议。

你可能感兴趣的:(CRUSOE:网络态势感知的数据模型)