陳炎華(深圳市計量質量檢測研究院)
在新一輪信息技術革命的帶動下,物聯(lián)網(wǎng)、共享經(jīng)濟、移動支付等全新產(chǎn)業(yè)形態(tài)競相涌現(xiàn),全球都在積極迎接數(shù)字化時代的到來,全面擁抱“互聯(lián)網(wǎng)+”。然而,隨之而來的網(wǎng)絡攻擊也愈加復雜且更難以防范,網(wǎng)絡安全問題已然成為人類進入信息時代最為嚴峻的共同挑戰(zhàn)。
為了應對新的網(wǎng)絡安全形勢,UL 2900系列網(wǎng)絡安全標準應運而生。該系列標準能夠為聯(lián)網(wǎng)產(chǎn)品與系統(tǒng)提供網(wǎng)絡安全的測試準則,評估軟件漏洞與弱點,應對已知的惡意軟件,評估安全機制并提升安全意識。其中UL 2900-1[1]是針對常規(guī)聯(lián)網(wǎng)產(chǎn)品軟件網(wǎng)絡安全的通用要求,UL 2900-2則是基于不同行業(yè)的特性和用戶的實際安全需要發(fā)布的加強版本。本文選取UL 2900-2-2——《工業(yè)控制系統(tǒng)的特殊要求》[2],從范圍、產(chǎn)品文檔、風險控制、風險管理、缺陷和漏洞、軟件弱點分析等方面進行解讀,為關注網(wǎng)絡安全標準化建設的企業(yè)、檢測機構等相關方提供參考。
UL 2900-2-2是UL 2900-1——《可聯(lián)網(wǎng)產(chǎn)品的軟件網(wǎng)絡安全標準 第1部分:通用要求》針對工業(yè)控制系統(tǒng)(Industrial Control Systems, ICS)的補充,產(chǎn)品符合UL 2900-2-2的同時也應滿足UL 2900-1的要求,重復部分不再贅述,可參考文獻[3]。
UL 2900-2-2安全評估標準適用于工業(yè)控制系統(tǒng)組件的評估,該標準適用于但不限于以下產(chǎn)品:可編程邏輯控制器(PLC),監(jiān)控與數(shù)據(jù)采集(SCADA)服務器,ICS系統(tǒng)的網(wǎng)絡設備,分布式控制系統(tǒng)(DCS),遠程終端單元(RTU),數(shù)據(jù)電臺,過程控制系統(tǒng),智能電子設備(IED),智能傳感器,數(shù)據(jù)采集系統(tǒng),人機界(HMI),控制器,工業(yè)數(shù)據(jù)庫、數(shù)據(jù)記錄器和數(shù)據(jù)存儲系統(tǒng),IO服務器,嵌入式系統(tǒng)/控制器,控制服務器,現(xiàn)場總線……
工業(yè)控制系統(tǒng),是由各種自動化控制組件和實時數(shù)據(jù)采集、監(jiān)測的過程控制組件共同構成,用于監(jiān)測和控制工業(yè)生產(chǎn)過程,確保工業(yè)設備正常運行,廣泛應用于石化、水利、電力、冶金、生產(chǎn)制造等行業(yè)領域?;谄鋺玫奶厥庑?,與通用要求UL 2900-1相比,UL 2900-2-2主要在風險控制以及缺陷和漏洞部分加以補充。
產(chǎn)品應遵循UL 2900-1中關于產(chǎn)品文檔的要求,在文檔中提供必要的產(chǎn)品信息,以便于進行安全風險評估。
風險控制包括訪問控制、遠程通訊、敏感數(shù)據(jù)和產(chǎn)品管理4個部分。
產(chǎn)品首先應符合UL 2900-1中關于風險控制的要求。
訪問控制,又稱用戶驗證或用戶授權,產(chǎn)品除了應符合UL 2900-1中關于訪問控制的要求外,還應滿足以下要求:
(1)無論何時,遠程訪問的使用都不應危及產(chǎn)品的安全配置或改變產(chǎn)品的預期用途,使用相關功能以修改產(chǎn)品的預期用途的管理訪問權限應被明確規(guī)定。
(2)驗證機制的強度應使得,某種方式在沒有有效憑證的情況下能夠成功進行遠程認證的可能性被定義為風險評估的一部分。供應商應評估此風險,作為風險評估的一部分。
(3)產(chǎn)品應根據(jù)所有可用的上下文信息記錄每個驗證嘗試。
(4)產(chǎn)品應允許操作人員訪問和許可的權限被禁用、被刪除、失效或被更改。
(5)隨機提供憑證的嘗試至少應有百萬分之一的成功率。
(6)信息本身不能被用于身份驗證,而是在分割知識程序中輸入。產(chǎn)品文檔應證明,只有分割知識中ALL組件的訪問才有能力確定信息。
(7)傳輸路徑是可信路徑,例如,不被任何其他系統(tǒng)或產(chǎn)品共享的直接連接的物理電纜。
(8)驗證憑證在產(chǎn)品上的存儲不應是明文的,并應通過使用UL 2900-1“敏感數(shù)據(jù)”章節(jié)中定義的加密機制之一來防止未經(jīng)授權的泄露或修改。
具有遠程通信功能的產(chǎn)品,除了應符合UL 2900-1中關于遠程通信的要求外(9.1條中記錄的例外情況應在風險評估中列明),還應滿足以下要求:
(1)為了防止數(shù)據(jù)損壞、信息篡改、電子欺詐或重放攻擊:
a)產(chǎn)品應該能夠檢測和阻止發(fā)送者和接收者之間的通信消息被改變的情況;
b)產(chǎn)品應能夠檢測到被重放的通信信息并且不對其執(zhí)行操作;
c)供應商應描述用于處理上述a)、b)兩種情況的機制,并記錄在風險評估中。
(2)發(fā)生通信故障時,產(chǎn)品應能夠進入故障安全模式或故障告警操作模式。
產(chǎn)品應符合UL 2900-1中關于密碼的要求。
產(chǎn)品除了應符合UL 2900-1中關于產(chǎn)品管理的要求外,還應滿足以下要求:
(1)產(chǎn)品應能夠以可靠的和可驗證的方式,將當前安裝的軟件和固件二進制文件、可執(zhí)行文件和庫的版本展示或傳達給產(chǎn)品的用戶,以標識產(chǎn)品的軟件版本。
(2)軟件部署過程應遵循:
a)新的軟件/固件二進制文件、可執(zhí)行文件和庫應使用軟件完整性機制創(chuàng)建,以生成二進制的工廠代碼或簽名。這些機制應符合UL 2900-1附錄C的要求。
b)將軟件/固件二進制文件、可執(zhí)行文件和庫部署到產(chǎn)品應該從軟件/固件二進制文件、可執(zhí)行文件和庫的下載開始。除非風險評估中有說明,否則在下載過程中不應修改產(chǎn)品。
c)產(chǎn)品允許通過操作人員介入來清理審計日志,以允許軟件/固件二進制文件、可執(zhí)行文件和庫的下載僅在最低允許限度下進行,這時產(chǎn)品應該使用日志清理記錄(包括時間戳、驗證方式和賬戶)啟動新日志。
(3)下載軟件/固件二進制文件、可執(zhí)行文件和庫之后,在安裝之前,產(chǎn)品應驗證軟件/固件二進制文件、可執(zhí)行文件和庫的完整性和真實性。
a)如果完整性測試失敗,產(chǎn)品應停止軟件升級過程,并清除新下載的軟件組件。故障應記錄在審計日志中,產(chǎn)品應繼續(xù)按預期運行。
b)只有當產(chǎn)品接收到完整的軟件/固件二進制文件、可執(zhí)行文件和庫時,產(chǎn)品才能進行完整性檢查。
c)完整性機制應包含在軟件/固件二進制文件、可執(zhí)行文件和庫中,不應需要單獨下載。
(4)在清理/卸載舊軟件和安裝新軟件的過程中,產(chǎn)品應具有固件安裝的指示器或顯示其當前安裝狀態(tài)。該指示器在產(chǎn)品上應是可視的或可聽的,或應在風險評估中定義其可用性。
(5)使用時,在加載任何應用程序或執(zhí)行產(chǎn)品的任何功能之前,產(chǎn)品首先應驗證軟件/固件二進制文件、可執(zhí)行文件和庫的完整性和真實性。
(6)如果產(chǎn)品在第(5)條的操作中出現(xiàn)故障,產(chǎn)品應進入故障模式并向用戶清楚地表明產(chǎn)品未能成功啟動。
(7)如果產(chǎn)品在第(5)條的操作中出現(xiàn)故障,產(chǎn)品的功能應最小化到供應商在風險評估中所允許的操作范圍。
產(chǎn)品應符合UL 2900-1中關于供應商產(chǎn)品風險管理流程的要求。
產(chǎn)品應符合UL 2900-1中關于已知漏洞測試的要求。
產(chǎn)品應符合UL 2900-1中關于惡意軟件測試的要求。
(1)通用要求
a)產(chǎn)品應符合UL 2900-1中關于畸形輸入測試的要求。
b)在滿足條件a)的情況下,產(chǎn)品還應符合本節(jié)第(2)條和第(3)條的要求。
(2) 畸形輸入測試一
a)本節(jié)適用于能夠控制或監(jiān)控離散或模擬輸入或輸出的產(chǎn)品,如PLC。
b)離散輸出行為:在離散輸出模塊(制造商說明書中有規(guī)定)其中一個輸出點滿足通用要求條件a)的情況下,產(chǎn)品應能夠生成被監(jiān)控的連續(xù)輸出信號。
c)離散輸出要求:產(chǎn)品應能按照制造商說明書規(guī)定的精確度維持被監(jiān)控的連續(xù)輸出信號。
d)模擬輸出行為:產(chǎn)品應能夠根據(jù)制造商說明書在其模擬輸出模塊上生成被監(jiān)控的連續(xù)輸出信號。監(jiān)測到的連續(xù)輸出信號中的每個電壓電平應保持1秒或按照制造商說明書保持,并且在滿足通用要求條件a)的情況下重復該循環(huán)。
e)模擬輸出要求:在滿足通用要求條件a)的情況下,產(chǎn)品應能按照制造商說明書規(guī)定的精確度維持被監(jiān)控的連續(xù)輸出信號。
f)離散輸入行為:在滿足通用要求條件a)的情況下,設備內未定義或未配置的任何離散輸入引腳上的任何狀態(tài)變化不應影響產(chǎn)品的操作。
(3) 畸形輸入測試二
a)本節(jié)適用于駐留在通用計算機上或記錄歷史事務的產(chǎn)品,例如HMI、IO服務器或數(shù)據(jù)記錄器。
b)在滿足通用要求條件a)的情況下,產(chǎn)品應能夠以預先定義好的頻率接收數(shù)據(jù)。
c)在滿足通用要求條件a)的情況下,產(chǎn)品應持續(xù)按預期運行。
產(chǎn)品應符合UL 2900-1中關于結構化滲透測試的要求。
產(chǎn)品應符合UL 2900-1中關于軟件弱點分析的要求。
UL 2900-2-2是UL 2900-1的加強版,主要涉及工業(yè)控制系統(tǒng)的特殊要求,面向聯(lián)網(wǎng)工業(yè)控制類產(chǎn)品行業(yè)。該標準描述了其涉及的產(chǎn)品范圍、產(chǎn)品文檔的要求、風險控制和管理的要求以及缺陷和漏洞的測試和分析方法,其中產(chǎn)品文檔、風險管理和軟件弱點分析部分主要參照UL 2900-1的通用要求,而在風險控制以及缺陷和漏洞測試部分加以補充。