1.一种基于贝叶斯网络的多步攻击安全态势评估方法,其特征在于,包括:
步骤A、通过频繁项挖掘得到多步攻击发生模式,用于构建攻击图,运用窗口滑动机制将安全事件告警数据生成候选序列集合,从候选序列集合中挖掘出多步攻击序列;
步骤B、运用多步攻击图建立贝叶斯网络,在攻击图的基础上加入攻击所期望系统所达到的系统状态属性,同时在贝叶斯网络中加入事件观测节点;
步骤C、将攻击信息加入到贝叶斯网络攻击图中,通过贝叶斯网络后验推理和累积概率计算多步攻击风险;
步骤D、采用层次化量化评估方法对主机及整个网络的安全态势进行量化评估。
2.根据权利要求1所述的网络安全态势评估方法,其特征在于,所述通过频繁项挖掘得到多步攻击发生模式,从候选序列集合中挖掘出多步攻击序列包括:步骤A1,从网络中获取历史安全告警事件Ai(Ai.time,Ai.s-ip,Ai.s-port,Ai.d-ip,Ai.d-port,spre,spost,ai,aitem),Ai.time为告警发生的时间;Ai.s-ip和Ai.d-ip为源IP和目的IP,Ai.s-port和Ai.d-port为源端口和目的端口,spre为攻击行为所需主机前提状态,spost为攻击成功目的主机所处的状态,ai为攻击类型标签,aitem报警序列号;
步骤A2,将历史攻击库中原子攻击按照时间属性排序,将排序后的原子攻击类型标签作为攻击序列集,设定窗口时间TW,逐步向后滑动时间窗口,直至遍历完整个攻击序列集的所有元素,产生候选攻击序列集合AS=(as1,as2…asn),asn是候选攻击序列;
步骤A3,在候选攻击序列集中,基于挖掘关联规则的频繁项集Apriori算法挖掘最大频繁攻击序列集,然后将得到的频繁项序列集通过原子攻击报警序列号,根据时间属性对频繁项攻击序列再次排序,最后从频繁项序列集中找出最大频繁。
3.根据权利要求1所述的网络安全态势评估方法,其特征在于,所述运用多步攻击图建立贝叶斯网络,在攻击图的基础上加入攻击所期望系统所达到的系统状态属性,同时在贝叶斯网络中加入事件观测节点,包括:步骤B1,定义贝叶斯网络为PAG=(N,E,P),N表示攻击图中的节点集,E表示节点之间的因果关系边集,P表示节点之间的条件概率集合;
其中,N=S∪A∪I表示攻击图中的节点集;S表示原子攻击所期望系统达到的目标状态集,每个多步攻击发起时系统所处的状态定义为系统初始状态s0;A表示原子攻击集,A集合中的元素为通过频繁项挖掘所得到攻击图的每个原子攻击ai;I表示原子攻击ai的事件监测节点集,即任何一个攻击都有可能被监测设备正确识别;
因果关系边集E表示节点之间的因果关系;E=ESA∪EAS∪EIA;其中,ESA表示系统处于某一状态si条件下发生攻击aj;EAS表示某一原子攻击aj发生后致使目标系统处于si状态;EIA表示某一原子攻击ai被入侵检测系统IDS识别,已确认ai攻击已经发生;
P表示节点之间的条件概率表,P=(PSA,PAS,PIA);其中,PSA表示攻击目标处于状态si下发生攻击ai的概率集合;PAS表示原子攻击ai成功使得系统处于目标状态si的概率集合;PIA表示原子攻击ai被正确识别的概率集合;
步骤B2,计算PAS的量化公式:
其中,M表示攻击行为属性与系统所处状态蕴含漏洞的匹配程度,如果攻击告警事件前提条件中攻击目标的系统与实际网络中攻击目标操作系统进行匹配,如果匹配不成功,则M=0.1,退出;否则继续匹配攻击行为端口与攻击目标系统开放端口是否匹配,如果不匹配,则M=0.4,退出;否则判断该告警事件所针对的漏洞信息与目标系统漏洞是否匹配;如果不匹配,则M=0.7,并退出匹配;如果匹配成功,则M=1.0,I为攻击目标系统的安防措施,划分为5个可量化的数值等级,由弱到强分别为0.1、0.2、0.4、0.7和1.0,eI为I的指数表达式;
PE为相应系统漏洞被攻击者利用的概率,根据通用安全漏洞评分系统CVSS通过脆弱性计分系统中的漏洞可利用的难易程度来量化;
步骤B3,计算PSA:
其中, 为攻击的成本收益比,AC是攻击的成本,根据CVSS中攻击的复杂度量化
生成的,攻击的收益AP=Lj.weight-Li.weight,Li.weight为攻击ai开始时目标系统的状态为si时的权限值,Lj.weight为攻击ai结束时,目标系统的状态为sj时的权限值。
4.根据权利要求1所述的网络安全态势评估方法,其特征在于,所述将攻击信息加入到贝叶斯网络攻击图中,通过贝叶斯网络后验推理和累积概率计算多步攻击风险,包括:步骤C1,在贝叶斯网攻击图中,如果事件的发生已经被检测到,将这些事件作为证据节点集Ne,需要更新的节点集为发生在Ne之前的节点,记为Nu;通过贝叶斯公式计算后验概率在证据节点作用下,在证据节点集之前的节点发生的概率;对于 根据后验概率进行更新:P'(Ni=1)=P(Ni=1|Ne=1)·P'(Ne=1)+P(Ni=1|Ne=0)·P'(Ne=0)其中,1表示事件发生,0表示事件未发生,P(Ne=1|Ni=1)表示在原有的贝叶斯网中,在的前一节点 发生的情况下, 发生的概率,P(Ni=1|Ne=1)表示在Ne发生的情况下,Ni发生的概率,P(Ne=0|Ni=1)表示在Ni发生的情况下,Ne不发生的概率,P(Ni=1|Ne=0)表示在Ne不发生的情况下,Ni发生的概率,P(Ni)和P(Ne)分别表示原贝叶斯网络攻击图中,节点Ni、Ne发生或不发生的概率,P'(Ne=1)、P'(Ne=0)分别表示更新后节点Ne发生和不发生的概率;
通过后验概率P(Ni=1|Ne=1)与证据节点Ne的概率P'(Ne=1)=1,得到在该证据下节点Ni的概率P'(Ni=1),然后以Ni为证据,以同样的方法对它的前面的节点进行更新;
步骤C2,累积概率定义为在某一攻击检测到的情况下,结合攻击图,计算状态节点和攻击节点的累计概率,通过累积概率来描述多步攻击发生当前阶段的风险值。
5.根据权利要求1所述的网络安全态势评估方法,其特征在于,所述采用层次化量化评估方法对主机及整个网络的安全态势进行量化评估,包括:步骤D1,在某一时刻当检测到某一攻击链中的某一原子攻击ai发生,根据多步攻击发生模式可以得到当前时刻,针对该主机的发生的攻击为a1→a2→…→ai,a1→a2→…→ai为a1、a2……ai对该主机依次攻击的多步攻击链;假设该攻击链完整的攻击步数为n,当前该攻击对主机的威胁值为:其中,ts表述多步攻击威胁度,CP(ai)为攻击ai发生的累计概率; 描述了检测到该攻击发生可能攻击成功的概率,as为候选攻击序列;ei/n为ai处于整个攻击链中的阶段,描述一个多步攻击实施的程度;
步骤D2,主机资产重要性赋值,节点资产重要性M为:
其中,LC、LI、LA表示安全属性值,分别是机密性属性值、完整性属性值和可用性属性值,根据等级从集合{1,2,4,6,8,10}中取值分别赋给所述三个属性值;
步骤D3,设某时间段内主机受到的多步攻击数量为s时,则该段时间主机 受到攻击的威胁值:其中Tsi表示攻击ai对主机的威胁值;
步骤D4,系统态势量化,则整个网络系统的威胁值RN为:
其中,l为网络中主机数量, 为主机的权重值。