肖曼茜,王劍亮
(工業(yè)和信息化部電子第五研究所,廣東 廣州 511370)
工業(yè)自動(dòng)化和控制系統(tǒng)(IACS:Industrial Automation and Control Systems)是指能夠影響或改變工業(yè)過(guò)程的安全、信息安全和可靠操作的人員、硬件和軟件的集合[1]。IACS 的設(shè)備通常是和工藝過(guò)程相連的,信息安全被破壞不僅會(huì)導(dǎo)致信息傳輸?shù)闹袛?,還會(huì)導(dǎo)致潛在的人員或生產(chǎn)的損失,甚至可能會(huì)對(duì)所在地區(qū)或國(guó)家的基礎(chǔ)設(shè)施造成破壞。
傳統(tǒng)的信息安全關(guān)注3 個(gè)目標(biāo),即:保密性、完整性和可用性[2]。一般用途的信息技術(shù)(IT)系統(tǒng)最關(guān)注的是機(jī)密信息泄露問(wèn)題,所以保密性排在最前面。然而在IACS 中,這些目標(biāo)的優(yōu)先級(jí)恰恰相反,IACS 最關(guān)注的是所有部件的可用性,在生產(chǎn)正常運(yùn)行的情況下,需要保證生產(chǎn)數(shù)據(jù)完整且不泄露。例如:在核電站的環(huán)境中,數(shù)據(jù)的可用性(如核心的溫度)比其機(jī)密性更重要。IACS 和一般IT 系統(tǒng)的比較如圖1 所示。
圖1 IACS 和一般IT 系統(tǒng)的比較
IEC 62443 是一套國(guó)際公認(rèn)的用于IACS 安全開(kāi)發(fā)的標(biāo)準(zhǔn),它提供了一套全面且系統(tǒng)的網(wǎng)絡(luò)安全建議,用于解決IACS 中目前和將來(lái)的安全漏洞,保護(hù)工業(yè)網(wǎng)絡(luò)免受網(wǎng)絡(luò)安全威脅。
IEC 62443系列標(biāo)準(zhǔn)由通用、策略和規(guī)程、系統(tǒng)和組件4 個(gè)部分組成。
IEC/TS 62443-1-1:描述了用于IACS 信息安全的術(shù)語(yǔ)、概念和模型。其中,TS 表示技術(shù)規(guī)格書(shū)(Technical Specification)[2]。
a)IEC 62443-2-1:描述了在IACS 中建立網(wǎng)絡(luò)安全管理系統(tǒng)(CSMS)所需的元素,并且提供了如何開(kāi)發(fā)這些元素的指南[3]。
b)IEC/TR 62443-2-3:描述了如何在IACS中進(jìn)行補(bǔ)丁管理,目標(biāo)受眾包括任何負(fù)責(zé)設(shè)計(jì)和實(shí)現(xiàn)補(bǔ)丁管理程序的人。其中,TR 表示技術(shù)報(bào)告(Technical Report)[4]。
c)IEC 62443-2-4:規(guī)定了IACS 服務(wù)提供商在自動(dòng)化解決方案的集成或維護(hù)期間向資產(chǎn)所有者提供的一整套安全能力要求,并且IACS 服務(wù)提供商可以使用IEC 62443-2-4 來(lái)構(gòu)建和改進(jìn)其安全程序[5]。
a)IEC/TR 62443-3-1:描述了各種網(wǎng)絡(luò)安全技術(shù)在IACS 環(huán)境中的應(yīng)用[6]。
b)IEC 62443-3-2:描述了系統(tǒng)設(shè)計(jì)的安全風(fēng)險(xiǎn)評(píng)估,將IACS 考慮中的系統(tǒng)(SUC)劃分為區(qū)域和管道,評(píng)估每個(gè)區(qū)域和管道的風(fēng)險(xiǎn),并建立其各自的目標(biāo)安全等級(jí),記錄安全要求[7]。
c)IEC 62443-3-3:規(guī)定了詳細(xì)技術(shù)類(lèi)控制系統(tǒng)要求(SR)和控制系統(tǒng)安全能力等級(jí)(SL-C)要求[8]。
a)IEC 62443-4-1:描述了IACS 所用產(chǎn)品的安全開(kāi)發(fā)生命周期要求[9]。
b)IEC 62443-4-2:規(guī)定了詳細(xì)技術(shù)類(lèi)控制系統(tǒng)組件要求(CR)和安全能力等級(jí)(SL-C)要求[10]。
目前部分IEC 62443 標(biāo)準(zhǔn)已經(jīng)轉(zhuǎn)化為國(guó)標(biāo)并實(shí)施,如圖2 所示。
圖2 IEC63443 系列標(biāo)準(zhǔn)與對(duì)應(yīng)國(guó)標(biāo)
IEC 62243 系列標(biāo)準(zhǔn)規(guī)定了工業(yè)自動(dòng)化信息安全的7 個(gè)基本要求(FR:Foundational Requirement)。
a)FR1 標(biāo)識(shí)和鑒別控制(IAC:Identification and Authentication Control),在允許訪(fǎng)問(wèn)系統(tǒng)或資產(chǎn)之前,標(biāo)識(shí)和鑒別所有使用者(人員,軟件進(jìn)程和設(shè)備)。
b)FR2 使用控制(UC:Use Control),對(duì)已授權(quán)的使用者(人員、軟件進(jìn)程或設(shè)備),強(qiáng)制指定權(quán)限以在IACS 中執(zhí)行所需動(dòng)作,并監(jiān)視這些權(quán)限的使用。在允許使用者執(zhí)行操作之前驗(yàn)證準(zhǔn)予其必要的權(quán)限,保護(hù)控制系統(tǒng)資源免受未經(jīng)授權(quán)的操作。
c)FR3 系統(tǒng)完整性(SI:System Integrity),確保IACS 的完整性,防止非授權(quán)操控。一旦IACS運(yùn)行,資產(chǎn)所有者有責(zé)任保持IACS 的完整性。在運(yùn)行和非運(yùn)行狀態(tài)下都宜保持物理資產(chǎn)的完整性。
d)FR4 數(shù)據(jù)保密性(DC:Data Confidentiality),確保通信信道和數(shù)據(jù)存儲(chǔ)庫(kù)的信息保密性,防止竊聽(tīng)和未經(jīng)授權(quán)的訪(fǎng)問(wèn)。
e)FR5 受限數(shù)據(jù) 流(RDF:Restricted Data Flow),通過(guò)區(qū)域與管道劃分,對(duì)控制系統(tǒng)進(jìn)行分段來(lái)限制非必需的數(shù)據(jù)流。資產(chǎn)所有者需要使用風(fēng)險(xiǎn)評(píng)估的方法來(lái)確定必要的信息流量限制,進(jìn)而確定傳遞信息的管道配置。
f)FR6 對(duì)事件的及時(shí)響應(yīng)(TRE:Timely Response to Events),在事故被發(fā)現(xiàn)時(shí),對(duì)安全違規(guī)的響應(yīng)包括通知權(quán)利部門(mén),匯報(bào)所需的安全違規(guī)證據(jù),并及時(shí)采取糾正措施。
g)FR7 資源可用性(RA:Resource Availability),確??刂葡到y(tǒng)的可用性,以應(yīng)對(duì)基本服務(wù)降級(jí)或被拒絕。
其中,IEC62443-3-3 標(biāo)準(zhǔn)基于IEC 62443-1-1 標(biāo)準(zhǔn)提出的7 個(gè)基本要求(FR),提出了相對(duì)應(yīng) 的系統(tǒng)要求(SR);IEC62443-4-2 標(biāo)準(zhǔn)基于IEC 62443-1-1 標(biāo)準(zhǔn)提出的7 個(gè)基本要求(FR),提出了相對(duì)應(yīng)的組件要求(CR)。系統(tǒng)要求和組件要求大體上是一致的,只是IEC 62443-4-2 標(biāo)準(zhǔn)比IEC 62443-3-3 標(biāo)準(zhǔn)多了一些特有的組件安全技術(shù)要求。
IEC62443 系列標(biāo)準(zhǔn)中將信息安全等級(jí)分為3種不同類(lèi)型。
a)目標(biāo)安全等級(jí)(SL-T),是特定系統(tǒng)中所需的信息安全等級(jí),它們是根據(jù)系統(tǒng)風(fēng)險(xiǎn)評(píng)估(IEC 62243-3-2)的結(jié)果確定的,并且并記錄在網(wǎng)絡(luò)安全要求規(guī)范中。在IACS 安全生命周期的集成階段會(huì)使用SL-T 來(lái)選擇產(chǎn)品和設(shè)計(jì)額外的安全措施。
b)已實(shí)現(xiàn)的安全等級(jí)(SL-A),是特定自動(dòng)化解決方案的實(shí)際安全級(jí)別,它們都是在自動(dòng)化解決方案的調(diào)試和運(yùn)行后進(jìn)行測(cè)量的。
c)能力安全等級(jí)(SL-C),是系統(tǒng)(IEC 62243-3-3)或組件(IEC 62243-4-2)在合適配置的條件下可以提供的信息安全等級(jí)。這些等級(jí)表明,一個(gè)特定的系統(tǒng)或組件能夠在合適的配置條件下滿(mǎn)足SL-T,而無(wú)需額外的補(bǔ)償對(duì)抗措施。
對(duì)于一個(gè)工業(yè)控制系統(tǒng)來(lái)說(shuō),在系統(tǒng)設(shè)計(jì)階段需要確定SL-T,在系統(tǒng)開(kāi)發(fā)階段,組織會(huì)根據(jù)SL-T 確定所選的系統(tǒng)和組件,再根據(jù)系統(tǒng)和組件的SL-C 進(jìn)行評(píng)估和驗(yàn)證,來(lái)確定所選系統(tǒng)和組件是否滿(mǎn)足對(duì)應(yīng)的SL-T 要求(當(dāng)這樣的系統(tǒng)和組件不可用時(shí),可以補(bǔ)充使用具有補(bǔ)償對(duì)抗措施的系統(tǒng)或組件);在系統(tǒng)運(yùn)行階段,通過(guò)評(píng)估和驗(yàn)證來(lái)確定SL-A,并與SL-T 相比,確保在任何時(shí)候SL-A大于或等于SL-T。
同時(shí)IEC 62443 系列標(biāo)準(zhǔn)還定義了5 種不同級(jí)別(0,1,2,3 和4)的SL,每個(gè)安全級(jí)別的安全要求逐步遞增。通常,SL0表示不需要進(jìn)行特定的安全保護(hù),SL1表示防止因?yàn)閱T工的錯(cuò)誤而意外泄漏,SL2表示防止一些低級(jí)黑客的簡(jiǎn)單攻擊,SL3表示防止精英黑客或恐怖分子的復(fù)雜攻擊,而SL4將防止來(lái)自國(guó)家層面上的具有最高水平的資源和動(dòng)機(jī)的最復(fù)雜的攻擊。
IEC 62443-4-2 標(biāo)準(zhǔn)定義的IACS 的組件要求包括4 大類(lèi),即:軟件應(yīng)用程序要求(SAR:Software Application Require ments)、主機(jī)設(shè)備要求(HDR:Host Device Requirements)、嵌入式設(shè)備要求(EDR:Embedded Device Requirements)和網(wǎng)絡(luò)設(shè)備要求(NDR:Network Device Requirements)[10]。大部分組件要求和增強(qiáng)要求適用于所有4 種類(lèi)型的組件,只是某些組件要求和增強(qiáng)要求是特定類(lèi)型的組件所獨(dú)有的。本文舉例說(shuō)明標(biāo)準(zhǔn)中部分要求的檢測(cè)方法。
輸入驗(yàn)證的要求包括驗(yàn)證輸入數(shù)據(jù)的語(yǔ)法、長(zhǎng)度和內(nèi)容,檢測(cè)方法如下所述。
a)檢查是否存在輸入數(shù)據(jù)的有效語(yǔ)法的檢查規(guī)則,例如:設(shè)置檢查點(diǎn),在輸入不合規(guī)數(shù)據(jù)時(shí)驗(yàn)證該信息是否能被解析。不合規(guī)數(shù)據(jù)包括但不限于預(yù)定義字段值超出范圍、數(shù)據(jù)字段的無(wú)效字符、缺失或不完整的數(shù)據(jù)、緩沖區(qū)溢出或畸形數(shù)據(jù)包(通常由協(xié)議模糊器生成)。
b)使用專(zhuān)業(yè)的漏洞掃描工具(如:綠盟工控漏洞掃描系統(tǒng))進(jìn)行掃描,驗(yàn)證組件是否對(duì)協(xié)議不合規(guī)數(shù)據(jù)包不響應(yīng)。如圖3 所示,主機(jī)169.254.15.100 接收到協(xié)議不合規(guī)的數(shù)據(jù)包,由于所接收的數(shù)據(jù)與協(xié)議格式不符,所以其并沒(méi)有返回?cái)?shù)據(jù)。
圖3 綠盟漏洞掃描結(jié)果示意圖
圖4 Wireshark 抓包結(jié)果示意圖
信息保密性包括存儲(chǔ)的保密性和傳輸?shù)谋C苄浴?/p>
a)存儲(chǔ)保密性的檢測(cè)方法
1)識(shí)別支持明文讀取授權(quán)的所有存儲(chǔ)信息。
2)審查設(shè)計(jì)文檔,并驗(yàn)證所有此類(lèi)信息都包括保護(hù)機(jī)密性的方法,例如:加密數(shù)據(jù)或限制用戶(hù)訪(fǎng)問(wèn)數(shù)據(jù)存儲(chǔ)位置。如果用戶(hù)可以通過(guò)某種方式配置或設(shè)置組件來(lái)保護(hù)機(jī)密性,需要驗(yàn)證用戶(hù)手冊(cè)中是否清楚記錄了這一點(diǎn)。
3)嘗試訪(fǎng)問(wèn)機(jī)密信息的樣本,以驗(yàn)證未經(jīng)授權(quán)的用戶(hù)無(wú)法訪(fǎng)問(wèn)該信息。
b)傳輸保密性的檢測(cè)方法
1)識(shí)別傳輸中支持明文讀取授權(quán)的所有信息。
2)審查設(shè)計(jì)文檔,并驗(yàn)證所有此類(lèi)信息包括保護(hù)機(jī)密性的方法,例如加密數(shù)據(jù)或限制用戶(hù)對(duì)用于傳輸?shù)奈锢斫橘|(zhì)數(shù)據(jù)的訪(fǎng)問(wèn)。
3)如果用戶(hù)可以訪(fǎng)問(wèn)用于傳輸?shù)奈锢斫橘|(zhì),則在系統(tǒng)執(zhí)行正常操作時(shí),使用網(wǎng)絡(luò)抓包分析工具(如Wireshark)查看通信采樣,通過(guò)分析抓包數(shù)據(jù)來(lái)確認(rèn)網(wǎng)絡(luò)上看不到機(jī)密信息。
近年來(lái)IACS 正在經(jīng)歷呈指數(shù)級(jí)增長(zhǎng)的網(wǎng)絡(luò)攻擊,為了應(yīng)對(duì)各種網(wǎng)絡(luò)安全的威脅,相關(guān)行業(yè)制定了不少標(biāo)準(zhǔn)來(lái)保護(hù)IACS,其中IEC 62443 系列標(biāo)準(zhǔn)作為一套國(guó)際公認(rèn)的標(biāo)準(zhǔn),在工控系統(tǒng)中的重要性越來(lái)越明顯,因此對(duì)于IEC 62443 標(biāo)準(zhǔn)的研究和應(yīng)用也是迫在眉睫。