1.3 网络安全态势感知研究现状

1.3 网络安全态势感知研究现状

网络安全威胁评估的目标是度量网络攻击对系统的威胁程度。随着对网络攻击和IDS技术研究的不断深入,攻击威胁评估技术也得到发展。在IDS中,通常根据攻击的破坏程度和所针对安全漏洞的风险级别来对告警进行严重程度分级,这种方法仅考虑攻击性质进行威胁评估,并没有考察环境信息等其他因素。例如Snort[38]将告警的Priority定为三级(1、2、3),其中Priority为1的告警具有最高的威胁程度,一般是针对风险比较大的漏洞,如缓冲区溢出等。

漏洞风险级别一般由专业的漏洞分析机构给出,比较著名的有CVE(Common Vulnerability Exposure)[39]和Bugtraq[40]。这两种漏洞披露机制都将漏洞的风险程度分为三级:high,medium和low。这种分级结果可以从一套更完善的漏洞风险量化评估机制,即CVSS(Common Vulnerability Scoring System)中得出[41]

C.Kruegel等[42]研究了将Snort告警与Nessus[43]的报告进行关联分析来做告警确认的方法,将攻击所针对的漏洞与目标主机上的漏洞扫描结果一一做比较(端口,服务,漏洞ID等),根据匹配结果对告警进行确认或过滤。这种方法的优点是可以充分考虑攻击所在的网络运行状况,比如目标主机的运行状况和漏洞信息,具有较好的误报和真实威胁的识别功能。缺点是不能对一些没有针对具体漏洞的攻击进行威胁度评估,并且需要预先保存攻击所对应的漏洞信息,同时漏洞扫描报告的实时性也是运用此方法时需要考虑的一个问题。

斯坦福研究所(SRI)的Porras等[44]提出Mission-Impact方法来实时评估安全事件的威胁程度,这种方法能充分考虑攻击所在的网络环境因素。同时Porras等也使用了贝叶斯网络来综合漏洞匹配的几个因素计算攻击成功的概率。

Koike和Ohno[45]开发了专门用来分析Snort告警的工具SnortView;Danyliw等[46]开发了基于Web图形界面的入侵检测告警分析工具ACID(Analysis Console for Intrusion Databases)。这类工具除了提供图形化的告警分析界面之外,还提供了告警统计分析功能,从发生频率上评估攻击类型的威胁程度。

Hariri等[47]提出基于网络性能度量指标来评估分析网络攻击对系统安全的影响,但是这种方法只适用于分析拒绝服务(DoS:Denial of Service)攻击对系统安全的影响,不能分析其他类型攻击,如评估权限提升类,对系统安全的威胁。

国防科技大学的张义荣等[48]提出使用信息论中“熵”的概念来进行网络攻击效果评估,首先考察攻击对各种网络安全性能指标的影响,然后通过“网络熵” 来量化各个安全指标的攻击前后变化情况,以反映攻击的效果。

Blyth[49]提出通过观察黑客的攻击足迹,来定性评估各个攻击步骤的安全威胁。也有很多研究使用攻击模型(Attack Model)来评估攻击威胁的方法。

Vaibhav Mehta等[50]使用贝叶斯网络(Bayesian Network)来计算攻击图(Attack Graph)中各种安全状态的到达概率(Rechability),然后利用这些概率来对相应的攻击场景进行威胁度评估。

Andre Arnes等[51]使用隐马尔科夫模型(Hidden Markov Models)对攻击进行威胁度评估。用Hidden Markov Models来描述主机的各种安全状态和转换关系,而一个攻击将使目标主机和攻击主机的安全状态发生改变。通过各种状态之间转换的概率分布可以计算主机的风险值,然后考察对目标主机风险值的影响来评估攻击的威胁度。

Sunu Mathew等[52]提出从多种因素(如环境因素等)对攻击进行了建模,构建攻击图,然后使用图论的方法来计算每个攻击场景(Attack Scenario)的信任度(Credibility),利用这个值对攻击威胁度进行评估。

Jared Holsopple等[53]提出了TANDI攻击威胁度评估算法,方法对所有攻击从Attack Sequence、Logical Topology和Information Graph三个方面来建模,然后通过模型间的各个状态转换的概率和难易程度来进行攻击的威胁度评估。

在传统的安全风险评估方法中,威胁评估过程通常对一个网络安全事件可能对系统的机密性、完整性和可用性等安全属性造成的危害程度的影响因子进行指派,然后加权平均(或用其他函数)得到安全事件的威胁度[54],这种方法的缺点是对评估人员的主观依赖性太强。还有其他一些研究工作对特定环境中的攻击威胁度评估进行了研究。Ramkumar Chinchani等[55]研究了内部人员恶意行为(Insider Threat)的威胁评估方法。Robert Meyer等[56]对IRC聊天网络中的攻击威胁进行了分析。

网络安全态势评估方法通常以实时的安全告警作为输入,来评估安全事件对目标资产安全状况的影响。所以关键问题是构建合理的数学模型来反映安全告警与网络安全状态变化之间的映射关系。

四川大学的李涛[57]提出了基于免疫原理的实时风险评估方法。依据人体免疫系统抗体浓度的变化与病原体入侵强度的对应关系,建立了一种基于免疫的网络安全风险评估模型。对网络安全环境下免疫系统的基本要素如自体、非自体、抗体、抗原、免疫细胞,和与免疫系统的相关活动(如克隆选择等)进行了数学建模,在此基础上提出了基于抗体浓度的变化情况来反映网络安全风险变化的方法。

开源网络安全事件管理平台OSSIM(Open Source Security Information Management)[58]中使用了一种简单的风险累加算法。认为主机的风险是其所受到的攻击的风险值的累加。首先计算单个告警的风险值,然后对与主机相关的告警的风险值进行累加,得到主机的当前风险值。超过一定的时间阈值或风险阈值后,对主机风险值执行清零操作。

Wing等[59]提出通过比较系统的Attack Surface来测量攻击的相对安全级别,所谓Attack Surface是所有对外界暴露的系统活动以及其访问的资源。通过对Attack Surface中每一个类型定义一个代价函数,计算其总的代价,然后通过测量系统Attack Surface的变化就可以知道系统安全状态的变化。

E.Jonsson和T.Olovsson[60]利用IDS中的一些实验数据对攻击者行为进行了分析,通过考察系统的实时输入和系统的反应,来对系统的可靠性进行一定的评估。

Gehani A.[61]提出了基于主机的实时风险评估方法,并指出了实时风险评估的重要性。

雷英杰[62]研究了基于直觉模糊集的态势和威胁评估方法。直觉模糊推理方法能够对具有一定数量且具有多重属性(定量或者定性)的影响因子进行综合评判,得到总体的态势和度指标。

威胁与态势评估在信息融合领域有较多的方法提出。可以用于威胁和态势评估的信息融合相关的理论和方法有:贝叶斯网络、模糊推理、D-S证据理论、专家系统和知识推理等。

网络安全态势预测领域现有的方法主要有定性预测方法、数值模型预测法、神经网络预测法、数据挖掘方法。

东南大学的梅海滨和龚检[63]提出基于时间序列分析的安全态势预测方法,利用正常情况下IDS告警数据中的自相似性建立IDS告警的季节模型,对网络中的DDoS和蠕虫等典型入侵事件进行预警。这属于基于数值模型的方法,通过分析样本特征来对安全态势进行预测,特点是方便、易行,在获得较少当前入侵信息和知识的情况下也可以进行预测,但是其对安全要素的提取和关联受到方法本身的限制,准确性不高。

Geib和Goldman[64]通过人工智能领域中的意图识别方法对网络攻击预测问题进行研究,并指出攻击预测将是未来IDS技术的重要发展方向。将攻击预测定义为“对手型意图识别问题”,即攻击者会试图摆脱甚至干扰攻击预测过程,分析了攻击预测问题相对传统意图识别问题的不同需求,例如需要能处理部分有序的动作序列等,提出了一种基于贝叶斯网络的攻击预测方法。在AI领域,意图识别问题已经有多种方法被提出。

Schmidt等[65]提出了使用基于规则的专家系统来进行意图识别。Kautz和Allen[66]使用层次的树形结构来表示意图库,并将意图识别问题定义为找出能够解释当前动作的高层动作的集合的问题。

Charniak和Goldman[67]提出了用BN根据经验概率来推断下一步最可能发生的动作。

Qin和Lee[68]采用了告警关联分析和告警严重度排序的方法来减少告警数量和提高告警质量,然后提取严重度高的告警作为攻击预测步骤的输入,从而降低预测过程的复杂度。他们也对攻击预测的推理方法做出了改进,使其能够处理不完全有序的攻击序列和丢失的攻击信息。

Wang,L.等[69]也提出了在IDS告警关联分析系统中使用攻击图来进行攻击预测的方法。攻击图建模方法最早由Cunningham[70]在1986年提出。用包含节点和具有非负权重的边的图来表示网络,图中节点表示网络中的主机或网络连接设备,边表示结点之间物理或逻辑连接。Ritchey和Ammann[71]提出基于模型检验的攻击图生成方法。首先对网络系统通过主机描述、主机连接性、攻击的起始点和利用方法进行建模,然后使用已有的模型检测器生成攻击图。

Sheyner等[72]在基于模型检验的网络攻击自动建模和攻击图的可视化方面做了大量的工作。

在关联规则的研究方面,IBM的Hellerstein等[73]提出利用数据挖掘方法在历史数据中挖掘出一些特殊的模式(时间间隔模式,事件依赖关系等),然后提出了一种利用这些模式来构建关联规则的方法。

基于“前提条件/后果”建模的攻击因果关联方法最早由Templeton等[74]提出。他们首先对攻击建模,定义每类攻击的前提条件和结果。然后通过比较先发生的攻击的结果和后发生攻击的先决条件对两个报警信息进行关联。Cuppens等也利用这一方法对MIRADOR告警关联系统进行了扩充[75],提出了LAMBDA语言用于对攻击进行因果关系建模。

Dain等人[76]对如何生成攻击场景的方法进行了研究,即一个告警到来时,如何选择与已有的攻击场景链进行连接,对几种生成攻击场景的方法进行了理论和实验分析。

Lee W.等[77]利用数据挖掘中用于统计计算的GCT算法来从安全告警中挖掘攻击场景,方法优点是不需要对攻击进行因果关系建模而能发现新的具有因果关系的攻击场景。