一、人类认知过程中常用的认知模型
根据人类认知过程中的建模方法,介绍几种常用的认知模型,并进行总结, 探索如何在构建网络安全态势感知系统时,将人类认知过程和认知模型转化为可自动化地实现的模型架构,便于不同分析师在一个较为统一的模型基础上,对网络安全态势进行更深入的理解和分析。
1.3M认知模型
3M即“是什么”、“为什么”、“怎么实现”。
(1)“是什么”:形成可将该事物与其他事物区分的内在属性。人们可以通过事物的属性、特征、形式、性质等建立起对事物本质的理解。
在理解网络安全态势中,“是什么”即为不同的物体、事件命名。
例如,对不同的漏洞、不同类型的资产按照统一的命名规则命名。命名规则可以根据漏洞和资产的属性、特征、表现形式等制定。
(2)“为什么”:探究任何事件发生的因果关系。
例如,分析师需要理解为什么攻击方法能够成功,这些攻击方法利用了什么漏洞,从而锁定具体漏洞,真正理解Web服务器被某些攻击方法攻陷的原因。
(3)“怎么实现”:理解事物或事件具体发生的过程。
例如,了解攻击步骤,明白攻击者实现对内部资源窃取的具体过程。
总结:3M认知模型虽然可以用于网络安全态势感知中,实现单步攻击事件、部分复杂多步攻击事件的检测,但是很难实现对网络系统中的有效攻击行为进行检测。
2.ACT-R认知模型
ACT-R(思维-理性的自适应控制)认知模型的依托理论是基于人脑认知的机制和结构,试图理解人类如何获得知识、如何组织知识以及如何产生智力活动等,属于人类认知过程工作机理的理论。
ACT-R认知模型包括四个不同模块:目标模块、视觉模块、动作模块和描述性知识模块。四个模块独立工作,由一个中央系统协调。每个模块专注于处理特定类型的数据,并通过与其关联的缓冲区与中央系统交互。
中央系统包含四个缓冲区和基底节(纹状体、苍白球、丘脑)。
在中央系统中,目标缓冲区和检索缓冲区将信息传递到纹状体,执行匹配操作,完成模式识别的工作;苍白球负责协调冲突,执行选择工作;丘脑控制产生式动作的执行。
基底节执行的生成规则表征了ACT-R认知模型中的程序性记忆。
不同的模块执行不同的操作,与基底节进行交互,每个模块都专注于处理特定类型的信息,基底节所在的中央系统对这些信息进行整合和协调。
目标模块跟踪目标及内部状态,通过目标缓冲区进行交互。
视觉模块追踪视线范围内的事物、对象的位置,视觉缓冲区用于缓存视觉模块采集的各类信息。
动作模块用于控制和执行动作。
描述性知识模块存储了人类积累的长期不变的知识,包括基本事实、专业知识。知识块与检索缓存区交互,实现对相关知识的检索。该模块能够通过人类已有的知识完成分析和判断任务。
在网络安全态势感知中,
描述性知识模块可以理解为通过综合分析以前的历史攻击事件,形成一系列可用于判断攻击事件的知识;
目标模块可以类比为分析师关注的信息,比如敏感文件、配置文件、注册表等资产;
视觉模块可以理解为采集相关网络安全数据的过程;
动作模块可以对应为分析师判断当前态势后采取的后续措施。
3.基于实例的认知模型
理论基础:假设人类根据已有的历史实例进行学习,从中总结出相应的处理方法,并在后续遇到类似情况时采取有效措施。
IBLT(基于实例的学习理论)
观点:学习者拥有一种通用机制,将“情景-决策-效用”三元组存储在知识组块中,通过观察当前的情景,记录采用的决策方案和取得的效果,当出现类似情景时,根据记录决策方案的效果,选择最合适的决策方案。
研究人员基于IBLT的学习机制,借鉴ACT-R认知模型,实现了IBLT认知模型,并证明了该模型得到的结果与人类实际工作中获得的结果高度接近。(结论)
IBLT认知模型
实例被定义为“情景-决策-效用”三元组,记为SDU三元组。
情景是一系列的环境因素;
决策表示适用于某种情境下的一组动作;
效用是在特定情境下对决策好坏程度的评价。
IBLT认知模型不仅涉及SDU三元组实例存储块的积累过程,还涉及对不同学习机制的汇总,包括基于实例的知识、基于识别的检索、自适应策略、基于需求的选择和反馈更新。
基于实例的知识是指包含上述SDU三元组实例的形式积累的知识;
基于识别的检索是指根据正在评估的情景,判定已经存储实例的相关性;
自适应策略是指根据动态任务中交互和实践的情况,从基于启发式的决策自适应变为基于实例的决策;
基于需求的选择是指对选择过程中的情况进行控制,根据实际需求进行选择;
反馈更新是指更新SDU三元组存储块,保持对决策和效用因果归因的评估。
IBLT认知模型的决策过程
认知、判断、选择、反馈是关键的四个步骤。
在认知步骤,通过在记忆里寻找,根据相似性判断当前情景是否具有代表性,是否在以前的SDU三元组出现过;
在判断步骤,通过启发式等多种方法,从记忆里提取出SDU三元组作为替代方案,按效用进行判断;
在选择步骤,判断是否需要搜索更多的替代方案或执行当前最佳的替代方案;
在执行步骤,按照某一替代方案执行相应的动作;
在反馈步骤,由于环境情景在执行动作后会发生变化,因此需要将结果反馈,更新记忆的SDU三元组信息。
在网络安全态势感知中,Dutt等人提出了用于研究网络安全态势感知的IBL(基于实例的学习)模型,刻画了分析师的认知过程。
分析师在记忆中预先添加了多个可能发生网络事件的实例,每个事件的实例包括IP地址、端口、IDS告警信息等多维度属性信息,以及分析师对于不同安全事件所作出的决策。拥有实例记忆后,当新的网络事件出现时,该模型首先会通过认知判断机制从已有的记忆中检索类似的发生过的实例, 然后结合分析师设置的针对恶意事件判断的阈值,评估当前的网络事件是否超过容忍阈值,一旦超过,分析师将会判断目前发生了网络攻击事件,从而掌握当前的网络安全态势。
总结:
(1)基于实例的认知模型与ART-R认知模型类似,都是通过历史的攻击事件、历史的知识去判断正在发生的攻击事件。
(2)基于实例的认知模型虽然可以实现单步和多步攻击事件的检测,但是很难实现针对有效攻击事件的准确和实时检测。
4.SOAR认知模型
SOAR(状态运算和结果)模型
以知识块理论为基础,利用基于规则的记忆,获取搜索知识和对应的操作、运算等。即从经验中学习,将以前的经验和知识用于以后的问题求解当中,实现对通用问题的解答。
SOAR认知模型认为大脑是存放了大量知识的“知识库”。
记忆是更为复杂的系统:
短期记忆为语言理解、学习、推理等提供临时存储空间;
长期记忆提供信息加工时需要的信息,回忆相关知识;
决策过程是对输入、状态描述、提议算子、比较算子、选择算子、算子应用、输出等进行循环。
最初的SOAR模型
仅包括长期记忆和工作记忆。
长期记忆被编码为产生式规则的信息;
工作记忆是编码为符号图结构的信息,存储了用户对当前环境及情况的评估。
用户可以利用长期记忆,回忆相关知识,通过决策过程循环,并根据结果的情况进行评估,循环以上步骤,选择下一步操作,直到达到目标状态。
在网络安全态势感知中,SOAR模型为网络安全事件构建知识库,长时记忆保存了属于网络安全事件的典型特征及规则。当新的网络安全事件发生时,利用SOAR认知模型可以提取记忆,执行相关算法,并判断新的网络事件是否属于恶意的攻击行为。
总结:
(1)SOAR模型侧重在已有经验中执行计算/算法,从而实现判断。
(2)SOAR模型无法实现针对有效网络攻击事件的检测,因此需要在此基础上进行创新,提出更合适的模型。
5.其他认知模型
ICM(理念化的认知模型)
假定人类依据结构组织和表征现实,通过命题模型、意象图式模型、隐喻模型、转喻模型构建人类的心理空间。
基于神经网络的认知模型
模型人类大脑结构和功能。
缺点:缺乏可理解性,无法对认知过程中的决策过程做出合理解释。
PDP(并行分布处理模型)
在网络层次上模拟人的认知活动。
二、基于MDATA的网络安全认知模型
MDATA模型(Multi-dimensional Data Association and Threat Analysis,多维数据关联和威胁分析模型)
1.概况
目的:解决网络安全态势感知中数据分布广、网络安全知识因具有时空特性而难以表示的难题。
知识图谱KG
(1)定义
知识库表示方法,本质上是一种语义网络。知识图谱通过多种类型的节点、边,表示实体、概念、关系、属性等;通过多关系图表示真实世界中存在的各种实体和概念,以及它们之间的关联关系。
知识图谱通常采用三元组(实体,关系,实体) 或==(实体,属性,属性值)==的形式,表示和存储知识。
(2)开源工具:Neo4j、JanusGraph。
(3)直接将知识图谱用于网络安全态势感知的缺点
①知识图谱的知识一般为静态知识,在知识发生变化的时候需要对三元组更新,而更新过程较为麻烦;
②网络攻击具有时间和空间特性,三元组无法表示此类情况;
③网络安全态势在资产维度、漏洞维度和攻击行为维度都存在不同的知识,知识图谱的表示方式难以将不同的知识进行有效关联和整合。
MDATA模型简要介绍
主要包括关联表示、关联构造、关联计算三部分。
(1)关联表示
超语义图=<Concept, Entity, Relation, Property>
Concept表示概念集合;Entity表示实体集合;Relation表示关系集合;Property表示属性集合。
实体集合Entity分为主要实体PE和次要实体SE;
主要实体是在知识表示中更重要的实体,实体之间通过Relation连接;
次要实体是针对主要实体的描述,与主要实体之间通过Property连接。
关系集合Relation的每一种关系都包含时空特性;
Relation={R,TimeZone,Spatial,T-S}
TimeZone表示关系R的时区特性;Spatial表示关系R的空间特性;T-S表示关系R的时空融合特性。
属性集合Property也具有时空特性;
Property={P,TimeZone,Spatial,T-S}
(2)关联构造
主要包括概念构造、实体识别、关系抽取、属性抽取、知识验证、知识更新等算子,通过不同的算子可以计算超语义图的各个组成部分。
(3)关联计算
主要包括知识推演、子图匹配、实体查询、关系查询、属性查询、路径计算等算子,通过不同算子可以支撑各种不同的计算需求。
2.MDATA模型的表示方法
采用改进的三元组方式对MDATA模型进行表示。
①主要实体PE之间通过关系R连接;
②主要实体PE和次要实体SE之间通过属性P连接;
③对关系R和属性P进行拆分:
将关系R表示为一个新节点,命名方式为其连接的两个主要实体,例如关系R1命名为:PE1-R1-PE2;在关系节点上加入时空特性,包括用时区特性TimeZone表示时间段、空间特性Spatial表示所属空间、时空融合特性T-S表示同时处于该时间区域和空间的特性;
属性P也采用类似形式加入时空特性,但不另外命名。
在网络安全态势感知中,可以将资产(计算机、服务器、硬件、软件、文件系统等)表示为主要实体,将型号、版本号等作为次要实体,从而将资产之间的关联作为关系,将资产的型号、版本号定义为属性。
在关系层面,不同资产之间的关联关系可能随着时间、空间发生变化;
在漏洞层面,漏洞和资产存在关联关系,即某资产是否存在对应漏洞,而漏洞的描述、特点等是次要实体,表示漏洞的相关属性;
在攻击行为层面,攻击方式是主要实体,攻击方法和漏洞存在利用关系,而攻击方法的描述、特点为次要实体。
3.基于MDATA模型的网络安全认知模型构建
(1)三个维度的知识库
①资产知识库
包含:IP地址,终端设备,每一个终端设备上的操作设备型号、软件、硬件信息、重要的文件系统等。
作用:梳理各种类型的资产,让分析师了解需要保护的系统内部包含哪些资产,资产之间的关系等。
②漏洞维度知识库
包含:漏洞存在于什么样的设备和对应的版本,攻击方式、漏洞类型、危害等级等其它关系,相关联的补丁知识。
作用:态势感知系统可以将漏洞维度知识库和需要防护的资产信息进行关联,提前获知资产可能存在的漏洞。
③攻击行为知识库
包含:受害者服务器,漏洞,攻击方式,攻击方式和服务器之间存在“攻击”关系,该节点有空间关系(源地址、目的地址),告警关系。
作用:分析师可以清楚发现不同攻击方式利用的漏洞情况、不同攻击方式对应的告警以及不同攻击方式的时空特性。
(2)雾云计算架构
定义:一种用于泛在网络空间大数据分析处理的体系架构,实现面向网络安全态势感知认知模型的管理和协同计算。
雾云计算架构分为三个层次:雾端、中间层和云端。
雾端主要从大数据海洋中抽取知识;
中间层对抽取的知识进行融合;
云端对融合以后的多知识体进行协同计算,满足用户的计算目标。
雾云计算是由知识体、知识体之间的关系、知识体之间的协同操作组成:
FogCloudComputing= <KnowledgeActori, Rjk, {Operationm}>
KnowledgeActori:不同的知识体,例如形成的不同资产维度知识库;
Rjk:不同知识体之间的关系;
{Operationm}:知识体之间的协同操作与计算,包括多知识体和它们之间协同工作任务Taskm,例如针对攻击事件的发现,需要通过多个知识体进行协同工作。
雾端知识体是根据边缘节点采集的数据,利用边缘节点的计算能力在本地进行实时计算得到的知识体。在网络态势感知过程中,边缘节点上部署的终端设备往往带有多个传感器(探针),可以实时采集数据,并在边缘节点上形成资产维度、漏洞维度、威胁维度的雾端知识体。
中间层通常由部署在距离边缘节点较近的服务器组成。
中间层知识体的作用:
①访问多个本地边缘节点的数据和知识,对具有一定拓扑结构的局部边缘节点进行分布式协同计算;
②和云端知识体互联进行协同计算,对雾端形成的知识体进行更新。
云端是雾云计算架构的后台处理中心,能从全局角度对所有的知识体进行融合计算和全局推理,形成全局知识体。
4.基于MDATA模型的网络安全知识推演
网络安全知识推演包括三个部分:
①通过实体对齐、知识库融合,实现知识库的关联,并对知识进行验证;
②通过关联的知识库,可以发现未表示在知识库中的知识,并补全关系;
③知识随着时空特性发生变化时,可更新知识库。
(1)知识库关联
①实体对齐
将不同知识库中的相同实体统一命名(同类型知识库也需要对相同实体统一命名);
②知识库融合
类似知识图谱,对相同实体进行融合,在关联过程中,需要对错误知识进行验证和消歧。
(2)新知识发现
新知识发现可以分为:关系补全、属性补全、主要实体补全、次要实体补全等。
实体知识发现的技术方法分为:基于逻辑规则的推理、基于表示学习的推理:
①基于逻辑规则的推理
将规则通过合取法组合在一起,根据规则中出现的主体推理出多个实体之间存在的规则,从而实现关系补全。
②基于表示学习方法的推理
将MDATA模型中的主要实体、次要实体、关系、属性等表示为多维度向量,通过计算向量之间的关系,实现补全工作。
缺点:该方法缺乏可解释性,导致在新知识发现过程中产生的部分知识无法被有效解释。
此外,在网络安全态势感知中,由资产维度、漏洞维度、威胁维度所形成的知识库之间存在很多关系,也需要对此类关系进行补全。
(3)知识库更新
当知识发生动态变化时,基于MDATA模型的网络安全知识库可以快速更新,仅需要对部分知识进行改变。如果是时空特性发生变化,仅需要增加对应的时空特性,无需对整个知识库的表示形式进行修改。
比如:某路由器安装了补丁,那么该路由器就不再存在某漏洞,可以在“存在漏洞”的关系上增加“时间区间”的特性,用[开始时间,安装补丁时间]表示仅在此时间区间内存在的漏洞,不需要删除关系,从而最大限度地保留网络安全知识库中知识的动态变化过程。
5.利用基于MDATA模型构建的网络安全知识库进行攻击检测
通过MDATA模型构建的网络安全知识库能够对有效攻击行为进行检测,并及时在事前和事中做出快速响应。
(1)检测过程
基于MDATA模型的有效攻击检测是从三类相互关联的知识库入手。
有效攻击:对资产造成真实影响并产生后果的攻击行为。
①通过资产知识库分析系统所有与关键资产相关的数据,通过漏洞知识库分析系统中可能存在漏洞的资产;
②将存在的漏洞和可利用该漏洞执行的攻击行为相关联,当攻击行为发生的时候,MDATA模型会构造对应的时空特性;
③如果发生此类攻击系统关键资产的行为,防御设备将能够检测出对应的攻击行为并发出告警信息;
④分析师仅需关注与这些攻击行为所关联的告警数据,当此类告警信息频繁发生的时候,便可以判定目前存在针对系统关键资产的有效攻击。
(2)优点
①可以在攻击行为发生之前就对需要关注的告警信息进行标注,以便对正在发生的攻击行为进行高效定位和判断;
②攻击行为可能存在多个攻击步骤,通过比对“攻击”关系中的时间区间特性,可以将多个攻击步骤关联,从而在事件发生过程中阻断攻击行为。
(3)缺陷
由于MDATA模型构建的知识库是通过已有的网络攻击事件、网络安全知识等构建的,尽管MDATA模型通过知识演化能发现很多潜在的未知关联联系,但是如何对未知的攻击行为、未知的攻击事件进行检测还是一个难题。
(4)可行思路
①完善知识演化过程,尽可能根据已有的知识推演出未知的知识,包括未知的攻击行为、攻击链路等;
②加入分析师的判断和经验,进一步完善知识库;
③研发更多的防御设备,通过对终端、流量等多方面的数据进行综合判断,提供更为详细的攻击行为告警。
本章小结
网络安全态势感知的核心是建立认知模型,以便对网络安全态势进行全面、准确、实时的理解。
本章提出的多维数据关联和威胁分析模型——MDATA模型,是一个用于理解网络安全态势的认知模型,能够实现对已知攻击事件全面、准确、实时的检测。基于该模型可以对资产维度、漏洞维度、威胁维度的数据构建自动化的认知建模。
本章还介绍了雾云计算架构,对基于MDATA模型构建的网络安全知识库进行分布式协同计算,为分析师提供有效理解网络安全态势的方法。
版权归原作者 Schanappi 所有, 如有侵权,请联系我们删除。