正在加载图片...
·1426· 北京科技大学学报 第33卷 于该次报警信息有效性的综合评价值,节点对综合 是推荐经验表,存放了其他节点(曾接收过该节点 评价值进行判断,若大于采纳阈值则认为该次报警 发起的报警)对该节点发起的报警信息的看法,体 信息有效并进行相应处理. 现了该节点发起报警的准确度.本地经验表和推荐 信任关联计算方法如下,在分布式入侵检测系 经验表可以通过DHT方式放置于P2P覆盖IDS网 统中,节点i对于发起报警的节点j的可信度可通过 络中 下式计算: 2.3报警置信度计算方法 T=AD:+(1-入)rg (2) 本文提出的报警置信度计算可用以下算法实 式中:入∈D,1],j≠i,通过计算T,来衡量报警节点 现,具体描述如下. 的可信任程度:D为节点i对报警节点j的直接信任 算法前提条件:节点i收到了若干入侵报警 值;T为来自其他节点的间接信任值:入为节点对于 首先给出算法的几个原语及其语义. 自身经验和间接经验的侧重程度,其大小可以调节 A(i):节点i的推荐经验表Recom_.table; D计算方法如下: B(i):节点i的本地经验表Local_.table; Gi (3) Alert(i):节点i的入侵报警节点集合; Dy=Cy+By I():从节点i收到过入侵报警的节点集合: 式中:G:为在节点i看来,节点j的成功发起报警次 Set Weight(W,W,):设置报警关联中自身和其 数;B,为失败发起报警次数.由定义可知,D,为节点 他节点的权重: i与节点的直接信任值(即直接经验),直观地表现 GetMeAlert(D:,C,):取得自身的报警可信度; 了节点i对节点广所发出报警信息的直接看法.若 GetMaxAlert(Alet(i),lD,T):在Alert(i)中查 两节点间没有直接经验,即G,与B:均为0,则D, 找报警可信度最高的节点: 为0. AlertCorrelate(D,ID,):根据权重W和W,来 T计算方法如下: 关联节点D,和D,得到此次报警的综合可信度; rg=- 1∑DR (4 GetDirectTrust(D:,ID,Da):从节点i的Local ∑R, table中读取节点i对节点j的直接信任值D: re7分 式中:r∈D,1],I()为曾经从节点j收到入侵报警 Get Val(D,Dn,R,):从服务节点j的Recom_ 的节点集合,iI(),j主I(),可称为推荐节点集 table中读取推荐节点r对节点j的直接信任值D,并 合,该集合的节点可以提供入侵参考;D,为推荐节 取得推荐节点的推荐可信度R,: 点集合中的节点r对发起报警节点j的直接信任值, GetTrust Val(ID,ID,Dg,T,T):取得节点i 来源于节点r的直接经验:R,为节点r所提供的推 对节点j的综合信任评价T: 荐的可信程度,称为推荐可信度,在网络中有唯一 UpdateLocal(ID,ID,G,B,B(i)):根据入 值,R∈D,1],与节点发起报警的准确度无关,只 侵结果更新节点i的本地经验表; 反映该节点在整个P2P覆盖IDS网络中提供推荐的 UpdateRecommend(ID:,ID,Gg,B,A()):根 可信程度,评估后可对推荐节点的推荐可信度进行 据入侵结果更新节点j的推荐经验表. 更新,可以识别一些恶意推荐节点,从而保证网络的 (1)节点i收到入侵报警后执行的算法如下: 整体安全性 ProcedureDualCorrelate(ID,,Alert(i)) 通过入侵报警中的节点关联,接收报警的节点 SetWeight(W,W,); 最后可以得到一个综合评价值,并根据该评价值的 GetMeAlert (ID,,C); 大小决定是否采纳该报警.在每次决策完毕后,该 for(anyj∈Alert(i)≠i) 接收报警节点要根据实际入侵是否发生作为依据, TrustCorrelate (ID:,ID,) 更新自身的本地经验和发起报警节点的推荐信息. endfor 任何一个节点i在P2P覆盖DS网络中,都具有两 GetMaxAlert (Alert (i),ID,,T); 种功能,一种是可以向别的节点发出入侵报警信息, AlertCorrelate (ID,,ID,); 另外还可以接收其他节点发来的报警信息.因此网 End 络中的每个节点都拥有两个表来存放本地经验和推 Procedure TrustCorrelate(ID:,ID,) 荐信息:一个是本地经验表,存放了对自身接收到的 GetDirectTrust (ID:,ID,D); 报警信息(来自于其他若干节点)的评价:另外一个 for(any rel(U)!=i)北 京 科 技 大 学 学 报 第 33 卷 于该次报警信息有效性的综合评价值,节点对综合 评价值进行判断,若大于采纳阈值则认为该次报警 信息有效并进行相应处理. 信任关联计算方法如下,在分布式入侵检测系 统中,节点 i 对于发起报警的节点 j 的可信度可通过 下式计算: Tij = λDij + ( 1 - λ) rij ( 2) 式中: λ∈[0,1],j≠i,通过计算 Tij来衡量报警节点 的可信任程度; Dij为节点 i 对报警节点 j 的直接信任 值; rij为来自其他节点的间接信任值; λ 为节点对于 自身经验和间接经验的侧重程度,其大小可以调节. Dij计算方法如下: Dij = Gij Gij + Bij ( 3) 式中: Gij为在节点 i 看来,节点 j 的成功发起报警次 数; Bij为失败发起报警次数. 由定义可知,Dij为节点 i 与节点 j 的直接信任值( 即直接经验) ,直观地表现 了节点 i 对节点 j 所发出报警信息的直接看法. 若 两节点间没有直接经验,即 Gij 与 Bij 均为 0,则 Dij 为 0. rij计算方法如下: rij = 1 r ∑∈I( j) Rrr ∑∈I( j) Drj Rr ( 4) 式中: rij∈[0,1],I( j) 为曾经从节点 j 收到入侵报警 的节点集合,iI( j) ,jI( j) ,可称为推荐节点集 合,该集合的节点可以提供入侵参考; Drj为推荐节 点集合中的节点 r 对发起报警节点 j 的直接信任值, 来源于节点 r 的直接经验; Rr 为节点 r 所提供的推 荐的可信程度,称为推荐可信度,在网络中有唯一 值,Rr∈[0,1],与节点发起报警的准确度无关,只 反映该节点在整个 P2P 覆盖 IDS 网络中提供推荐的 可信程度,评估后可对推荐节点的推荐可信度进行 更新,可以识别一些恶意推荐节点,从而保证网络的 整体安全性. 通过入侵报警中的节点关联,接收报警的节点 最后可以得到一个综合评价值,并根据该评价值的 大小决定是否采纳该报警. 在每次决策完毕后,该 接收报警节点要根据实际入侵是否发生作为依据, 更新自身的本地经验和发起报警节点的推荐信息. 任何一个节点 i 在 P2P 覆盖 IDS 网络中,都具有两 种功能,一种是可以向别的节点发出入侵报警信息, 另外还可以接收其他节点发来的报警信息. 因此网 络中的每个节点都拥有两个表来存放本地经验和推 荐信息: 一个是本地经验表,存放了对自身接收到的 报警信息( 来自于其他若干节点) 的评价; 另外一个 是推荐经验表,存放了其他节点( 曾接收过该节点 发起的报警) 对该节点发起的报警信息的看法,体 现了该节点发起报警的准确度. 本地经验表和推荐 经验表可以通过 DHT 方式放置于 P2P 覆盖 IDS 网 络中. 2. 3 报警置信度计算方法 本文提出的报警置信度计算可用以下算法实 现,具体描述如下. 算法前提条件: 节点 i 收到了若干入侵报警. 首先给出算法的几个原语及其语义. A( i) : 节点 i 的推荐经验表 Recom_table; B( i) : 节点 i 的本地经验表 Local_table; Alert( i) : 节点 i 的入侵报警节点集合; I( i) : 从节点 i 收到过入侵报警的节点集合; SetWeight( Wi,Wj) : 设置报警关联中自身和其 他节点的权重; GetMeAlert( IDi,Ci ) : 取得自身的报警可信度; GetMaxAlert( Alert( i) ,IDj ,Tij ) : 在 Alert( i) 中查 找报警可信度最高的节点 j; AlertCorrelate( IDi,IDj) : 根据权重 Wi 和 Wj 来 关联节点IDi 和IDj ,得到此次报警的综合可信度; GetDirectTrust( IDi,IDj ,Dij ) : 从节点 i 的 Local _table 中读取节点 i 对节点 j 的直接信任值 Dij ; GetVal( IDr,Drj ,Rr ) : 从服务节点 j 的 Recom_ table 中读取推荐节点 r 对节点 j 的直接信任值 Drj并 取得推荐节点的推荐可信度 Rr; GetTrustVal( IDi,IDj ,Dij ,rij ,Tij) : 取得节点 i 对节点 j 的综合信任评价 Tij ; UpdateLocal( IDi,IDj ,Gij ,Bij ,B( i) ) : 根据入 侵结果更新节点 i 的本地经验表; UpdateRecommend( IDi,IDj ,Gij ,Bij ,A( j) ) : 根 据入侵结果更新节点 j 的推荐经验表. ( 1) 节点 i 收到入侵报警后执行的算法如下: ProcedureDualCorrelate( IDi,Alert( i) ) SetWeight( Wi,Wj ) ; GetMeAlert( IDi,Ci ) ; for ( any j∈Alert( i) ≠i) TrustCorrelate( IDi,IDj ) ; endfor GetMaxAlert( Alert( i) ,IDj ,Tij ) ; AlertCorrelate( IDi,IDj ) ; End Procedure TrustCorrelate( IDi,IDj ) GetDirectTrust( IDi,IDj ,Dij ) ; for ( any r∈I( j) ! = i) ·1426·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有