<del id="nrp5r"><b id="nrp5r"><var id="nrp5r"></var></b></del>

<pre id="nrp5r"></pre><ruby id="nrp5r"></ruby>

    <pre id="nrp5r"></pre>

    <p id="nrp5r"></p>
    <pre id="nrp5r"><mark id="nrp5r"><thead id="nrp5r"></thead></mark></pre>

      <p id="nrp5r"></p>

        <p id="nrp5r"></p>
        <del id="nrp5r"></del>

          <del id="nrp5r"></del>

          <p id="nrp5r"><cite id="nrp5r"><progress id="nrp5r"></progress></cite></p>

            <del id="nrp5r"></del>
              歡迎您訪問工業控制系統信息安全產業聯盟網!
              官方微信
              用戶名:
              密碼:
              登錄 注冊
              工業控制系統安全分析及滲透測試經驗分享

              點擊數:2838 發布時間:2021-01-28 17:13

              工業控制系統是承載國家經濟發展的重要基礎設施,隨著信息化和工業化的深度融合,工業控制系統信息安全形勢日益嚴峻。工控系統滲透測試作為一種了解工業控制系統安全情況的重要手段,受到越來越多的關注。本文以工業控制系統安全分析為出發點,從工控資產、工控協議、工控漏洞等方面,分析工控安全現狀,分享滲透測試經驗。
              1 引言
              隨著信息化和工業化的深度融合,信息安全威脅逐漸向工業領域蔓延,工業控制系統信息安全形勢日益嚴峻。如今的工業控制系統在控制規模、控制技術和信息共享方面都有巨大的變化,由最初簡單控制的封閉系統發展成現在復雜或者先進控制的開放系統,針對工業控制系統的網絡攻擊事件日益增多,工業控制系統正面臨前所未有的網絡安全威脅。工控系統滲透測試作為一種了解工業控制系統安全威脅的重要手段,受到越來越多人的關注。本文以工業控制系統安全分析為出發點,從工控資產、工控協議、工控漏洞、漏洞利用、風險驗證和攻擊方法等方面,多角度分析工控安全現狀,分享滲透測試經驗。

              2 工控資產指紋提取及網絡發現

              2.1 工控資產識別

              Shodan是目前最流行的網絡空間搜索引擎,它掃描HTTP,FTP,SSH,Telnet,SNMPand SIP等協議,通過分析客戶端與服務端交互過程中的信息,識別全網設備。利用Shodan使用特定的語法即可搜索出海量的物聯網設備、攝像頭、路由器、打印機、SCADA系統、PLC等。還可以用端口掃描工具Nmap。Nmap,即NetworkMapper,是一款開源免費的網絡發現(NetworkDiscovery)和安全審計(Security Auditing)工具。Nmap最初是由Fyodor在1997年開始創建的。隨后在開源社區眾多的志愿者參與下,該工具逐漸成為非常受歡迎的安全必備工具之一。此外,還可以用網絡嗅探工具wireshark抓取并分析工業協議。

              2.2 工控資產指紋提取

              ICT,即信息與通信技術(informationandcommunicationstechnology)。在該領域,指紋識別是一種使用不同信息來描述網絡上運行的設備或軟件的技術,大多用于遠程識別設備的硬件、操作系統、正在運行的軟件和其他信息。ICT技術已被廣泛用于指紋識別系統。攻擊者掃描網絡獲取設備指紋來關聯漏洞入侵系統,而防御者則使用設備指紋來發現系統漏洞并檢測系統網絡異常。在工業控制系統(ICS)中,指紋識別技術還用于查找ICS系統中的漏洞并檢測攻擊行為。

              指紋提取有主動和被動兩種方法。主動指紋提取需要工具主動掃描網絡系統以獲得信息。主動掃描識別是指收集生成指紋所需的所有信息,但是主動識別不是在任何時候都起作用,主動掃描更有可能使網絡繁忙并且容易被檢測出來。

              由于被動識別方法對ICS的干擾小且自動化程度高,在工業控制領域更容易被接受。研究人員還加大了對被動識別的投入。雖然有一些成熟的基于TCP /IP協議棧的被動識別工具,但是為了避免干擾正常的工業生產,研究人員更傾向于使用網絡流量特征分析方法。就目前的研究環境而言,基于網絡流量特征的被動識別方法在通用性和準確性方面還有待提高。

              3 工控協議分析及模糊測試

              3.1 Modbus協議

              Modbus常見的類型包括:ASCII、RTU、TCP標準的Modicon控制器使用RS232C實現串行的Modbus。Modbus的ASCII、RTU協議規定了消息、數據的結構、命令和就答的方式,數據通訊采用Master/Slave方式,Master端發出數據請求消息,Slave端接收到正確消息后就可以發送數據到Master端以響應請求;Master端也可以直接發消息修改Slave端的數據,實現雙向讀寫。Modbus是一種應用層協議,它定義了與基礎網絡無關的數據單元(ADU),可以在以太網(TCP/IP)或串行鏈路上(RS232、RS485等)進行通信(以太網ADU和串行ADU略有不同)。在串行鏈路的主從通信中,Modbus主設備可以連接一個或N(最大為247)個從設備,主從設備之間的通信包括單播模式和廣播模式。

              3.2 S7協議

              西門子設備使用多種不同現場總線協議,例如:MPI、Profibus、IE、Profinet等。Profinet用于將PLC連接到I/O模塊,而不是設備的管理協議。S7以太網通信協議,主要用于將PLC連接到PC站(PG/PC - PLC 通信)。

              S7通信支持兩種方式,一是基于客戶端(Client)/服務器(Server)的單邊通信,二是基于伙伴(Partner)/伙伴(Partner)的雙邊通信。客戶端(Client)/服務器(Server)模式是最常用的通信方式,也稱作S7單邊通信。在該模式中,只需要在客戶端一側進行配置和編程;服務器一側只需要準備好需要被訪問的數據,不需要任何編程(服務器的“服務”功能是硬件提供的,不需要用戶軟件的任何設置)。在S7通信中客戶端是是資源的索取者,而服務器則是資源的提供者。服務器(Server)通常是S7-PLC的CPU,它的資源就是其內部的變量/數據等。客戶端通過S7通信協議,對服務器的數據進行讀取或寫入的操作。

              3.3 工業協議模糊測試

              模糊測試(Fuzzing)的定義:向目標系統提供非預期的輸入并監視異常結果來發現軟件漏洞的方法。工控協議模糊測試思想如圖1所示,模糊測試方法如圖2所示。

              圖1 工控協議Fuzzing思想


              圖2 模糊測試方法分類

              工業控制網絡協議的模糊測試通過構造畸形數據包,并將畸形數據包發送給被測工控目標,從而測試工業控制網絡協議的安全性。流程圖如圖3所示。

              圖3 工業控制網絡協議安全分析方法流程圖

              4 PLC常見漏洞挖掘方法

              1)端口動態測試

              首先,使用Nmap進行端口掃描,確定端口服務。其次,開始端口動態測試-FTP:使用自己常用的TOP字典對服務進行弱口令嘗試。部分工控廠商會使用自己的公司名、協議、官網地址等作為ICS設備的密碼。最后,進行端口動態測試-Telnet:在獲取到Telnet密碼信息后,結合剛才獲取的FTP賬號信息,提取RTU設備固件信息,進行RTU固件設備分析。

              (2)通信協議重放攻擊

              重放攻擊(Replay Attacks)又稱重播攻擊、回放攻擊,是指攻擊者發送一個目的主機已接收過的包,來達到欺騙系統的目的,主要用于身份認證過程,破壞認證的正確性。重放攻擊可以由發起者,也可以由攔截并重發該數據的敵方進行。攻擊者利用網絡監聽或者其他方式盜取認證憑據,之后再把它重新發給認證服務器。

              針對工控軟硬件協議重放關注重點:數據寫入命令(Write Var)、程序塊的刪除與下載(Download/Delet Block)、CPU停止與冷熱啟動(PLC Control)、數據恢復出廠設置(PLCControl)。重放攻擊成功與否在于是否存在時序、是否有校驗、是否有加密。

              (3)工控協議模糊測試

              工控協議模糊測試的目的是測試工業控制網絡協議實現的健壯性,它是采用構造畸形數據包,將畸形數據包發送給被測工控目標,從而測試被測工業控制網絡協議的安全性,是尋找服務端漏洞和遠程利用漏洞的必要手段,也是挖掘PLC、SCADA漏洞的必要手段。

              4)文件格式模糊測試

              文件格式模糊測試是針對文件處理軟件進行模糊安全測試,根據處理文件類型,文件處理軟件被區分為:圖文處理軟件——Microsoft Office、媒體處理軟件——音樂視頻播放軟件、其它文件處理型軟件——專用文件處理軟件如WinRAR。無論哪種類型的文件處理軟件,都將軟件處理的文件類型稱為文檔文件,即待處理的文件。例如:Word程序處理的文檔文件就是doc類型的文件,doc文檔中包含各種各樣的文字或者圖片信息。它是尋找本地利用漏洞的必要手段。

              文檔文件在保存數據信息時,往往采用特殊的編碼格式,這些編碼格式一般都采用非文本形式,即文檔保存的數據不是明文格式,以doc文檔文件為例,用記事本打開一個doc文檔,會發現全部是亂碼。

              (5)文件劫持——DLL劫持

              通常當一個可執行文件運行時,加載器將可執行模塊映射到進程的地址空間中,加載器分析可執行模塊的輸入表,并設法找出任何需要的DLL,將它們映射到進程的地址空間中。由于輸入表中只包含DLL名而沒有它的路徑名,因此加載程序必須在磁盤上搜索DLL文件。首先會嘗試從當前程序所在的目錄加載DLL,如果未找到,則在Windows系統目錄中查找,最后是在環境變量中列出的各個目錄下查找。利用這個特點,先偽造一個系統同名的DLL,提供同樣的輸出表,每個輸出函數轉向真正的系統DLL。程序調用系統DLL時會先調用當前目錄下偽造的DLL,完成相關功能后,再跳到系統DLL同名函數里執行。這個過程形象地描述就是系統DLL被“劫持”了。

              5 漏洞利用腳本編寫

              編程語言可選用Python,Python是一種解釋型的、面向對象的、帶有動態語義的高級程序設計語言。

              在IDE方面可選擇PyCharm。它是一種PythonIDE,帶有一整套可以幫助用戶在使用Python語言開發時提高效率的工具,比如調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。此外,該IDE提供了一些高級功能,以支持Django框架下的專業Web開發。

              通訊庫可選擇低級別的網絡服務支持基本的Socket,它提供了標準的BSD Sockets API,可以訪問底層操作系統Socket接口的全部方法。圖4為程序實現S7通信,圖5為Pyshark分析流量。

              圖4 程序實現S7通訊


              圖5 Pyshark分析流量

              6 工業網絡風險驗證以及工業控制系統安全攻防技巧

              6.1 風險驗證

              風險驗證工具分為五個類別:信息收集工具如Shodan、Zmap、Nmap;安全測試工具如系統漏洞評估Nessus/OpenVAS、Web漏洞評估AWVS、開源模糊測試框架Peach Fuzzer;安全分析工具Wireshark;漏洞利用工具如滲透測試框架Metasploit Framework;其他工具如TCP/UDP調試工具、TCP/UDP數據包發送工具、Hping-TCP/IP數據包生成工具等。

              那么如何使用這些工具?比如在信息收集中,利用Shodan使用特定的語法即可搜索出海量的物聯網設備、攝像頭、路由器、打印機、SCADA系統、PLC等。Shodan主要收集Web服務器以及FTP、SSH、Telnet、SNMP、IMAP、SIP、實時流協議等常見應用服務超過300個TCP/UDP網絡端口的服務Banner標識,使用者通過匹配端口和服務的特征關鍵字即可搜索到和特征相似的全球聯網設備。

              在什么情況下會用ZMap?當在172.16.0.0/16,192.168.0.0/16,甚至是10.0.0.0/8這種較大規模網絡進行安全評估時,使用Nmap的速率將極大降低測試效率,使用ZMap將可以快速在大中規模網絡環境內評估指定工控端口的開放情況。

              其他工具的使用也同樣需要因事制宜,靈活運用。

              6.2 測試方法思路

              在工業控制系統中,滲透測試主要分為以下幾步:滲透應用業務系統、內網整體資產搜集、內網Web服務滲透攻擊、內網工控系統識別、內網工控系統風險分析、內網工控系統權限獲取。如圖6所示。

              圖6 工控滲透測試流程

              6.3 防護手段 

              (1)《工業控制系統信息安全防護指南》中涉及的防護技術

              指南中涉及的技術大致可分為四個方面:主機安全防護技術、網絡安全防護技術、設備安全防護技術、數據安全防護技術。如表1所示。

              表1 《指南》中涉及的防護技術

              (2)主機安全防護

              在主機安全防護中,主要防護思想是:通過工業主機的安全防護,做好安全配置,避免主機權限被輕易獲取、不必要的端口被用于傳輸惡意程序或指令、高危漏洞被利用等安全風險;做好安全防護設備的應用,避免未授權的程序或服務運行、未授權的外接設備帶入惡意程序。
              (3)網絡安全防護
              在網絡安全防護中,主要防護思想是:通過互聯網、管理網和生產網的安全防護,做好安全配置,避免生產網絡完成互聯互通、不必要的端口和服務被利用;做好安全防護設備的應用,避免利用邊界上的風險從管理網入侵生產網以及病毒或木馬在生產網之間的傳播,并及時發現網絡中的惡意行為,阻止不安全的遠程訪問。
              (4)設備安全防護
              在設備安全防護中,主要防護思想是:通過設備的安全防護,做好安全配置,避免設備權限被獲取且被植入惡意代碼;做好安全防護設備應用,通過DPI技術阻止在工業控制設備上惡意操作指令的實施。
              (5)數據安全防護
              在數據安全防護中,主要防護思想是:通過重要工業數據、關鍵業務數據的安全防護,確保靜態存儲、動態傳輸上數據不被竊取、篡改、丟失和鎖定。
              7 工控網絡方面的攻擊方法
              對于工控網絡而言,攻擊方法多種多樣,主流的攻擊方法有兩種:中間人攻擊和Dos攻擊。
              1)中間人攻擊
              中間人攻擊是一種由來已久的網絡入侵手段,并且當今仍然有著廣闊的發展空間,如SMB會話劫持、DNS欺騙等都是典型的MITM攻擊。簡而言之,所謂的MITM攻擊就是通過攔截正常的網絡通信數據,并進行數據篡改和嗅探,而通信的雙方卻毫不知情。
              中間人攻擊可對信息進行篡改。當主機A和主機B通信時,都由主機C來為其“轉發”,而A、B之間并沒有真正意思上的直接通信,他們之間的信息傳遞以C作為中介來完成,但是A、B卻不會意識到,誤認為是在直接通信。這樣攻擊主機在中間成為了一個轉發器,C可以不僅竊聽A、B的通信還可以對信息進行篡改再傳給對方,C便可以將惡意信息傳遞給A、B以達到自己的目的。
              中間人攻擊同樣可以做到信息竊取。當A、B通信時,C不主動去為其“轉發”,只是把他們傳輸的數據備份,以獲取用戶網絡的活動,包括賬戶、密碼等敏感信息,這是被動攻擊,也是非常難被發現的攻擊手段。
              在工控系統中,中間人攻擊尤為普遍。由于設計中缺乏安全進制,Modbus協議易受中間人攻擊的影響,也包括數據包重放攻擊。例如對Cybati交通燈系統就可以用中間人攻擊。在攻擊中,攻擊者還可以通過欺騙HMI來使交通燈系統看起來沒有異常,導致廠商不能即時發現問題。多種開源或商用的工具可以用于在Modbus網絡上執行中間人攻擊。Modbus VCR是開源的免費工具,它使用Ettercap記錄Modbus流量,然后重放該流量,使系統看起來就像在處理正常的流量。
              (2)Dos攻擊
              DoS攻擊是利用TCP協議三次握手的缺陷進行的。當黑客要進行DoS攻擊時,他會操縱很多僵尸主機向被攻擊的服務器發送SYN數據包,當服務器回復ACK確認包后,僵尸主機不再回應,這樣服務器就會保持這個半連接的狀態進行等待。每一個這樣的半連接都會耗費服務器的資源,如果有數量極大的半連接,服務器就會停止正常工作了。
              Dos攻擊的危害主要源于三個方面。一是制造大流量無用數據,造成通往被攻擊主機的網絡擁塞,使被攻擊主機無法正常和外界通信。二是利用被攻擊主機提供服務或傳輸協議上處理重復連接的缺陷,反復高頻地發出攻擊性的重復服務請求,使被攻擊主機無法及時處理其它正常的請求。三是利用被攻擊主機所提供服務程序或傳輸協議的本身實現缺陷,反復發送畸形的攻擊數據引發系統錯誤地分配大量系統資源,使主機處于掛起狀態甚至死機。

              8 結語

              工業控制系統信息安全事關國計民生,保障系統信息安全是開展工業建設的堅實基礎。針對不同的工業控制系統,采取適當的滲透測試方案,實行恰當的安全防護措施,才能確保各行業網絡的安全可靠。

              作者簡介

              李林楓(1996-),男,湖南常德人,工程師,現就職于中國電子技術標準化研究院網絡安全研究中心,主要研究方向為工業信息安全。

              黃晶晶(1985- ),女,安徽合肥人,高級工程師,博士,現就職于中國電子技術標準化研究院網絡安全研究中心,主要研究方向為工業信息安全。

              李 琳(1983- ),男,山東濟南人,高級工程師,博士,現就職于中國電子技術標準化研究院網絡安全研究中心,任工業控制系統安全標準和測評工業和信息化部重點實驗室技術總監,主要研究方向為工業信息安全、物聯網安全、社交網絡數據分析等。

              參考文獻:

              [1] 周偉平, 等. 面向工業控制系統的滲透測試工具研究[J]. 計算機工程, 2019, (08) : 92 - 101.

              [2] 夏冀, 等. 工業控制系統信息安全風險評估方法研究[J]. 自動化博覽, 2019, (S2) : 58 - 60.

              [3] 甘俊杰, 等. 石化、冶金、電力、軌交等行業工業控制系統信息安全隱患分析[J]. 自動化博覽, 2018, (S2) : 50 - 53

              摘自《工業控制系統信息安全專刊(第七輯)》

              成員展示

                <del id="nrp5r"><b id="nrp5r"><var id="nrp5r"></var></b></del>

                <pre id="nrp5r"></pre><ruby id="nrp5r"></ruby>

                  <pre id="nrp5r"></pre>

                  <p id="nrp5r"></p>
                  <pre id="nrp5r"><mark id="nrp5r"><thead id="nrp5r"></thead></mark></pre>

                    <p id="nrp5r"></p>

                      <p id="nrp5r"></p>
                      <del id="nrp5r"></del>

                        <del id="nrp5r"></del>

                        <p id="nrp5r"><cite id="nrp5r"><progress id="nrp5r"></progress></cite></p>

                          <del id="nrp5r"></del>
                            亚洲精品在线视频