劉慧芳
(上海工業自動化儀表研究院有限公司,上海 200233)
在過去的2017年,“WannaCry”勒索病毒席卷全球,我國關鍵基礎設施的多個行業均受到該病毒的影響,工控網絡信息安全問題突出。同年6月1日開始實施的網絡安全法要求,對包括工控系統在內的“可能嚴重危害國家安全、國計民生、公共利益的關鍵信息基礎設施[1]”實行網絡安全等級保護。2018年11月9日,公安部十一局郭啟全總工程師表示:“等級保護2.0標準已在國家信息安全標準化技術委員會最終評審,不日出臺[2]。”隨著近年爆發的多起嚴重工控安全事件,工業企業經營者和從業者也開始重視工控信息安全加固工作。面對這個龐大的市場,全球各大安全廠家均陸續加入這個工控安全產品的研發隊伍。從2014年第一臺國產工業防火墻面世至今,經過四年的技術積累和優勝劣汰,工業防火墻的研發技術和能力也已日趨成熟。目前,很多工控企業客戶正在積極地開展工業防火墻的試用和測試工作。其目標是在模擬現場環境中進行充分論證,確保防火墻穩定可靠,從而對生產系統進行穩步安全加固。本文對工業防火墻如何測試的問題展開研究,介紹使用相關測試軟件、工業防火墻測試方法。
安全廠商在銷售工業防火墻之前,必須在測評機構進行產品測試,并獲得機構頒發的銷售許可證。
由于工業防火墻是一個新產品,相應的測評標準還未制定。目前,測評機構是依照傳統防火墻的測試標準《GB/T 20281-2015信息安全技術 防火墻安全技術要求和測試評價方法》加工業防火墻加測項來開展工作。防火墻分為基本級和增強級,達到基本級要求的產品推薦使用在安全保護等級為第一、第二級的信息系統中;達到增強級要求的產品推薦使用在安全保護等級為第三、第四級的信息系統中[3]。
防火墻安全功能要求等級劃分[4]如表1所示。

表1 防火墻安全功能要求等級劃分表
工業防火墻目前的測試內容包含安全功能要求、安全保證要求、環境適應性要求和性能要求。
安全功能要求指的是網絡層安全策略控制、應用層協議控制、安全運維管理的功能項要求。
安全保證要求指的是工業防火墻開發團隊的軟件開發管理能力,主要包括架構設計、軟件測試、用戶指南等文檔內容是否合理、全面。
環境適應性要求指的是防火墻是否具備模式切換能力以及擴展能力,例如透明模式、路由模式,以及對下一代互聯網的支持能力。
性能要求指的是對吞吐量、延遲、最大并發數、最大連接數的要求。其中,安全功能要求為重要的測試項。
1.2.1 測試環境
①安全功能及環境適應性測試環境如圖1所示[5]。該環境配置外網區域、內網區域、非軍事化區(de-militarized zone,DMZ)(即隔離區)三個區域,模擬現場環境最小單元。

圖1 安全功能及環境適應性測試環境圖
②性能測試環境如圖2所示[6]。該環境采用專用性能測試儀,測試儀接口通過網線連接防火墻業務接口。

圖2 性能測試環境圖
1.2.2 測試方法
按照標準中描述的測試方法:功能測試由測試人員人工配置安全策略完成,協議、安全防護及性能測試由測試人員使用測試儀工具完成。
測試方法分為以下三類。
①功能測試。
按照功能點進行策略配置,測試不同功能子項是否正確執行。
②性能測試。
使用測試儀測試運行RFC2544測試用例,在運行結果中查看吞吐量、延遲、最大并發數、最大連接數的性能是否滿足指標要求。
③安全測試。
使用測試儀測試運行安全測試用例,在運行結果中查看攻擊數據包阻斷情況,并對比標準要求的所有攻擊類型是否均能阻斷。
對于功能測試項,測試指標是否正確實現,對實現效果不作評價。
對于性能測試項,測試指標數值是否滿足,與實際情況關系不大。
對于安全測試項,測試指標是否能夠阻斷每一種類型的安全攻擊,但不要求每一個攻擊包都能阻斷。
因此,對于產品認證這一層面來說,功能能正確執行及性能指標、安全指標符合即可滿足要求。
然而,作為使用方來測試這些功能項時,正確執行和指標符合只是基本的要求,具備簡單易用、技術扎實、減少重復工作和人為失誤的工業防火墻才能稱為一款好的工業防火墻。
前文已提到,目前工業防火墻的測評是由傳統防火墻測評方法加工業防火墻加測項組成的。根據數據統計,傳統防火墻主要應用于兩類場景:一類是以南北向流量為主的互聯網出口;另一類是以東西向流量為主的數據中心,很少在企業內部的其他網絡邊界處部署防火墻。而工業防火墻的出現恰恰是為了解決辦公網到生產網的內部網絡邊界問題。因此,工業防火墻與傳統防火墻的應用場景是完全不同的。測評機構使用的現有測評方法和工控測評項,并不完全適合測試工業防火墻。
從測試項中可以得出工業防火墻測試面廣、測試內容全,但是對于工控環境的一些特殊場景,測試指標略顯不足。其主要存在以下問題。
①功能測評中的實用性不夠,并不具備比如地址池、服務對象池、資產主動發現、自學習增量學習、一鍵生成策略、工控策略行為歸納等實用功能。
②功能測評中基本級的范圍不合理。在基本級標準中的有些功能,如NAT、IPsec VPN,在實際中應用非常少,只符合規模大、集團化管理時的特殊應用。而抗拒絕服務攻擊,在企業內網中也較難出現。這些功能都應放入增強級中。另外,會話管理、惡意代碼防護、應用攻擊防護、雙機熱備都是用戶最基本的需求,應放在基本級中,以降低工業企業用戶購買成本。
③惡意代碼防范和應用攻擊防護的測試指標不足,只明確了支持惡意代碼防范和應用攻擊防護的種類,但未明確個數和阻斷率,導致工業防火墻良莠不齊。
④性能測試項不能滿足用戶需求。對于工控用戶,對通信有時間確定性要求,加入工業防火墻后,延遲不能影響執行機構的及時動作或者參數的下發。因此,對于工業防火墻的測試要求,用戶應關心以下三個重要的測試點。一是變量點數支持情況,多少點數內不影響控制參數下發;二是雙機熱備的切換時間是否及時;三是單個防火墻斷電到啟動成功之后的空白時間是否會阻斷。
針對以上現狀,如果僅使用傳統防火墻的安全功能等級劃分方法和性能測試方法,是無法區別工控安全產品廠商的技術水平的。因此,在工業防火墻測評中,傳統測試項需要調整、工控測試項需要加強,供給雙方均迫切需要符合工業使用需求的工業防火墻測評國家標準出臺。
作為工業企業最終用戶或工控系統集成商,在挑選安全產品供應商時,需要考慮成本、易用、穩定、運維保障等因素。
在前期考察時,看重的是技術水平和易用性;在試運行調試期間,看重的是穩定性;在項目驗收后,看重的是運維保障能力。
因此,作為需求方,一定要重視工業防火墻的前期測試工作。
測試人員不能簡單使用國家標準進行測試用例的設計,而是應當根據自身需求,列舉出實際業務中可能需要的功能。本文根據大多數工業應用場景可能需要的功能,總結得到的功能測試項如表2所示。

表2 功能測試項
從工業控制系統功能考慮,要保證系統的穩定性和可靠性,首先需保證系統本身的安全[7-9]。在進行工業防火墻的測試時,重要的是測試產品對業務的影響。因此,除了需關注傳統防火墻測試的阻斷率和轉發率,還需關注其是否具備高易用性、高可靠性的功能。
①高易用性。
不同于傳統防火墻的使用場景,過濾的IP和協議較少,拓撲配置較簡單。工業防火墻放在控制網和辦公網邊界,往來的數據和協議較雜,信息部門或生產部門的用戶不一定能理清所有的業務。因此,工業防火墻必須具備策略自學習和策略增量學習、策略備份和恢復的功能。這將有利于快速、正確地配置安全策略,縮短項目周期。
②高可靠性。
工業防火墻的吞吐量測試不應僅停留在流量大小的測試,而更應考慮細節。例如變量點數非常多的情況,以及數據多次分包的情況。另外,在工控環境中,增加可靠性有兩種方法,分別為冗余系統和故障中斷程序。為了保障通信可靠性,在進行工業防火墻測試時,需關注是否具備這兩種方法。
不同于傳統防火墻,工控防火墻的最大特點就是具備工控協議的過濾功能。在測試標準中,僅針對Modbus協議和OPC協議進行測試顯然是不夠的。因此,在進行功能測試的協議測試時,為了測試工業防火墻對工業協議的支持種類,可以購買一些模擬工控協議的軟件來豐富測試環境,例如IOServer、TCP&UDP Debug 、OPC Client、ModbusSim、ModbusScan、Snap7、PMA等。每個軟件可以模擬的協議種類都是不同的。因此,結合使用這些軟件,可以滿足定制化的工控協議測試需求。
測試環境拓撲如圖3所示。

圖3 測試環境拓撲圖
測試內容及步驟舉例如下。
例如針對 Modbus TCP 的各個功能碼進行測試。客戶端按照各個功能碼的數據格式, 利用 TCP&UDP Debug軟件,向服務器發送模擬數據包,以進行防護測試。若數據包符合要求,則工控防火墻允許通過;否則,將進行阻塞,并產生審計日志[7]。
這些工具在實際使用時,可以查詢、學習并應用相關幫助文件。這不僅可以模擬工控協議的不同功能碼的數據讀寫,部分軟件還可以模擬下載上傳的通信行為,從而進行工業防火墻協議深度過濾時的功能測試。當這些軟件無法滿足一些特殊協議時,還可使用客戶現場的數據包,通過對工業防火墻進行發包的方式來進行相應測試。常用的測試工具是發包類軟件,例如科來數據包播放器。
以上工具固然可以解決大多數問題,但是不能覆蓋所有場景。比如這些軟件可模擬出幾萬個變量點,但當變量點數過多時,計算機的運行變得遲緩,計算機本身的性能很難再提高。另外,有限的計算機無法模擬多個服務端、多個客戶端的情況。因此,以上的功能測試,僅適用于性能要求較低的場景,無法模擬大流量、多并發的場景。
工業現場網絡環境千差萬別,不同的行業存在不同的網絡架構和應用,網絡邊界處存在大量的IP地址以及各類協議。因此,在進行性能測試時,需要購買流量測試儀。
經過以上功能測試和性能測試后,可以得出在以下不同場景中測試工業防火墻的工作方法[8-9]。
①工業防火墻的測試不能僅限于國家標準,還應根據企業自身需求,制定合適的測試用例,避免工業防火墻想買不敢買、買了不敢用、用了不滿足需求的問題。
②選用測試工具時,應根據自身企業能力。如果在性能要求不高的場景,可以選用使用較為簡單的協議模擬器。這是因為,即便是使用真實的PLC和上位機,也不能模擬所有的場景;而且使用人員需具備上位機和PLC的編程能力,門檻較高。
③對工業防火墻性能要求較高的客戶,可以花費少量的測試費用,借助第三方測評機構的測試服務,對工業防火墻性能進行測試。
④需要做集團長期集中采購的客戶,有必要預留經費,購買測試儀器,自行長期測試。