劉慧芳
(上海工業(yè)自動化儀表研究院有限公司,上海 200233)
在過去的2017年,“WannaCry”勒索病毒席卷全球,我國關(guān)鍵基礎(chǔ)設(shè)施的多個行業(yè)均受到該病毒的影響,工控網(wǎng)絡(luò)信息安全問題突出。同年6月1日開始實(shí)施的網(wǎng)絡(luò)安全法要求,對包括工控系統(tǒng)在內(nèi)的“可能嚴(yán)重危害國家安全、國計(jì)民生、公共利益的關(guān)鍵信息基礎(chǔ)設(shè)施[1]”實(shí)行網(wǎng)絡(luò)安全等級保護(hù)。2018年11月9日,公安部十一局郭啟全總工程師表示:“等級保護(hù)2.0標(biāo)準(zhǔn)已在國家信息安全標(biāo)準(zhǔn)化技術(shù)委員會最終評審,不日出臺[2]?!彪S著近年爆發(fā)的多起嚴(yán)重工控安全事件,工業(yè)企業(yè)經(jīng)營者和從業(yè)者也開始重視工控信息安全加固工作。面對這個龐大的市場,全球各大安全廠家均陸續(xù)加入這個工控安全產(chǎn)品的研發(fā)隊(duì)伍。從2014年第一臺國產(chǎn)工業(yè)防火墻面世至今,經(jīng)過四年的技術(shù)積累和優(yōu)勝劣汰,工業(yè)防火墻的研發(fā)技術(shù)和能力也已日趨成熟。目前,很多工控企業(yè)客戶正在積極地開展工業(yè)防火墻的試用和測試工作。其目標(biāo)是在模擬現(xiàn)場環(huán)境中進(jìn)行充分論證,確保防火墻穩(wěn)定可靠,從而對生產(chǎn)系統(tǒng)進(jìn)行穩(wěn)步安全加固。本文對工業(yè)防火墻如何測試的問題展開研究,介紹使用相關(guān)測試軟件、工業(yè)防火墻測試方法。
安全廠商在銷售工業(yè)防火墻之前,必須在測評機(jī)構(gòu)進(jìn)行產(chǎn)品測試,并獲得機(jī)構(gòu)頒發(fā)的銷售許可證。
由于工業(yè)防火墻是一個新產(chǎn)品,相應(yīng)的測評標(biāo)準(zhǔn)還未制定。目前,測評機(jī)構(gòu)是依照傳統(tǒng)防火墻的測試標(biāo)準(zhǔn)《GB/T 20281-2015信息安全技術(shù) 防火墻安全技術(shù)要求和測試評價方法》加工業(yè)防火墻加測項(xiàng)來開展工作。防火墻分為基本級和增強(qiáng)級,達(dá)到基本級要求的產(chǎn)品推薦使用在安全保護(hù)等級為第一、第二級的信息系統(tǒng)中;達(dá)到增強(qiáng)級要求的產(chǎn)品推薦使用在安全保護(hù)等級為第三、第四級的信息系統(tǒng)中[3]。
防火墻安全功能要求等級劃分[4]如表1所示。
表1 防火墻安全功能要求等級劃分表
工業(yè)防火墻目前的測試內(nèi)容包含安全功能要求、安全保證要求、環(huán)境適應(yīng)性要求和性能要求。
安全功能要求指的是網(wǎng)絡(luò)層安全策略控制、應(yīng)用層協(xié)議控制、安全運(yùn)維管理的功能項(xiàng)要求。
安全保證要求指的是工業(yè)防火墻開發(fā)團(tuán)隊(duì)的軟件開發(fā)管理能力,主要包括架構(gòu)設(shè)計(jì)、軟件測試、用戶指南等文檔內(nèi)容是否合理、全面。
環(huán)境適應(yīng)性要求指的是防火墻是否具備模式切換能力以及擴(kuò)展能力,例如透明模式、路由模式,以及對下一代互聯(lián)網(wǎng)的支持能力。
性能要求指的是對吞吐量、延遲、最大并發(fā)數(shù)、最大連接數(shù)的要求。其中,安全功能要求為重要的測試項(xiàng)。
1.2.1 測試環(huán)境
①安全功能及環(huán)境適應(yīng)性測試環(huán)境如圖1所示[5]。該環(huán)境配置外網(wǎng)區(qū)域、內(nèi)網(wǎng)區(qū)域、非軍事化區(qū)(de-militarized zone,DMZ)(即隔離區(qū))三個區(qū)域,模擬現(xiàn)場環(huán)境最小單元。
圖1 安全功能及環(huán)境適應(yīng)性測試環(huán)境圖
②性能測試環(huán)境如圖2所示[6]。該環(huán)境采用專用性能測試儀,測試儀接口通過網(wǎng)線連接防火墻業(yè)務(wù)接口。
圖2 性能測試環(huán)境圖
1.2.2 測試方法
按照標(biāo)準(zhǔn)中描述的測試方法:功能測試由測試人員人工配置安全策略完成,協(xié)議、安全防護(hù)及性能測試由測試人員使用測試儀工具完成。
測試方法分為以下三類。
①功能測試。
按照功能點(diǎn)進(jìn)行策略配置,測試不同功能子項(xiàng)是否正確執(zhí)行。
②性能測試。
使用測試儀測試運(yùn)行RFC2544測試用例,在運(yùn)行結(jié)果中查看吞吐量、延遲、最大并發(fā)數(shù)、最大連接數(shù)的性能是否滿足指標(biāo)要求。
③安全測試。
使用測試儀測試運(yùn)行安全測試用例,在運(yùn)行結(jié)果中查看攻擊數(shù)據(jù)包阻斷情況,并對比標(biāo)準(zhǔn)要求的所有攻擊類型是否均能阻斷。
對于功能測試項(xiàng),測試指標(biāo)是否正確實(shí)現(xiàn),對實(shí)現(xiàn)效果不作評價。
對于性能測試項(xiàng),測試指標(biāo)數(shù)值是否滿足,與實(shí)際情況關(guān)系不大。
對于安全測試項(xiàng),測試指標(biāo)是否能夠阻斷每一種類型的安全攻擊,但不要求每一個攻擊包都能阻斷。
因此,對于產(chǎn)品認(rèn)證這一層面來說,功能能正確執(zhí)行及性能指標(biāo)、安全指標(biāo)符合即可滿足要求。
然而,作為使用方來測試這些功能項(xiàng)時,正確執(zhí)行和指標(biāo)符合只是基本的要求,具備簡單易用、技術(shù)扎實(shí)、減少重復(fù)工作和人為失誤的工業(yè)防火墻才能稱為一款好的工業(yè)防火墻。
前文已提到,目前工業(yè)防火墻的測評是由傳統(tǒng)防火墻測評方法加工業(yè)防火墻加測項(xiàng)組成的。根據(jù)數(shù)據(jù)統(tǒng)計(jì),傳統(tǒng)防火墻主要應(yīng)用于兩類場景:一類是以南北向流量為主的互聯(lián)網(wǎng)出口;另一類是以東西向流量為主的數(shù)據(jù)中心,很少在企業(yè)內(nèi)部的其他網(wǎng)絡(luò)邊界處部署防火墻。而工業(yè)防火墻的出現(xiàn)恰恰是為了解決辦公網(wǎng)到生產(chǎn)網(wǎng)的內(nèi)部網(wǎng)絡(luò)邊界問題。因此,工業(yè)防火墻與傳統(tǒng)防火墻的應(yīng)用場景是完全不同的。測評機(jī)構(gòu)使用的現(xiàn)有測評方法和工控測評項(xiàng),并不完全適合測試工業(yè)防火墻。
從測試項(xiàng)中可以得出工業(yè)防火墻測試面廣、測試內(nèi)容全,但是對于工控環(huán)境的一些特殊場景,測試指標(biāo)略顯不足。其主要存在以下問題。
①功能測評中的實(shí)用性不夠,并不具備比如地址池、服務(wù)對象池、資產(chǎn)主動發(fā)現(xiàn)、自學(xué)習(xí)增量學(xué)習(xí)、一鍵生成策略、工控策略行為歸納等實(shí)用功能。
②功能測評中基本級的范圍不合理。在基本級標(biāo)準(zhǔn)中的有些功能,如NAT、IPsec VPN,在實(shí)際中應(yīng)用非常少,只符合規(guī)模大、集團(tuán)化管理時的特殊應(yīng)用。而抗拒絕服務(wù)攻擊,在企業(yè)內(nèi)網(wǎng)中也較難出現(xiàn)。這些功能都應(yīng)放入增強(qiáng)級中。另外,會話管理、惡意代碼防護(hù)、應(yīng)用攻擊防護(hù)、雙機(jī)熱備都是用戶最基本的需求,應(yīng)放在基本級中,以降低工業(yè)企業(yè)用戶購買成本。
③惡意代碼防范和應(yīng)用攻擊防護(hù)的測試指標(biāo)不足,只明確了支持惡意代碼防范和應(yīng)用攻擊防護(hù)的種類,但未明確個數(shù)和阻斷率,導(dǎo)致工業(yè)防火墻良莠不齊。
④性能測試項(xiàng)不能滿足用戶需求。對于工控用戶,對通信有時間確定性要求,加入工業(yè)防火墻后,延遲不能影響執(zhí)行機(jī)構(gòu)的及時動作或者參數(shù)的下發(fā)。因此,對于工業(yè)防火墻的測試要求,用戶應(yīng)關(guān)心以下三個重要的測試點(diǎn)。一是變量點(diǎn)數(shù)支持情況,多少點(diǎn)數(shù)內(nèi)不影響控制參數(shù)下發(fā);二是雙機(jī)熱備的切換時間是否及時;三是單個防火墻斷電到啟動成功之后的空白時間是否會阻斷。
針對以上現(xiàn)狀,如果僅使用傳統(tǒng)防火墻的安全功能等級劃分方法和性能測試方法,是無法區(qū)別工控安全產(chǎn)品廠商的技術(shù)水平的。因此,在工業(yè)防火墻測評中,傳統(tǒng)測試項(xiàng)需要調(diào)整、工控測試項(xiàng)需要加強(qiáng),供給雙方均迫切需要符合工業(yè)使用需求的工業(yè)防火墻測評國家標(biāo)準(zhǔn)出臺。
作為工業(yè)企業(yè)最終用戶或工控系統(tǒng)集成商,在挑選安全產(chǎn)品供應(yīng)商時,需要考慮成本、易用、穩(wěn)定、運(yùn)維保障等因素。
在前期考察時,看重的是技術(shù)水平和易用性;在試運(yùn)行調(diào)試期間,看重的是穩(wěn)定性;在項(xiàng)目驗(yàn)收后,看重的是運(yùn)維保障能力。
因此,作為需求方,一定要重視工業(yè)防火墻的前期測試工作。
測試人員不能簡單使用國家標(biāo)準(zhǔn)進(jìn)行測試用例的設(shè)計(jì),而是應(yīng)當(dāng)根據(jù)自身需求,列舉出實(shí)際業(yè)務(wù)中可能需要的功能。本文根據(jù)大多數(shù)工業(yè)應(yīng)用場景可能需要的功能,總結(jié)得到的功能測試項(xiàng)如表2所示。
表2 功能測試項(xiàng)
從工業(yè)控制系統(tǒng)功能考慮,要保證系統(tǒng)的穩(wěn)定性和可靠性,首先需保證系統(tǒng)本身的安全[7-9]。在進(jìn)行工業(yè)防火墻的測試時,重要的是測試產(chǎn)品對業(yè)務(wù)的影響。因此,除了需關(guān)注傳統(tǒng)防火墻測試的阻斷率和轉(zhuǎn)發(fā)率,還需關(guān)注其是否具備高易用性、高可靠性的功能。
①高易用性。
不同于傳統(tǒng)防火墻的使用場景,過濾的IP和協(xié)議較少,拓?fù)渑渲幂^簡單。工業(yè)防火墻放在控制網(wǎng)和辦公網(wǎng)邊界,往來的數(shù)據(jù)和協(xié)議較雜,信息部門或生產(chǎn)部門的用戶不一定能理清所有的業(yè)務(wù)。因此,工業(yè)防火墻必須具備策略自學(xué)習(xí)和策略增量學(xué)習(xí)、策略備份和恢復(fù)的功能。這將有利于快速、正確地配置安全策略,縮短項(xiàng)目周期。
②高可靠性。
工業(yè)防火墻的吞吐量測試不應(yīng)僅停留在流量大小的測試,而更應(yīng)考慮細(xì)節(jié)。例如變量點(diǎn)數(shù)非常多的情況,以及數(shù)據(jù)多次分包的情況。另外,在工控環(huán)境中,增加可靠性有兩種方法,分別為冗余系統(tǒng)和故障中斷程序。為了保障通信可靠性,在進(jìn)行工業(yè)防火墻測試時,需關(guān)注是否具備這兩種方法。
不同于傳統(tǒng)防火墻,工控防火墻的最大特點(diǎn)就是具備工控協(xié)議的過濾功能。在測試標(biāo)準(zhǔn)中,僅針對Modbus協(xié)議和OPC協(xié)議進(jìn)行測試顯然是不夠的。因此,在進(jìn)行功能測試的協(xié)議測試時,為了測試工業(yè)防火墻對工業(yè)協(xié)議的支持種類,可以購買一些模擬工控協(xié)議的軟件來豐富測試環(huán)境,例如IOServer、TCP&UDP Debug 、OPC Client、ModbusSim、ModbusScan、Snap7、PMA等。每個軟件可以模擬的協(xié)議種類都是不同的。因此,結(jié)合使用這些軟件,可以滿足定制化的工控協(xié)議測試需求。
測試環(huán)境拓?fù)淙鐖D3所示。
圖3 測試環(huán)境拓?fù)鋱D
測試內(nèi)容及步驟舉例如下。
例如針對 Modbus TCP 的各個功能碼進(jìn)行測試??蛻舳税凑崭鱾€功能碼的數(shù)據(jù)格式, 利用 TCP&UDP Debug軟件,向服務(wù)器發(fā)送模擬數(shù)據(jù)包,以進(jìn)行防護(hù)測試。若數(shù)據(jù)包符合要求,則工控防火墻允許通過;否則,將進(jìn)行阻塞,并產(chǎn)生審計(jì)日志[7]。
這些工具在實(shí)際使用時,可以查詢、學(xué)習(xí)并應(yīng)用相關(guān)幫助文件。這不僅可以模擬工控協(xié)議的不同功能碼的數(shù)據(jù)讀寫,部分軟件還可以模擬下載上傳的通信行為,從而進(jìn)行工業(yè)防火墻協(xié)議深度過濾時的功能測試。當(dāng)這些軟件無法滿足一些特殊協(xié)議時,還可使用客戶現(xiàn)場的數(shù)據(jù)包,通過對工業(yè)防火墻進(jìn)行發(fā)包的方式來進(jìn)行相應(yīng)測試。常用的測試工具是發(fā)包類軟件,例如科來數(shù)據(jù)包播放器。
以上工具固然可以解決大多數(shù)問題,但是不能覆蓋所有場景。比如這些軟件可模擬出幾萬個變量點(diǎn),但當(dāng)變量點(diǎn)數(shù)過多時,計(jì)算機(jī)的運(yùn)行變得遲緩,計(jì)算機(jī)本身的性能很難再提高。另外,有限的計(jì)算機(jī)無法模擬多個服務(wù)端、多個客戶端的情況。因此,以上的功能測試,僅適用于性能要求較低的場景,無法模擬大流量、多并發(fā)的場景。
工業(yè)現(xiàn)場網(wǎng)絡(luò)環(huán)境千差萬別,不同的行業(yè)存在不同的網(wǎng)絡(luò)架構(gòu)和應(yīng)用,網(wǎng)絡(luò)邊界處存在大量的IP地址以及各類協(xié)議。因此,在進(jìn)行性能測試時,需要購買流量測試儀。
經(jīng)過以上功能測試和性能測試后,可以得出在以下不同場景中測試工業(yè)防火墻的工作方法[8-9]。
①工業(yè)防火墻的測試不能僅限于國家標(biāo)準(zhǔn),還應(yīng)根據(jù)企業(yè)自身需求,制定合適的測試用例,避免工業(yè)防火墻想買不敢買、買了不敢用、用了不滿足需求的問題。
②選用測試工具時,應(yīng)根據(jù)自身企業(yè)能力。如果在性能要求不高的場景,可以選用使用較為簡單的協(xié)議模擬器。這是因?yàn)椋幢闶鞘褂谜鎸?shí)的PLC和上位機(jī),也不能模擬所有的場景;而且使用人員需具備上位機(jī)和PLC的編程能力,門檻較高。
③對工業(yè)防火墻性能要求較高的客戶,可以花費(fèi)少量的測試費(fèi)用,借助第三方測評機(jī)構(gòu)的測試服務(wù),對工業(yè)防火墻性能進(jìn)行測試。
④需要做集團(tuán)長期集中采購的客戶,有必要預(yù)留經(jīng)費(fèi),購買測試儀器,自行長期測試。