《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于FNN的多Agent SCADA安全防御模型
基于FNN的多Agent SCADA安全防御模型
2016年微型機與應用第07期
趙恒博,曹謝東
(西南石油大學 電氣信息學院,四川 成都 610500)
摘要: 作為ICS(Industrial Control System)的重要組成部分,SCADA(Supervisory Control and Data Acquisition)受到的惡意攻擊與日俱增。為了充分確保其信息安全,可以選擇多Agent技術來實現基于FNN(Factor Neuron Network)的安全防御方法,并最終建立起一個SCADA系統安全防御模型。該模型繼承了多Agent技術與FNN的優點,配置方便,易于維護,可以實時更新以及在線擴展,具備良好的通用性與可塑性,從而克服了現有IDS(Intrusion Detection System)的諸多不足,有效保障SCADA安全可靠地運行。
Abstract:
Key words :

  趙恒博,曹謝東

  (西南石油大學 電氣信息學院,四川 成都 610500)

      摘要:作為ICS(Industrial Control System)的重要組成部分,SCADA(Supervisory Control and Data Acquisition)受到的惡意攻擊與日俱增。為了充分確保其信息安全,可以選擇多Agent技術來實現基于FNN(Factor Neuron Network)的安全防御方法,并最終建立起一個SCADA系統安全防御模型。該模型繼承了多Agent技術與FNN的優點,配置方便,易于維護,可以實時更新以及在線擴展,具備良好的通用性與可塑性,從而克服了現有IDS(Intrusion Detection System)的諸多不足,有效保障SCADA安全可靠地運行。

  關鍵詞:多Agent;FNN;安全防御;SCADA

  0引言

  *基金項目:國家自然科學基金面上項目(61175122)SCADA被廣泛應用于水利、電力、石油化工、電氣化、鐵路等分布式工業控制系統(Industrial Control System, ICS)中,一旦信息安全方面出現漏洞,將對工業生產運行與國家經濟民生造成重大隱患。

  據權威工業安全事件信息庫[1]發布的數據統計,截止2015年1月全球已發生近300起針對ICS的攻擊事件。自2001年起,隨著通用開發標準與互聯網技術的廣泛使用[2],針對ICS的攻擊行為出現大幅增長。

  鑒于SCADA信息安全所面臨的嚴峻形勢,而現有的入侵檢測系統(Intrusion Detection System,IDS)又存在大量不足[34]:(1) 虛警率偏高;(2) 事件響應與恢復機制不完善;(3) 在對抗未知攻擊、分布式攻擊與漸進式攻擊時力不從心;(4) 配置復雜,擴展能力差等,本文提供了一種基于因素神經網絡理論的安全防御方法,并將其與多Agent技術融合,構建起一個智能的SCADA安全防御模型。

1基于FNN的安全防御方法

  基于FNN的安全防御方法[5]的結構如圖1所示。其中,i,j,k,m,n∈N+,圖中各節點的意義如下:

001.jpg

  (1)IN(Identify Neuron)為執行神經元;

  (2)KN(Knowledge Neuron)為因素知識庫神經元;

  (3)MN(Management Neuron)為管理神經元;

  (4)RN(Release Neuron)為發布神經元;

  (5)SN(Statistic Neuron)為統計神經元;

  (6)TN(Track Neuron)為追蹤神經元;

  (7)AN(Analysis Neuron)為分析神經元;

  (8)EN(Evaluation Neuron)為評價神經元;

  (9)WN(Warning Neuron)為預警神經元。

2多Agent安全防御模型的實現

  相較于傳統的IT系統,SCADA安全防御面對的問題有其特殊性[6],兩者主要的區別如下:

  (1)SCADA對于實時性的要求非常高,對延遲和抖動均有嚴格限制,因此安全通信占用的流量不能過高;

  (2)SCADA始終處于連續不間斷的工作狀態中,諸如重啟系統之類的解決方案不被接受;

  (3)SCADA的安全防御優先保障人員安全,其次是工業生產過程,而非存儲或傳輸的數據;

  (4)SCADA系統是一個大型的異構網絡,體系結構更加復雜,擁有許多專用的通信協議或規約;

  (5)SCADA系統硬件換代與軟件更新的周期比傳統IT系統長很多,因此存在的問題也更多。

  鑒于以上原因,本文選用多Agent技術實現上述基于主機的防御方法,其主要優點如下[78]:

  (1)多Agent豐富的協作機制能有效對抗復雜的攻擊行為,如組合攻擊,提高了系統的檢測精度;

  (2)通過將因素神經元的職能與職責合理地分布到多臺主機上,從而提升了整個系統的實時性;

  (3) Agent具有良好的適應能力,因此在為其重新分配職能與職責時,無須重啟整個系統;

  (4)在大型的異構網絡環境中,各個Agent相對獨立,局部失效不至于影響系統其余部分正常工作;

  (5) Agent具有優秀的學習能力,可以不斷完善感知引擎,改進模式識別算法,提高處理效率。

  2.1因素神經元的實現

  定義1因素神經元可以用一個三元組表示為

  FN=<S,R,A>

  其中,S(State)表示因素神經元的狀態,通常以因素形式表達,體現了因素神經元關于環境的感知;R(Reasoning)為因素神經元的推理機,使其可以根據已有知識利用CBR(Casebased Reasoning)或RBR(Rulebased Reasoning)做出合理的動作;A(Action)是因素神經元可以執行的全部動作的合集,除了對攻擊行為作出的應對措施之外,還包括上傳數據、彈窗提醒以及知識更新等。

  從上述定義不難看出,FNN中的因素神經元具有自主性,能夠感知并影響環境,這與Agent的定義不謀而合,因此可以通過Agent技術實現。

  Agent實現因素神經元的通用結構如圖2所示,下面以執行神經元為例進行說明。

002.jpg

  圖2采用Agent實現FN的通用結構(1)部署在主機上的Agent感知到程序的行為因素,如API(Application Programming Interface)函數調用,便更新自身的狀態;

  (2)同類惡意程序盡管特征碼不同,但其API函數調用序列卻很相似,從而使Agent可以根據知識庫中的規則進行推理或匹配,判斷程序是否具有惡意性;

  (3)針對不同類型的攻擊,Agent可以根據需要選擇阻止、隔離、刪除以及恢復等動作執行;

  (4)Agent將攻擊信息及其處理結果向上(如承擔統計神經元職能的Agent)匯報。

  上述過程可用代碼表示如下:

  function Agent(factor)

  state = update_state(state, factor)

  conclusion = reasoning(state, knowledge, communicate)

  action = run_action(conclusion, target)

  return action

  上述識別與推理的方法存儲于Agent的知識庫中,與Agent運行的框架是分離的,可以單獨實時在線更新,充分展示了Agent的靈活性與智能性。

  除此之外,Agent裝載的知識也決定了它的具體功能,可以根據環境進行動態配置或增加新的功能,從而確保SCADA始終能處于連續不間斷的工作狀態中,該特點亦使多Agent系統在部分Agent失效時,仍能維護全局的安全。

  2.2因素神經元的職能與職責

  定義2因素神經元的職能可記為一個六元組

  P=<class,level,work,permission,θ>

  其中,class標示了因素神經元的類型,即IN、KN、MN、RN、SN、TN、EN、AN或WN;level體現了因素神經元在SCADA中的層次,如Ak部署在調度層,Bij部署在監控層,Cmn部署在現場層,并且反映出上下位關系,如B1j歸屬于A1;work表示因素神經元需要執行的工作,包括工作目標與工作步驟兩個部分;permission 為因素神經元的權限,限制了其可以執行的動作及其能夠調用的系統資源;θ 為邊界約束,其影響因素神經元的動作,如實時性要求高時,對網絡負荷較小的動作被優先考慮。

  定義3因素神經元的職責可記為一個三元組

  J=<target,task,Γ>

  其中,target為一個邏輯表達式,當其值為真時,表示因素神經元已履行職責;task是因素神經元為了完成自身職責所需要執行的一系列相關聯的任務,work是task的子集;Γ為任務劃分表,用于將task分配給不同職能的神經元,以實現因素神經元之間的分工與協作。

004.jpg

  表1所示是基于FNN安全防御方法的任務劃分表,從中不難看出因素神經元相互之間的聯系。顯而易見,執行神經元是多Agent安全防御模型的核心,負責最根本的感知、識別與處理的任務,每臺主機上都必須有承擔該項職能的Agent。

  對于因素知識庫神經元與發布神經元說明如下:因素知識庫存儲了全部的行為因素規則,但發布神經元并不將其全部裝載到每一個執行神經元。對于大規模SCADA系統而言,可能使用了多家廠商的PLC與組態軟件等,發布神經元會根據配置信息決定每個神經元需要裝載的知識,從而減輕主機的資源消耗,提高系統的實時性。

  2.3FNN的初始化

  定義4因素神經網絡可以用一個四元組表示為

  FNN=<Σ,Π,f,Λ>

  其中,Σ表示FNN中因素神經元的集合;Π表示實現FNN的Agent的集合;f是一個Σ→Π的映射,反映了因素神經元的職能由Agent實體承擔的情況;Λ是部署函數,由Agent在SCADA系統中所處的位置決定,體現其在系統中的上下級關系。

  從上述定義可以看出,FNN的初始化就是將因素神經元的職能與職責交由Agent承擔的過程。對整個SCADA系統而言:(1)系統中的每臺主機上至少運行著一個Agent;(2)系統中的每臺主機上至少有一個Agent承擔了執行神經元的職能;(3)某些滿足權限要求等條件的主機上,Agent還承擔了除執行神經元之外的職能,并且是對表1所列職能與職責的一個完全劃分。

  需要注意的是,Agent與因素神經元之間并非是一一對應的關系,一個Agent可以承擔因素神經元多個不同的職能,并且根據需要動態調整,例如可將執行神經元與統計神經元的職能交由同一Agent承擔;也可以為某個神經元的實現部署多個Agent,例如執行神經元不僅要感知上報攻擊行為,也要掃描并上傳主機的配置信息,前者需要時刻運行,而后者只在必要時進行,因此可用兩個并行協作的Agent實現。總而言之,Agent只是承擔因素神經元職責的軟件實體,而因素神經元的職能則決定了Agent當前在FNN中的工作類型與管理地位。

  除此之外,在多Agent主動防御平臺運行的過程中,難免會有Agent因為硬件或軟件的原因失效,為了保障系統整體的可靠性,就需要將失效Agent承擔的職能與職責分配給其他能夠勝任的Agent。

  解決方案如下:當某一Agent失效時,其下屬最空閑且滿足權限要求的Agent將接替其職能。其中,Agent的空閑度由其他Agent與失效Agent通信次數之和確定。

  2.4模擬實驗

  本文選擇JADE開發平臺,每個Agent擁有獨立的線程,擁有高效的并行機制,并且支持遵循FIPA規范的通信語言(Agent Communication Language, ACL)[9]。

  JADE中提供有Behaviour類,用于Agent對事件的響應。除此之外,本機上的Agent相互收發信息只需調用send或receive方法即可;遠程Agent通信則需要指定收信Agent的AID名及其地址。

  對于Agent而言,知識表示是其智能行為的基礎所在。對于多Agent安全防御模型而言,則由因素知識庫負責存儲、更新與維護行為規則。本文選用產生式—框架表示法進行描述的原因在于[10]:框架可以調用產生式規則,產生式規則也可以調用框架,二者取長補短,融為一體。下面是對震網病毒進行識別與處理的例子[11]:

  <主機信息>

  主機名稱:SCADA-Host-T01

  位置信息:100.78.198.113

  組態軟件:SIMATIC WinCC v7.0

  <規則1>

  因素:在Windows關鍵目錄下安裝文件;

  在注冊表中創建自啟動項;

  替換文件“s7otbxdx.dll”

  推斷:<結論1>

  發送:<主機信息> 與攻擊事件信息

  <結論1>

  攻擊類型:Stuxnet病毒

  處理動作:結束相關進程;

  隔離衍生文件;

  在裝有SIMATIC WinCC v7.0的主機A上利用模擬震網病毒的程序“Simulation.exe”進行攻擊,部署在主機A上的AgentⅠ及時感知到該行為,并且馬上采取了相應的處理措施,同時將遭受攻擊的主機信息及攻擊事件信息(包括攻擊時間、攻擊路徑與圖3模擬攻擊產生的警示信息處理結果等)發送至主機B上負責統計的AgentⅡ。圖3所示是AgentⅡ展示給用戶的警示信息。實驗證明基于FNN的安全防御方法是可行的。

003.jpg

3結論

  基于FNN的安全防御方法克服了現有IDS的缺陷,能夠有效保障SCADA系統的信息安全。本文從側面驗證了該防御方法的可行性,并且從實際應用的角度出發,采用多Agent技術建立起基于該方法的安全防御模型。本文提出的SCADA安全防御模型是一個良好的通用框架,不僅僅局限于使用本文提出的基于程序行為的識別算法,還能通過更新因素知識庫擴展其他新的方法。除此之外,該模型允許動態地分配因素神經元的職能和職責,解決了Agent可能出現的失效問題,從而使整個安全防御系統的可靠性得到保障。

  參考文獻

  [1] RISI. Therepository of industrial security incidents[DB/OL].(20151201)[20151211]http://www.risidata.com/Database.

  [2] 張帥. 工業控制系統安全風險分析[J]. 信息安全與通信保密, 2012(3):1519.

  [3] 陳蔚, 莊毅. 基于多Agent的分布式入侵檢測系統設計與實現[J]. 計算機工程與應用, 2004,40(29):139141.

  [4] 肖建榮. 工業控制系統信息安全[M]. 北京:電子工業出版社, 2015.

  [5] 曹謝東, 梁鵬,楊力,等. 基于因素神經網絡的油氣管網SCADA安全防御方法:中國,CN104021345A[P]. 20140903.

  [6] STOUFFER K. Guide toindustrial control systems (ICS) security[R]. NIST Special Publication 80082, 2008.

  [7] 石磊, 黨德玉, 沈學強. 一種基于JADE 平臺的多Agent 入侵檢測系統模型[J]. 中國科技信息,2008(5):109110.

  [8] 孫強, 王崇駿,王忠存,等. 采用多Agent 的網絡攻防仿真模型[J]. 計算機工程與應用, 2010,46(20):122125.

  [9] 于衛紅. 基于JADE 平臺的多Agent 系統開發技術[M]. 北京:國防工業出版社, 2011.

  [10] 姜躍, 朱光菊, 朱林立,等. 基于模糊邏輯的產生式框架的知識表示及推理的研究[J]. 云南大學學報(自然科學版), 2007,29(S2): 171174.

  [11] 蒲石, 陳周國, 祝世雄. 震網病毒分析與防范[J]. 信息網絡安全, 2012(2): 4952.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 九九久久国产精品免费热6 九九久久亚洲综合久久久 九九伦理 | 久在线精品视频 | 日日操操操 | 成人免费视频观看 | 国产不卡一区二区视频免费 | 五月婷婷开心综合 | 欧美精品xxxtv| 亚洲欧美日韩国产精品 | 亚洲欧美卡通成人制服动漫 | 成人涩| 欧美日韩亚洲另类 | 黄色成人在线网站 | 亚洲 欧美 日韩 在线 香蕉 | 第一国内永久免费福利视频 | 日韩精品一区二区三区高清 | 欧美大片大片播放网站 | 看中国一级毛片 | 免费看h网站 | 日韩视频免费在线观看 | 欧美日批 | 色迷迷网免费站视频在线观看 | 亚洲a视频在线观看 | 久草首页在线观看 | 国产黄色毛片视频 | 国产精品果贷一区二区借贷宝 | 欧美亚洲三级 | 日韩中文字幕网站 | 久久婷婷是五月综合色狠狠 | 五月天综合婷婷 | 清清草免费视频 | 日韩第一区 | 一级黄色在线视频 | 一本大道香蕉中文在线高清 | 国产女人又爽又大 | 三级伦理剧| 香蕉蕉亚亚洲aav综合 | 蝌蚪网在线视频 | 久久久久久麻豆 | 久久免费精品高清麻豆 | xxxx性bbbb| 日韩网|