基于虛擬網絡技術的工控蜜網系統的研究與實現
摘要
在當今工業控制系統網絡安全日益嚴峻的形勢下,對入侵行為進行被動防御的策略己經不能完全保障網絡安全,主動防御成為現代網絡安全的新要求。蜜罐作為一種典型的主動防御技術,近年來已成為國內外網絡安全領域的研究重點之一。城市燃氣輸配 SCADA 系統在社會發展和人民生活中起著舉足輕重的作用,盡管該系統十分強大,但在防御潛在網絡威脅方面具有嚴重的脆弱性。另一方面,在 SCADA 系統中實現蜜罐技術面臨兩個困難:即單個蜜罐因仿真度和交互性有限,難以吸引和捕獲深層次的攻擊行為;以及蜜網部署成本高、條件嚴格,難以實現大規模部署。
相比傳統網絡,虛擬網絡技術具有輕量、靈活的特性,本文將其與蜜罐技術結合,設計并實現了一個低成本、易部署、高仿真的燃氣輸送 SCADA 蜜網系統。本系統針對假設的攻擊者模型設計,并以模塊化方式實現,按功能分為三大模塊,分別是仿真模塊,數據采集模塊和運維安全模塊。文中重點介紹了仿真模塊,即對城市燃氣 SCADA 平臺的仿真。利用 Mininet 對真實的網絡拓撲和設備進行模擬,并對網關,帶寬,延遲和數據包丟失進行了定制化配置;運用 Conpot 實現協議層的交互,并且對 Conpot 蜜罐的缺陷進行改進,改進后的 Conpot 在反識別和交互能力上都有明顯的提高;利用 python Web 框架實現對人機接口
(HMI)的仿真,模擬了 SCADA 系統的業務流程和 Web 服務,極大地提高了蜜網系統的真實性,也為攻擊者提供了一種新的攻擊途徑。
模擬攻擊測試中, 偵察掃描攻擊顯示蜜網系統完成了對城市燃氣輸送SCADA 平臺的仿真且具有一定交互能力,而中間人攻擊腳本測試結果表明本系統具有捕獲該類復雜攻擊的能力。最后,將蜜網系統部署到外網,捕獲攻擊數據顯示,本系統具有顯著優勢和實用價值。
關鍵詞: SCADA 系統;蜜網;Mininet;工控攻擊
摘要 I
Abstract II
1緒論 1
1.1研究背景和意義 1
1.2國內外研究現狀 2
1.2.1工業控制系統安全研究現狀 2
1.2.2蜜罐的研究現狀 4
1.3主要完成的工作 5
1.4本論文的組織結構 6
2SCADA 系統介紹 7
2.1SCADA 系統重要組件 7
2.1.1物理系統 8
2.1.2物理網絡連接 8
2.1.3分布式控制系統 8
2.1.4網絡 9
2.1.5遠程監控 9
2.2城市燃氣輸配 SCADA 系統平臺 10
2.2.1SCADA 平臺總體架構 10
2.2.2平臺主要硬件介紹 11
2.3城市燃氣 SCADA 系統安全分析 11
2.3.1門戶網站安全分析 12
2.3.2網絡邊界安全分析 12
2.3.3業務系統安全分析 12
2.3.4工控攻擊方式分類 13
2.4本章小結 14
3相關技術的研究與分析 17
3.1網絡虛擬化技術 17
3.1.1虛擬網絡架構 17
3.1.2虛擬網絡的實現方案 18
3.1.3虛擬網絡工具Mininet 19
3.2蜜罐技術 21
3.2.1蜜網技術 22
3.2.2與其他安全概念比較 22
3.2.3蜜罐的分類 24
3.2.4工業控制系統蜜罐 25
3.3本章小結 26
4工控蜜網系統設計 27
4.1系統設計的思想與意義 27
4.2攻擊者模型 27
4.3系統網絡架構 29
4.4系統功能架構 30
4.5本章小結 32
5工控蜜網系統實現 33
5.1仿真模塊實現 33
5.1.1網絡層仿真 33
5.1.2協議層仿真 34
5.1.3可視化仿真 38
5.2運維安全模塊 40
5.2.1向外連接數控制實現 40
5.2.2抑制攻擊包實現 41
5.3數據捕獲模塊 42
5.4本章小結 42
6系統部署與測試 43
6.1蜜網系統部署 43
6.1.1網絡拓撲部署 43
6.1.2配置網橋 43
6.2系統功能測試 44
6.3攻擊數據分析 47
6.4本章小結 48
7總結與展望 50
7.1 總結 50
7.2 展望 50
參考文獻 52
致謝55
1緒論
1.1研究背景和意義
工業控制系統是電力、交通、能源、水利、冶金、航空航天等國家重要基礎設施的“大腦”和“中樞神經”,絕大多數關鍵的基礎設施都離不開工業控制系統。目前我國擁有世界上最大的工業自動控制系統裝置市場,傳統工業技術改造、工廠自動化、企業信息化需要大量的工業控制系統,在中國智能制造 2025 戰略[1]的驅動下,以及國內制造業產業升級,并且迎接“一帶一路”的國家政策, 工業控制系統正在向著智能化、信息化和集成化的方向發展。
隨著工業控制系統信息化程度越來越高,系統越來越開放,針對工業控制的攻擊越來越多,造成的損害也越來越大。針對工業控制系統的攻擊主要是以系統中的 IT 網絡為突破口,進而影響其 OT 系統的運行。工業控制系統在應對傳統功能安全威脅的同時,也面臨越來越多的病毒、木馬、黑客入侵等工控信息安全威脅。破壞工業控制系統正常運行的攻擊中比較典型的案例有震網病毒事件和烏克蘭電網事件。震網病毒[2]被認為是最早的專門針對工業控制系統的攻擊。攻擊者通過病毒攻擊伊朗核工廠的鈾濃縮設備,包括上位機和物理系統, 即離心機,從而縮短離心機的使用壽命,延期伊朗的鈾濃縮進程,嚴重破環了伊朗核計劃。烏克蘭電網在一年左右的時間內多次遭受攻擊,導致停電事件, 這些事件可以說明針對工業控制系統的攻擊從針對 PLC 等通用性部件逐漸擴展到針對專用部件的攻擊,例如變電站系統。近年來的全球工控攻擊頻發,2016 年,舊金山 MUNI 城市捷運系統受到勒索軟件攻擊。2017 年 5 月,勒索病毒“WannaCry”感染事件爆發,全球范圍近百個國家遭到大規模網絡攻擊,攻擊者利用 MS17-010 漏洞,向用戶機器的 445 端口發送精心設計的網絡數據包,實現遠程代碼執行。被攻擊者電腦中大量文件被加密,被要求支付比特幣以解密文件。2018 年 3 月,亞特蘭大的連接系統全城被擊中了勒索郵件,并要求支付比特幣約$50,000,勒索軟件被認為是來自 SamSam 的組織。在 3 月 22 日事件之后的日子里,亞特蘭大居民無法做簡單的城市系統相關任務,如付停車票或水電費,城市服務直到五天后都無法恢復。2018 年美國國土安全多次報道美國電網被俄羅斯黑客不斷攻擊,黑客通過供應商的網絡與電力公司建立的信任關系完成侵入??梢钥闯?,全球的工控系統都在遭受著前所未有的嚴峻的安全威脅。
不僅外部環境十分惡劣,工業控制系統自身也存在著嚴重的脆弱性,例如由于我國工控企業起步較晚,國外巨頭都以擁有百年歷史,一些核心產品仍以外資為主,其中以西門子為代表的歐美品牌占據第一梯隊,三菱等日系品牌占據第二梯隊,以臺達集團為代表的臺系品牌占據第三位梯隊。它們運用的通信協議有些都是私有的,比如西門子設備運用的 S7comm(S7 Communication)。這給國內的工控網絡安全留下了很大的隱患[46]。
在這樣的形式下,研究工業控制系統網絡的防御方法至關重要,保護工控系統就是在保護關鍵的基礎設施。傳統的圍墻式防御思維,已經無法有效應對不斷變化的新安全形勢,有必要在傳統的安全防御能力的基礎上增加主動防御機制。然后,由于不研究攻擊,就無法更好的做好防守,因此需要通過誘捕工控安全攻擊行為,結合著公開的安全威脅情報,來分析工控系統攻擊者的攻擊動機、特點以及常用手段,為更好地開展安全防護工作打下堅實的基礎。一旦網絡安全遭到破壞,其物理影響的可能性很高,ICS 網絡的防御者必須了解他們的對手以及這些參與者的能力。蜜網是支持這一任務的一個有價值的工具,它是一個沙箱網絡,由看似脆弱的蜜罐主機組成,模擬組織網絡上的生產機器。適當配置的蜜網可以觀察到可能高度特定于特定環境的威脅,生成有價值的數據,為網絡防御者提供信息。相比蜜罐而言蜜網仿真度和交互性更高,能夠吸引和捕獲深層次的攻擊行為;但是蜜網部署成本高和部署條件要求高,不適合大規模部署。因此需要研發低成本、易大規模部署的,且具有高真實度的工控蜜網系統。
城市燃氣輸配 SCADA 系統在社會發展和人民生活中起著舉足輕重的作用, 盡管該系統十分強大,但在防御潛在網絡威脅方面具有嚴重的脆弱性。本文為了解決這一問題,研究并實現了一個城市燃氣輸配 SCADA 系統蜜網。
1.2國內外研究現狀
1.2.1工業控制系統安全研究現狀
在工業控制設備搜索與識別技術方面,設備發現的重要里程碑是 2009 年由
J. Matherly 發布的,有“黑暗谷歌”之稱的 Shodan 網絡設備搜索引擎。國內較早進入該領域是北京知道創宇信息技術有限公司,該公司在 2014 年第四季度推出的新版 ZoomEye,增加了針對公網設備的搜索服務。在快速設備發現方面,美
國密歇根大學的 Z. Durumeric 團隊提出 ZMap 和 Zippier ZMap 來做網絡空間的探測,與其它掃描器顯著不同的是,它在掃描時不真正建立 TCP 連接,通過半連接的無狀態掃描,實現快速的網絡空間掃描。設備識別技術包括設備的操作系統指紋、設備的業務服務指紋兩個方面,其中設備的業務服務指紋是數量最多,特征最為復雜的,目前還缺乏有效的大規模、自動化的指紋提取方法。
關于針對工控系統的漏洞掃描技術研究方面,綠盟科技于 2014 年 9 月 15 日正式發布了國內第一款工控漏洞掃描系統( Industrial Control Systems Vulnerability Scanning System,ICSScan),該系統支持典型的工控協議[45]。啟明星辰與東方電氣聯合推出了工業控制系統安全檢查工具:工控漏洞挖掘系統、工控漏洞掃描系統。天鏡工控漏洞掃描系統核心價值在于檢測工業控制系統的已知漏洞,可以支持對西門子、施耐德、GE 等工控廠商的 SCADA/HMI 軟件、DCS 系統、PLC 控制器進行掃描、識別,檢測工業控制系統存在漏洞并生成相應的報告,清晰定性安全風險,給出修復建議和預防措施。但現有漏洞掃描對于特定行業的適用性還不強,對缺少專有設備的漏洞庫。
在工業控制系統的流量和控制指令方面,工控系統具有明顯的流量特征且流量模式穩定不變,基于流量的檢測可精確檢測出大流量攻擊或誤用特征明顯的攻擊。Vollmer 等人提取網絡流量負載,采用誤差反向傳播(back propagation, BP)神經網絡檢測 attempted-dos,attempted-recon,等多種異常流量入侵事件。工業控制系統攻擊的獨特之處是通過非法篡改設備配置,非法控制設備的操作, 修改業務流程等入侵行為,使設備進入不合理狀態、停機狀態或損壞,需通過設備狀態/操作進行檢測。Paul 等人根據設備自身的 XML(extensible markup language)文件構造合法配置列表通過將該表與實時配置信息進行比對發現異常變動。Fovino 等人定義臨界狀態,通過構建的高仿真虛擬鏡像獲得控制命令的執行結果,并以此判斷系統是否正常。以上算法大都關注于理論研究,缺乏實際應用的檢驗。
在工業控制系統威脅情報方面,美國白宮 2015 年 2 月成立 CTIIC 網絡威脅與情報整合中心,負責分析和整合國土安全部、聯邦調查局、中央情報局、國家安全局等部門收集到的網絡威脅信息,國土安全部下屬的網絡安全和通信整合中心、聯邦調查局等機構將直接從 CTTIC 處獲取情報部門的最新網絡威脅信息。相比之下,我國威脅情報體系發展還較為落后,但卻是挑戰與機遇并存?,F階段所涉及領域內形成的學術成果散亂,缺乏有效、可靠的威脅情報的采集、
共享與利用規范和機制。面對新型高級持續性威脅,傳統的基于靜態特征庫的單純以防御為中心的相互獨立的網絡空間安全防護體系難以滿足大規模虛擬環境下資源分布式部署、通信集中化管控對網絡安全動態檢測、關聯分析和實時響應的需求,亟需通過開放的情報接口,通過協同化的威脅情報共享機制,以提高威脅感知能力。
1.2.2蜜罐的研究現狀
首個明確包含關鍵詞 honeypot 的學術出版物可以追溯到 2000 年初。第一個被廣泛接受的正式定義是由 Spitzner 提出的:蜜罐是誘餌計算機資源,其價值在于被探測、攻擊或破壞。然而,蜜罐的概念并不新鮮,早在 20 世紀 90 年代就已經隱含在信息保護和網絡防御領域,但命名不同,例如 jail。后來,多個蜜罐相互連接,稱為蜜網。在 2000 年初,基于 Unix 和 windows 的高效蠕蟲呈指數級傳播,盡管它們分布廣泛,但是捕獲和分析它們是相當困難的,因為蠕蟲只駐留在系統內存中或偽裝自己。第一批針對已知威脅的蜜罐被用來分析 sub7 惡意軟件。該蜜罐通過對端口 27374 的響應,模擬了一個被 Sub7 特洛伊病毒感染的 Windows 系統,許多蠕蟲使用該端口進行后續攻擊。SANS 研究所在幾分鐘內捕獲了 W32/Leaves 蠕蟲。此后,在 2002 年,一個蜜罐捕獲了第一個未知的威脅,即 CDE 子進程控制服務緩沖區溢出,此漏洞允許訪問任何基于 unix 的系統。從那時起,蜜罐作為一種對抗漏洞的有效概念被建立起來。
后來蜜罐技術被應用到工業控制系統,許多優秀的工控蜜罐被設計出來, 其中有部分是開源。Conpots 是應用最為廣泛的工控蜜罐,它的目標是收集有關針對工業控制系統的敵人的動機和方法的情報。它是用 Python 編寫的,可以描述幾種常見的 Internet 協議,如 HTTP,還有一些特定于 ICS 的協議,如 IEC104, BACnet 和 Modbus。它們的主要貢獻是:a)蜜罐在網絡中的部署容易 b)可以輕松地進行修改和擴展。但是它交互能力低,且容易被攻擊者識別,被歸類為低交互服務器蜜罐。2015 年,Alexandru、Vlad、Serbanescu 等人廣泛部署了大規模低交互蜜罐,通過大面積部署取得海量數據進行研究分析[3]。 2016 年, Samuel Litchfield 在論文中介紹了一個框架 HoneyPhy[5],該框架考慮了信息物理系統(CPS)的流程和設備,擬議的工作范圍更廣,并聲稱通過混合配置提供真實的物理過程和設備模擬。它使得復雜結構的 CPS 蜜罐成為可能,但是工控系統中業務仿真會面臨很多難題,因此該項仍在進行當中[6]。同年,Stephan Lau等人的 SCADACS 團隊提出了一個關于 XPOT honeypot 的研究[7]。以 S7-300 系列 PLC 為仿真對象,對 TCP/IP 協議棧進行修改,以保證攻擊者無法通過指紋識別系統為蜜罐。同時支持運行 PLC 程序、專有的 S7comm 協議和 SNMP,可以使用標準 IDE(如 Siemens TIA portal)對其進行編程。他們還表示將繼續對 XPOT進行開發,雖然與其他蜜罐不同,交互能力和反識別能力有所增強,然而對于一個有工控知識和經驗的攻擊者來說,XPOT 還是可能被很輕易的識別出來。因此 PLC 仿真精度只是提高蜜罐欺騙度的一部分,增加仿真工控系統的網絡拓撲以及物理過程,同樣是進一步提高蜜罐的欺騙性的有效方式。
國內對蜜罐技術的研究雖然還不如國外,但是近幾年已經開始引起重視。從北京大學計算機研究所的諸葛建偉團隊加入 The Honeynet Project 以來,該團隊作為國內分支,承擔了許多科研項目,2006 年改進了 Nepenthes,提出了基于高交互式蜜罐技術的惡意代碼捕獲器 HoneyBow,構建了一個完全自動化的惡意代碼樣本捕獲和收集方法。隨后協助國家計算機網絡應急處理協調中心開發和部署 Matrix 分布式蜜罐[9]。此外,國內還有許多研究團隊正在對蜜罐技術進行研究。
1.3主要完成的工作
深入理解城市燃氣輸配 SCADA 系統,掌握其網絡架構、硬件設備信息以及通信協議,然后從門戶網站、網絡邊界和業務系統三個方面對城市燃氣輸配SCADA 系統的安全問題進行分析,反應了城市燃氣輸配 SCADA 系統的脆弱性。
對工業控制系統中的蜜罐技術進行深度研究,提出在工業控制系統中實現蜜罐技術面臨權衡成本和真實度的問題。單個蜜罐因仿真度和交互性有限,難以吸引和捕獲深層次的攻擊行為,然而蜜網部署成本高和部署條件要求高,不適合大規模部署。因此考慮用虛擬網絡技術來改進傳統的蜜網系統。
從資源利用的角度理解了虛擬網絡帶來的好處,然后深入研究了網絡仿真工具 Mininet,通過對其工作原理的研究和與其他仿真器的對比,得出了用Mininet 仿真城市燃氣輸配 SCADA 系統的顯著優勢。
總結工業控制系統中現有的攻擊行為,假設出攻擊者模型,并參考城市燃氣輸配 SCADA 系統對工控蜜網系統進行總體設計,然后采用模塊化的方式實現。
在一臺工控機上輕松部署,體現了利用虛擬網絡仿真蜜網系統具有低成本、易部署、易維護的優勢。然后用偵察掃描方式對蜜網的功能進行測試,結果表明,蜜網系統成功仿真了燃氣輸送 SCADA 平臺,完成測試后,將蜜網部署在外網進行數據捕獲,分析結果表明本文設計的工控蜜網系統有顯著的實用價值。
1.4論文的組織結構
本論文一共分為七個章節介紹,每章節的具體內容如下:
第一章,論文研究的大背景和研究的意義以及論文所選課題的研究現狀。本章首先闡明了論文研究的大背景和意義,介紹如今工業控制系統網絡安全嚴峻形勢以及蜜罐技術的優勢,然后對蜜罐技術發展以及最新的工控蜜罐技術進行介紹,最后介紹了本文研究的主要工作。
第二章,本文設計蜜網時參考的 SCADA 系統。本章介紹了工控 SCADA 系統的五個重要組件,具體介紹了中國科學院信息工程研究所中的城市燃氣輸送SCADA 平臺;然后對城市燃氣 SCADA 系統進行安全分析,總結了現有的攻擊方式。
第三章,本文用到的關鍵技術。本章首先介紹蜜網技術的功能特征以及其核心機制,詳細闡述了蜜罐技術在工業控制系統中實現所面臨的困難;然后研究了虛擬網絡技術的特征和優勢,并對 Mininet 網絡模擬工具進行了深度研究。第四章,工控蜜網系統的設計。本章根據城市燃氣輸送 SCADA 平臺和攻擊
者模型提出了本文蜜網系統的總體框架設計,然后將蜜網系統功能模塊化,將蜜網系統分為仿真模塊,數據采集模塊和運維完全模塊三部分。
第五章,蜜網系統的實現。本章分模塊介紹蜜罐系統的實現。重點介紹了仿真模塊的實現,仿真模塊采用 Mininet 技術實現網絡拓撲仿真,改進的 Conpot 實現協議仿真,以及 python Web 框架實現 HMI 仿真。
第六章,蜜網系統的部署和功能測試。對系統進行輕松部署后,用偵察掃描方式對蜜網的功能進行測試,結果表明,完成測試后,將蜜網部署在外網進行數據捕獲,分析結果表明本文設計的工控蜜網系統有顯著的優勢和實用價值。
第七章,總結與展望。本章對本論文的完成的工作,解決的問題和做出的貢獻進行總結,指出工控蜜網系統仿真程度和功能上存在的不足,并對該系統未來的改進提出了建議和展望。
2SCADA 系統介紹
工業控制系統(ICS)是一個囊括多種類型控制系統的通用術語,其中包括有監控和數據采集(SCADA)系統、分布式控制系統(DCS)和其他一些較小的控制系統裝置,如可編程邏輯控制器(PLC)[10]。圖 2.1 為典型工業控制系統網絡架構圖。ICS 通常被用于電力、水務、交通運輸、煙草、汽車制造和石油石化等各種基礎且重要的行業,因此工業控制系統網絡安全至關重要。
本章將介紹工業控制系統中的 SCADA 系統,主要介紹 SCADA 系統的重要組件及其功能,然后具體介紹城市燃氣 SCADA 系統,并對其進行多方位的脆弱性分析。
圖 2.1 典型工業控制系統網絡架構圖
2.1SCADA 系統重要組件
SCADA 系統是高分布式系統,常用于控制地理上位置較遠的部件,長期對現場工業過程進行集中監控和通信。所有 SCADA 系統都可從結構上分為 5 個主要組件,如圖 2.2 所示:物理系統,物理網絡連接,分布式控制系統(DCS), 網絡,遠程監控。本節將對每個組件進行介紹,同時展示其在整個系統中的相關性。
圖 2.2 SCADA 系統組件
2.1.1物理系統
物理系統是 SCADA 體系結構的第一個組成部分,SCADA 系統上的物理過程有傳感器和執行器來監視和控制過程變量。傳感器是測量諸如壓力、溫度、流量或密度等物理量的設備,由觀察者或儀器讀取。執行器是機器的一個部件, 在給定輸入信號的情況下,負責移動或控制物理系統,控制系統通過執行器對外界起作用。
2.1.2物理網絡連接
物理網絡連接為來自傳感器和執行器的信號提供一個傳輸介質,使其到達分布式控制系統(DCS)。一般的工業控制系統會采用現場總線(Field bus),他可以實現工業現場各種設備間的信息傳輸,同時實現現場設備與上層控制系統之間的信息傳遞與協議轉換功能[12]。
值得一提的是,從趨勢來看,工業以太網毋庸置疑會進入現場控制,但至少現在看來,從實時控制通信這一個標準考慮,它還難以完全取代現場總線,甚至在不需要復雜技術的地方,鏈路是由直接向 DCS 傳輸電壓或電流信號的普通電線構成的。
2.1.3分布式控制系統
SCADA 體系結構的第三個組件是 DCS。DCS 由一個或多個控制器組成,通過物理鏈路與傳感器和執行器直接連接。
控制器是現場設備,通常具有嵌入式控制功能,以完成一些邏輯操作。在絕大多數情況下,采用具有嵌入式控制功能和邏輯操作的 PLC 被用作 SCADA 系統的控制器,PLC 只能處理兩種信號:離散信號和模擬信號。離散信號是那些只能假設兩種狀態的信號:開或關。模擬信號可以有一個取值范圍,可以表示一個時變量,如溫度、壓力或密度。離散信號只需要一個位存儲在 PLC 存儲器中,讀寫速度快,并且需要相對簡單的硬件。模擬信號需要存儲更多的比特, 比特的數量取決于用來讀取信號的硬件。此外,與離散信號相比,所需的硬件更加復雜,讀寫速度也更慢。
為了將模擬信號轉換成 PLC 能夠理解的內容,需要使用兩種硬件:用于信號讀取的模數轉換器(ADC)和用于信號寫入的數模轉換器(DAC)。ADC 將模擬量轉換為數字量,而 DAC 將數字量轉換為模擬量。
2.1.4網絡
網絡是 SCADA 體系結構的第四部分。網絡組件用于互連 DCS 和監視控制, 以及與 SCADA 系統相關的其他子系統,如人機接口、操作員站、數據庫和用戶管理系統等。DCS 根據一組稱為協議的規則與網絡上的監視控制進行通信。第一個 SCADA 協議是由 Modicon 在 1979 年引入的,稱為 Modbus。它很快成為事實上的行業標準,并且由于它的標準是公開可用的,而且實現不需要許可證費用,所以它仍然受到 SCADA 的歡迎。此外,Modbus 可以在許多通信介質上工作,例如電話、以太網、無線電和衛星,這使它成為大型 SCADA 系統的理想選擇。此外還有一些未公開的私有 SCADA 協議, 例如 S7comm ( S7 Communication)。S7Comm 是西門子專有的協議,是西門子 S7 通訊協議簇里的一種,它應用于 PLC 中實現交換數據,訪問 PLC 數據以及診斷目的。
大型 SCADA 系統可以由不同類型的介質上的多個協議組成。通常稱為協議網關的 SCADA 協議轉換器提供了一種機制,使在不同協議上通信的設備能夠相互通信。此外,一個復雜的 SCADA 網絡也可能有一些輔助設備,如橋接器、路由器和交換機,以控制網絡流量,并與 SCADA 系統中的其他網絡在物理或邏輯上分離。
2.1.5遠程監控
遠程監視和控制管理物理過程數據并為用戶交互和控制提供一種機制。它是操作人員與 SCADA 系統的監視變量交互的前端接口,即人機接口。在更高的層次上,HMI 是由按鈕、警報、報告和趨勢組成的屏幕,用于監視、分析和控制自動化過程。
HMI 可以是一個物理屏幕,向用戶顯示圖形界面,并與其他自動化設備一起在過程面板中組裝,也可以是一個軟件,在距離實際過程很遠的計算機上以網頁的形式顯示。此外,HMI 還可以根據使用的 SCADA 協議向設備發送控制動作、警報、錯誤代碼和其他類型的消息。
2.2城市燃氣輸配SCADA 系統平臺
本文設計的蜜網系統以北京中國科學院信息工程研究所物聯網組中的城市燃氣輸配 SCADA 系統模擬平臺為參考[4],該系統是真實的城市燃氣 SCADA 系統按一個比例縮小的模擬平臺。圖 2.3 為城市燃氣 SCADA 系統模擬平臺的實物圖。
圖 2.3 城市燃氣SCADA 系統模擬平臺實物圖
2.2.1SCADA 平臺總體架構
城市燃氣系統SCADA 系統由調度控制中心、現場控制系統及通信系統構成。系統總體架構如圖 2.4 所示。
調度監控中心根據 SCADA 系統規模大小分為總調度控制中心、備用調度控制中心和區域調度控制中心,完全對城市高中壓燃氣管網各重要戰場、遠控截斷閥室的監控,同時完成對中壓管網監測點的監視,實現管網運行優化、制定輸送計劃、計量管理等一系列任務[11]。
現場控制系統用于對高壓和高中壓管路等監測點的操作,也把采集到的相關數據、運行參數等送達上一級的調度監控中心,同時接受、執行其下發的指令[28]。它們執行主調度監控中心指令,實現站內數據采集及處理、連鎖保連續控制及工藝設備運行狀態的監視,并向主調度監控中心上傳所采集的各種數據與信息。通信系統在整個系統中起連接作用,連接調度監控中心和現場控制系統的紐
帶,實現系統數據及運行指令的實時傳輸、接收和執行等[12]。通信系統的網絡拓撲為三層結構,調度監控中心和現場控制系統用工業以太網連接,現場控制系統和控制設備采用標準的工業控制協議,運用了 S7comm 協議、Modbud 協議以及 Profibus-DP。
圖 2.4 SCADA 系統總體架構
2.2.2平臺主要硬件
城市燃氣輸配 SCADA 平臺的主要現場設備有 PLC 和 HMI,PLC 采用西門子 S7-300 PLC 和施耐德 Quantum PLC,HMI 采用的是研華 WOP2100T-N2A 觸摸屏,由一臺 EDS-408A 系列工業交換機完成設備之間的信息傳輸以及與調度控制中心之間的通信。
2.3城市燃氣SCADA 系統安全分析
本節從門戶網站、網絡邊界和業務系統三個方面對城市燃氣輸配 SCADA 系統的安全問題進行分析,反應了城市燃氣輸配 SCADA 系統的脆弱性。
11
2.3.1門戶網站安全分析
城市燃氣輸配 SCADA 系統可以從外網直接訪問,因此訪問群體較復雜,聚集了大量國內外訪問流量,也容易引起黑客的關注。
攻擊者可以采用 PLC 注入、固件攻擊等攻擊方式,可以輕松侵入門站網站, 然后對網站頁面進行破環;攻擊者有可能將門站網站替換成釣魚網站或者黃色網站,或者在主頁上發布敏感言論,對企業造成極其惡劣的負面影響。Web 服務器被攻陷后,攻擊者可能借助該服務器才實施進一步探測掃描、滲透攻擊等, 對企業內部敏感數據造成威脅。而從當前主機安全評估結果來看,黑客進入內網后,可以輕而易舉攻陷其他服務器。
傳統的圍墻式防護策略,如防火墻和入侵檢測系統,局限于自身的產品特點以及黑名單的防護機制,不能監控網絡內容和攻擊者訪問的行為,因此無法對Web 服務器遭受的變化多端的攻擊行為的進行有效防護。
2.3.2網絡邊界安全分析
任何網絡都存在漏洞,未知攻擊的入侵和破壞隨時都可能帶來嚴重的損失, 這些損失對 SCADA 系統可能是致命的。
網絡協議的自身并不安全。工業控制系統的專用網絡與傳統的不同點在于一般都在專用的計算機和操作系統上實現,而且工控協議設計時更加關注是協議自身的功能性,而對系統的安全運維策略并沒有引起重視[13][14]。從而為了節約成本,會放棄部分安全設置。病毒的快速傳播。盡管設備公司會經常發出協議的相關漏洞,但是由于系統實時,連續的要求,系統并不會對漏洞進行及時的修補。當城市燃氣 SCADA 系統的內部網絡受到病毒攻擊時,可能會導致網絡和系統的處理能力下降,出現網絡擁塞,業務中斷等等問題,還會對核心機密數據帶來泄露的威脅?,F有防火墻解決方案的不足。在網絡應用層出不窮、新型的威脅不斷涌現的背景下,無論是傳統防火墻、統一威脅管理設備(UTM)還是下一代防火墻(NF),均已遠遠不能滿足用戶對自身網絡的安全防護訴求, 主要體現在傳統防火墻,不能對網絡應用、用戶進行有效識別和控制,現有的基于 IP 地址的訪問控制已經不可靠。
2.3.3業務系統安全分析
隨著網絡環境的不斷發展和完善。城市燃氣輸配 SCADA 系統中不僅各項業務工作,如文件分發等由計算機替代,而且信息存儲及信息提供也轉變為數字方式。
系統漏洞給業務系統造成極大的威脅。惡意入侵者可以利用系統的漏洞,通過發起惡意掃描和遠程溢出等攻擊,進入業務系統后臺獲取、篡改,甚至破壞敏感的數據乃至破壞整個網絡的正常運行。網絡安全審計問題尤為突出。防火墻、入侵檢測等傳統網絡安全策略的不足,使得無法對攻擊者的攻擊行為進行取證。對于任何一個安全體系來說,審計追查手段都是必不可少的。人為失誤及業務權限管理問題,如弱口令,不正確的共享、應用系統的錯誤使用等,內部人員對業務應用系統的越權訪問、違規操作,或者操作人員直接的錯誤輸入, 導致系統宕機等。
2.3.4工控攻擊方式分類
通過對城市燃氣 SCADA 系統的安全分析,本節對 SCADA 系統中普遍的攻擊方式進行總結。表 2.1 為工控攻擊方式的分類,本文將其分為以下三類。
表 2.1 工控攻擊方式分類
攻擊分類 攻擊方式
橫向攻擊 偵察掃描攻擊
點對點攻擊 拒絕服務攻擊,PLC inject,固件攻擊輔助攻擊 中間人攻擊
第一類為橫向攻擊方式,這種攻擊方式,攻擊者利用工具或外部信息在互聯網上進行大范圍掃描。在互聯網上尋找目標的有用信息是一個重要的攻擊步驟, 它是整個過程的關鍵部分,為后續戰略提供數據。它可以提供幫助制定后續攻擊的信息,并且就 ICS 的滲透而言,它有時可以生成一些信息,這些信息可能為流程環境如何工作以及使用什么系統提供線索。
攻擊者可以利用掃描工具在 Internet 尋找設備。例如 Maltego 掃描工具,它可以自動執行許多與有用信息相關的任務。給定一個初始起點,如 IP 地址或電子郵件地址,Maltego 將搜索 Internet(包括網站、論壇、社交媒體、Twitter 帖子等),尋找與初始邊界相關的所有內容。就像谷歌黑客攻擊一樣,尋找能夠提供更多關于網絡架構或用于社會工程的數據的線索的信息。
攻擊者也可以利用外部信息,Shodan[16]是令人驚訝和震驚的互聯網工具之一。Shodan 是一個專門的在線搜索引擎,旨在發現面向 internet 的設備。當然它同樣可以用來查找面向 internet 的 ICS 設備。面向 internet 的 ICS 設備數量非常龐大。Project SHINE 披露了超過 100 萬臺面向 internet 的工業控制系統設備。
第二類為點對點攻擊:有目標攻擊。這種具有針對性的攻擊,往往是攻擊者已經對攻擊目標有了一定的了解,并采取進一步措施,直接威脅到工控設備。這類攻擊又被分為以下三種:
拒絕服務攻擊:通過耗盡 PLC 的資源,比如網絡帶寬、CPU 計算資源等, 從而使得 PLC 對正常的請求無法及時作出回應。攻擊方式簡單、粗暴,對技術要求低,容易實現,會破壞 PLC 的正常運行,且持續時間長,會占用 PLC 資源。
PLC inject:注入代碼或數據影響 PLC 的正常運行,甚至獲取系統控制權。例如蠕蟲攻擊,首先會嘗試與設備建立連接;若建立連接,檢查其是否被感染; 若未建立連接或已被感染,嘗試其他 PLC;若未被感染,停止 PLC,下裝 PLC 程序;重啟 PLC。
固件攻擊:破壞 PLC 固件,PLC 固件的一個缺陷是信任其內在的固件驗證機制。操作如下:1、下載固件,逆向分析固件,確定各個參數的寄存器地址, 匹配已知的設備功能;2、修改固件;3、對固件進行重新打包,并下載到 PLC 中。
第三類為輔助攻擊。例如中間人攻擊,這種攻擊的目的是在上位機與下位機之間對數據包進行修改、重放。雖然沒有直接破環設備及控制邏輯,但是攻擊者返回給 HMI 錯誤的數據包,隱藏 PLC 的真實狀態,會導致控制器或者管理人員作出錯誤決定。這類攻擊能欺騙監控設備,往往作為其他攻擊方式的輔助。
2.4本章小結
本章首先介紹了 SCADA 系統,然后對城市燃氣輸配 SCADA 系統進行了深入研究,掌握其網絡架構、硬件設備信息以及通信協議,然后從門戶網站、網絡邊界和業務系統三個方面對城市燃氣輸配 SCADA 系統的安全問題進行分析, 反應了城市燃氣輸配 SCADA 系統的脆弱性。
3相關技術的研究與分析
SCADA 系統被設計得十分強大,卻存在著許多安全風險,而且新的攻擊手段層出不窮,攻擊與防御形成了不對等的局面,蜜罐技術作為主動防御手段能打破這種不對等。由于 SCADA 系統極高的成本和重要的特性使得研究人員幾乎不可能對實時網絡攻擊進行實驗。虛擬網絡技術使傳統的網絡變得輕量、靈活, 因此將蜜罐技術結合虛擬網絡技術,實現一個高仿真、易部署、低成本的工控蜜網系統一定是十分有價值的。下面將分別介紹這兩種技術。
3.1網絡虛擬化技術
網絡是由各種網絡設備,如交換機、路由器,相連組成的一個網狀結構。網絡虛擬化相對計算、存儲虛擬化來說是比較抽象的,其實,網絡虛擬化更多關注的是數據中心網絡、主機網絡這樣比較小型的網絡,是深入到某一臺物理主機之上的網絡結構。如果把傳統的網絡看作“宏觀網絡”的話,那網絡虛擬化關注的就是“微觀網絡”。網絡虛擬化的目的,是要節省物理主機的網卡設備資源。
3.1.1虛擬網絡架構
在傳統網絡環境中,主機之間的通信需要通過自身的網卡與其他主機的網卡建立物理連接,例如連接到交換機上,如下圖 3.1 所示。
圖 3.1 傳統網絡框架
這種架構下,每個應用都部署在自己的主機上,應用之間形成了天然的物理隔離,但是在這樣的架構下,會產生兩個問題:首先當只需要部分應用工作時,其他應用的硬件資源就會被閑置,另外當應用增多的時候,就要添加更多
17
的物理機部署??傊?,傳統的網絡架構在資源的合理運用上存在很多缺點。為應對這些缺點,可以借助虛擬化技術對一臺物理資源進行抽象,將一張物理網卡虛擬成多張虛擬網卡(vNIC),通過虛擬機來隔離不同的應用。在虛擬網絡中,針對上述問題,首先,當資源分配不均時,可以將空閑應用的資源分配給更需要的應用使用,這是用過調度機制實現的;另外如果物理主機中的資源沒有用盡,可以通過添加虛擬機來方便地實現。
虛擬網絡架構圖 3.2 為虛擬網絡架構。與傳統網絡不同的是,虛擬節點之間的通信是通過虛擬的鏈路實現的,虛擬鏈路連接著虛擬網卡和虛擬交換機,整個網絡被虛擬在一個主機中,這樣的網絡在搭建、部署和維護方面都變得更加輕量和靈活。
圖 3.2 虛擬網絡架構
3.1.2虛擬網絡的實現方案
一般,一整套虛擬網絡的模塊都可以獨立出去,由第三方來完成,如其中比較出名的一個解決方案就是 Open vSwitch。Open vSwitch 簡稱 OVS,是一個高質量、多層的虛擬交換軟件[36]。它的目的是通過編程擴展支持大規模網絡自動化,同時還支持標準的管理接口和協議。
虛擬網絡技術蓬勃發展的今天,對于虛擬交換機的需求也變得越來越迫切, 而傳統的閉源虛擬交換機對于普通用戶來說成本太高,多層虛擬化軟件交換機實現了和大多數商業閉源交換機類似的功能。它的出現使實現虛擬網絡的成本降低,很大程度上推動了虛擬網絡技術的發展。
OVS 為典型的多層虛擬化軟件交換即(圖 3.3)。官方的定位是要做一個產品級質量的多層虛擬交換機,通過支持可編程擴展來實現大規模的網絡自動化。設計目標是方便管理和配置虛擬機網絡,檢測多物理主機在動態虛擬環境中的流量情況。針對這一目標,OVS 具備很強的靈活性??梢栽诠芾沓绦蛑凶鳛檐浖?switch 運行,也可以直接部署到硬件設備上作為控制層[50]。
圖 3.3 Open vSwitch 在虛擬網絡中的應用
OVS 的優勢在于它基于 SDN(Software Defined Network)的設計原則,方便虛擬機集群的控制與管理,另外就是它分布式的特性,可以提供虛擬接口與物理接口之間的連接,并處理同一物理主機上虛擬接口之間的通信。
3.1.3虛擬網絡工具 Mininet
Mininet 是一個網絡仿真器,利用虛擬交換機 Open vSwitch 可以方便地創建一個支持 SDN 的虛擬網絡,其中包括虛擬主機、交換機以及路由器等,虛擬主機是可編輯的,可以在虛擬主機上運行應用程序,虛擬主機之間是相互隔離的, 一個進程不能嗅探其他網絡命名空間的流量。這種樣的功能被廣泛的應用到網絡測試中,但本文更看重它快速仿真一個虛擬網絡的能力。
3.1.3.1Mininet 的工作原理
Mininet 是基于 Linux 網絡命名空間設計的,自身就可以原生支持操作系統層級的虛擬化,就可以被用來進行網絡仿真。而 Mininet 工具使用 Python 語言對網絡仿真過程所涉及的節點、拓撲、鏈路等進行了封裝抽象,便于科研人員迅速開展仿真工作。
從 Linux 2.6.24 版的內核開始,Linux 逐漸支持 6 種不同類型的命名空間。
19
這其中包括進程間通信(IPC)的命名空間、進程命名空間、網絡命名空間、掛載命名空間、UTS 命名空間、用戶命名空間。Linux 命名空間的原理是資源隔離, 命名空間技術使得進程間的 IPC,UTS,網絡等能被需要的命名空間使用,達到資源的合理利用。
顧名思義網絡命名空間是提供網絡資源的隔離方案,它使得每個命名空間都有自己的協議棧、IP 路由表、端口等網絡資源。從網絡命名空間的角度看,它代表著分配給一個或多個進程的私有網絡資源集合。其主要特性集中在虛擬化和隔離。每個 Linux container 擁有其自己的虛擬的網絡設備和用于綁定自己網絡端口號的應用程序。主機上合適的路由規則可以將網絡數據包和特定container 相關的網絡設備關聯。網絡命名空間的主要應用場景包括:多個網絡命名空間可以擁有 eth0 和 lo 等網絡設備,多個服務器進程可以在不同網絡命名空間的同一個端口上進行監聽,一個進程不能嗅探其他網絡命名空間的流量,一個進程不能關閉其他網絡命名空間的接口。
兩個網絡命名空間可以通過建立虛擬網絡設備對 veth pair 創建通道進行通信。veth pair 是用于不同 Network namespace 間進行通信的方式,作為將一個網絡命名空間數據發往另一個網絡命名空間的 veth。
Mininet 基于 Linux 網絡命名空間,默認情況下,在仿真網絡中 Mininet 會為每一個 host 創建一個新的網絡命名空間,同時在根進程命名空間 root Namespace 運行交換機和控制器的進程,因此這兩個進程就共享同一個網絡命名空間。由于每個主機都有各自獨立的網絡命名空間,每個虛擬節點都是可編輯,并運行網絡程序。由于命名空間的虛擬技術沒有提供類似于虛擬機的持久化能力,所以在 Mininet 關閉時不能保存所有的配置。
Mininet 使用網絡命名空間來讓不同的 host 進程擁有獨立的網絡上下文。如下圖 3.4 所示,兩個虛擬主機 h1 和 h2 連接到交換機 s1,通過 bash 來模擬 h1 和h2,交換機 S1 運行在 Linux 內核運行的根進程命名空間。h1 和 h2 就擁有自己的網絡命名空間以及私有網絡接口 h1-eth0 和 h2-eth0。交換機 s1 有兩個端口s1-eth0 和 s1-eth1,通過 veth pair 與對應的主機接口相連,這樣 h1 和 h2 就可以通過 s1 進行通信。s1-eth0 和 s1-eth1 間的數據包轉發通過軟件交換機完成,它運行在 root namespace 并使用物理接口 eth0,等待控制器的指令。
Mininet 包含一個網絡感知的命令行接口(CLI),在啟動網絡后,允許開發人員通過一個控制臺控制和管理整個網絡。由于 CLI 知道節點名和網絡配置, 所以可以通過節點名控制各個主機[49]。
圖 3.4 Mininet 內部架構
3.1.3.2Mininet 的優勢
Mininet 結合了仿真器、硬件測試平臺和仿真器的許多最佳特性。與完全基于系統虛擬化的方法相比,Mininet 運行速度快,布置規模大,能提供更多的的帶寬,安裝簡單,它預先包裝好的 VM 可以運行在 VMware 或 Mac/Win/Linux 的 VirtualBox 上,并且已經安裝了 OpenFlow v1.0 工具,能以秒為單位快速部署上百個主機和交換機,一般而言,在普遍硬件上,總帶寬為 2Gbps。與硬件測試平臺相比,Mininet 成本低,易獲得,且可以快速的重新配置和重新啟動。與仿真器相比,Mininet 運行實際的、未修改的代碼,包括應用程序代碼、操作系統內核代碼和控制平面代碼,可以容易的連接真實網絡,它還給用戶提供了交互性能。因此用 Mininet 實現城市燃氣輸配 SCADA 系統的網絡拓撲仿真具有明顯的優勢。
3.2蜜罐技術
蜜罐技術作為網絡安全中主動防御手段,能有效的打破網絡安全攻防中攻擊者和防御者資源不對等的情況,近年來已成為國內外網絡安全領域的研究重點之一。但是蜜罐系統在工業控制系統環境與傳統信息技術環境中不同,工控蜜罐更加注重真實性、目標性、成本和風險的平衡。
3.2.1蜜網技術
蜜網[37,38]實質上是一種研究型、高交互型的蜜罐技術,是一個由蜜罐組成的網絡,第一代蜜網(Gen-I),設計于 1999 年[39],采用防火墻,主要在 OSI 第三層執行數據控制。盡管 Gen-I 架構成功地證明了它收集攻擊的能力,但是它很容易被攻擊者發現。它也不能正確地處理出站流量。第二代(Gen-Ⅱ)和第三代(Gen-Ш)蜜網的基石是蜜墻(Honeywall),它作為網絡的網關,以更好地控制入站/出站流量。Honeywall 以兩層網橋模式運行,以隱藏它的存在,并監控所有傳入和傳出的流量。它還用于控制和限制由受危害的蜜罐所產生的大量出站流量,例如,在 DDoS 攻擊中使用。第 2 代和第 3 代有相同的架構[40],第三代以第二代組件為基礎,利用蜜罐監控工具(如 sebek)來檢查異常,并實現更容易部署蜜墻。隨著云基礎設施在今天的網絡中被廣泛采用,在虛擬環境中部署第三代蜜網變得更加流行,因為它帶來了許多在物理機器上部署無法提供[42] 的好處。
蜜網技術核心機制是數據控制機制、數據捕獲機制和數據分析機制[5]。數據控制機制的功能是防止蜜網被黑客或者惡意軟件利用攻擊第三方。數據捕獲機制的功能是獲取黑客攻擊或惡意軟件活動的行為數據,包括網絡行為數據,如網絡連接,以及系統行為數據,如進程、命令、打開文件等。數據分析機制的功能是理解捕獲的黑客攻擊和惡意軟件活動的行為。
3.2.2與其他安全概念比較
安全概念可以按操作領域分為預防、檢測和反應。預防可以定義為阻止入侵者和使系統中的漏洞不可行的任何承諾。檢測是確定存在損害系統保密性、完整性和可用性的行為的過程。反應是指在檢測到有害行為后采取的反應性措施。理想情況下,反應可以加強預防并改善未來的檢測。安全概念的目的是在其業務領域取得最好的結果,這導致在其余領域取得較差的結果。除了蜜罐,還可以結合防火墻、入侵檢測系統(IDS)、殺毒系統(AV)、入侵防御系統(IPS) 和日志監控來提高網絡安全。區分這些概念以便充分利用它們的潛力是很重要的。傳統上,防火墻基于預先確定的靜態安全規則監視和控制網絡流量。它們充當安全網絡和不安全網絡之間的屏障。高級防火墻不僅通過網絡屬性過濾, 而且通過協議狀態和應用層規則過濾。IDS 分析整個包,包括報頭和負載,尋找惡意簽名。當檢測到已知事件時,將生成警報。IPSs 可以理解為 IPS 的擴展, 它不僅發出警報,而且主動拒絕包并動態添加新規則。AV 軟件也是基于簽名的, 但操作在文件級別,并試圖捕捉木馬或病毒的感染。對應用程序日志、服務日志、系統日志等進行完整的日志監控,提高了對網絡基礎設施或可用性問題的認識。通過統計地評估日志文件中表示重要事件的已知文本模式,可以發現問題。網絡安全標準通過定義軟件和基礎設施的安全指導方針來防止攻擊,例如干凈的配置、強化的內核和最近的更新。如今,這些概念之間的明顯區別變得非常困難,因為安全解決方案是將多個概念組合在一起的混合體,目的是最小化個體之間的權衡。
蜜罐對預防沒有什么直接作用,因為它們不能防止安全漏洞。它們最多能阻止攻擊,因為攻擊者擔心攻擊蜜罐而不是實際目標:生產系統,這會浪費時間和資源。但是,它們在對付自動化工具包和蠕蟲時失敗了,這些工具和蠕蟲是最常見的攻擊類型之一,它們掃描、探測并試圖利用它們能找到的每一個網絡參與者。這也適用于入侵檢測系統,它們可能會阻止,但不會主動阻止自動攻擊。防火墻是最好的預防概念,因為它們隱藏服務并阻止未使用端口或可疑 IP 地址的通信,這樣入侵者就被排除在外,或者找不到任何可以通信的服務。最好的預防是通過良好的網絡安全標準和實踐來實現的,例如禁用不必要或不安全的服務、頻繁更新和補丁策略、強大的身份驗證機制等等。如果是檢測,蜜罐增加了廣泛的價值。對生產系統的攻擊很難檢測,因為這些攻擊只是淹沒在大量的生產活動中。蜜罐可以簡化檢測過程。由于蜜罐沒有生產活動,所有與蜜罐的連接本質上都是可疑的,因此可以檢測到未經授權的探測、掃描或攻擊, 幾乎沒有漏報和誤報。顧名思義,入侵檢測系統是用來檢測攻擊的。然而,它們的有效性高度依賴于簽名的質量。管理員可能會被假陽性信息淹沒,變得麻木,并開始忽略這些消息。另一方面,如果在使用新漏洞時不存在適當的簽名, 也可能出現假陰性。經過多年的社區貢獻,Snort 開發了一種有效的基于簽名的識別。
在蜜罐的幫助下,對攻擊的反應可以加快。由于攻擊數據不與生產活動數據混合,因此攻擊的分析要簡單得多。此外,與生產系統相比,蜜罐可以完全離線進行分析,從而可以進行適當和全面的法醫分析。然后,這些見解可以用于清理生產系統并理解漏洞,這是修補相應漏洞的第一步。入侵檢測系統基本上是被動的,這意味著它們分析包并創建警報。傳統上,它們不改變網絡包流。它們只會將惡意活動通知管理員。對新攻擊的反應可能還包括創建新簽名。由于防火墻不能檢測攻擊,因此不能動態地對攻擊作出反應。但是,管理員可以手動定義新的防火墻規則,這些規則通常比入侵檢測系統的規則簡單,并且基于包信息,而不是有效負載和包流。對不同安全概念的討論表明,所有概念都有一個特定的目標。首先,蜜罐實現反應,IDSs 實現檢測,防火墻實現預防概念。這些概念并不排斥,但可以相互補充。
3.2.3蜜罐的分類
對于蜜罐的分類標準不是唯一的,本文介紹了蜜罐的四種分類標準,如表
3.1 所示,Snort 的開發者 Marty Roesch 對蜜罐進行了最早的分類之一,主要是根據蜜罐的業務范圍進行分類,分為產品型蜜罐和研究型蜜罐。
生產蜜罐的特點是易于部署和使用,適用于公司的生產環境。它們的目的是通過轉移攻擊,在特定公司的網絡中實現更高的安全級別。生產蜜罐需要在易用性和收集的信息量之間進行權衡。相比之下,研究蜜罐提供了關于攻擊的全面信息,但部署較為困難。它們通常被研究組織和網絡取證科學家用于審查攻擊和制定針對威脅的一般對策。研究蜜罐有助于了解攻擊者的動機、行為、工具和組織。舉個例子:一家公司將傳入的流量重定向到未使用的 IP 地址下部署的 ssh 蜜罐上。蜜罐通過來訪的 IP 地址識別攻擊者,這些 IP 地址被記錄后可用于過濾規則和阻止對生產系統的訪問。這種蜜罐的功能是有限的,因為它只需要識別流量及其來源。然而,研究機構可能對研究攻擊的細節感興趣,如攻擊者使用了哪些集合來破解密碼。因此,他們必須使用研究型蜜罐,它更復雜, 并提供了大量具有 ssh 憑據的日志記錄。
另一種被廣泛使用的蜜罐分類是基于相互作用的特點,一方面考慮相互作用的程度[44],分為低交互蜜罐、中交互蜜罐和高交互蜜罐;另一方面,考慮相互作用方向[45],分為服務器蜜罐和客戶端蜜罐。
低交互蜜罐僅模擬少量服務。低交互蜜罐產生最小響應以允許協議握手。由于信息的收集有限,低交互主要用于統計評估,往往被作為產品型蜜罐部署。
中交互蜜罐比低交互蜜罐稍微復雜一些,但是它們仍然沒有提供任何操作系統功能。模擬的服務更加詳細,為攻擊者提供了更高層次的交互,實際上中交
24
互蜜罐會給出合理的響應,希望能夠觸發后續攻擊。為了成為一個有吸引力的目標,中交互蜜罐還模擬了比低交互蜜罐更多的服務。由于交互能力的較低, 以上兩種蜜罐都有一定的機會被破壞。
高交互蜜罐是最復雜的蜜罐。它們是實現、部署和維護最復雜的,因為它們為攻擊者提供了一個不受限制的真實操作系統環境[50]。此外,還安裝了大量服務。高交互蜜罐收集盡可能多的信息,包括完整的攻擊日志、數據訪問、遍歷文件樹、執行代碼等。由于高交互蜜罐日志分析的復雜性,通常由網絡取證科學家完成,自動化程度較低。高交互蜜罐往往被作為研究型蜜罐部署。
服務器蜜罐等待攻擊者發起通信,而客戶端蜜罐則主動搜索潛在的惡意實體并請求交互。大部分蜜罐都屬于服務器蜜罐,客戶端蜜罐更多的應用領域是 Web 瀏覽器,客戶端蜜罐請求主頁并檢查異?;顒???蛻魴C低交互蜜罐只模擬組件, 而客戶機高交互蜜罐使用真正的 Web 瀏覽器。
最后一種分類是基于蜜罐的物理特性,被分為物理蜜罐和虛擬蜜罐。
物理蜜罐是網絡上的一臺真正的機器。虛擬蜜罐由主機模擬,主機將網絡流量轉發給虛擬蜜罐。單個主機可以模擬多個虛擬蜜罐。虛擬蜜罐成本低,可大量部署在互聯網上,實現與攻擊者之間的掃描應答、設備配置與狀態請求響應等交互。
表 3.1 不同標準分類的蜜罐類型
分類標準 蜜罐類型
業務范圍 研究型/產品型蜜罐相互作用程度 高/中/低交互蜜罐
相互作用方向 服務器/客戶端蜜罐物理特性 物理/虛擬蜜罐
3.2.4工業控制系統蜜罐
蜜罐的另一個可能的部署場所是 SCADA 或 ICS 系統,成功的工控蜜罐能平衡真實性、目標性、成本和風險,更真實的特性產生更復雜的蜜罐,可以收集更詳細的數據。如果一個蜜罐被攻擊者避開,它就毫無用處。例如,Internet 上的一個單獨的 PLC 對攻擊者來說沒什么意義,因為它不太可能是大型系統的一部分。誘捕系統的外觀和功能也應該與它們的對手相同,這樣攻擊者就無法區
分真實的系統和誘餌。蜜罐的財務成本也是一個主要的考慮因素,特別是在它的開發、部署、維護和操作,以及收集數據的分析方面。
工業控制系統環境很難像傳統信息技術環境那樣利用虛擬化的優勢,信息技術蜜罐的研究非常豐富,而且還在不斷發展。在 2006 年之前,傳統的高交互度
蜜罐被昂貴的物理硬件所限制。從 2006 年到 2008 年,虛擬化技術在商品信息技術市場上得到了廣泛應用,這使得部署多個高交互虛擬機作為蜜罐來收集關于網絡威脅的詳細數據既方便又便宜。然而,傳統的信息技術蜜罐技術不容易轉移或擴展到工業控制系統。
當前大多數工業控制系統蜜罐都集成了低交互仿真器[47]。盡管可以在低成本,靈活的平臺上部署低交互性蜜罐,但是需要付出大量的努力才能實現特定供應商的協議,并且一個工業控制系統通常不止一種工控協議,設計一個滿足整個工控系統的蜜罐,財力人力物力就會大大的翻倍。
高交互性的工業控制系統蜜罐可以顯示出更大的靈活性,并具有收集有關攻擊策略,技術和程序的詳細數據的能力。但是,全尺寸測試床的成本可能會很高[44]。實際上,全尺寸系統極為罕見,其使用僅限于受控的實驗和研究,它們很少暴露于 Internet 來收集實時威脅數據。此外,通常建立測試床來模擬特定的環境,例如,電網,水處理廠或燃氣管網,并且將它們適應于各種工業控制環境通常是不可行的。單個可編程邏輯控制器的成本從幾百美元(例如,一臺歐姆龍CP1L00 設備大約 900 美元)到幾千美元(例如,一臺艾倫-布拉德利 1756-L61 系統大約 5000 美元)。采購和部署多個設備的成本限制了它們的可伸縮性(特別是作為某種可消耗的蜜罐)。例如,部署一個由 30 個 L61 可編程邏輯控制器組成的可靠的、可設定目標的蜜罐的成本,僅初始硬件就超過 16.5 萬美元。
3.3 本章小結
本章對虛擬網絡技術和蜜罐技術進行了深入研究。對虛擬網絡技術的研究, 總結其特點與優勢,然后重點介紹了 Mininet 網絡仿真器。對蜜罐的研究,通過其與其他安全概念的比較,可以發現蜜罐技術的主動防御機制在網絡安全領域有著明顯的優勢和研究價值,但是蜜罐技術在工業控制領域的應用存在著低交互蜜罐仿真困難和高交互蜜罐部署成本高的問題。下面將設計并實現城市輸配SDACA 系統蜜網,其中將運用虛擬網絡技術來解決蜜網面臨的問題。
4工控蜜網系統設計
本文設計的蜜網系統是以北京中國科學院信息工程研究所中的城市燃氣輸配 SCADA 模擬平臺為參考模型,利用虛擬網絡技術進行實現的,主要包括網絡拓撲仿真、設備仿真、數據捕獲和運維安全管理四個部分。
4.1系統設計的思想與意義
城市燃氣輸配 SCADA 系統暴露的嚴重脆弱性,以及其在社會發展和人民生活中的重要地位,反映出對城市燃氣 SCADA 系統的安全防護迫在眉睫,傳統的防護策略例如入侵檢測、防火墻,因為自身被動防御機制不能掌握攻擊者入侵后的攻擊行為,面對如今攻防不對等的惡劣網絡環境,這些策略并不能完全勝任防御工作,只有更好地研究攻擊,才能做到更強的防御,中國科學院科學院信息工程研究所已經設計并實現城市燃氣 SCADA 系統模擬平臺,該平臺負責漏洞測試和攻防演練,為了進一步研究新的攻擊以及了解 SCADA 系統面臨的外在威脅,需要實現一個入侵誘捕系統,但是將測試平臺直接暴露在外網捕獲數據, 一旦被攻陷,會帶來嚴重的經濟損失,因此本文提出利用蜜罐技術實現入侵誘捕。
利用蜜罐技術仿真單個工控設備,如 PLC 的蜜罐系統容易被攻擊者識別, 無法對復雜的攻擊方式進行誘捕,例如中間人攻擊。因此為了能欺騙攻擊者, 需要仿真 SCADA 系統的網絡拓撲、設備、協議以及業務流程,實現一個高仿真的蜜網系統。另一方面,蜜網的成本也是一個主要的考慮因素,要想實現更真實的蜜網注定需要花費更多的成本,即使采用一個個服務器或者虛擬機搭建網絡進行仿真,在開發、部署、維護和操作中也會消耗大量的人力成本。
為了解決這一的問題,本文采用虛擬網絡技術設計蜜網系統,將工業控制系統的網絡和設備虛擬化,通過定制化配置,并集中到一臺主機上,從而使蜜網系統達到高仿真、易部署和低成本的目的。
4.2攻擊者模型
本文設計的工控蜜網系統會受到一個重要因素的支配,即蜜網的真實度。蜜
網要求真實度吸引感興趣的攻擊者。特別是,如果蜜網的真實性較低,更有經驗的攻擊者可能會更快地認識到他們正在與蜜網交互。
燃氣輸送 SCADA 系統測試平臺為工控蜜網系統的實現提供了控制設備、控制邏輯、控制網絡、通信協議等方面的支持,需要虛擬網絡和設備可以通過真實的 SCADA 平臺做定制化仿真。但是仿真整個 SCADA 系統是不可能的,為了盡可能提高系統的真實度以及誘捕能力,本文從攻擊者的角度,根據第二章總結的攻擊方式,設計了工控攻擊中普遍存在的一種攻擊者模型,如圖 4.1 所示, 為系統的架構和功能設計提供參考。
圖 4.1 攻擊者模型
假設攻擊者通過互聯網到達蜜網,例如,使用通用搜索引擎(如 Google)或更具針對性的搜索引擎(如 Shodan)查找蜜網的面向互聯網的設備。一旦連接到 ICS 內部網絡,攻擊者就可以使用 nmap 和xprobe2 等工具掃描目標 ICS 系統。因此,攻擊者能夠獲得基本系統信息,例如設備數量、IP 地址、端口狀態以及工業協議的類型。然后攻擊者通過互聯網探測到的信息連接到蜜網,攻擊者會發現易受攻擊的工控設備,并與該設備進行交互。
假設攻擊者具有關于公開文檔的工業協議的基本知識,以及關于無公開文檔的工業協議(例如 Modbus)的廣泛知識,也可能熟悉底層物理過程和控制邏輯。他們可能與物理進程交互,會嘗試修改設備運行狀態,控制程序,控制變量等, 甚至可能會發送格式錯誤的數據包和未經授權的命令,執行中間人攻擊,并嘗試導致蜜網拒絕服務。
根據攻擊者模型,燃氣輸送 SCADA 系統平臺的仿真在真實度方面給出了具體的功能指標,分為網絡指標和物理指標,如表 4.1,4.2 所示。
28
表 4.1 系統設計的網絡指標
網絡指標 具體說明
網絡參數 IP、MAC 和網絡掩碼地址與實際系統相同基礎設施 網絡拓撲與實際系統完全匹配
鏈路整形 平均丟包、延遲和帶寬可以設置為實際系統中的可比值 協議 蜜網中設備之間的通信使用符合標準的工業實現和通用協議
高級流量屬性 與真實系統完全匹配消息序列
表 4.2 系統設計的物理指標
物理指標 具體說明
設備信息 與真實PLC 相同的設備信息
物理過程 物理過程使用燃氣輸送過程高級過程 模擬快速狀態變化
4.3系統網絡架構
根據攻擊者模型的規定,攻擊者來自互聯網,他可以使用他在攻擊偵察階段可能發現的易受攻擊的接口訪問虛假的 ICS 內部網絡,所以本系統在易受攻擊的網關設備上設置了弱憑證以吸引試圖連接到內部網絡 ICS 設備上的攻擊者。為了重現與城市燃氣輸配 SCADA 平臺相同的網絡拓撲,相同數量的主機,地址和鏈路特性,采用虛擬網絡技術模擬了交換機、2 個 PLC 以及鏈路特性。本文設計的蜜網是基于服務器的,它必須暴露真實的服務,因此本文利用蜜罐技術模擬了 SCADA 平臺中的 S7comm 服務、Modbus 服務和 HTTP 服務,并監聽它們的標準端口。如圖 4.2 所示。
圖 4.2 蜜網系統的總體架構
圖 4.3 蜜網框架與真實SCADA 平臺網絡框架的比較
圖 4.3 顯示了蜜網架構與真實 SCADA 平臺網絡架構之間的比較。蜜網系統用虛線表示,以強調本文設計的蜜網系統與真實 SCADA 網絡物理分離的事實。相比之下,傳統的蜜網使用未分配的 IP 地址部署在內部網絡中,并且它們與真實系統的分離是邏輯上的,通常通過防火墻、路由器或 ARP 代理。蜜網和真實ICS 之間的物理隔離提供了額外的安全層,這意味著獲得權限訪問蜜網的攻擊者不會連接到真實的網絡,而是連接到虛擬化的模擬副本。
4.4系統功能架構
為了實現 4.1 中提出的網絡指標和物理指標,本系統結合傳統蜜網系統的結構和城市燃氣輸配 SCADA 系統架構,將蜜網系統分為三個模塊進行模塊化設計,圖 4.4 分模塊展示了工控蜜網系統的功能架構,三個子模塊分別為:仿真模塊,數據采集模塊和運維安全模塊。
圖 4.4 系統功能模塊框架
仿真模塊是核心模塊,該模塊分為網絡層、協議層以及可視化這 3 個層面進行仿真。
在網絡層利用虛擬網絡技術實現兩層網絡結構,創建 3 個節點,分別代表西門子 PLC、施耐德 PLC 和一個 HMI,并給它們設置了與真實設備一樣的網絡參數,并根據真實系統設置了平均丟包、延遲和帶寬。使得虛擬的網絡拓撲與真實的網絡看上去完全相同,極大的提高了蜜網系統的真實度。整個 SCADA 系統被集中在一臺主機上,在很大程度上方便了開發和部署的過程,使本文設計的蜜網相比其他蜜網系統具有更低的成本;
在協議層利用蜜罐技術仿真了 PLC 設備的設備信息和網絡服務,實現了系統的交互能力,此外協議層還設置了日志功能,以記錄攻擊者在與虛擬設備交互時產生的攻擊數據。
可視化層通過仿真Web 服務器模擬了城市燃氣輸配SCADA 平臺中的HMI。通過業務場景展示增強了蜜網系統的真實性,同時 HMI 的仿真為攻擊者提供了新的入侵途徑,使蜜網實現對復雜的攻擊行為的捕獲。
在數據采集與存儲模塊中,通過生成攻擊會話流日志的方式記錄攻擊者的數據,在仿真的每一個設備中都添加了日志記錄模塊,這些日志采用統一的格式, 以文本形式保存,為以后的分析奠定基礎;運維安全模塊通過防火墻和入侵檢測技術,防止蜜網被作為僵尸網絡攻擊第三方。此外該模塊還起著保障安全運行系統程序并對其他兩個模塊的交互進行維護和管理的功能。
4.5本章小結
面對工業控制系統嚴峻的網絡安全問題,以及蜜罐技術在工控系統中應用存在的困難,本章以城市燃氣輸配 SCADA 系統為參考設計了工控蜜網系統,并通過假設攻擊者模型對工控蜜網系統進行了總體架構設計。為了體現工控蜜網系統的真實度,本章從網絡和物理兩個方面列出了功能指標,并將系統功能分模塊化設計。
5工控蜜網系統實現
5.1仿真模塊實現
仿真模塊的主要功能是模擬燃氣輸送 SCADA 平臺的網絡、設備、服務以及場景,本部分主要分為網絡拓撲層、協議層和可視化仿真。網路拓撲層主要是對 SCADA 平臺的網絡設備和網絡拓撲進行仿真;協議層仿真主要是對外界的連接請求,端口掃描等操作進行簡單的響應仿真;可視化仿真是對測試平臺的人機交互界面和對場景的仿真。
圖 5.1 是該模塊內部的邏輯關系,從網絡層到可視化層的攻擊行為是層層遞進的,攻擊者從簡單是試探到試圖控制或破壞工業流程,本文設計的工控蜜網分層實現,可以反應該蜜網系統的交互程度不斷提升。下面將分別介紹子模塊的實現。
圖 5.1 設備運行仿真模塊
5.1.1網絡層仿真
5.1.1.1網絡拓撲仿真
網絡拓撲仿真是工控蜜網系統的基礎,傳統的網絡拓撲仿真一般通過連接工控機或者虛擬機實現,本文對于網絡拓撲仿真,使用網絡仿真工具 Mininet。Mininet 稱為基于容器的虛擬化,使用 Linux 內核的底層功能即網絡命名空間和虛擬以太網鏈路 veth,來進程子集的隔離,也就是虛擬主機之間的隔離。每個進程集合稱為容器,并且它們具有完整的網絡堆棧,例如 IP,ARP 和路由表。每個容器接口通過 veth 連接到軟件交換機的虛擬接口。
Mininet 能夠通過 Python 腳本快速地創建、定制一個虛擬網絡,包括網絡拓撲、主機和交換機,通過腳本在 Linux 網絡命名空間中創建一個交換機和 3 和節點,分別代表西門子 PLC、施耐德 PLC 和 HMI,并對它們的 IP 地址、物理地址、子網掩碼進行了配置。
鏈接整形功能是使用另一個底層 Linux 內核功能實現的。它允許監視和操縱每個活動網絡接口的網絡流量控制設置。實際上,很容易使用對蜜網中的每個容器設置自定義帶寬,延遲和數據包丟失。通過對真實 SCADA 系統的發包測試, 為蜜網系統設置了相同的參數。
5.1.1.2網關的設置
網關設備在 ICS 控制網絡中用于轉換工業協議, 例如從 Modbus 到
Modbus/TCP 的來回轉換,并擴展整個 ICS 的設備間通信能力(類似于 NAT)。目標硬件平臺是 Moxa OnCell IP 網關,它能夠使用不同的技術通過以太網連
接到 SCADA 平臺,例如:GPRS,EDGE,UMTS 和 HSDPA。目標設備有兩個配置端口打開:一個 telnet 服務器正在偵聽端口 23,一個 ssh 服務器正在偵聽端口 22。ssh 服務配置了弱憑據:用戶名是 admin,密碼是 admin。telnet 服務配置了基于純文本的未加密身份驗證,具有與 ssh 服務器相同的弱憑據。在這樣的配置下,攻擊者能夠在網關設備上獲得命令 shell,該命令 shell 直接連接到 ICS 內部網絡。在網關的設置中,通過 sshd 和 telnetd 支持 ssh 和 telnet 服務器。在 ssh 的情況下,chroot jail 直接在sshd 的服務器配置文件中指定。
5.1.2協議層仿真
協議層仿真采用工控蜜罐中常用的 Conpot 實現,Conpot 為開源蜜罐,其功能強大且部署容易,在本系統中利用其仿真西門子 PLC 和施耐德 PLC 的網絡服務以及設備信息。但是 Conpot 一直存在容易被識別和交互能力低的問題。為了避免這些問題,通過對 Conpot 源碼的深度理解,修改 Conpot 模板信息和補充協議功能碼來提高 Conpot 真實度以及交互能力。下表 5.1 為 Conpot 的組成架構。
表 5.1 conpot 的組成架構
模塊名稱 信息
core 日志、協議會話管理,包括日志的配置、格式定義emulators 蜜罐服務的管理,包括服務的開啟于關回調函數處理templates 不同協議的設置文件,包括設備信息和數據段
tests 官方提供的測試模塊
utils 繼承的hpfeeds 使用模塊,查詢公網 IP 和 MSC 地址
protocols 不同協議實現的模塊
conpot.cfg Conpot 的初始配置文件
5.1.2.1Conpot 的模板修改
Conpot 之所以容易被識別成蜜罐,有一個很重要的原因是 Conpot 仿真的設備信息固定,例如用 Conpot 默認的西門子 PLC 的設備型號是 SIMATIC 200。Conpot 將不同協議的設備信息儲存在 templates,當 PLC 收到讀取設備信息的數據包時,協議交互程序會調用模板文件中的信息做返回包。所以按照真實的設備信息修改模板文件,可以增強蜜罐的真實度。下表 5.2,5.3 是真實 PLC 的模板信息說明。
表 5.2 西門子PLC 的設備信息說明
設備信息 具體型號 說明
System name Copyright
Id SIMATIC 300
Original simens equipment S Q-DNU03512203 設備的名稱廠商的版權
設備的序列號
Module
Module_type 6ES7 313-5BG04-0AB0
CPU 315-2DP 設備固件信息
設備的CPU 信息
表 5.3 施耐德PLC 的設備信息說明
設備信息 具體型號 說明
Vendor name Network Module
CPU Module Schneider Electric BMX P34 2020
BMX P34 2020 設備的名稱網絡模塊型號
CPU 模塊型號
Firmware
Memory Card V2.8
BMXRMS008MP 設備固件版本
儲存卡信息
5.1.2.2Conpot 中 S7 協議的改進
蜜罐對特定協議功能碼的實現反映了蜜罐的交互能力,Conpot 在實現協議交互時只完成了基本的解包發包,以及部分功能碼。相對 S7comm 協議的功能碼實現情況,Conpot 對于 Modbus 協議的實現較為完整。因此本文主要介紹對Scomm 協議的改進。
Conpot 實現 S7comm 協議服務的交互程序放在 protocols 中。其處理信息的流程主要分為以下幾步,如圖 5.2 所示:
1)S7comm 服務器從 conpot 獲取執行流,與客戶端建立連接。然后,進入會話處理流程,開始循環接收數據包,為客戶端提供服務。
2)S7comm 服務器會接收握手信息的前四個字節,如果接收的數據為空, S7comm 服務器會結束本次會話;否則,會接收握手信息的剩余信息。然后, S7comm 服務器會解析包頭,提取出 length 參數,用于判定是否是非法的 S7comm 數據包請求。
3)S7comm 服務器完成第一次握手,建立 ISO_TP 連接。ISO_TP 握手信息的標識 tpdu_type 參數值為 0xe0,只有通過本次握手,ISO_TP 連接才能建立起來。
4)S7comm 服務器完成第二次握手,建立 S7comm 連接。S7comm 握手信息的標識 tpdu_type 參數值為 0xf0,只有通過本次握手,S7comm 連接才能建立起來。
5)S7comm 服務器開始第三次握手,開始接收 S7comm 的數據循環。服務器解析 TPKT 和 COTP 層數據,當請求數據的 tpdu_type 參數值為 0xf0 時,表明該 PDU 是通信數據(而非握手信息),S7comm 會解析此數據并據此生成響應數
據包,然后,將響應數據包發送給客戶端,完成第三次握手。最后,S7comm 服務器會準備接收本次會話的下一個數據包。
S7comm 服務器具備完整的信息交互機能,通過扮演 PLC 設備的角色來取信于外界攻擊者。除此之外,S7comm 服務器還集成了日志記錄功能,研究者可以通過分析日志來獲取攻擊者信息、研究攻擊模式、提升防護能力。
圖 5.2 conpot 處理數據包流程圖
Conpot 實現交互是通過判斷功能碼來決定返回包數據,當監聽的端口收到請求包時,對應的服務線程開始運行,程序按照標準的協議格式進行解析,解析出功能碼后,調用對應功能碼函數,返回的數據段信息,然后返回主程序做返回包,最后通過 Socket 發送。所以對 S7comm 協議功能的開發,就是如何生成數據段的問題,但是 S7comm 為私有協議,并沒有相關的材料對數據段有明確的解析文檔。本文采用協議逆向的方法完成 S7comm 協議仿真的改進,如下圖
5.3 所示,首先利用 PLCSCAC 腳本和/Snp7 客戶端同時向 Conpot 和真實設備發送 Conpot 未實現的功能碼數據包。然后對它們的返回包對比分析,將真實的數據段信息寫入 Conpot 的功能碼函數中。
圖 5.3 S7comm 協議改進過程
改進后 S7 協議實現的功能碼情況如下圖 5.4 所示:
圖 5.4 S7comm 協議實現功能碼
5.1.3可視化仿真
可視化仿真是模擬城市燃氣輸配SCADA 平臺中HMI 開啟的遠程Web 服務, 仿真 HMI 采用 python Web 框架,仿真了登錄頁面和業務流程監控頁面。登錄頁面設置了弱口令以吸引攻擊者,為攻擊者提供了新的入侵途徑。
業務流程監控簡單模擬城市燃氣 SCADA 系統的業務流程,極大提高了蜜網系統的真實性。圖 5.5 為城市燃氣輸配 SCADA 系統的業務流程。HMI 的業務流程監控頁面根據該流程設計,其中涉及到高壓進氣壓力、出口壓力、氣體溫度, 中壓進口壓力、出口壓力、氣體溫度 6 個參數,為了實現參數的實時顯示,采用了長時間記錄,然后在頁面重放的辦法。
38
圖 5.5 城市燃氣輸配SCADA 系統業務流程
仿真 HMI 設置了日志功能,能夠記錄攻擊者連接、登錄和查看頁面的行為數據,所以仿真的 HMI 也是一個蜜罐系統。下圖 5.6 為實現 HMI 的系統組成架構。
圖 5.6 HMI 系統的組成架構
5.2運維安全模塊
運維安全模塊是蜜網的核心功能之一。蜜網部署在公網后,由于允許所有訪問者進入蜜網,就面臨隨時被攻陷的危險,蜜網作為網絡攻擊者的攻擊目標, 若被攻破將得不到任何有價值的信息,還可能被入侵者利用的僵尸網絡。
網橋工作在數據鏈路層,路由不會發生跳轉,經過網關的流量的 TTL 值也不會增加,因此攻擊者察覺不到網關的存在。但是網關不會主動限制所有訪問蜜網的流量,為了避免攻擊者將蜜網作為僵尸網絡去攻擊其他主機,就一定要控制從蜜網向外發出的連接,抑制攻擊包和控制向外連接數,如圖 5.7 所示。
圖 5.7 運維安全設計架構
5.2.1向外連接數控制實現
向外連接數控制由防火墻實現。防火墻可以利用規則設置連接的數量。IPtables 防火墻為封包過濾式防火墻,可以實現規則的增刪改查。防火墻遵循這些規則過濾流量,在 Linux 內核中執行這個操作的是一個防火墻框架—netfilter。信息包過濾表是存儲這些規則的一個文件,在表中規則被分組放在鏈中,而表集成在 Linux 內核中,在部署防火墻時需要編寫過濾規則,圖 5.8 是 IPtables 的配置文件。
圖 5.8 IPtables 的配置文件
IPtables 的作用有兩個,既要進行數據捕獲也要對第三方實施保護,有效的
控制蜜網的對外連接,這樣才降低整個系統的風險。
5.2.2抑制攻擊包實現
攻擊包抑制由入侵檢測系統 Snort 實現,Snort 有三種工作模式:嗅探器、數據包記錄器、網絡入侵檢測系統。本系統要求 Snort 工作在 NIDS 模式,即網絡入侵檢測模式。采用如下命令實現:
c:snort\bin\snort -dev -l c:\snort\log -h 192.168.200.0/24 -c c:\snort\etc\snort.conf
圖 5.9 Snort 的工作流程
Snort 網絡入侵檢測模式也是利用規則進行過濾,而且規則是可配置的。snort 分析網絡數據流以匹配用戶定義的一些規則,并根據檢測結果采取一定的動作。Snort.conf 是規則集文件。Snort 會對每個包和規則集進行匹配,發現這樣的包就采取相應的行動[52],抑制流量并告警,同時生成告警日志(如圖 5.9)。
應用 Snort 最關鍵的就是規則的編寫,一條規則包含處理動作、協議、方向、注意的端口這 4 個信息[51]。下面是一條 snort 規則。
Alert tcp any any ->192.168.1.0/24 145 (content:”|00 01 86 a5|”;msg:”mountd access”;)
該規則的意思是對所有目標地址為 192.168.1.0/24 數據包進行規則匹配,先
轉換為 16 進制再與 00 01 86 a5 匹配,匹配成功就會告警并產生日志信息。
5.3數據捕獲模塊
圖 5.10 為數據捕獲模塊實現的架構。該模塊涉及不同類型的數據獲取,這取決于蜜網內的攻擊者活動。對于易受攻擊的網關設備,即為攻擊者提供shell, 使用標準的 shell 日志記錄技術:日志文件存儲一組記錄,每條記錄包含時間戳, 用戶名和發出的命令。對于與工控設備的交互,及與 Conpot 的交互,Conpot 自身有 log 模塊會將攻擊行為記錄為日志形式。對于 HMI 的攻擊數據,也是仿照Conpot 日志的結構,將數據以文本形式儲存。運維安全模塊用到的 IPTables 和Snort 也有數據捕獲的功能,它們自帶了運行日志和告警日志。這些日志文件會定期轉移到蜜網外部,從而可以對蜜網數據作離線分析。
圖 5.10 數據捕獲實現架構
5.4本章小結
本章按上一章設計的功能模塊逐個實現,主要介紹了仿真模塊,利用 Mininet 模擬了真實的網絡拓撲和設備,并對網關,帶寬,延遲和數據包丟失進行了定制化設計;運用 Conpot 實現協議層的交互,由于 Conpot 蜜罐的缺陷,改進了Conpot 對于設備信息,S7comm 以及 Modbus 協議的實現;利用 python Web 框架實現對 HMI 的仿真,模擬了 SCADA 系統的業務流程和 Web 服務,這極大的提高了蜜網系統的真實性,也為攻擊者提供了又一種攻擊途徑。
6系統部署與測試
在完成工控蜜網系統的實現后,還需要對系統進行部署和測試,首先將系統部署在一臺工控機上,通過模擬偵察掃描攻擊進行測試,完成測試后只需要將工控機連接到外網的交換機下,即可開始進行數據捕獲。
6.1蜜網系統部署
工控蜜網系統的部署僅需要一臺具有 2 網卡且操作系統為 Linux 的工控機。如果是真實網絡至少需要 4 臺工控機才能搭建網絡。這一點也體現了運用虛擬網絡技術降低成本的優勢,此外蜜網系統在部署也設計的十分容易,本節主要介紹城市燃氣 SCADA 蜜網網絡相關的部署。
6.1.1網絡拓撲部署
利用Mininet 提供的API 來創建一個兩層網絡,一個交換機和 3 個網路節點, 分別命名為 PLC1、PLC2 和 HMI,他們都與交換機建立連接。圖 6.1 為 Mininet 完成網絡搭建的系統展示圖。
圖 6.1 Mininet 完成網絡搭建的系統展示圖
6.1.2配置網橋
網卡 eth0 使工控機與外網連接,為了能使虛擬網絡能連接到外網,需要把
eth1 網卡閑置,作為虛擬網絡連接外網的網關。利用命令:sudo ifconfig eth1 0.0.0.0,把 eth1 的 IP 設置為:0.0.0.0,這樣這個閑置的網卡資源就可以被用來橋接到 Mininet 網絡中的交換機上。圖 6.2 為網絡環境部署完成后,工控蜜網系統的網絡拓撲圖。
圖 6.2 工控蜜網系統網絡拓撲圖
6.2系統功能測試
根據第四章設計的攻擊者模型,本文采用了偵察掃描攻擊手段對蜜網系統進行功能測試。
偵察攻擊是攻擊者用來在破壞性活動發生之前獲取控制系統信息的一類攻擊。實現的偵察攻擊之一是地址掃描。在實現的地址掃描攻擊中,攻擊者將向從 1 到 255 的每個設備發送一個請求,請求讀取特定的持有寄存器。如果設備響應,攻擊者知道在那個地址存在一個設備。
圖 6.3 nmap 掃描結果
通過 nmap 命令: nmap -sP 10.0.0.0/40 掃描蜜網系統的整個網段,得到的結果如圖 6.3 所示。蜜網系統中虛擬節點都按要求向外暴露,10.0.0.10 和 10.0.0.20 為仿真的西門子 PLC 和施耐德 PLC,10.0.0.30 為仿真的 HMI,偵察掃描結果表明本蜜網系統實現了城市燃氣 SCADA 平臺網絡拓撲在一臺主機上的仿真。很大程度節約了部署的成本和復雜度。
獲取設備的 IP 后,發現 502 端口打開,即 Modbus 服務處于開啟狀態,接著利用nmap 探測工控設備modbus 的腳本對施耐德PLC 發送請求設備信息的指令, nmap --script modicon-info.nse -p 502 10.0.0.20,nmap 掃描設備的過程實際是與設備交互的過程,nmap 首先與設備建立連接,然后通過功能碼讀取設備信息。從圖 6.4 和 6.5 可以看出工控蜜網仿真的硬件設備信息與真實 PLC 完全相同。圖中不同點是 PLC 中存放的工程項目的相關信息。
圖 6.4 真實設備響應的設備信息
圖 6.5 工控蜜網響應的設備信息
仿真的西門子PLC 對102 端口掃描,同樣利用nmap 給10.0.0.10 發送S7comm 協議讀取設備信息的探測數據包,返回的設備信息與真實的設備信息相同,利用抓包工具 wireshark,抓取 nmap 發送的讀取設備信息的數據包經過協議解析后如下圖 6.6 所示。
圖 6.6 讀取設備信息功能碼數據包
圖中 00 功能碼為 Conpot 改進后實現的讀取設備信息功能碼,從探測的設備信息與真實信息一致,可以表明該功能碼添加成功。經完整測試,工控蜜網系統支持表 1 中列舉的全部 11 種 S7comm 功能碼。
對于 HMI 的測試,通過瀏覽器訪問 10.0.0.30:80,成功登錄后可以看到業務流程頁面,如下圖 6.7 所示。
6.3攻擊數據分析
對系統測試完成后,即可以將蜜網系統部署到外網上捕獲數據,本文截取了16 天的攻擊數據。這 16 天內,可疑攻擊數據共 146669 條,攻擊數據總量為 19.639 MB。
從日志文件中導出攻擊數據后,對其進行了離線分析。分析主要分為三個方面:IP 和端口的統計分析,操作系統的分析和攻擊序列的分析。
IP 和端口的統計分析,首先通過 IP 過濾,將時間戳,源 IP,目的 IP 完全相同的數據包進行去重,然后用統計方法,將數據源 IP 進行統計,再對蜜網支持協議的訪問量進行統計。在此基礎上,通過源 IP 與地區的聯系,進而對攻擊來源的地區進行了分析。并將分析結果利用前端展示(如圖 6.8)。工控相關數據占總攻擊數據的 0.6 %。攻擊來源國家/地區一共有 123 個,其中中國、美國、俄
羅斯、巴西、臺灣占攻擊數據總量的 63.78 %。共受到 885 條工控惡意攻擊,其中 Modbus 協議 884 條,占 78.89 %。
圖 6.8 數據分析展示圖
對于操作系統的分析,運用了萬能的被動操作系統指紋工具 p0f。p0f 對于網
絡攻擊非常有用,它利用 SYN 數據包實現操作系統被動檢測技術,能夠正確地識別目標系統類型。下圖 6.9 展示了部分經過操作系統分析后的數據。攻擊數據的數據格式包括了時間、源 IP 地址、目的 IP 地址、操作系統等等。
圖 6.9 攻擊數據展示圖
對于攻擊序列的分析。把相鄰數據包 A 和 B,如果 A 和 B 的源 IP,目的 IP, 目的端口都相同,時間戳不大于最大交互時間閾值,就把數據包 A,B 歸到一個攻擊序列。這六天提取出攻擊序列一共 13 個。表 6.1 列出了出現次數最多的一條攻擊序列。
表 6.1 蜜網攻擊數列
協議 攻擊序列 攻擊意圖 攻擊者IP 次數
Modbus 000000000005012b0e0100
000000000005f22b0e0100 診斷設備 205.205.150.10 5
本文主要側重于蜜網系統的設計與實現,對于蜜網捕捉的攻擊數據只是做了初步的分析,但是從捕獲的數據量,IP 和端口的分析以及操作系統的分析,可以看出系統能正常工作,體現了系統的實用性。通過對攻擊序列的分析,可以看出蜜網有較高的仿真度,能夠吸引攻擊者進行深層交互。
6.4本章小結
本章介紹了工控蜜網的部署過程,并通過模擬攻擊進行測試,結果表明,蜜
網系統成功仿真了燃氣輸送 SCADA 平臺,對于偵察掃描甚至中間人攻擊都能成功捕獲。其次本章對蜜網數據進行了簡單的分析這反映了本文設計的工控蜜網系統是成功的,能有效防護城市燃氣 SCADA 系統,保障其網絡安全。
7總結與展望
7.1總結
工業控制系統網絡安全是網絡安全領域的一個重要分支,為社會發展提供保障。新穎復雜的攻擊手段層出不窮,愈演愈烈。蜜罐作為一種典型的防御技術, 在網絡安全領域發揮著重要作用。為了吸引更多的工控攻擊者,及早地發現工控攻擊行為,需要在互聯網上部署一定規模的工控蜜罐,來誘捕分析工控攻擊。而單個蜜罐因仿真度和交互性有限,難以吸引和捕獲深層次的攻擊行為;蜜網部署成本高和部署條件要求高,不適合大規模部署。
深入理解城市燃氣輸配 SCADA 系統,掌握其網絡架構、硬件設備信息以及通信協議,然后從門戶網站、網絡邊界和業務系統三個方面對城市燃氣輸配SCADA 系統的安全問題進行分析,反應了城市燃氣輸配 SCADA 系統的脆弱性。接著對蜜罐技術和虛擬網絡技術進行分析研究,決定采用虛擬網絡技術構建蜜網系統,這樣解決了蜜罐仿真度問題和成本高部署難得問題。通過對攻擊方式的分類,本文假設了一種攻擊者模型,這種模型是真實且廣泛存在的,蜜網系統的框架根據攻擊者模型設計,該方式提高了蜜網的真實度和欺騙性。蜜網實現結合了城市燃氣輸送 SCADA 測試平臺的特點,模擬工業控制協議,構建虛擬網絡和設備,部署防火墻及數據采集系統。最后通過攻擊測試,證實本文設計的蜜網系統成功地仿真了城市燃氣輸送 SCADA 系統,為發現工業控制系統網絡安全潛在的威脅做出了有價值的貢獻。
7.2展望
本文設計的工控蜜網系統未來仍存在改進空間。首先,雖然應用虛擬網絡技術仿真了 SCADA 系統的網絡、設備、協議以及場景,但是對于真實的物理場景仿真僅僅是通過 HMI 頁面展示,蜜網系統無法像真實系統一樣給攻擊者響應底層的實時設備狀態??梢钥紤]用數學建?;蛘?Matlab 仿真業務場景數據,然后用 Conpot 的讀線圈操作功能碼讀取仿真數據。其次,作為蜜網系統,本文只考慮了仿真模塊,數據控制和數據捕獲,對捕獲數據暫時只能離線分析,今后的研究考慮使用在線分析方式,對蜜網捕獲的攻擊情報實時展示以及告警。最后該蜜網系統僅僅仿真了現場控制層中的 PLC 和 HMI,因為本文側重于研究與實現工業控制相關的設備與協議,為盡可能還原城市燃氣 SCADA 系統的所有入侵途徑,模擬打印機、工程師站、數據庫等的仿真也會來將來的工作中逐漸完善, 從而捕獲多類型的攻擊手段,增加攻擊者在蜜網中的損耗,為真實業務系統的防護爭取寶貴的響應時間。
參考文獻
[1] 王欽,張隺.“中國制造 2025”實施的切入點與架構[J]中州學刊,2015,(10):32~37
[2]李東.震網病毒事件淺析及工控安全防護能力提升啟示[J].網絡安全技術與應用,2019,(01):9~10
[3]趙春輝.基于工業業務的 ICS 高交互蜜罐技術研究與威脅情報分析[D].[碩士學位論文].北京:北京郵電大學,2019
[4]王劼斐.基于現場總線的多單元同步控制及系統集成[D].[碩士學位論文].上海:東華大學,2008
[5]張家翔,黃楚斌.PLC 技術在電氣設備自動化控制中的應用[J].科學技術創新,2018(27):167~168
[6]張成中.基于S7-300 PLC 的除霧器自動控制系統的設計[D].[碩士學位論文].河北唐山:華北理工大學,2018
[7]張瀚文.基于自主PLC 的監控組態軟件數據處理系統設計與實現[D].[碩士學位論文].陜西西安:西安電子科技大學,2018
[8]Microsoft Technology Licensing LLC;Patent Issued for Physical Gesture Input Configuration For Interactive Software And Video Games (USPTO 10,086, 267)[J].Electronics Business Journal,2018
[9]張偉,陳月紅.基于 OPC 技術的工業儀表與組態軟件的實時通訊[J]山東工業技術,2018(19):137~140
[10]路曉.城市燃氣SCADA 系統安全模擬平臺的設計與實現[D].[碩士學位論文].河南鄭州:鄭州大學,2017
[11]胡強,張建.現場總線技術在工業稱重儀表中的應用[J].衡器,2012,41(06):4~9
[12]沈盛陽,郭星,徐凱.基于 PROFINET 總線的S7-1500 控制器與SICK 編碼器通訊[J].鍛壓裝備與制造技術,2019,54(05):43~46
[13] 湯小康.高校校園網信息安全解決方案研究[J].軟件導刊,2014,13(07):139~140,2016(04):46~47
[14]孫向麗,袁晶.數字時代高校圖書館危機管理研究[J].科技信息,2012(34):708~709
[15]徐震,周曉軍,王利明,等.PLC 攻防關鍵技術研究進展[J].信息安全學報,2019,4(03):48~69
[16]石黎云.軟件定義網絡規劃系統研究與開發[D].[碩士學位論文].北京:北京郵電大學,2018
[17]劉力.虛實結合的虛擬網絡實驗平臺設計與實現[D].[碩士學位論文].北京:北京郵電大學,2017
[18]向宏,傅鸝,葉春曉.歐盟工控系統安全研究與舉措[J].中國信息安全,2012(03):60~61
[19]徐志成.淺談工業控制系統信息的安全研究進展[J] .技術與市場,2015,22(12):420
[20]黃容生.工業控制系統信息安全防護研究[J].網絡安全技術與應用,2020(02):93~94
[21]Spitzner L.The honeynet project:Trapping the hackers[J].IEEE Security & Privacy,2003, 1(2):15~23
[22]Litchfield S,Formby D,Rogers J,et al.Rethinking the honeypot for cyber-physical systems[J].IEEE Internet Computing,2016,20(5):9~17
[23]Lau S,Klick J,Arndt S,et al.POSTER:towards highly interactive honeypots for industrial control systems[C].Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security.2016:1823~1825
[24]諸葛建偉,韓心慧,周勇林,等.HoneyBow:一個基于高交互式蜜罐技術的惡意代碼自動捕獲器[J].通信學報,2007(12):8~13
[25]諸葛建偉,唐勇,韓心慧,等.蜜罐技術研究與應用進展[J].軟件學報,2013,24(04):
825~842
[26]徐鋼,張曉彤,黎敏等.基于統計過程控制的流程工業工藝規范制定方法[J].機械工程學報,2019,55(08):208~215
[27]朱海燕.城市燃氣 SCADA 系統調度中心的設計[J].煤氣與熱力,2014,34(04):24~27
[28]孫萍,婁國煥,趙九新.天然氣門站監控系統設計及應用[J].信息系統工程,2012(07):
80~81
[29]徐珊珊.工業控制系統輕量級數據安全傳輸的研究[D].[碩士學位論文].浙江杭州: 浙江大學,2016
[30] 周奇輝.工業控制系統網絡安全性研究[J].網絡空間安全,2016,7(06):56~59,64
[31]黃勇.面向 ICS 的異常檢測系統研究[D].[碩士學位論文].重慶:重慶理工大學,2014
[32]龍宇奕.電力系統網絡攻擊風險分析及基于數字水印的應對方法研究[D].[碩士學位論文].湖南長沙:長沙理工大學,2013
[33]L.Spitzner.The honeynet project:Trapping the hackers.IEEE Security & Privacy,2003(2): 15~23
[34]F. H. Abbasi,R. Harris.Experiences with a generation iii virtual honeynet.IEEE In Telecommunication Networks and Applications Conference (ATNAC),2009,1~6
[35]N. Provos.A virtual honeypot framework.In USENIX Security Symposium,2004,173: 13~18
[36]彭子桐.SCADA 系統在城市燃氣輸配管網中的應用[J].城市建設理論研究,2004(01):24~26
[37]叢航,孫昕,歐陽勁松.基于Modbus 協議的工業自動化網絡規范-基于串行鏈路和TCP/IP
的 Modbus 應用協議[J].儀器儀表標準化與計量,2013,(1):14~17,48
[38]潘少赟.計算機網絡安全威脅及防范策略探討[J].數字化用戶,2013,(16):115
[39]王德吉.“互聯網+”時代的“工業 4.0”信息安全探索與實踐[J].自動化博覽,2016: 9~18
[40]C. Alcaraz and J. Lopez , Analysis of requirements for critical control systems[J].International Journal of Critical Infrastructure Protection,2012,5(3-4):137~145
[41]Alcaraz,Femandedez,Carvaial. Security aspects of SCADA and DCS environments in Critical Infrastructure Protection[J]. Springer Berlin Heidelberg,2012,(7130):120~150
[42]董輝明.基于混合式蜜罐技術的蠕蟲對抗模型研究[D].[碩士學位論文].上海:上海交通大學,2011
[43]么世雄.基于 Openflow 的多租戶網絡資源感知與控制技術研究[D].[碩士學位論文].湖南長沙:國防科學技術大學,2013
[44]林秀.基于 PLC 的配料遠程控制系統設計[D].[碩士學位論文].江蘇揚州:揚州大學,2018
[45]張麗霞.綠盟科技:巨人背后的安全專家[J].金融電子化,2017(01):89~90
[46]張浩.西門子PLC 與HMI 的以太網通訊的應用[J].價值工程,2019(06):168~170
[47]崔利貞,王志明,方征,等.現代工業控制中PLC 編程方法的探究[J].工業控制計算機,2018,31(08):152~153
[48]何貞.基于PLC 的智能家居控制系統研究[D].[碩士學位論文].吉林長春:吉林建筑大學,2018
[49]馮雪徭.面向Internet 的 SDN 運行機制研究[D].[碩士學位論文].陜西西安:西安工業大學,2017
[50]賀文娟.蜜罐技術分析與蜜網設計[D].[碩士學位論文].安徽合肥:安徽大學,2011
[51]費騰,何旭莉.在Linux 系統下構建Snort 入侵檢測系統[J].油氣田地面工程,2012,31(11):72~73
[52]王建軍.Snort 在校園網關鍵子網入侵檢測中的應用[D].[碩士學位論文].山東濟南:山東大學,2011