機器人如何變壞?

測試工業機器人的安全極限

今日智慧工廠工業機器人攻擊示範
今日智慧工廠工業機器人攻擊示範

 

今日世界在各方面都極度仰賴工業機器人,然而,目前的機器人生態體系在安全方面是否足以抵擋駭客的網路攻擊?

機器人可不可能遭到駭客入侵?

基於效率、準確與安全的理由,工業機器人在許多大型生產線上早已取代了人力。這些可程式化的機械裝置,幾乎已遍及各種工業領域:汽車、飛機零件製造、食品包裝,甚至提供重要的公共服務。

很快地,機器人將成為現代化工廠一項普遍的特色,因此,我們有必要停下來思考一下,當今的工業機器人生態體系在安全上是否足以抵擋網路攻擊?這是我們前瞻威脅研究 (FTR) 團隊以及我們的合作夥伴 Politecnico di Milano (POLIMI) 在檢視今日工業機器人攻擊面時所共同思考的一個問題。更重要的是,我們希望藉由這次的機會來證明這些機器人是否真的有可能被入侵。

以下影片當中的攻擊示範,是在實驗室環境下針對工廠實際會用的工業機器人所做的測驗。由於今日工業機器人在結構上大同小異,此外也有嚴格的標準,因此,本研究所用的機器人對於為數眾多的工業機器人來說,可算具有代表性。

所謂的工業機器人,就是一套「經由自動控制、可重複程式化、多重用途的操作手臂,具備三軸或更多軸可程式化,可固定於某地,也可四處行動,主要應用於工業自動化。」

機器人可能遭到什麼樣的攻擊?

一具工業機器人需要多個部位共同配合才能順利加以操作。程式化人員或操作人員通常透過遠端存取介面,如:教導盒 (teach pendant) 來經由網路來下達一些高階指令給控制器。控制器 (基本上就是一台電腦) 接著將指令轉換成低階的指令給機器手臂的各個部位去解讀並執行。

工業機器人在運作上應該具備相當高的安全性、準確性與一致性。萬一機器人遭到數位化攻擊而產生任何違反上述要求的情況,等於就是遭到網路駭客的控制。趨勢科技在工業機器人的架構和實作上找到幾項弱點,網路駭客一旦掌握了這些弱點,就可能發動五種類型的攻擊。

趨勢科技經過詳盡的安全分析之後發現,工業機器人上所使用的軟體已經過時,包括作業系統和程式庫都存在著漏洞,有些還在使用一些已淘汰的加密程式庫,而且認證機制也薄弱,甚至使用無法變更的預設密碼。除此之外,趨勢科技 FTR 團隊也在公開的 IP 位址上發現了上萬台 工業裝置 ,這等於讓工業機器人暴露在外,更加提高了駭客入侵的風險。這次的專案我們有幸找到生產工業機器人廠商一起合作,他們非常重視趨勢科技所發現的結果,也展現了積極的態度來確保今日與明日工業機器人的安全。

攻擊類型與說明

攻擊類型 1:修改控制器參數

駭客可篡改控制系統來讓機器人出現異常或偏離的動作。
具體效果:造成產品瑕疵或不合規格。
違反的要求:安全性、一致性、準確性。

 

1.      機器人程式化人員上傳程式碼到 FTP 伺服器或從電腦下達指令。 3. 機器人執行原始未遭篡改的程式碼。
2.      駭客從遠端或本地端竄改控制迴圈參數。

 

(紅色虛線連過去的方塊) 機器人在執行程序時載入的設定檔。

4. 細微的瑕疵。

 

攻擊類型 2:篡改校正參數

駭客可以篡改校正參數來讓機器人出現異常或偏離的動作。
具體效果:損壞機器人。
違反的要求:安全性、一致性、準確性。

1.      機器人程式化人員上傳程式碼到 FTP 伺服器或從電腦下達指令。 3. 機器人執行原始未遭篡改的程式碼。
2.      駭客從遠端或本地端篡改校正參數。

 

(紅色虛線連過去的方塊) 機器人在執行程序時載入的設定檔。

4. 細微的瑕疵。

 

 

攻擊類型 3:篡改生產邏輯

駭客可篡改機器人所執行的程式,在產品當中製造瑕疵。
具體效果:造成產品瑕疵或不合規格。
違反的要求:安全性、一致性、準確性。

1.      機器人程式化人員上傳程式碼到 FTP 伺服器或從電腦下達指令。 3. 未檢查程式碼是否遭到篡改。
2.      駭客從遠端篡改程式碼或指令。

 

機器人在執行程序時載入的設定檔。

4. 細微的瑕疵。

 

攻擊類型 4:修改使用者接收到的機器人狀態

駭客可篡改狀態資訊,讓操作者不能正確掌握機器人的狀態。
具體效果:操作人員受傷。
違反的要求:安全性。

 

1.      駭客竄改狀態資訊。
2.      造成操作人員的危險。

 

 

攻擊類型 5:修改機器人狀態

駭客可篡改機器人的真正狀態,讓操作者對機器人的狀態誤判或因而受傷。
具體效果:操作人員受傷。
違反的要求:安全性。

1.      駭客竄改機器人的真正狀態。
2.      造成操作人員的危險。

 

歹徒如何實際運用這些攻擊?

上述的各種攻擊,很可能造成以下危險情況。

  • 產品不符規格或不良: Belikovetsky 等人示範了如何在產品當中製造一些幾乎看不出來的瑕疵來使得產品功能異常。

3D 列印的無人機螺旋槳 (上:正常;下:不良,資料來源: Belikovetsky 等人)

  • 仿效勒索病毒的作法:駭客可先偷偷篡改產品,然後再跟製造商要求一筆贖金,來換取哪幾批產品受到影響的資訊。
  • 實際損害:駭客可能操控一具機器人讓其零件損壞,甚至造成附近的人員受傷,例如:關閉安全確保裝置或讓它大幅偏離。

左:正常的機器手臂控制裝置畫面;右:同樣的畫面,但卻顯示機器人正處於馬達關閉 (Motors Off) 及手動 (Manual) 模式,但事實上機器人是處於馬達啟動 (Motors On) 或自動 (Auto) 模式

  • 干擾生產流程:駭客可能刻意讓機器手臂隨意亂動,導致生產線零件損壞或造成生產線回堵,進而造成損失。
  • 將敏感資料外傳:機器人有時會儲存一些敏感的資料 (如原始程式碼或生產時程和產量的相關資訊),也可能包含工業機密。

接下來該怎麼做?

工業機器人的產業標準應該將網路攻擊威脅列入考量,例如工業控制系統 (ICS) 和汽車業目前皆已加入了新的規範來加以防範。網路安全人員必須徹底了解工業機器人的特殊情況才能給予有效防護。機器人擁有相當長的使用年限,這意味著廠商必須能為現有已建置的所有版本持續提供安全更新,這一點廠商不一定能做得到。此外,客戶也會擔心軟體更新可能造成停機或延後進度,因此可能不願立即套用安全更新。

除此之外,還有一些其他的挑戰在我們的 技術白皮書當中都有詳盡的說明,並且提供了清楚的行動建議來讓您知道該如何提升工業機器人生態體系的安全。為了提升工業 4.0 環境下的工業機器人安全,我們也開始主動與廠商接觸,其中 ABB Robotics 最讓我們印象深刻,因為他們非常能夠接受我們提出的建議,甚至已經開始針對當前的產品線擬訂因應對策,一刻都不浪費。

有關這項研究的進一步技術細節,例如我們發現並通報給廠商的漏洞,已經在今年五月即將於美國加州聖荷西 (San Jose) 舉行的 Institute of Electrical and Electronics Engineers (IEEE) Symposium on Security and Privacy 資安與隱私權研討會上發表。

原文出處:Rogue Robots: Testing the Limits of an Industrial Robot’s Security
作者:趨勢科技前瞻威脅研究 (FTR) 團隊與 Politecnico di Milano (POLIMI) 合作專案