【編者按】工業(yè)機(jī)器人是智能工廠制造過程自動化的核心,是支持汽車、飛機(jī)、加工食品、藥品等各類產(chǎn)品制造的最重要部件。隨著在后新冠疫情時代實現(xiàn)無人制造,能夠高精度重復(fù)執(zhí)行指定動作的工業(yè)機(jī)器人的重要性也重新受到關(guān)注。然而,工業(yè)機(jī)器人是使用幾十年前設(shè)計的語言編程的。Trend Micro自2017年以來一直在對智能工廠進(jìn)行網(wǎng)絡(luò)安全研究,發(fā)現(xiàn)了定義工業(yè)機(jī)器人行為的“任務(wù)程序”漏洞以及“編程語言”中的設(shè)計缺陷。這些語言是幾十年前設(shè)計的遺留語言,但仍是一項在現(xiàn)代智能工廠中使用的技術(shù)。對此,Trend Micro從短期到長期的角度,分析了遺留語言中涉及的設(shè)計安全風(fēng)險,以及所有工業(yè)機(jī)器人用戶應(yīng)該采取的風(fēng)險緩解措施。
一、用于移動工業(yè)機(jī)器人編程語言的特殊性
( 一 )工業(yè)機(jī)器人支持工廠自動化
工業(yè)機(jī)器人是一種代替人類在工廠內(nèi)進(jìn)行裝配、運輸、加工等工作的機(jī)械設(shè)備。在當(dāng)今世界,滿足全球商業(yè)規(guī)模的生產(chǎn)已司空見慣。工業(yè)機(jī)器人是制造過程自動化的基礎(chǔ),它可以重復(fù)執(zhí)行精確的工作并復(fù)制靈活的運動。
圖1 工業(yè)機(jī)器人
即使在新冠疫情大流行的情況下,對工業(yè)機(jī)器人的需求也在顯著增加。據(jù)《財富商業(yè)洞察》報告,2019年,全球工業(yè)機(jī)器人市場規(guī)模約為218.3億美元,預(yù)計到2027年將擴(kuò)大到664.8億美元。這一需求增加的原因是由于主要生產(chǎn)基地亞洲國家的勞動力成本飆升,以及為了提高生產(chǎn)率而不斷投資于自動化。此外,新冠疫情大流行帶來的實現(xiàn)最小或無身體接觸和無人服務(wù)的社會需求,也被認(rèn)為是對工業(yè)機(jī)器人需求不斷增長的主要驅(qū)動力。工業(yè)機(jī)器人在制造過程自動化中發(fā)揮著核心作用,在后新冠疫情時代將變得更加重要。
( 二 ) 工業(yè)機(jī)器人的運動以編程方式定義
從數(shù)字技術(shù)的角度來分析工業(yè)機(jī)器人。工業(yè)機(jī)器人是應(yīng)用于制造業(yè)的復(fù)雜信息物理系統(tǒng),是智能制造系統(tǒng)的關(guān)鍵組成部分。當(dāng)人們聽到機(jī)器人這個詞時,通常首先會想到的是機(jī)械臂一樣的執(zhí)行器部分,但執(zhí)行器部分不是獨立運動的,它的運動由程序定義并由控制器控制。因此,工業(yè)機(jī)器人在放置后不會立即按預(yù)期運動,而是按程序進(jìn)行所需的運動??梢哉f,工業(yè)機(jī)器人是一臺具有物理操作部分的大型計算機(jī)。
圖2 工業(yè)機(jī)器人運動機(jī)制
( 三 ) 自動化程序用專有語言編寫
趨勢科技(Trend Micro)在與米蘭理工大學(xué)的聯(lián)合研究中,發(fā)現(xiàn)重工業(yè)巨頭ABB的一個應(yīng)用程序存在漏洞。該應(yīng)用程序是用ABB自己的編程語言編寫的,研究人員對此并不熟悉。驅(qū)動工業(yè)機(jī)器人的自動化程序使用的語言與用于創(chuàng)建網(wǎng)站和移動應(yīng)用程序的主流編程語言完全不同。定義工業(yè)機(jī)器人自動化行為的“任務(wù)程序”通常由領(lǐng)域?qū)<沂褂锰囟ㄓ诿總€機(jī)器人制造商的編程語言編寫。此外,每個機(jī)器人制造商都創(chuàng)建了特定于制造商的生態(tài)系統(tǒng),該生態(tài)系統(tǒng)只使用自己的編程語言、編程環(huán)境甚至工具。
例如,圖3是一個用大型重工業(yè)公司Kuka的原始語言“KRL”編寫的簡單代碼示例。在此例中,工業(yè)機(jī)器臂被指示在兩個點(位置1和位置2)之間移動。圖4還顯示了為ABB平臺編寫的拾取放置程序??梢钥吹絻烧呤褂弥煌恼Z言結(jié)構(gòu)。
圖3 Kuka KRL在兩點之間循環(huán)移動工業(yè)機(jī)器人手臂10次
圖4 ABB拾取放置程序仿真環(huán)境
在此研究項目中,研究人員的調(diào)查目標(biāo)是工業(yè)機(jī)器人領(lǐng)域的八家領(lǐng)先企業(yè)的平臺,目標(biāo)制造商是ABB、Comau、Denso Wave、FANUC、川崎重工、Kuka、三菱電機(jī)和通用機(jī)器人。
在本研究中,Trend Micro不僅使用了包括自動化邏輯在內(nèi)的任務(wù)程序分析等實證驗證方法,還參考了8大工業(yè)機(jī)器人平臺的技術(shù)文件,分析了來自11個在線論壇的信息,從非技術(shù)的角度,對20名工業(yè)機(jī)器人領(lǐng)域的專家進(jìn)行了訪談。目的是強(qiáng)制考慮非技術(shù)問題,如行業(yè)特征和開發(fā)文化,這超越了特定程序的漏洞分析。因此,除了提高控制流程工程師的安全意識外,通過重新設(shè)計平臺和執(zhí)行重大升級,可以更容易、更有效地修復(fù)漏洞。
技術(shù)本身是“遺留”的事實并不意味著它馬上就有安全漏洞。然而,每種技術(shù)的安全需求和開發(fā)過程都必須隨著環(huán)境變化帶來的威脅而變化。當(dāng)根據(jù)幾十年前的常識開發(fā)的技術(shù)被納入今天的智能工廠時會發(fā)生什么?本研究通過對現(xiàn)有編程語言的結(jié)構(gòu)分析,闡明了網(wǎng)絡(luò)安全在工業(yè)領(lǐng)域的當(dāng)前定位。
圖5 研究方法概述
二、利用任務(wù)程序漏洞的三種攻擊場景
( 一 ) 三種攻擊場景
Trend Micro驗證了公共代碼庫(GitHub和在線社區(qū))提供的大約100個任務(wù)程序,可以確認(rèn)大多數(shù)代碼中存在“輸入值驗證錯誤”、“缺乏身份驗證功能”和“遠(yuǎn)程代碼執(zhí)行”等漏洞。利用這些漏洞的三種攻擊場景包括:
1、通過網(wǎng)絡(luò)改變機(jī)器人操作:通過利用動作服務(wù)器的有缺陷的輸入值驗證和通過網(wǎng)絡(luò)傳輸無效的坐標(biāo)值數(shù)據(jù),使機(jī)器人執(zhí)行非預(yù)期的操作。
工業(yè)機(jī)器人的運動是以編程方式定義的,并將值輸入到控制器。這使得機(jī)器人可以通過網(wǎng)絡(luò)接收坐標(biāo)信息,從而調(diào)節(jié)機(jī)器人的運動。因此,為了確保物理安全,機(jī)器人的輸入必須始終完整。通常,為工業(yè)機(jī)器人設(shè)置安全保護(hù)區(qū)域,并且工業(yè)機(jī)器人的最大操作限制在該區(qū)域內(nèi)。因此,如果安全區(qū)域設(shè)置正確,區(qū)域外坐標(biāo)的輸入將無效。另一方面,在為安全區(qū)域的“內(nèi)部”指定無效坐標(biāo)的情況下,必須通過機(jī)器人的輸入值驗證和門禁控制功能來確保輸入的完整性。
然而,在此次調(diào)查的程序中發(fā)現(xiàn)了“有缺陷的接入認(rèn)證”和“有缺陷的輸入值驗證”。換言之,該任務(wù)程序不被配置為僅從特定伙伴接收命令,不判斷輸入坐標(biāo)信息的有效性,并且僅基于接收的數(shù)據(jù)來確定機(jī)器人的運動。通過利用這些漏洞,攻擊者可以偽造網(wǎng)絡(luò)數(shù)據(jù)包并隨意移動目標(biāo)機(jī)器人。這種攻擊可能會影響制造質(zhì)量,并由于意外的機(jī)器人移動而造成制造過程中的延遲。如果安全區(qū)配置不正確,造成的破壞會更嚴(yán)重。
以這種方式定義網(wǎng)絡(luò)行為的程序通常被用作運動服務(wù)器任務(wù)程序,用于驅(qū)動聯(lián)網(wǎng)的工業(yè)機(jī)器人。大型項目,如ROS-Industrial軟件,廣泛使用運動服務(wù)器來提供各種OEM工業(yè)機(jī)器人通用的供應(yīng)商接口。
通常,有適當(dāng)?shù)木W(wǎng)絡(luò)級保護(hù),例如IP地址或MAC地址過濾,并且保證工業(yè)機(jī)器人僅從指定的控制器接收坐標(biāo)值。然而,如果任務(wù)程序沒有除上述網(wǎng)絡(luò)級別保護(hù)之外的機(jī)制來驗證源,或者如果任務(wù)程序受到輸入值驗證漏洞的影響,則只要接收到的坐標(biāo)值來自有效的IP地址或MAC地址,即使源被欺騙,它也將被自動信任。無論哪種情況,這都使侵入本地網(wǎng)絡(luò)上的攻擊者很容易執(zhí)行攻擊方案。因此,攻擊者可以簡單地發(fā)送任意坐標(biāo),工業(yè)機(jī)器人將被相應(yīng)地驅(qū)動,從而導(dǎo)致產(chǎn)品質(zhì)量差,制造過程中出現(xiàn)延誤或停頓。此外,配置不當(dāng)?shù)陌踩珔^(qū)域可能會導(dǎo)致更嚴(yán)重的物理損壞。
2、通過機(jī)器人竊取信息:通過利用任務(wù)程序中的漏洞發(fā)起路徑遍歷攻擊來竊取機(jī)密信息。
此攻擊方案利用Web服務(wù)器上的任務(wù)程序中的路徑遍歷漏洞,執(zhí)行該程序以顯示制造商提供的工業(yè)機(jī)器人控制器上的坐標(biāo)信息。在這項研究中發(fā)現(xiàn)的程序是一款應(yīng)用程序,可以通過“ABB-Robot Apps Robot Studio”使用,并在工業(yè)機(jī)器人上作為網(wǎng)絡(luò)服務(wù)器運行。它是用ABB自己的語言Rapid實現(xiàn)的。利用此漏洞,網(wǎng)絡(luò)上的攻擊者可以在工業(yè)機(jī)器人上創(chuàng)建包含潛在敏感數(shù)據(jù)的文件,如包含工業(yè)機(jī)器人操作時的坐標(biāo)信息的日志文件,并使用工業(yè)機(jī)器人的控制器泄露該文件。機(jī)密工業(yè)信息在地下市場上以非常高的價格交易,是網(wǎng)絡(luò)犯罪分子的主要目標(biāo)之一。
路徑遍歷是一種攻擊方法和漏洞,在該攻擊方法和漏洞中,有人試圖訪問不應(yīng)通過利用漏洞進(jìn)行訪問的目錄。此攻擊利用遵循樹結(jié)構(gòu)中指令的服務(wù)器規(guī)范,但在大多數(shù)情況下,存在允許開發(fā)人員意外訪問的代碼。
在注重安全的軟件開發(fā)中,總是假設(shè)“外部輸入是不可靠的”。因此,有必要事先驗證服務(wù)器端的輸入值,以便不會通過開發(fā)人員意想不到的輸入執(zhí)行未經(jīng)授權(quán)的訪問。
3、生成有針對性、自傳播的惡意軟件:利用編程語言固有的網(wǎng)絡(luò)通信功能和代碼動態(tài)加載功能,使任務(wù)程序充當(dāng)從外部來源接收惡意程序的下載器。此外,利用任務(wù)程序中有缺陷的輸入值驗證來使工業(yè)機(jī)器人執(zhí)行與無效外部輸入相對應(yīng)的功能。通過這些組合,生成并執(zhí)行以用于工業(yè)機(jī)器人的編程語言編寫的自傳播惡意軟件。
因此,雖然工業(yè)機(jī)器人及其自動化技術(shù)與運行在Windows服務(wù)器上的傳統(tǒng)Web應(yīng)用程序完全不同,但也存在一些眾所周知的漏洞類型,如路徑遍歷和代碼注入,這意味著組織可能會感染病毒,也可能會成為惡意軟件的目標(biāo)。
( 二 ) 攻擊造成的損害
下圖展示了研究中所展示的攻擊場景和攻擊的影響。
圖6 三種攻擊場景及其影響
通過利用研究中確定的任務(wù)程序中的漏洞,網(wǎng)絡(luò)攻擊者可以物理破壞生產(chǎn)線,竊取機(jī)密信息,甚至竊取金錢。
如上所述,這些測試中使用的漏洞是在GitHub和在線社區(qū)的代碼中發(fā)現(xiàn)的。其中一些代碼是從新手程序員使用的手冊和編程參考等技術(shù)資料中摘錄的。此外,之前的研究表明,開源代碼中的漏洞會傳播并最終影響產(chǎn)品。因此,假設(shè)攻擊中的場景可以在制造車間重現(xiàn)。
三、機(jī)器人語言中的基本安全隱患
( 一 ) 基本安全風(fēng)險
工業(yè)機(jī)器人的任務(wù)程序是用“幾十年前設(shè)計的專有語言”編寫的。從安全角度看,20年前的封閉工廠環(huán)境和現(xiàn)代智能技術(shù)創(chuàng)新環(huán)境是完全不同的。因此,編程語言發(fā)展時的安全標(biāo)準(zhǔn)很可能不符合今天的標(biāo)準(zhǔn)。基于這一假設(shè),趨勢科技在本次調(diào)查中,分析了工業(yè)機(jī)器人行業(yè)八大廠商共100個用編程語言編寫的任務(wù)程序,試圖確定“語言設(shè)計本身的安全風(fēng)險”。結(jié)果發(fā)現(xiàn),工業(yè)機(jī)器人的編程語言存在技術(shù)安全風(fēng)險,無需任何權(quán)限確認(rèn)即可無條件使用系統(tǒng)的基本功能。問題的實質(zhì)是,驅(qū)動機(jī)器人所需的功能已經(jīng)實現(xiàn),但沒有機(jī)制來防止這些功能被惡意使用。
編程語言的規(guī)范高度依賴于平臺。工業(yè)機(jī)器人是一個復(fù)雜的網(wǎng)絡(luò)物理系統(tǒng),其中程序、控制器和驅(qū)動部分密切協(xié)調(diào)工作。因此,不僅僅是編程語言的問題,更是平臺機(jī)器人控制器端的問題。
幾十年前,當(dāng)工業(yè)機(jī)器人的編程語言被設(shè)計出來時,智能工廠的概念還不存在,封閉的工廠環(huán)境是常態(tài)。因此,該設(shè)計沒有考慮到來自外部位置的主動攻擊者,也就不足為奇了。相比之下,智能手機(jī)等現(xiàn)代設(shè)計的系統(tǒng)在安全設(shè)計上假定了惡意攻擊。例如,在為Android開發(fā)應(yīng)用程序并用Java編程時,需要一個明確的權(quán)限請求來訪問應(yīng)用程序本身沙箱之外的資源。因此,即使惡意開發(fā)者將包含惡意軟件的應(yīng)用偷偷植入手機(jī)應(yīng)用商店,也必須申請許可才能使用惡意軟件操作應(yīng)用所需的麥克風(fēng)、網(wǎng)絡(luò)和其他系統(tǒng)資源。
這樣的權(quán)限設(shè)置對于工業(yè)機(jī)器人也是必要的。不過,目前對工業(yè)自動化平臺還沒有這樣的要求,所有資源都是“扁平化”接入,任務(wù)程序可以使用超出其應(yīng)有權(quán)限范圍的低級資源。
工業(yè)機(jī)器人編程語言被用來定義機(jī)器人的運動,但是軟件本身有更多的功能。這次研究的制造商專有編程語言不僅支持普通計算系統(tǒng)中的文件系統(tǒng)概念,而且還具有函數(shù)指針和動態(tài)代碼讀取等功能。通過充分利用這些基本功能,甚至可以在機(jī)器人平臺上編寫惡意軟件。
( 二 ) 專有語言特有的安全風(fēng)險
由于每種機(jī)器人語言的“獨特性”,也存在著安全風(fēng)險。對于常見的編程語言,如C、C++、C#、Java、PHP、Python等,有一些代碼檢查器,例如靜態(tài)程序分析工具,可以檢測不安全的模式。另一方面,由于沒有針對每家公司的機(jī)器人編程語言的此類工具,安全檢查將很難實現(xiàn)自動化。
工業(yè)機(jī)器人編程語言不像主流操作系統(tǒng)那樣基于通用的運行或體系結(jié)構(gòu),而是基于每個制造商的平臺,如機(jī)器人控制器等。出于這個原因,每個機(jī)器人供應(yīng)商還必須準(zhǔn)備其自己的專有編程語言和程序執(zhí)行運行時所基于的環(huán)境。有基于實時操作系統(tǒng)(如RTOS)的編程語言和環(huán)境,但通常它們不是標(biāo)準(zhǔn)化的。此外,每種語言都有自己的語義,用來判斷源代碼中使用的變量和語句是否正常工作的標(biāo)準(zhǔn),這些語義可能與通用編程語言非常不同。事實上,在此次調(diào)查的一些語言沒有字符串操作或密碼操作等功能。
此外,這些類型的特征往往會限制用戶的選擇。由于工業(yè)機(jī)器人的編程環(huán)境是無法輕易替代的,因此用戶糾正這些設(shè)計缺陷并不容易,也不實用。此外,每家公司的語言不僅是當(dāng)前工業(yè)自動化的核心,而且有很強(qiáng)的技術(shù)限定,這不可避免地增加了轉(zhuǎn)移到其他平臺的成本。因此,很有可能用戶將不得不選擇接受其使用機(jī)器人平臺的安全風(fēng)險。
支持制造業(yè)的核心技術(shù)仍然存在網(wǎng)絡(luò)安全風(fēng)險。這就是智能工廠面臨的現(xiàn)代困境。
四、以整個生態(tài)系統(tǒng)的“設(shè)計安全”為目標(biāo)
工廠環(huán)境傳統(tǒng)上是“封閉的”網(wǎng)絡(luò)空間。在這種環(huán)境中,只有在那里工作的人才會接觸工廠的設(shè)備,而不需要考慮與外界的網(wǎng)絡(luò)通信及其影響。作為本實證研究對象的工業(yè)機(jī)器人也是在同樣的前提下設(shè)計的。
然而,在當(dāng)今世界,即使在工廠環(huán)境中,網(wǎng)絡(luò)連接也在不斷發(fā)展。為了提高生產(chǎn)率和降低不良率,并在新冠疫情大流行期間保持員工安全和業(yè)務(wù)連續(xù)性,使用數(shù)字技術(shù)的智能制造流程將成為行業(yè)標(biāo)準(zhǔn)。同時,工廠也將面臨著網(wǎng)絡(luò)攻擊的風(fēng)險。軟件在智能工廠中無處不在,并與網(wǎng)絡(luò)相連。此外,不僅是用戶公司,還有系統(tǒng)集成商、顧問、工業(yè)機(jī)器人制造商等,都以一種復(fù)雜的方式參與了這類軟件的開發(fā)和供應(yīng)。因此,實現(xiàn)安全智慧工廠需要整個生態(tài)系統(tǒng)的努力。對于每個用戶、集成商和制造商來說,“制作安全的軟件”,從而“保證軟件的安全”是非常重要的。
( 一 ) 從短期到長期的角度實施風(fēng)險緩解措施
本系列中提出的安全問題深深植根于工業(yè)機(jī)器人的基本技術(shù),使得制造商很難立即用另一種技術(shù)取代它或進(jìn)行糾正。因此,除了將保護(hù)現(xiàn)有環(huán)境作為一項短期措施外,建議涉及工業(yè)機(jī)器人的利益攸關(guān)方應(yīng)逐步和系統(tǒng)地實施風(fēng)險緩解措施,將未來的智能作為一項中長期措施。下圖顯示了趨勢科技推薦的特定于涉眾的循序漸進(jìn)的風(fēng)險緩解措施。為了讓智能工廠更安全,現(xiàn)場工程師、系統(tǒng)集成商和工業(yè)機(jī)器人制造商實施各自的安全措施是很重要的。
圖7 風(fēng)險緩解措施
1、短期措施
實施短期措施的關(guān)鍵參與者是現(xiàn)場的控制過程工程師和實際編寫、實施和操作任務(wù)程序的系統(tǒng)集成商。用戶端的現(xiàn)場工程師必須確保執(zhí)行網(wǎng)絡(luò)分段,以減少工業(yè)機(jī)器人的任務(wù)程序被濫用時造成的危害。該操作可以顯著降低網(wǎng)絡(luò)相關(guān)的安全風(fēng)險。除了這些基本的安全措施外,還建議對網(wǎng)絡(luò)和端點進(jìn)行保護(hù),以將容易受到惡意代碼攻擊或感染惡意代碼的風(fēng)險降至最低。此外安全的編碼實踐對用戶來說也是必不可少的。如果是與系統(tǒng)集成商一起進(jìn)行開發(fā),請嘗試與他們共享類似的安全策略。源代碼審查、錯誤修復(fù)和創(chuàng)建適當(dāng)?shù)脑创a控制過程都是基本和有效的措施。
2、中期措施
除了上述短期措施外,工業(yè)機(jī)器人編程語言的安全庫可以作為中期措施,以保護(hù)新環(huán)境。例如,安全庫包括加密庫。在這個階段,關(guān)鍵的參與者是系統(tǒng)集成商和工業(yè)機(jī)器人制造商。通過在高級開發(fā)中實現(xiàn)這樣的安全措施,現(xiàn)場開發(fā)人員可以輕松實現(xiàn)輸入值驗證和身份驗證功能,而無需花費時間添加新的流程。
此外,系統(tǒng)集成商和工業(yè)機(jī)器人制造商應(yīng)該實現(xiàn)運動服務(wù)器參考。通過實現(xiàn)這樣的引用,開發(fā)人員不必逐個檢查運動數(shù)據(jù)處理代碼中的缺陷。這種參考實現(xiàn)的典型例子是三菱電機(jī)的本機(jī)運動服務(wù)器和Kuka的EKI。此外,作為針對源代碼評審中發(fā)現(xiàn)的漏洞對策,系統(tǒng)集成商應(yīng)該考慮為可能包含漏洞的任務(wù)程序提供主動補丁。
3、長期措施
在未來,制造商的努力對于確??删幊坦I(yè)機(jī)器人的設(shè)計安全是至關(guān)重要的。例如,在一個工業(yè)機(jī)器人平臺控制器中,將安全功能如身份驗證、訪問控制、加密等,整合到編程語言中是至關(guān)重要的。工業(yè)機(jī)器人控制器中的運行,必須實現(xiàn)細(xì)粒度的特權(quán)分離,以利用授權(quán)系統(tǒng)。減少漏洞和惡意代碼影響的一種有效方法是將函數(shù)的執(zhí)行限制在特權(quán)指令上。最重要的是,開發(fā)者還需要讓其他人提前知道這些使用限制。
最后,代碼簽名是確保工業(yè)機(jī)器的代碼不被篡改的唯一方法。代碼簽名并非易事,但使用此方法可以確保代碼與原始開發(fā)人員編寫的代碼完全相同。在工廠設(shè)備中實施代碼簽名還有很長的路要走,但如果市場需求繼續(xù)推動有利于集成和靈活性的創(chuàng)新,應(yīng)該可以在更短的周期內(nèi)實現(xiàn)更動態(tài)的自動化代碼實施。這應(yīng)該會加快開發(fā)速度,減少手動檢查程序所花費的時間。安全編寫的任務(wù)程序也減少了創(chuàng)建漏洞的機(jī)會。這反過來又降低了可編程工業(yè)機(jī)器暴露于外部攻擊的風(fēng)險。事實上,已經(jīng)有許多針對通用編程語言的安全意識編碼準(zhǔn)則。隨著IT和OT集成的進(jìn)展,在未來十年,工業(yè)工程行業(yè)可能會面臨與IT軟件行業(yè)今天所面臨的相同的挑戰(zhàn)。
( 二 ) 以整個生態(tài)系統(tǒng)的“設(shè)計安全”為目標(biāo)
隨著制造商采用更多智能工廠技術(shù),其互聯(lián)性使他們面臨更多的網(wǎng)絡(luò)攻擊,防備缺口日益突出。工廠環(huán)境中的網(wǎng)絡(luò)安全措施正在轉(zhuǎn)變。至少在10年內(nèi),承擔(dān)與外部世界網(wǎng)絡(luò)連接的智能工廠將變得司空見慣。屆時,工業(yè)自動化行業(yè)很可能面臨與現(xiàn)代IT軟件行業(yè)同樣的挑戰(zhàn)。
通過本系列的四個部分,從網(wǎng)絡(luò)安全的角度分析了工業(yè)機(jī)器人的任務(wù)程序和編程語言,闡明了現(xiàn)代工業(yè)機(jī)器人面臨的問題。此時,盡管很難采取所有可能的措施來解決調(diào)查中確定的安全問題,但制造商、集成商和用戶可以共同努力將這些風(fēng)險降低到可以接受的水平。
( 三 ) 在智能工廠中建立網(wǎng)絡(luò)彈性的方法
● 制造企業(yè)應(yīng)投資于一項全面的網(wǎng)絡(luò)管理計劃,該計劃擴(kuò)展到整個企業(yè)(IT和OT),以識別、保護(hù)、響應(yīng)和從網(wǎng)絡(luò)攻擊中恢復(fù);
● 執(zhí)行網(wǎng)絡(luò)安全成熟度評估:評估應(yīng)包括OT環(huán)境和業(yè)務(wù)網(wǎng)絡(luò),并應(yīng)包括先進(jìn)制造網(wǎng)絡(luò)風(fēng)險;
● 建立一個考慮OT的正式網(wǎng)絡(luò)安全治理計劃:該計劃應(yīng)提供一致性,并推廣到全球制造地點;
● 根據(jù)由此產(chǎn)生的風(fēng)險狀況確定行動的優(yōu)先順序:使用網(wǎng)絡(luò)安全成熟度評估的結(jié)果來創(chuàng)建可與執(zhí)行領(lǐng)導(dǎo)層共享的戰(zhàn)略和路線圖;
● 內(nèi)置安全性:由于許多智能工廠仍處于規(guī)劃和早期階段,現(xiàn)在是將這些項目與網(wǎng)絡(luò)風(fēng)險計劃相協(xié)調(diào)的時候了。
智能工廠的安全性需要大量的規(guī)劃,最好從設(shè)計階段開始。制造商必須從一開始就為智能工廠需要的大量數(shù)據(jù)做好準(zhǔn)備。這意味著要事先計劃使用的設(shè)備類型,評估要采用的通信協(xié)議,甚至準(zhǔn)備好要遵循的違規(guī)相關(guān)的標(biāo)準(zhǔn)操作程序(sop),以及其他考慮事項。制造商還必須與專家合作,保護(hù)和捍衛(wèi)設(shè)備、網(wǎng)絡(luò)、數(shù)據(jù)以及驅(qū)動物聯(lián)網(wǎng)智能制造系統(tǒng)的軟件解決方案和應(yīng)用程序。
智能制造的潛力是巨大的,不應(yīng)受到安全疑慮的阻礙。在創(chuàng)建或改造智能工廠時,行業(yè)領(lǐng)導(dǎo)者必須建立信任。解決方案必須經(jīng)過仔細(xì)、精確的選擇和認(rèn)可,才能獲得優(yōu)異的性能。由于制造設(shè)備的生命周期很長,因此選擇的解決方案必須具有內(nèi)置的靈活性和先進(jìn)的更新解決方案,以防止當(dāng)前和未來的威脅,這一點是至關(guān)重要的。
參考資料:
【1】https://www.trendmicro.com/us/iot-security/news/6719/The_security_dilemma_of_smart_factories_Part_1_Specificity_of_the_programming_languages_used_to_move_industrial_robots
【2】https://www.trendmicro.com/us/iot-security/news/6762/The_security_dilemma_of_smart_factories_Part_2_Three_attack_scenarios_that_exploit_task_program_vulnerabilities
【3】https://www.trendmicro.com/us/iot-security/news/6788/The_Security_dilemma_of_smart_factories_Part_3_Fundamental_security_risks_in_robot_languages
【4】https://www.trendmicro.com/us/iot-security/news/6797/The_dilemma_of_smart_factories_Part_4_Aiming_for_security_by_design_for_the_entire_ecosystem
【5】https://iiot-world.com/ics-security/cybersecurity/security-threats-and-risks-in-smart-factories/
來源:關(guān)鍵基礎(chǔ)設(shè)施安全應(yīng)急響應(yīng)中心 作者 | 天地和興工業(yè)網(wǎng)絡(luò)安全研究院