• <blockquote id="fficu"><optgroup id="fficu"></optgroup></blockquote>

    <table id="fficu"></table>

    <sup id="fficu"></sup>
    <output id="fficu"></output>
    1. ACS880-07C
      關(guān)注中國自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
      橫河電機-23年10月11日
      2024
      工業(yè)智能邊緣計算2024年會(huì )
      2024中國自動(dòng)化產(chǎn)業(yè)年會(huì )
      2023年工業(yè)安全大會(huì )
      OICT公益講堂
      當前位置:首頁(yè) >> 資訊 >> 行業(yè)資訊

      資訊頻道

      IEC61850協(xié)議內容過(guò)濾的工控防火墻設計
      • 作者:汪心桐 潘璽廷 許陳一 顧龍 朱栩影 蘇曉哲 王勇
      • 點(diǎn)擊數:5281     發(fā)布時(shí)間:2017-11-03 18:12:00
      • 分享到:
      IEC61850協(xié)議是電力系統自動(dòng)化領(lǐng)域的全球通用標準,主要應用在變電站自動(dòng)化領(lǐng)域,其安全性關(guān)系到整個(gè)電網(wǎng)的安全。本文針對該協(xié)議的安全性問(wèn)題,設計了一種基于Iptables架構的工控防火墻。其主要包括前端web管理頁(yè)面登入,添加和修改規則、后端Mongodb數據庫記錄日志,并且對IEC61850規約中的TCP三次握手包和MMS協(xié)議數據包進(jìn)行深度檢測,可以丟棄非法數據包。
      關(guān)鍵詞:

      汪心桐 上海電力學(xué)院計算機科學(xué)與技術(shù)學(xué)院

      潘璽廷 北京嘀嘀無(wú)限科技發(fā)展有限公司

      許陳一,顧龍,朱栩影,蘇曉哲,王勇 上海電力學(xué)院計算機科學(xué)與技術(shù)學(xué)院


      1 引言


      由于IEC61850標準是電力系統自動(dòng)化領(lǐng)域唯一的全球通用標準。它通過(guò)標準的實(shí)現,實(shí)現了智能變電站的工程運作標準化,使得智能變電站的工程實(shí)施變得規范、統一和透明[1]。ICS領(lǐng)域本身的脆弱性,不管是基于內部進(jìn)行攻擊還是由外部入侵者進(jìn)來(lái)發(fā)起的攻擊,都將不可避免地造成生產(chǎn)損失,況且生產(chǎn)環(huán)節發(fā)生事故還特別容易威脅人身生命安全[2]。這些風(fēng)險是看得見(jiàn)的本身就存在的,不可能短期內通過(guò)更換工控設備來(lái)解決,必須要通過(guò)工控防火墻來(lái)實(shí)施防護,從而扼殺掉這樣的風(fēng)險[3][4]。自工業(yè)4.0的概念提出后,目前已經(jīng)有許多基于IEC61850標準的系統投入運營(yíng),因此研究IEC61850標準的工控防火墻有其獨特的現實(shí)意義。


      當前的安全廠(chǎng)商如綠盟科技、啟明星辰和安恒等都有工控的安全設備,大多實(shí)現了對IEC61850標準中的IEC104協(xié)議的檢測。而本文的基于iptables的工控防火墻不同于傳統意義的防火墻,它不僅能基于源目IP和端口等進(jìn)行過(guò)濾,還實(shí)現了對IEC61850標準中的IEC9506制造商信息規范MMS和TCP握手包的深度檢測。接下來(lái),將對MMS協(xié)議進(jìn)行介紹和分析,并描述本文基于iptables的工控防火墻的實(shí)現原理。


      2 IEC61850標準內容過(guò)濾的工控防火墻設計


      2.1 運行環(huán)境


      運行環(huán)境為Ubuntu 1 4 . 04,需要其他組件如Iptables、Mongodb和Tornado等。


      2.2 系統架構圖


      基于Iptables的IEC61850協(xié)議內容過(guò)濾的工控防火墻主要被部署在變電站通信體系的站控層和間隔層之間,其不僅能基于源目地址等過(guò)濾普通的TCP或UDP數據包,而且能識別IEC61850標準中的IEC 9506制造商信息規范MMS協(xié)議,利用Iptalbes防火墻的Netfilter queue擴展將MMS協(xié)議的數據包從內核層提取到用戶(hù)層,對數據包內容進(jìn)行深度檢測,并將日志記錄到數據庫中并在web界面進(jìn)行展示。其系統架構圖如1所示。


      1.jpg

      圖1 web頁(yè)面實(shí)現規則添加


      2.3 主要模塊


      2.3.1 前端


      規則添加:


      前端用html+css構成,登陸界面上使用加入了placeholder來(lái)增加用戶(hù)的登陸體驗。管理員登陸后,web頁(yè)面中可以查看系統狀態(tài)、防火墻規則和入侵檢測;添加規則用于前端到后端的配合,首先用switch.css設計開(kāi)關(guān)按鈕,這個(gè)按鈕的實(shí)質(zhì)是一個(gè)checkbox,通過(guò)checkbox是否為checked狀態(tài)來(lái)判斷該開(kāi)關(guān)的開(kāi)啟或關(guān)閉。如圖2所示。


      2.jpg

      圖2 web頁(yè)面實(shí)現規則添加


      2.3.2 后端


      使用Tornado框架實(shí)現對前端請求響應:后端的tornado框架采用的是多進(jìn)程+非阻塞+epoll+prefork模型。


      使用Mongodb數據庫記錄日志:Mongodb數據庫中詳細記錄了觸發(fā)告警的數據包的源目IP、端口號和協(xié)議等,如圖3所示,為使用Mongodb數據庫記錄日志并在前端的web頁(yè)面顯示。


      3.jpg

      圖3 Mongodb數據庫記錄數據日志并在前端web頁(yè)面顯示


      2.3.3 Iptables架構


      Iptalbes總共有四表五鏈,用于實(shí)現具體的訪(fǎng)問(wèn)控制。Netfilter queue擴展用于將數據包從內核空間提取到用戶(hù)空間,對數據包進(jìn)行深度檢測。


      Iptalbes四種表功能如下:


      filter表:主要用于對數據包進(jìn)行過(guò)濾,根據具體的規則決定是否放行該數據包;


      nat表:主要用于修改數據包的IP地址、端口號等信息;


      mangle表:主要用于修改數據包的TOS、TTL值以及為數據包設置Mark標記;


      raw表:是自1.2.9以后版本的Iptables新增的表,主要用于決定數據包是否被狀態(tài)跟蹤機制處理。


      Iptalbes五種規則鏈功能如下:


      INPUT鏈:當接收到防火墻本機地址的數據包(入站)時(shí),應用此鏈中的規則;


      OUTPUT鏈:當防火墻本機向外發(fā)送數據包(出站)時(shí),應用此鏈中的規則;


      FORWARD鏈:當接收到需要通過(guò)防火墻發(fā)送給其他地址的數據包(轉發(fā))時(shí),應用此鏈中的規則;


      PREROUTING鏈:在對數據包作路由選擇之前,應用此鏈中的規則,如DNAT;


      POSTROUTING鏈:在對數據包作路由選擇之后,應用此鏈中的規則,如SNAT。


      其處理數據包的方式為:ACCEPT:允許數據包通過(guò);DROP:直接丟棄數據包,不給任何回應信息;REJECT:拒絕數據包通過(guò),必要時(shí)會(huì )給數據發(fā)送端一個(gè)響應的信息。數據包處理流程如圖4所示。


      4.JPG

      圖4 數據包處理流程


      Netfilter queue擴展可加在圖4中的任意五鏈中,具體可由用戶(hù)定義。


      2.4 MMS協(xié)議的深度分析


      2.4.1 MMS協(xié)議深度分析之拆包


      由具體函數完成對數據包的拆包、握手包深度檢測和mms協(xié)議的深度檢測。


      利用python的dpkt庫完成對三層及以上的拆包處理。對于接收到的數據包拆包過(guò)程如下:首先利用get_payload()函數獲取三層及以上數據包的東西,然后利用hexdump()函數完成對數據包的unicode解碼,之后使用正則去除空格等特殊字符,將數據包中內容放入列表。


      2.4.2 MMS協(xié)議深度分析之TCP包深度分析


      此部分代碼對TCP包進(jìn)行了深度解析和判斷(黑名單原則):握手包中syn和fin標記位不能同時(shí)為1;握手包中標記位不能都為0;握手包中不存在fin標記位為1且ack標記位為0的情況。


      2.4.3 MMS協(xié)議深度分析之initiate請求報文深度分析


      MMS協(xié)議在S-C端通信前都會(huì )先由client端發(fā)送initiate請求給server端,之后server端回一個(gè)initiate數據包給client端。


      通過(guò)分析initiate請求數據包的特征,將其應用層中的為true的功能碼記錄下來(lái),并記錄該數據包源IP、源端口和目的端口。則后續的s-c端通信中,將所有的非initiate數據包進(jìn)行深度檢測,發(fā)送的功能碼、源IP、源端口和目的端口必須為記錄中的,否則視為非法數據包。


      根據大量MMS的initiate報文的深度分析和總結,發(fā)現其有以下特征:init包目的端口號為COTP層PDU Type為f0;init包ISO 8327-1層SPDU type為0d;init包ISO 8823層presentation context identifier值為01;init包ISO 8650-1層aso context name為28ca220203。并且,一個(gè)正常的MMS協(xié)議的initiate請求報文各層數據長(cháng)度除了應用層均固定,如圖5所示。


      5.jpg

      圖5 MMS協(xié)議initiate請求報文


      從圖5中可以看出:二層數據長(cháng)度為14字節;三層數據長(cháng)度為20字節;四層數據長(cháng)度為32字節;TPKT層數據長(cháng)度為4字節;ISO COTP層數據長(cháng)度為3字節;ISO 8327-1層數據長(cháng)度為24字節;ISO 8823層數據長(cháng)度為69字節;ISO 8650-1層數據長(cháng)度為47字節。


      MMS協(xié)議中總共有90個(gè)功能碼,常用功能碼有6種,initiate請求報文中的功能碼描述如圖6所示,分為ture和false:


      6.jpg

      圖6 MMS協(xié)議非initiate請求數據包中功能碼


      2.4.4 MMS協(xié)議深度分析之非initiate請求報文功能碼深度分析


      通過(guò)分析initiate請求數據包的特征,將其應用層中的為true的功能碼記錄下來(lái),在后續的s-c端通信中,將所有的非initiate數據包進(jìn)行深度檢測,發(fā)送的功能碼必須為記錄中的,否則視為非法數據包。


      根據大量MMS的initiate報文的深度分析和總結,發(fā)現其有以下特征:非initi a te包目的端口號為COTP層PDU Type為f0;非initiate包兩個(gè)ISO8327-1層內容必為0100;非initiate包ISO 8823層presentation context identifier值為03a。且一個(gè)正常的MMS協(xié)議的非initiate請求報文各層數據長(cháng)度除了應用層均固定,如圖7所示。


      7.jpg

      圖7 MMS協(xié)議非initiate請求數據包


      從圖7中可以看出:二層數據長(cháng)度為14字節;三層數據長(cháng)度為20字節;四層數據長(cháng)度為32字節;TPKT層數據長(cháng)度為4字節;ISO COTP層數據長(cháng)度為3字節;ISO 8327-1層數據長(cháng)度為2字節;ISO 8327-1層數據長(cháng)度為2字節;ISO 8823層數據長(cháng)度為9字節。


      其中本次防火墻可以識別的功能碼有6種,分別為read、write、getNameList、fileDirectory、fileOpen和fileRead,它們也是最常用的六種。


      3 總結與展望


      從工業(yè)網(wǎng)絡(luò )安全整體的考慮,現在的這些生產(chǎn)網(wǎng)由于擴大的規模、連接的無(wú)線(xiàn)、遠程的運維、現場(chǎng)的管理和數據的傳輸,已經(jīng)使生產(chǎn)線(xiàn)完全暴露在攻擊者面前[5]。對于企業(yè)的運營(yíng)者以及安全的防護者,工業(yè)網(wǎng)絡(luò )安全的建設任重道遠,必須從全局上看,整體上看,著(zhù)重于頂層設計,實(shí)施縱深防御的安全戰略。工控防火墻是這個(gè)體系的第一道防線(xiàn),是工業(yè)網(wǎng)絡(luò )安全的重要組成部分[6]。因此本次對于基于IEC61850標準的MMS協(xié)議內容過(guò)濾的工控防火墻設計具有十分重要的現實(shí)意義。


      基金項目:上海市浦江人才計劃資助(16PJ1433100);上海市中小企業(yè)創(chuàng )新基金(1701H1G8000,1601H1E2600);上海自然科學(xué)基金(16ZR1436300);上??莆胤侥芰ㄔO項目(15110502700);上??莆蒲许椖浚?7DZ1201500)


      作者簡(jiǎn)介


      汪心桐(1996-),男,上海人,本科,現就讀于上海電力學(xué)院,研究方向為工業(yè)控制系統安全。

      潘璽廷(1996-),男,黑龍江哈爾濱人,本科,現就職于北京嘀嘀無(wú)限科技發(fā)展有限公司,研究方向為網(wǎng)絡(luò )安全監控、自動(dòng)化漏洞掃描。

      許陳一(1996-),男,上海人,本科,現就讀于上海電力學(xué)院,研究方向為防火墻數據安全分析。

      顧 龍(1996-),男,上海人,本科,現就讀于上海電力學(xué)院,研究方向為工業(yè)通信安全。

      朱栩影(1996-),女,河南開(kāi)封人,本科,現就讀于上海電力學(xué)院,研究方向為網(wǎng)絡(luò )通訊安全。

      蘇曉哲(1995-),女,河南洛陽(yáng)人,本科,現就讀于上海電力學(xué)院,研究方向為漏洞識別與惡意行為檢測。

      王 勇(1973-),男,河南確山人,教授,博士,現就職于上海電力學(xué)院,研究方向為電力系統信息安全。


      參考文獻:


      [1] 李永亮, 李剛. IEC61850第2版簡(jiǎn)介及其在智能電網(wǎng)中的應用展望[J].電網(wǎng)技術(shù), 2010, 34 (04) : 11 - 16.

      [2] 華镕. 工業(yè)控制網(wǎng)絡(luò )中的防火墻[J]. 自動(dòng)化博覽, 2014, (04) : 52 - 54.

      [3] 劉金. 工業(yè)控制網(wǎng)絡(luò )防火墻協(xié)議防護模塊測試研究[J]. 自動(dòng)化應用, 2015, (04) : 12 - 13.

      [4] 李宇峰. 淺談電力監控系統二次安全防護的解決方案[C]. 2013年電力系統自動(dòng)化專(zhuān)委會(huì )年會(huì )論文. 2013, 5.

      [5] 高夏生, 黃少雄, 梁肖. 電力監控系統安全防護要素[J]. 電腦知識與技術(shù), 2017, 13 (08) : 212 – 214 + 222.


      摘自《工業(yè)控制系統信息安全》專(zhuān)刊第四輯

      熱點(diǎn)新聞

      推薦產(chǎn)品

      x
      • 在線(xiàn)反饋
      1.我有以下需求:



      2.詳細的需求:
      姓名:
      單位:
      電話(huà):
      郵件:
      欧美精品欧美人与动人物牲交_日韩乱码人妻无码中文_国产私拍大尺度在线视频_亚洲男人综合久久综合天

    2. <blockquote id="fficu"><optgroup id="fficu"></optgroup></blockquote>

      <table id="fficu"></table>

      <sup id="fficu"></sup>
      <output id="fficu"></output>