伴隨著工業(yè)自動化以及產(chǎn)能的進一步升級,大型工廠也將向高度集成化方向轉(zhuǎn)變。與之相關,電子行業(yè)的轉(zhuǎn)變則主要集中在供電方案,IOT控制,與信息安全層面。
本文則主要討論在工業(yè)4.0發(fā)展進程下,工業(yè)領域的信息安全,以及與之相關的電子方案對比:
大型工業(yè)網(wǎng)絡正由單純的OT向OT+IT的整合形式改變,行業(yè)領先的服務商已經(jīng)開始綜合布局相關產(chǎn)業(yè)。大型工業(yè)包含大量小型連接傳感器,都可能成為系統(tǒng)的潛在入口點,受感染的個人電腦也可能對合并OT和IT流量的工廠造成問題。因此不論是物聯(lián)網(wǎng),亦或是集成化工業(yè),面對產(chǎn)業(yè)升級,勢必增強整體集成商安全防護,進而帶動新的市場需求。
信息安全,主要針對的是Cyber Attack,對象是通過連接互聯(lián)網(wǎng)的設備和系統(tǒng)訪問系統(tǒng),例如傳感器、可編程邏輯控制器(plc)、分布式控制系統(tǒng)(dcs)以及IIoT(工業(yè)物聯(lián)網(wǎng))設備中的其他傳感器,例如智能報警器、智能斷路器等。這些工業(yè)自動化和控制系統(tǒng)(IACS)容易受到惡意軟件、數(shù)據(jù)泄露和泄露的攻擊。隨著工業(yè)物聯(lián)網(wǎng)設備在傳統(tǒng)系統(tǒng)和解決方案中的集成不斷增加,關鍵基礎設施和其他工業(yè)控制系統(tǒng)網(wǎng)絡越來越容易受到網(wǎng)絡攻擊。
對抗這種日益增長的威脅的最佳方法是在產(chǎn)品或系統(tǒng)級別建立保護。從本質(zhì)上講,使用設計安全的理念、標準和對策,可以在網(wǎng)絡攻擊開始之前就阻止它。這里就引入了信息安全的概念以及行業(yè)標準。
信息安全概念解讀:
其實,信息安全本身就是一個很寬泛的概念。早在這個概念被引入工業(yè)領域之前,工業(yè)領域,本身就根據(jù)應用存在安全標準。筆者從比較容易理解和區(qū)分的角度切入——信息安全概念的產(chǎn)生,主要因為產(chǎn)品設備開始聯(lián)網(wǎng)之后,網(wǎng)絡攻擊成為一種真正的風險,因此引入信息安全的概念,并制定相關標準,指導企業(yè)生產(chǎn)設計,提高工業(yè)系統(tǒng)之間的互連和兼容性,規(guī)范標標準通信協(xié)議。
這里,引入行業(yè)最為廣泛應用的標準——ISA/IEC 62443系列標準作為討論主體,此標準定義了實施和維護電子安全工業(yè)自動化和控制系統(tǒng)(IACS)的要求和流程。是應對網(wǎng)絡安全挑戰(zhàn)整體的方法,彌合了運營和信息技術(shù)之間的差距,以及流程安全和網(wǎng)絡安全之間的差距。(筆者注:針對全部IACS工業(yè)自動化和控制系統(tǒng)(Industrial automation and control systems)的行業(yè)設定了網(wǎng)絡安全基準,包括樓宇自動化、發(fā)電和配電、醫(yī)療設備、運輸以及化工、石油和天然氣等流程行業(yè)。參與機構(gòu)則包含:國際自動化學會(ISA)、國際標準化組織(ISO)和國際電工委員會(IEC)。)
其實這樣解讀還是過于書面化,筆者在翻看ISA的官網(wǎng)介紹時也覺得略有拗口,如果稍微俠義地理解,信息安全的本質(zhì)是——通過算法加密以及安全驗證,保證信息傳輸,命令控制不被第三方篡改。
如果廣義全面的理解,信息安全標準包含很多,涵蓋了工廠在人員、流程和技術(shù)等多方面指導。ISA/IEC 62443系列涉及工業(yè)自動化和控制系統(tǒng)(IACS)整個生命周期的安全性(適用于所有自動化和控制系統(tǒng),而不僅僅是工業(yè)系統(tǒng),所以其實IEC62443標準已經(jīng)包含了信息安全,與安全生產(chǎn)(功能安全包含其中)等綜合信息。這也比較好理解,單純的算法加密不能絕對保證系統(tǒng)安全運行,要在其他區(qū)塊有序工作的前提下。(It is important to introduce the three basic roles that help protect industrial facilities from cyber attacks.)(筆者注:這里涉及較多的終端需求客戶包括Equifax、Target、SolarWinds等行業(yè)巨頭,以及世界各地的大學、公用事業(yè)和政府機構(gòu)。這些攻擊包括數(shù)據(jù)泄露和盜竊、勒索軟件、系統(tǒng)滲透和身份盜竊,以及全國范圍內(nèi)對電力和水等關鍵基礎設施的攻擊。)
Picture from ISA website.
行業(yè)標準解讀:
ISA/IEC 62443分為四個層次(通用、策略和過程、系統(tǒng)和組件)。其實是分四個部分,一般根據(jù)經(jīng)驗,企業(yè)產(chǎn)品需要通過3-3以及4-2認證,與設備,以及組件相關的重點是第四部分4-1和4-2。
從更宏觀的概念,ISA/IEC 62443定義了工業(yè)控制系統(tǒng)的概念,引入了一個五級功能參考模型,將這些功能級別劃分為區(qū)域和管道,并定義了系統(tǒng)安全的基本要求(基本要求- FR)。同樣也被認為是工業(yè)自動化和控制系統(tǒng)(IACS) industrial automation and control system的是任何控制系統(tǒng)及其相關的通信手段(OSI模型的第2級或第3級)以及對其實現(xiàn)有用的接口。本地和/或分布式工業(yè)控制系統(tǒng)(也稱為SCADA)通常由以下部分組成:
- DCS(分布式控制系統(tǒng))
- PLC(可編程邏輯控制器)
- RTU(遠程終端單元)
- BPCS(基本過程控制系統(tǒng))
- 安全儀表系統(tǒng)(SIS)
- 通信系統(tǒng)(L2和L3 OSI模型,如交換機、調(diào)制解調(diào)器、路由器、無線通信設備、防火墻等)。
對應在安全方面的表現(xiàn)為——
- FR1—識別、身份驗證控制和訪問控制(AC)—在允許訪問IACS之前識別和驗證所有用戶(人工、流程和設備)。
- FR2 -用戶控制(UC):確保所有識別的用戶(人、進程和設備)都有權(quán)限在系統(tǒng)上執(zhí)行所需的操作,并監(jiān)控這些權(quán)限的使用。
- FR3 -數(shù)據(jù)完整性(DI):確保通信通道和存儲目錄中設備和信息的完整性(防止未經(jīng)授權(quán)的更改)。
- FR4 -數(shù)據(jù)機密性(DC):確保通過通信通道和存儲目錄的信息不被分散。
- FR5 -限制數(shù)據(jù)流(RDF) -將系統(tǒng)劃分為區(qū)域和管道,以避免不必要的數(shù)據(jù)傳播。
- FR6 -事件及時響應(TRE):通過及時報告和及時決策來響應安全漏洞。
- FR7 -資源可用性(RA) -在拒絕服務攻擊期間確保系統(tǒng)和資產(chǎn)可用性。
Physical architecture model of an industrial network Picture from Cisco Lab website.
在市面上,集合服務系統(tǒng)與網(wǎng)絡設備一起工作的公司,可以提供對應整體解決方案,包含用戶、時間、位置、威脅、漏洞和訪問類型等屬性的全面上下文身份。這個身份(人的或其他身份)可用于執(zhí)行與身份的業(yè)務角色匹配的高度安全的訪問策略。管理員可以對允許網(wǎng)絡上的端點的人員、內(nèi)容、時間、位置和方式進行精確控制。同時操作系統(tǒng)可以集成多個外部身份提供者,舉例如Microsoft Active Directory。
具體在應用層面的安全流程為——集成商(提供操作系統(tǒng)和網(wǎng)絡設備的方案公司)提供了易于部署的內(nèi)部證書頒發(fā)機構(gòu)。(筆者注:這里大部分均可支持獨立部署,也支持證書頒發(fā)機構(gòu)與現(xiàn)有企業(yè)公鑰基礎設施集成的部署,并支持手動創(chuàng)建批量或單個證書和密鑰對,以高度安全的方式將設備連接到網(wǎng)絡。)對于人類用戶訪問工廠車間的Windows工作站或遠程進入網(wǎng)絡,平臺可以提供多因素身份驗證(MFA),在授予訪問權(quán)限之前驗證用戶身份。為Windows登錄安裝Duo身份驗證會為所有交互式用戶Windows登錄嘗試添加MFA,無論是在本地控制臺還是通過遠程桌面協(xié)議(RDP)均可。
同時,方案商還會提供資產(chǎn)清單和流量數(shù)據(jù)的可見性。它還可以檢測使用明文協(xié)議發(fā)送的憑據(jù)的存在,使管理員有機會在中間人攻擊發(fā)生之前補救這種情況。
從產(chǎn)品設備層面:
與一般的ISO/IEC標準不同的是,若想取得IEC 62443-4-2與IEC 62443-3-3的證書,必須先通過IEC 62443 -4-1的認證,也就是說對產(chǎn)品供應商而言,必須先確保機構(gòu)內(nèi)產(chǎn)品開發(fā)流程的安全,才能申請產(chǎn)品安全認證。目前優(yōu)先經(jīng)受市場考驗的主要為IoT設備。海外市場越來越多的被要求提供安全等級(Security Level)證明,而IEC 62443 -4-2規(guī)范便是對應安全等級(Security Level)的要求細節(jié),因此隨著市場對安全需求的增加,IEC62443-4-2認證也日顯重要。
驗證IEC 62443-4-2,首先須依據(jù)IEC 62443-4-1定義的開發(fā)流程來實際制作IEC 62443-4-2的組件,組件涵蓋軟件應用(Software Application)、嵌入式設備(Embedded device)、網(wǎng)通設備(Network device)以及控制設備(Host device)四類,同時技術(shù)安全也需滿足自訂的安全等級(Security Level)目標下的所有要求項目,才能順利取得證書。(筆者注:關于安全流程評估,會有第三方專業(yè)公司例如Security Pattern等公司可以提供評估的指導資源,以解決威脅、漏洞和潛在后果)
ISA/IEC 62443標準通常指安全密鑰存儲或加密密鑰保護。加密算法是用于執(zhí)行數(shù)學函數(shù)的指令,從硬件的角度來說,如果沒有觸發(fā)數(shù)學運算的相關密鑰的保護,實際上根本沒有安全性,因此安全的密鑰存儲立即變得至關重要。安全密鑰存儲既保護設備物理邊界內(nèi)的加密操作,也保護加密密鑰。密鑰和算法必須包含在設備中的相同安全邊界中,以便在事務期間不能暴露它們。安全密鑰存儲的魯棒性測試符合定義密鑰保護魯棒性的通用標準聯(lián)合解釋庫(JIL)評級量表。
ISA/IEC 62443要求“安全密鑰存儲”或保護加密密鑰。這不是含糊不清的安全術(shù)語,而不是硅設計的特定功能。一種安全的密鑰存儲或保護行為。密鑰包括實現(xiàn)一個物理安全邊界,其中包括加密操作和加密鍵。如果密鑰和算法不在同一安全邊界中,則密鑰將在期間的某個時刻暴露事務。
ISA/IEC 62443-4-2中,有專門列出安全要求以及對應描述:
那些適用于所有類型組件的組件需求被標記為“CR”,而其他的要求根據(jù)所適用的組件類型進行標記(分別為:EDR嵌入式設備、SAR軟件應用、HDR主機設備、NDR(Network Devices).
IEC 62443-4-1標準定義了有效的如標識和身份驗證、代碼簽名、開發(fā)環(huán)境安全和硬件安全。組織可以為每個需求選擇成熟度級別;然而,為了獲得認證,遵守所有要求是很重要的。一個組織獲得IEC62443-4-1認證從任何IEC/ISA批準的全球認證機構(gòu),如Underwriters Laboratories (UL), Intertek, TüV, CertX和其他,為安全開發(fā)生命周期保證(SDLA),當它證明符合所有要求。
這些具象化到系統(tǒng)集成商的能力體現(xiàn),可以表現(xiàn)為幾個方面,有些包含硬件設計,有些則主要體現(xiàn)在系統(tǒng)架構(gòu)方面比如:
最小化攻擊面積。每當向現(xiàn)有產(chǎn)品或系統(tǒng)添加新特性時,都會給整個系統(tǒng)增加一定數(shù)量的安全風險。從安全的角度來看,組織通過各種可能的方法來尋找減少和最小化攻擊面的總體大小的方法是非常重要的,具體減少接口的方式包含:減少用戶角色數(shù)量,避免存儲不需要的機密數(shù)據(jù),禁用不需要或不總是需要的特性,引入操作控制,如Web應用程序防火墻(WAF)和其他入侵檢測和防御系統(tǒng)。例如,一個產(chǎn)品從功能設計上,是可以使用各種開放端口和服務進行操作的。但是在安全原則下,可以反思是否所有端口和服務都需要,甚至在任何時候都可以使用,進而刪除不需要的端口和服務來減少攻擊面,使其更加安全。這點轉(zhuǎn)化到硬件上,則體現(xiàn)為——從生產(chǎn)硬件的開發(fā)過程中使用的電路板上刪除調(diào)試端口、標頭和跡線。這些方式可以規(guī)避轉(zhuǎn)儲固件或提取關鍵信息(如密鑰和密碼)來破壞產(chǎn)品或系統(tǒng)。
Turn Key solution默認關閉不需要運行的端口和服務。還是有些抽象,具體到行為可以包含,默認為僅http,第一次登錄時立即提示修改密碼,禁用所有不安全服務等,發(fā)生風險行為時彈窗提示等等。(備注:IEC62443-4-1中提到,默認情況下直接啟用密碼老化或密碼復雜性等安全特性)。
3)限制權(quán)限,比如限制用戶權(quán)限,限制資源權(quán)限,比如CPU限制、內(nèi)存、網(wǎng)絡和文件系統(tǒng)權(quán)限,以及服務器上的應用程序?qū)?a class="article-link" target="_blank" href="/tag/%E6%95%B0%E6%8D%AE%E5%BA%93/">數(shù)據(jù)庫只讀訪問,對審計日志文件的讀寫訪問等。舉例說明,在Linux系統(tǒng)中,默認情況下,所有進程都不應該以root特權(quán)運行。類似地,在Microsoft Windows中,所有應用程序都不應該總是需要Admin系統(tǒng)特權(quán)才能運行。
4)縱深防御,以分層的方式部署更多的安全控制。例如,系統(tǒng)集成產(chǎn)品安裝在單獨的網(wǎng)絡上,防火墻被放置在不同的網(wǎng)絡之間,安全事件和訪問記錄在產(chǎn)品、系統(tǒng)和網(wǎng)絡級別。
5)使用安全的組件和設計,對于產(chǎn)品和系統(tǒng)開發(fā),只應該使用經(jīng)過驗證的設計或設計模式。開發(fā)人員應該使用行業(yè)標準和經(jīng)過批準的加密算法(如國家標準與技術(shù)研究所(NIST)和聯(lián)邦信息處理標準出版物(FIPS)),安全協(xié)議的操作模式必須用于所有功能,如加密或固件真實性檢查。只要存在經(jīng)過驗證的安全設計解決方案,開發(fā)人員就應該避免創(chuàng)建自己的算法。當使用第三方開源代碼或商用現(xiàn)貨硬件或軟件時,確保盡可能只使用安全組件是很重要的。確認固件和應用軟件只包含所需功能的代碼——識別并刪除死代碼。確保從生產(chǎn)中的產(chǎn)品或系統(tǒng)中刪除任何調(diào)試或開發(fā)特性(硬件或軟件)。
6)軟件的完整性,產(chǎn)品的軟件或固件更新應該使用標準的加密機制來建立真實性和完整性。這通常是使用數(shù)字簽名實現(xiàn)的,例如非對稱加密技術(shù)和公鑰基礎設施(PKI),可用于檢測針對原始預安裝版本的軟件或固件完整性的任何更改。數(shù)字簽名算法,如RSA或DSA,是公鑰加密。在公鑰加密(非對稱加密)中,使用一個與公鑰配對的私鑰進行身份驗證。舊的私鑰密碼學(稱為對稱加密)使用單個密鑰對數(shù)據(jù)傳輸進行加密和解密。在物聯(lián)網(wǎng)系統(tǒng)中,經(jīng)常的情況是如密鑰對于所有產(chǎn)品都不是唯一的,將有可能允許惡意用戶為該領域中的所有此類產(chǎn)品創(chuàng)建有效的固件映像,公鑰密碼學則不存在這種情況。
綜上其中的1,2,5,6幾點,均與硬件設計和安全芯片息息相關,那么下文將嘗試橫向?qū)Ρ?,比如與Security Pattern合作的安全芯片以及提供的能力,簡單了解安全芯片能做的事情。
從安全芯片以技術(shù)支持層面:
行業(yè)內(nèi)較為全面領先,并與Security Pattern有合作的芯片頭部公司包含NXP,Microchip,以及華大半導體,因為部分資料并非完全公開,因此如下圖做出簡單對比。綜合來看,從完整對信息安全的理解,代碼支持,API接口調(diào)用支持,demo板等層面,Microchip與NXP相對完善,也各自推出了適應平臺。(筆者注:以上信息來源于互聯(lián)網(wǎng)公開AN,以及新聞資料和官網(wǎng)內(nèi)容,不全面部分歡迎讀者伙伴幫忙補充參考。)
這種現(xiàn)成的解決方案與廣泛的mcu和mpu兼容,還可以支持高級操作系統(tǒng),如Linux、Windows、Android和實時操作系統(tǒng)。此外,工程師可以從廣泛的開發(fā)工具、代碼示例、硬件開發(fā)工具包和詳細的文檔中受益,以減少開發(fā)成本和上市時間。
參考資料:
ISA-62443-1-1-2007, Security for industrial automation and control systems, Part 1-1: Terminology, concepts, and models
ISA-62443-2-1-2009, Security for industrial automation and control systems, Part 2-1: Establishing an industrial automation and control systems security program
ANSI/ISA-62443-3-2-2020, Security for industrial automation and control systems, Part 3-2: Security risk assessment for system design
ANSI/ISA-62443-3-3-2013, Security for industrial automation and control systems, Part 3-3: System security requirements and security levels
ANSI/ISA-62443-4-1-2018, Security for industrial automation and control systems, Part 4-1: Secure product development lifecycle requirements
(Editorial corrigendum issued in December 2020 changed title from ANSI/ISA-62443-4-1-2018, Security for industrial automation and control systems, Part 4-1: Product security development life-cycle requirements, to parallel IEC 62443-4-1 title; there were no other changes.)
ANSI/ISA-62443-4-2-2018, Security for industrial automation and control systems, Part 4-2: Technical security requirements for IACS components
注解:
RSA、DSA、ECDSA、EdDSA和Ed25519都可以用于數(shù)字簽名,加密只能使用RSA。
RSA (Rivest-Shamir-Adleman)是最早的公鑰密碼系統(tǒng)之一,廣泛用于安全的數(shù)據(jù)傳輸。它的安全性依賴于整數(shù)分解,因此永遠不需要安全的RNG(隨機數(shù)生成器)。與DSA相比,RSA驗證簽名的速度更快,但生成簽名的速度較慢。
DSA (Digital Signature Algorithm)是美國聯(lián)邦政府制定的數(shù)字簽名信息處理標準。它的安全性取決于離散對數(shù)問題。DSA生成簽名的速度比RSA快,但驗證速度比RSA慢。如果使用了錯誤的號碼生成器,安全性可能會受到損害。
橢圓曲線數(shù)字簽名算法(ECDSA)是數(shù)字簽名算法(DSA)的橢圓曲線實現(xiàn)。橢圓曲線密碼學可以用更小的密鑰提供與RSA相對相同的安全級別。DSA也有對不良rng敏感的缺點。
EdDSA (Edwards Curve Digital Signature Algorithm)是一種基于扭曲Edwards曲線的Schnorr簽名變體的數(shù)字簽名方案。在EdDSA中,簽名的創(chuàng)建是確定性的,其安全性基于某些離散對數(shù)問題的棘手性,因此它比DSA和ECDSA更安全,后者要求每個簽名都具有高質(zhì)量的隨機性。
Ed25519是一個EdDSA簽名方案,但是使用了SHA-512/256和Curve25519;它是一條安全的橢圓曲線,提供了比DSA、ECDSA和EdDSA更好的安全性,具有更好的性能(人的注意力)。
ECC(Elliptic Curves Cryptography)
橢圓曲線密碼編碼學。ECC和RSA相比,具有多方面的絕對優(yōu)勢,主要有:抗攻擊性強。相同的密鑰長度,其抗攻擊性要強很多倍。計算量小,處理速度快。
DES(Data Encryption Standard)
數(shù)據(jù)加密標準,速度較快,適用于加密大量數(shù)據(jù)的場合
SHA1:是由NISTNSA設計為同DSA一起使用的,它對長度小于264的輸入,產(chǎn)生長度為160bit的散列值,因此抗窮舉(brute-force)性更好。