李孟君 王樂東 熊偉 丁涵
摘要:有效增強工業(yè)控制系統(tǒng)安全是信息安全領域研究熱點和難點之一,將可信計算技術引入到工控系統(tǒng)是有效解決安全問題的新思路。以PLC工控系統(tǒng)為研究對象,闡述了PLC系統(tǒng)的體系架構(gòu)和安全威脅,分析了將可信計算與PLC系統(tǒng)結(jié)合面臨的問題和挑戰(zhàn)。從上位機和下位機提出了基于TPM的可信PLC系統(tǒng)構(gòu)建方案,該方案運用可信計算技術對上位機進行了安全增強,確保上位機運行環(huán)境的安全可控;運用身份認證機制,實現(xiàn)對上位機組態(tài)軟件進行權(quán)限管理,防止攻擊者惡意篡改和替換;運用數(shù)字簽名技術,實現(xiàn)對邏輯組態(tài)和監(jiān)控組態(tài)的可信軟件分發(fā)管理。
關鍵詞關鍵詞:工業(yè)控制系統(tǒng);可編程邏輯控制器;可信計算
DOIDOI:10.11907/rjdk.172707
中圖分類號:TP319
文獻標識碼:A文章編號文章編號:16727800(2017)011016804
0引言
隨著工業(yè)4.0的深入推進,越來越多的互聯(lián)網(wǎng)技術應用到工業(yè)控制系統(tǒng),隨之產(chǎn)生的工控系統(tǒng)安全問題變得越來越重要。
工業(yè)控制系統(tǒng)(ICS, Industrial Control System)是由計算機軟硬件與工業(yè)過程控制部件組成的自動控制系統(tǒng),主要通過工業(yè)過程控制部件對實時數(shù)據(jù)進行采集、監(jiān)測,在計算機的調(diào)配下,實現(xiàn)自動化和業(yè)務流程的管理與監(jiān)控,包括監(jiān)控和數(shù)據(jù)采集系統(tǒng)(SCADA)、可編程控制器(PLC)、分布式控制系統(tǒng)(DCS)等 [1]。現(xiàn)階段工業(yè)控制系統(tǒng)被控對象包括生產(chǎn)過程、機械裝置、交通工具、實驗裝置、儀器儀表,以及家庭生活設施、家用電器等。國家核設施、鋼鐵、有色金屬、化工、石油石化、電力、天然氣、先進制造、水利樞紐、環(huán)境保護、鐵路、城市軌道交通、民航、城市供水供氣供熱等都是工業(yè)控制系統(tǒng)信息安全管理的重點領域[2]。
與互聯(lián)網(wǎng)信息安全不同,工業(yè)控制系統(tǒng)更為注重物理世界的安全與設備安全穩(wěn)定運行。早期孤島式的工控系統(tǒng)在通訊協(xié)議、操作系統(tǒng)、安管策略與管理流程、應用軟件等方面埋下的安全隱患,使工控系統(tǒng)聯(lián)網(wǎng)之后信息安全問題愈加突出,體現(xiàn)在普遍缺乏網(wǎng)絡準入和控制機制,缺乏身份鑒別和認證鑒權(quán)機制,導致只要從協(xié)議層建立連接,就可對下位機進行修改;缺乏最高權(quán)限限制,高權(quán)限賬號往往掌握著數(shù)據(jù)庫和業(yè)務系統(tǒng)命脈,任何一個操作都可能導致數(shù)據(jù)的修改和泄露[3]。
工業(yè)控制網(wǎng)絡安全事件數(shù)量逐年上升。數(shù)據(jù)表明,自2010年起,重大工控網(wǎng)絡安全事件呈現(xiàn)爆炸式增長,由2010年的52起增加到341起,上報的漏洞數(shù)為前10年的總和。自2011年之后,漏洞數(shù)量持續(xù)保持快速增長勢頭,2013年公開的漏洞數(shù)高達177個,2014年上半年又新增了64個,其中高危漏洞占比超過一半,達到了51%。這些漏洞可直接造成設備停機、進入故障模式、自動重啟、程序崩潰、破壞數(shù)據(jù)區(qū)等嚴重危害,此類危害對高實時性的工控系統(tǒng)無疑是致命的。震網(wǎng)、duqu、火焰、havex等病毒的出現(xiàn)說明,工控系統(tǒng)已經(jīng)成為黑客的重點目標[4]。
工控安全問題受到越來越多的關注?,F(xiàn)有解決方案中,工業(yè)控制系統(tǒng)的安全防護技術仍然采取傳統(tǒng)信息安全防護手段,主要分為兩個層面:工控計算節(jié)點安全防護和工控邊界安全防護[5]。對于節(jié)點防護集中于防病毒軟件和工控系統(tǒng)漏洞掃描工具;對于邊界防護集中于對工控協(xié)議格式和工控協(xié)議內(nèi)容的監(jiān)控與過濾。由于工業(yè)控制系統(tǒng)是一個由現(xiàn)場設備、過程控制設備、網(wǎng)絡設備和工控機組成的復雜系統(tǒng),采用傳統(tǒng)手段只會讓病毒庫、漏洞掃描庫越來越大、入侵檢測系統(tǒng)越來越復雜、防火墻越砌越高,但無法應對不斷出現(xiàn)的新病毒、新漏洞和新攻擊。
信息安全領域研究中,密碼技術是安全信息系統(tǒng)的基石。只有在信息系統(tǒng)硬件和軟件的底層采用基于密碼的安全防護措施,才能有效確保信息系統(tǒng)安全。解決工業(yè)控制系統(tǒng)安全問題,可信計算技術行之有效,其主要思路是建立可信根和信任鏈來保證系統(tǒng)的完整性和安全性,由可信根提供與信息系統(tǒng)獨立并且隔離的可信度量、可信存儲以及可信報告等服務,確保整個系統(tǒng)運行環(huán)境和網(wǎng)絡接入環(huán)境完整可信[6]。
1PLC工控系統(tǒng)安全威脅分析
1.1體系架構(gòu)組成
典型的PLC工控系統(tǒng)分為站控層、現(xiàn)場控制層和過程層,如圖1所示。其中站控層部署在上位機,現(xiàn)場控制層部署PLC下位機,過程層主要包括現(xiàn)場設備如傳感器、開關閥門等。上位機與PLC下位機之間通過工業(yè)以太網(wǎng)進行互聯(lián)通信,PLC下位機與現(xiàn)場設備通過現(xiàn)場總線通信[7]。
圖1PLC工控系統(tǒng)架構(gòu)組成
站控層包括工程師站和操作員站,用于生成PLC下位機執(zhí)行的控制和監(jiān)視代碼,通過在普通計算機上部署邏輯或監(jiān)控組態(tài)軟件,并安裝到下位機執(zhí)行。上位機可將下位機收集的數(shù)據(jù)通過圖形、報表等形式反饋給用戶,直接發(fā)送操作指令到下位機,修改下位機的運行狀態(tài)。
PLC是以可編程存儲器為核心構(gòu)件的邏輯控制器,通過對存儲程序、順序控制、邏輯運算等面向用戶的指令執(zhí)行,進而以數(shù)字或模擬輸入、輸出形式形成對機械設備及生產(chǎn)過程的控制。隨著嵌入式技術的廣泛應用,PLC逐步發(fā)展為具有控制和通信功能的嵌入式系統(tǒng)。
PLC下位機負責直接控制現(xiàn)場設備,同時與主控中心通信,是整個系統(tǒng)的核心。一般由處理單元(CPU)、存儲器、輸入/輸出接口、電源、擴展接口和編程接口組成。下位機主要功能是監(jiān)測和控制現(xiàn)場設備并與上位機進行通信。上位機與PLC下位機之間通過編程接口來傳送組態(tài)程序。
1.2安全威脅分析
工控信息安全是一個復雜的系統(tǒng)工程,在工業(yè)應用多元化發(fā)展需求的強勁推動下,工業(yè)自動化控制網(wǎng)絡逐步演變?yōu)殚_放系統(tǒng),其集成化網(wǎng)絡系統(tǒng)與IT網(wǎng)絡基礎設施充分互聯(lián),PLC工控系統(tǒng)既面臨上位機暴露在互聯(lián)網(wǎng)上所帶來的攻擊滲透,又面臨針對PLC下位機的深層控制與破壞威脅[8]。與傳統(tǒng)IT信息安全相比,工控信息安全有其自身特點[9]:①網(wǎng)絡通信協(xié)議不同,采用OPC、Modbus等私有協(xié)議;②網(wǎng)絡結(jié)構(gòu)與行為穩(wěn)定性高,投運之后基本不會發(fā)生改變;③對系統(tǒng)實時性和可用性要求高,要求持續(xù)運行不能間斷;④升級不方便,更新代價高,補丁難完善。endprint
對工業(yè)信息安全而言,首先需要滿足控制系統(tǒng)的高可用性要求,其次是完整性 [10]。
工控系統(tǒng)的攻擊目標包括控制底層現(xiàn)場總線與設備、截獲數(shù)據(jù)情報、造成物理感染或破壞等,有以下幾種典型的攻擊方式:
(1)非法獲取權(quán)限。多數(shù)工控廠家系統(tǒng)軟件采用口令認證方式,且設有默認密碼,攻擊者很容易非法獲取PLC權(quán)限進行破壞活動。例如獲取下裝權(quán)限,下裝惡意邏輯或系統(tǒng)軟件至PLC;獲取一些關鍵設備的控制權(quán)限進行危險操作等。
(2)篡改工程組態(tài)文件。通過入侵上位機直接修改本地保存的工程組態(tài)文件,通過合法途徑正常下裝至PLC運行。
(3)偽造控制指令。偽裝成操作員,發(fā)送虛假控制指令至PLC,導致設備偏離正常工作狀態(tài),系統(tǒng)停機等。
(4)實時欺騙。制造假數(shù)據(jù)、虛假狀態(tài)欺騙操作人員或運行系統(tǒng),導致誤操作或使操作者不能及時有效處理危險工控。
(5)干擾和破壞控制功能和機制。直接攻擊控制系統(tǒng),干擾、破壞控制任務的執(zhí)行。
(6)信息外泄。將內(nèi)部信息通過網(wǎng)絡、無線通訊方式、電磁輻射、電源線、移動介質(zhì)等傳輸出去,尤其是敏感的重大事件啟動、暫停、繼續(xù)、終止、撤銷等有關信息。
傳統(tǒng)的信息安全防范方式的被動性以及信息系統(tǒng)存在的固有缺陷,難以通過查、殺、堵、截應付以上多種攻擊方式??尚庞嬎阕鳛樾乱淮鲃用庖叻烙w系,對硬件結(jié)構(gòu)、操作系統(tǒng)、應用軟件以及網(wǎng)絡連接等多方面加強安全防范,并提供獨立密碼服務和可信存儲調(diào)用,可從根源、整體上提高工業(yè)控制系統(tǒng)的安全防御能力。
針對工控系統(tǒng),可信計算技術防御面臨的問題和挑戰(zhàn)主要有:①通過構(gòu)建上位機可信計算平臺,確保組態(tài)軟件運行環(huán)境安全可信;②通過對下位機PLC工控系統(tǒng)進行可信增強,確保PLC系統(tǒng)軟件、邏輯組態(tài)、監(jiān)控組態(tài)運行環(huán)境完整;③通過實現(xiàn)上位機與下位機的身份認證,確保上位機接入及操作指令下發(fā)的完整性和認證性。
2上位機可信平臺構(gòu)建
上位機可信計算平臺以TPM為核心,由計算機硬件、操作系統(tǒng)、可信軟件和應用軟件組成。其以可信度量為起點,以信任鏈的方式來度量整個平臺資源的完整性,將完整性的度量結(jié)果存儲在TPM中的平臺寄存器PCR中,并通過TPM向詢問平臺可信狀態(tài)的實體提供報告,供訪問者判定該平臺是否可信,以決定是否與其交互[1113],這是可信計算平臺與普通計算機在組成結(jié)構(gòu)與安全機制方面最主要的區(qū)別。上位機可信計算平臺體系結(jié)構(gòu)如圖2所示。
TPM集成了可信計算所需的安全模塊功能,通過密碼協(xié)處理器、HMAC引擎、SHA1引擎、密鑰產(chǎn)生部件、隨機數(shù)發(fā)生器為平臺提供密碼運算的硬件,以此作為整個平臺的密碼基礎。密碼協(xié)處理器用來實現(xiàn)加密、解密、簽名和驗簽的硬件加速。TPM作為整個平臺的硬件信任根基,必須確保自身安全。正是其基于硬件的屬性,同時提供多種密碼和訪問控制技術,保證了TPM自身及內(nèi)部數(shù)據(jù)不被非法攻擊。
可信軟件棧(Trust Software Stack,TSS)是一種分層的軟件架構(gòu),共分3層,自下而上分別為設備驅(qū)動庫TDDL、核心服務層TCS和核心服務層TSP。TSS作為可信計算平臺的中間核心部分,在整個架構(gòu)中將TPM的硬件功能進行了展現(xiàn),同時給上層的資源提供服務基礎。TSS設計目的是提供使用TPM功能的入口點、提供對TPM的同步訪問、對TPM的字節(jié)流進行處理、管理TPM資源??尚跑浖2灰蕾嚾魏纹脚_與操作系統(tǒng),模塊相互之間的通訊與連接不會根據(jù)平臺或操作系統(tǒng)的不同而改變[14]。
可信軟件基是基于可信計算,以TPM為可信根,通過可信硬件的雜湊算法和加密算法,為信息系統(tǒng)構(gòu)建安全可靠的防護體系,確保系統(tǒng)中重要信息的機密性和完整性不會遭受攻擊。可信軟件基安全功能模塊由初始化、身份認證、文件完整性校驗和審計4個模塊組成,通過向內(nèi)核驅(qū)動程序請求計算度量值及接收度量值,并在用戶態(tài)調(diào)用TSS接口,實現(xiàn)可信存儲認證和可信認證工作。各模塊通過TCSI服務提供的接口,獲得底層TPM的密碼服務和可信存儲支撐,然后各模塊相互協(xié)作,實現(xiàn)安全增強操作系統(tǒng)所要求的安全功能和保障功能。
圖2上位機可信平臺系統(tǒng)架構(gòu)
3組態(tài)軟件可信管理
可信軟件基雖然能確保上位機中組態(tài)軟件的運行環(huán)境安全,但無法完全杜絕利用組態(tài)軟件偽造或篡改數(shù)據(jù)帶來的威脅,需要從輸入和輸出兩端進行可信增強,包括對組態(tài)軟件的使用角色進行鑒權(quán),以及對組態(tài)軟件生成的工程文件進行簽名發(fā)布。
基于角色的權(quán)限管理技術能夠解決組態(tài)軟件工程缺乏權(quán)限管理的弊端,使工控系統(tǒng)的安全不僅僅依賴于計算機與人的制度管理,而要具有基于密碼的識別與防御能力。
將組態(tài)軟件操作者分為以下幾種角色,分別對應不同的操作權(quán)限,如表1所示。
權(quán)限管理系統(tǒng)分別對工程組態(tài)軟件和操作監(jiān)控軟件進行安全增強,增加權(quán)限配置和權(quán)限認證兩個子模塊。權(quán)限配置用于設置不同的人的對應角色、分管區(qū)域以及對此區(qū)域內(nèi)設備的操作權(quán)限。權(quán)限認證實現(xiàn)對身份的識別以及權(quán)限功能。在整個控制過程中涉及到人的操作,都增加物理介質(zhì)來對人進行身份鑒別,并驗證是否具有相應的操作權(quán)限,以實現(xiàn)以下保護策略:防止操作者對非自己管理區(qū)域的設備進行誤操作;防止無權(quán)限人員通過該組態(tài)軟件生成惡意組態(tài)邏輯工程;防止惡意程序偽造成操作者,修改工程或發(fā)送操作指令。
權(quán)限認證階段包括:
(1)打開工程。打開、編輯、保存工程這部分的權(quán)限控制依靠固定密碼實現(xiàn)。打開組態(tài)軟件時,要求使用者輸入該工程密碼。密碼的安全性通過管理和軟件技術雙方配合:一方面加強密碼管理,防止弱口令、防止人為泄露、定期更換密碼等;另一方面做到本地保存密碼的安全性、修改密碼過程中對權(quán)限的認證等。
(2)發(fā)布工程。為了使用上的方便,工程編輯時不驗證操作權(quán)限,但只允許具有工程師權(quán)限的人才能對下位機PLC系統(tǒng)進行發(fā)布下裝。發(fā)布權(quán)限需要專用的物理認證設備,如UKEY。預先將在UKEY寫入可允許操作的設備信息,以及此UKEY具有的操作權(quán)限。當插入UKEY時,主機對其身份進行驗證,確認該角色是否可以發(fā)布該邏輯組態(tài)工程。只有驗證通過了,才調(diào)用TPM的簽名接口對工程文件進行簽名發(fā)布。endprint
(3)發(fā)送操作指令。發(fā)送操作指令可能在工程師站發(fā)生,例如通過組態(tài)軟件在線寫值,也可能在操作員站發(fā)生,例如在監(jiān)控軟件上直接操控某個設備。這些指令都會直接寫入PLC參與運行,所以發(fā)送指令時需要對操作者的身份和權(quán)限進行驗證。只有驗證通過時,組態(tài)軟件或監(jiān)控軟件才能真正地將指令發(fā)送至PLC進行運算。操作指令包括:工程下裝、狀態(tài)讀取、變量監(jiān)視、寫變量、變量強制、運行、停止以及暫停等。
4下位機PLC可信增強
下位機PLC是一個由處理器主控模塊、外部存儲部件、總線耦合器以及輸入輸出模塊等組成的嵌入式系統(tǒng)。其中,處理器主控模塊實現(xiàn)現(xiàn)場總線主站功能,輪詢現(xiàn)場設備從站數(shù)據(jù)、管理從站信息;與上位機組態(tài)管理軟件通信并完成總線的配置下裝及診斷上報。
PLC嵌入式實時控制系統(tǒng)由操作系統(tǒng)核心層和應用支撐層構(gòu)成,核心層主要包括嵌入式操作系統(tǒng)板級內(nèi)核及驅(qū)動包,應用支撐層包括用于處理組態(tài)邏輯和操作指令的實時控制運行系統(tǒng),其可信系統(tǒng)架構(gòu)如圖3所示,通過板級擴展TPM提供可信支撐。
PLC實時控制運行系統(tǒng)(RCRS)包括主任務模塊、通信模塊、加載運行模塊、IO管理模塊、輔助功能模塊等。主任務系統(tǒng)實現(xiàn)事務處理、狀態(tài)切換、故障診斷、系統(tǒng)配置及初始化等功能。IEC加載運行模塊主要實現(xiàn)任務管理、IO刷新、用戶邏輯運行、變量修改生效、過程快照、交互變量刷新等功能,由于RCRS將中斷處理任務視為一個特殊任務,因此,中斷管理和中斷代碼執(zhí)行也歸入任務系統(tǒng)。通信模塊主要實現(xiàn)過程數(shù)據(jù)同步、狀態(tài)數(shù)據(jù)同步、發(fā)送命令等功能。IO管理模塊提供讀變量和寫變量等功能。各模塊主要功能如表2所示。
RCRS通過三方面進行安全增強:①對通信模塊進行可信改造,使其支持上位機的可信認證及對操作指令加密保護,只有認證通過才運行通信;②對加載運行模塊進行可信增強,在加載運行組態(tài)工程文件之前,先進行簽名驗簽,只有通過驗簽的組態(tài)工程才允許運行;③增加用戶身份權(quán)限管理,通過身份驗證確定該用戶是否具有對資源的訪問和使用權(quán)限,進而使系統(tǒng)的訪問策略能夠可靠、有效地執(zhí)行,防止攻擊者假冒合法用戶獲得資源訪問權(quán)限,保證系統(tǒng)和數(shù)據(jù)的安全,如圖4所示。
圖4PLC嵌入式實時控制系統(tǒng)可信增強
5結(jié)語
工業(yè)控制系統(tǒng)面臨著日益嚴峻的安全威脅,必須采取相應的軟硬件措施預防任何破壞性攻擊??尚庞嬎阕鳛橐环N新興的安全計算機平臺構(gòu)建技術,是工業(yè)控制系統(tǒng)安全問題較好的解決方案。本文針對工控環(huán)境中的PLC系統(tǒng)體系結(jié)構(gòu)進行了研究,設計了一種基于TPM的可信PLC工控系統(tǒng)解決方案。通過運用可信計算技術對上位機進行安全增強,構(gòu)建從操作系統(tǒng)、可信軟件基到應用軟件的信任鏈,確保上位機運行環(huán)境安全可控;通過運用身份認證機制,實現(xiàn)對上位機組態(tài)軟件進行權(quán)限管理,防止攻擊者惡意篡改和替換;運用數(shù)字簽名技術,實現(xiàn)對邏輯組態(tài)和監(jiān)控組態(tài)的可信軟件分發(fā)管理。
本研究側(cè)重于PLC工控環(huán)境下可信平臺構(gòu)建技術的功能性設計,對適用于PLC系統(tǒng)的專用可信平臺模塊設計尚缺乏考慮,今后將在這方面展開深入研究。
參考文獻參考文獻:
[1]許子先,羅建,孟楠,等.工業(yè)控制系統(tǒng)組態(tài)軟件安全研究[J].信息網(wǎng)絡安全,2017(7):7379.
[2]曾瑜,郭金全.工業(yè)控制系統(tǒng)信息安全現(xiàn)狀分析[J].信息網(wǎng)絡安全,2016(9):169172.
[3]宋國江,肖榮華,晏培.工業(yè)控制系統(tǒng)中PLC面臨的網(wǎng)絡空間安全威脅[J].信息網(wǎng)絡安全,2016(9):228233.
[4]彭勇,江常青,謝豐,等.工業(yè)控制系統(tǒng)信息安全研究進展[J].清華大學學報:自然科學版,2012(10):13961408.
[5]鐘梁高.基于可信計算的工業(yè)控制系統(tǒng)信息安全解決方案研究[D].大連:大連理工大學,2015.
[6]吳歡.工業(yè)控制環(huán)境計算節(jié)點安全防護技術研究[D].北京:北京工業(yè)大學,2016.
[7]李鴻培,忽朝儉,王曉鵬.工業(yè)控制系統(tǒng)的安全研究與實踐[J].計算機安全,2014(4):3659.
[8]何之棟,裘坤,鐘晨,等.工業(yè)控制系統(tǒng)的信息安全問題研究[J].工業(yè)控制計算機,2013,26(10):14.
[9]魏可承,李斌,易偉文,等.工業(yè)控制系統(tǒng)信息安全防護體系規(guī)劃研究[J].自動化儀表,2015,36(2):4950.
[10]周黎輝.工業(yè)控制系統(tǒng)信息安全保護體系研究與探討[J].信息安全與技術,2015,6(6):4647.
[11]TRUSTED COMPUTING GROUP. TPM main part l design principles specification version 1.2[EB/OL]. http://www.trustedeomputinggroup.org,2003.
[12]TRUSTED COMPUTING GROUP.TCG Specification architecture overview,version l.2[EB/OL]. http://www.trustedcomputinggroup.org,2003.
[13]SAILER R, ZHANG X, JAEGER T, et al. Design and implementation of a TCGbased integrity measurement architecture[C]. USENIX Security Symposium.2004(13):223238.
[14]TCG GROUP. TCG specification architecture overview[J]. TCG Specification Revision,2007(1):124.
責任編輯(責任編輯:杜能鋼)endprint