• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于白名單列表的SCADA網(wǎng)絡在石化工控系統(tǒng)安全中的應用

      2015-01-13 08:30:14王朝棟
      化工自動化及儀表 2015年2期
      關鍵詞:白名單服務器端數(shù)據(jù)流

      王朝棟 吳 沖

      (上海三零衛(wèi)士信息安全有限公司,上海 200030)

      監(jiān)視控制與數(shù)據(jù)采集(Supervisory Control And Data Acquisition,SCADA)系統(tǒng)在石油化工、電力、給水及核電等領域都發(fā)揮著重要的作用[1,2]。作為工業(yè)控制系統(tǒng)的核心,SCADA的信息安全已成為工業(yè)控制系統(tǒng)安全的重要內容。起初,SCADA為獨立的網(wǎng)絡系統(tǒng),其依賴于專有軟硬件,與企業(yè)內部網(wǎng)絡相分離;隨著網(wǎng)絡技術、通信技術和計算機技術的發(fā)展,SCADA系統(tǒng)逐漸發(fā)展成為開放式透明運作的標準系統(tǒng),并通過TCP/IP等標準網(wǎng)絡協(xié)議進行通信。在降低成本并提高效率的同時,SCADA系統(tǒng)所面臨著的安全性問題也凸顯出來[3]。為此,筆者提出一種白名單列表的SCADA系統(tǒng),來提高工控系統(tǒng)網(wǎng)絡的安全性。

      1 白名單列表方式①

      白名單列表是一種以TCP/IP作為SCADA網(wǎng)絡的主要傳輸協(xié)議,以減少網(wǎng)絡攻擊為目標的七元組合法傳輸網(wǎng)絡包。列表是源MAC地址、目的MAC地址、源IP、目的IP、源端口、目的端口和協(xié)議類型七元組雙向包序列。白名單列表是一個完全基于上述七元組的合法網(wǎng)絡包的序列,它在深度包檢測及主機入侵檢測等方面都具有較好的效果,可在不依賴包有效載荷的情況下對私有協(xié)議進行處理,甚至可在網(wǎng)絡層進行操作。白名單列表可以廣泛應用于特殊環(huán)境中,如減少垃圾郵件、避免網(wǎng)絡釣魚和預防各種對VoIP基礎設施的攻擊[4]。使用白名單的主要目的是由于大多數(shù)SCADA網(wǎng)絡流量都是由現(xiàn)場設備周期輪詢等自動化過程所產(chǎn)生,且與外部連接有條件限制,同時系統(tǒng)中設備添加及刪除等操作并不頻繁[5,6]。

      在SCADA網(wǎng)絡中的連接管理通常很穩(wěn)定,這就意味著白名單的可行性。筆者提出了在SCADA網(wǎng)絡中使用白名單列表的方式幫助網(wǎng)絡管理員監(jiān)測非法網(wǎng)絡流量。為了確保方案的可行性,白名單需擁有兩個屬性:第一,大小可控,因一般的IT網(wǎng)絡中擁有上百萬個記錄的列表,將導致其傳輸不可行(不可控);第二,白名單要穩(wěn)定,經(jīng)常變動則需要進行頻繁更新操作,否則會產(chǎn)生大量的報警信息。

      在SCADA網(wǎng)絡中,通過對流量的獲取,聚集到連接,然后匯總到列表。連接即是所有帶相同七元組的數(shù)據(jù)包(源MAC地址、目的MAC地址、源IP、目的IP、源端口、目的端口和協(xié)議類型),而不管這個數(shù)據(jù)包的來源和目的地。在學習階段,通過對創(chuàng)建列表的分析得到一個含有七元組的初始白名單列表。在白名單列表產(chǎn)生后,將在檢測階段對其進行分析。所有在網(wǎng)絡中符合白名單的則認為是合法的,不與白名單相匹配的則產(chǎn)生報警。圖1為白名單的工作流程。

      圖1 白名單的工作流程

      1.1 創(chuàng)建連接與創(chuàng)建列表

      因白名單依賴IP包頭信息,所以包頭信息需在網(wǎng)絡中獲取并與白名單比較,在此僅考慮TCP與UDP包。創(chuàng)建連接是將捕獲到的包聚集,以TCP狀態(tài)機或超時300s作為創(chuàng)建連接的結束標志,實驗中使用argus開源工具進行測試。

      在創(chuàng)建列表階段確定了連接的客戶端與服務器端,并根據(jù)七元組進一步匯總連接。通過以下4個規(guī)則進行服務器端的識別:

      a. 遵守三次握手協(xié)議的TCP連接,服務器端用來接收SYN包或發(fā)送SYN/ACK包。

      b. 適用于1 024以下的端口,主機使用其作為服務器端。在一個活動的FTP會話中,數(shù)據(jù)連接的發(fā)送端為服務器,并使用20端口作為服務端口。

      c. 啟發(fā)式。如果一臺主機在多次連接中重復使用相同的協(xié)議和端口,那么這個主機就作為服務器。其依賴于客戶端端口在連接中都不具有重復性,此方式將未被分類為a與b的連接保存在內存中,下次帶有相同的主機地址、協(xié)議和端口被檢測,這潛在無限延遲了數(shù)據(jù)分析??梢允褂迷诰€超時機制,當超時機制啟動后,這個連接將被劃分為d類。此處的離線機制使用了無限超時的概念。

      d. 對于不符合以上3個規(guī)則的連接都歸為此類。

      假設在SCADA網(wǎng)絡系統(tǒng)中,符合以上3個規(guī)則傳輸端口與IP協(xié)議的配對在服務器中都有唯一的服務與之對應,但這對于使用動態(tài)端口分配(如微軟的活動目錄)的網(wǎng)絡服務是有不確定性的[4]。在動態(tài)端口分配服務中,高于1 024以上的端口為遠程過程調用所動態(tài)分配的[7]。

      1.2 學習階段

      學習階段的目標是在一段時間內通過網(wǎng)絡流量的收集,自動建立并初始化白名單。在學習階段有兩種情形:所有的數(shù)據(jù)流都是合法的;大部分的數(shù)據(jù)流都是合法的。第一種情況是可行的,事實上在初始情況下,并沒有來自網(wǎng)絡上的攻擊。第二種情況是基于SCADA網(wǎng)絡上的大部分數(shù)據(jù)流是自動匹配的,即會出現(xiàn)重復的現(xiàn)象。學習階段是對所有合法的數(shù)據(jù)流進行統(tǒng)計,但有時難免(如手動修改可編程邏輯控制器(PLCs)的設置時)有相關的信息流將不會出現(xiàn)在白名單中。在這種情況下,管理員可以通過檢測階段來增添白名單。

      1.3 檢測階段

      檢測階段使用在學習階段所創(chuàng)建的白名單去識別非法流。如果與白名單相匹配,則正常運行,否則會產(chǎn)生報警信息。實際生產(chǎn)環(huán)境中,管理員希望在誤報警時將其添加到白名單中,或者在漏報時限制這個信息流。與IT網(wǎng)絡不同的是,不允許在SCADA網(wǎng)絡環(huán)境中設置自動隔離功能,原因是合法的SCADA信息流被隔離可能引起嚴重的后果,如石油管道的泄漏及電力中斷等。

      2 實驗結果

      為了驗證白名單列表在SCADA網(wǎng)絡中的有效性,筆者通過3個不同的實驗分別進行驗證。第一個實驗是在網(wǎng)絡中通過比較完整的白名單大小與主機通信對數(shù),來驗證白名單是否可控;第二個實驗證明了理想的學習時間;第三個實驗是針對數(shù)據(jù)集生成的報警分類。

      2.1 數(shù)據(jù)集

      在某兩個石化處理設備Oil_1&Oil_2的3個SCADA環(huán)境中使用網(wǎng)絡包跟蹤程序,在其中一個處理設備上同時執(zhí)行兩個數(shù)據(jù)收集程序,一個在由PLCs及RTUs等組成的現(xiàn)場子網(wǎng)(Oil_2_field)中執(zhí)行;一個在控制子網(wǎng)(Oil_2_control)中執(zhí)行,由不同功能的服務(輪詢PLCs、歷史數(shù)據(jù)庫和執(zhí)行訪問控制)和人機交互界面HMIs(如操作員工作站)組成。在另一個設備上執(zhí)行單一收集,其包含了兩個邏輯子網(wǎng)的全部數(shù)據(jù),SCADA數(shù)據(jù)集包含了完整的tcpdump/libpcap跟蹤包,且每個收集都作為一個獨立的數(shù)據(jù)集。

      2.2 白名單大小

      第一個實驗是驗證白名單大小是否可控,這個特性是通過延長每個跟蹤包的學習時間與計算符合的數(shù)據(jù)流數(shù)量進行測試的。假設在數(shù)據(jù)集中沒有發(fā)現(xiàn)攻擊行為,這可根據(jù)完整跟蹤來判斷白名單的大小。表1為每個數(shù)據(jù)集的白名單大小,表中內部主機列為在實驗網(wǎng)絡中符合條件的主機數(shù),主機對列為所通信的主機對數(shù)。

      表1 數(shù)據(jù)集的白名單

      為了區(qū)別不同的跟蹤,使用絕對值與系數(shù)作為內部主機數(shù)。大部分情況下,SCADA網(wǎng)絡數(shù)據(jù)集的白名單大小與相應的內部主機數(shù)有相同的級數(shù),表明白名單流在這些環(huán)境中是可行的。另一個不同的是,主機對與白名單比例并不太大,即平均每個服務器提供1~2個服務,意味著一個不包含服務信息的白名單具有較少的限制性并相當?shù)牟话踩?,在大小上也相差不多。對于結果的唯一例外就是Oil_2_control數(shù)據(jù)集有一個在級數(shù)上大于通信主機對數(shù)的白名單。

      2.3 訓練集大小

      第二個實驗驗證了在學習時間在所獲得的白名單大小上的效果。圖2分別顯示了3個SCADA數(shù)據(jù)集在學習時間與獲得的白名單大小占流量總數(shù)的百分比。在Oil_1與Oil_2_field數(shù)據(jù)集情況下,通信1h內就獲得了大于50%的數(shù)據(jù)流,第一天中僅增加了一點;Oil_2_control數(shù)據(jù)集在第七天出現(xiàn)了很大的跳躍。

      圖2 數(shù)據(jù)流獲取與時間變化

      盡管不同,但3個SCADA數(shù)據(jù)集共有一個特性:在第二天的流量統(tǒng)計中白名單都沒有增加,第三天也沒增加。作為觀察結果,在后續(xù)實驗中將學習時間設置為1天。

      2.4 警報類型

      本次實驗以白名單中不穩(wěn)定來源作為切入點,特別是在學習階段不符合規(guī)則的數(shù)據(jù)流屬性。通過分析得到了4個主要的報警類型:

      a. DPA異常。本服務認為在DPA情況下帶傳輸端口的一對一的映射是有問題的。筆者并非要弄清楚所有使用動態(tài)端口的服務,但是發(fā)現(xiàn)了通過DPA所觸發(fā)的異常。Oil_2_control有一些TCP連接的實例,由相同主機產(chǎn)生的一些TCP連接,傳輸端口號幾乎在客戶與服務器端沒有增長。表2為部分實例。

      b. 手工行為。由人為觸發(fā),所有帶有以下協(xié)議和端口號信息的服務都可歸到此類——telnet(tcp-22)、ssh(tcp-23)、http(tcp-80)、https(tcp-443)、shell(tcp-514)、rdp(tcp-3389)、vnc(tcp-5800和tcp-5900)與x11(tcp-6000到tcp-6007)。Oil_1和Oil_2數(shù)據(jù)集含有涉及到操作員工作站的數(shù)據(jù)流。如果數(shù)據(jù)流的客戶端是操作員工作站,則被視為手工行為。

      c. 新主機。此級別包含了所有在學習階段沒有進行通信的數(shù)據(jù)流,可以為服務器或者客戶端,因此不會出現(xiàn)在白名單中。

      d. 其他。包含了不屬于以上3種類別的所有數(shù)據(jù)流。

      表2 動態(tài)端口分配實例

      每個流都被映射到單一的類中,且類成員將按以上所列順序進行測試。如客戶端使用ssh服務且沒有在白名單中所引起報警的情況,則歸為手工行為。因為手工行為類的優(yōu)先級高于新主機類。

      在SCADA環(huán)境中為了增加可靠性,對多數(shù)網(wǎng)絡功能進行復制是很普遍的,如對服務的復制。有兩個需要特別考慮的情況:

      a. 第一個情況是一個單冗余主機在網(wǎng)絡中接管一個主要服務的任務。比較特殊的是,SCADA服務器負責對現(xiàn)場設備的輪詢。在改變發(fā)生前,通過telnet連接到一些PLCs執(zhí)行重啟命令,但不是對所有的PLCs進行telnet傳輸。除了涉及到PLCs的數(shù)據(jù)流之外,其他生命周期較長的數(shù)據(jù)流也具有相同的行為,如一些ssh數(shù)據(jù)流也會“交換”到冗余主機,像這些常規(guī)執(zhí)行的改變是為了確認冗余主機是否正確地工作。在分析中,如果一個主機在數(shù)據(jù)流中為SCADA服務器,查找另一個帶有相同密鑰的流,僅SCADA服務器地址才符合這種情況,反之亦然,這樣就能夠確認與此種情況相符的數(shù)據(jù)流了。

      b. 第二個情況涉及到網(wǎng)絡中一些主機的重定位,大部分為PLCs。一段連續(xù)的IP地址段被分為一些邏輯子網(wǎng)。通過telnet命令執(zhí)行這種地址的改變,但并不是對所有主機。通過驗證主機(客戶端或服務器端)在通信中是否為新建網(wǎng)絡的一部分,來識別符合此情況的數(shù)據(jù)流,而telnet連接常被作為手工行為。

      3 結束語

      白名單對于減少SCADA網(wǎng)絡所受到的攻擊是具有吸引力和實用效果的。與IT網(wǎng)絡不同,SCADA網(wǎng)絡中白名單的大小是可管理的,很大原因是由于內部主機數(shù)量的決定的。另一個特點是白名單的穩(wěn)定屬性。實驗結果表明,超過50%的符合網(wǎng)絡數(shù)據(jù)流都可在一天內的測試中被檢測到。使用動態(tài)端口分配的服務是產(chǎn)生報警的主要原因,這些警報可通過添加被服務所分配的全部端口到白名單中來消除或將其從網(wǎng)絡中移除。其余的報警在實際網(wǎng)絡環(huán)境中,大部分是由于白名單策略的限制所引起的,這方面可以通過網(wǎng)絡管理員或者SCADA提供商通過對白名單的優(yōu)化來改善。

      未來的工作將對用戶接口進行開發(fā),從而通過提供對警報更詳細信息的接口來幫助白名單的建立與改進操作。另外,也需要嘗試通過識別侵入意圖來增強SCADA網(wǎng)絡的安全性,并且進一步對警報頻率的分布進行分析。

      [1] 饒志宏,蘭昆,蒲石.工業(yè)SCADA系統(tǒng)信息安全技術[M].北京:國防工業(yè)出版社,2014.

      [2] 魏旻,王平,王泉.工業(yè)無線控制網(wǎng)絡安全方法的研究與實現(xiàn)[J].儀器儀表學報,2009,30(4):679~684.

      [3] Nicholson A, Webber S,Dyer S,et al.SCADA Security in the Light of Cyber-Warfare[J].Computers & Security, 2012,31(4):418~436.

      [4] Luiijf E,Manou A,Annemarie Z.Assessing and Improving SCADA Security in the Dutch Drinking Water Sector[J].International Journal of Critical Infrastructure Protection, 2011, (4):124~134.

      [5] Barbosa R, Sadre R, Pras A.Towards Periodicity Based Anomaly Detection in SCADA Networks[C].Proceedings of the 17th IEEE Conference on Emerging Technologies and Factory Automation.Poland: IEEE Industrial Electronics Society ,2012:1~4.

      [6] Abad C, Bonilla R.An Analysis of the Schemes for Detecting and Preventing ARP Cache Poisoning Attacks[C].Proceedings of the Twenty-Seventh International Conference on Distributed Computing Systems Workshops, 2007:60~68.

      [7] Wang C L,Fang L,Dai Y Q.A Simulation Environment for SCADA Security Analysis and Assessment[C].Proceedings of the 2010 International Conference on Measuring Technology and Mechatronics Automation, 2010:342~347.

      猜你喜歡
      白名單服務器端數(shù)據(jù)流
      基于白名單的車道工控系統(tǒng)信息安全解決方案
      核電廠儀控系統(tǒng)安全防護策略研究及應用
      汽車維修數(shù)據(jù)流基礎(下)
      淺析異步通信層的架構在ASP.NET 程序中的應用
      成功(2018年10期)2018-03-26 02:56:14
      一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機制
      基于數(shù)據(jù)流聚類的多目標跟蹤算法
      在Windows中安裝OpenVPN
      北醫(yī)三院 數(shù)據(jù)流疏通就診量
      公布洋大學“白名單”遠遠不夠
      網(wǎng)頁防篡改中分布式文件同步復制系統(tǒng)
      于田县| 开化县| 北票市| 西盟| 金沙县| 大姚县| 从江县| 许昌市| 女性| 乐昌市| 溆浦县| 高安市| 邓州市| 象州县| 安阳县| 吉安县| 虎林市| 青海省| 巴林左旗| 凤庆县| 呼伦贝尔市| 神农架林区| 萨嘎县| 介休市| 葫芦岛市| 濮阳县| 济源市| 泗水县| 大荔县| 八宿县| 凭祥市| 涿州市| 安康市| 荣昌县| 沧州市| 榆树市| 大关县| 大邑县| 洪江市| 合川市| 镇原县|