原創 | 嵌入式系統網絡安全的過去、現在和未來
- 分類:行業洞察
- 作者:
- 來源:
- 發布時間:2020-08-14 19:34
- 訪問量:
【概要描述】嵌入式系統面臨的威脅不斷演變,這是值得考慮的事情。盡管無法阻止其攻防協同演化進程,但仍然有許多新的嘗試來限制不斷發展的新系統所帶來的漏洞。
原創 | 嵌入式系統網絡安全的過去、現在和未來
【概要描述】嵌入式系統面臨的威脅不斷演變,這是值得考慮的事情。盡管無法阻止其攻防協同演化進程,但仍然有許多新的嘗試來限制不斷發展的新系統所帶來的漏洞。
- 分類:行業洞察
- 作者:
- 來源:
- 發布時間:2020-08-14 19:34
- 訪問量:
編者按:隨著泛在連接、自動化、數字化和智能化的發展,嵌入式系統在實現軟件驅動的設備新功能方面,發揮著比以往任何時候都重要的作用,但新的網絡安全威脅隨之而至。嵌入式系統面臨的威脅不斷演變,這是值得考慮的事情。盡管無法阻止其攻防協同演化進程,但仍然有許多新的嘗試來限制不斷發展的新系統所帶來的漏洞。
近幾年,借助工業信息化和智能化發展,嵌入式系統在智能工業、智能家電中的應用也越來越普遍。隨著這些設備上網步伐的加快,嵌入式系統的網絡安全問題也日益凸顯,給網絡安全提出了新的課題。
本文聚集嵌入式系統的網絡安全問題,分析影響系統安全的因素,解析系統中的關鍵技術,探討系統開發過程中重要的安全策略,提供了一些嵌入式設備安全方面的建議。
一、過去的網絡威脅
1971年,鮑勃·托馬斯(Bob Thomas)創造了有史以來第一個電腦蠕蟲病毒,該電腦蠕蟲不是惡意的。它只是在通過本地交換機連接的計算機之間來回跳躍,并在屏幕上顯示“我是爬蟲:如果可以的話,趕快來抓我”。
第一次真正的網絡攻擊發生在1988年11月,當時羅伯特·莫里斯(Robert Morris)制造了一種電腦蠕蟲病毒,使互聯網的速度大大減慢——這一次的攻擊相當嚴重。Morris的動機不是造成損害,而是簡單地強調Unix Sendmail和密碼管理中的安全缺陷。然而,蠕蟲確實在無意中導致了部分互聯網故障,并持續了數天,造成的損失估計在10萬至1億美元之間。
但直到1999年,微軟Windows98推出,安全供應商才開始發布反黑客軟件,標志著網絡安全行業的開始。從那以后,黑客們一直在密切關注易受黑客攻擊的設備的安全性。在這段時間里,所有的玩家,無論是攻擊者還是防御者,都主要集中在計算機和服務器上。
直到最近,嵌入式系統的網絡安全才成為一個問題。作為背景,嵌入式系統是位于較大系統中的控制器,通常被設計用于執行專用功能。曾經,嵌入式系統由一個硬件、一個固件組件組成,在某些情況下,一個嵌入式操作系統層層疊疊,如下面的圖1所示。
圖1:較舊的嵌入式系統架構
當時,許多嵌入式系統并不是為保護自己免受攻擊而設計的?;谝韵录僭O,未將嵌入式系統的網絡安全放在首位:
l 嵌入式系統對黑客來說不是有吸引力的目標。
l 由于它們需要復雜的身份驗證,因此它們不易受到攻擊。
l 在某些情況下,加密提供了足夠的保護。
二、嵌入式系統網絡安全的挑戰
在當今的市場中,嵌入式系統變得越來越先進,并且在其體系結構中包含了許多軟件層。在許多情況下,它們在日益復雜的嵌入式系統中執行關鍵任務的功能。在從航空航天、國防到家用電器的各個行業都有應用。對嵌入式設備的攻擊已有許多文獻記錄,從車輛防盜組件到控制系統,再到打印機。在打印機的情況下,攻擊者劫持了打印機,將文件的副本發送到自己的計算機,在某些情況下獲得了機密或秘密信息。
首先先來看一下嵌入式系統的總體架構。下面的圖2顯示了圖1中所示的兩個層,它們是中間件層和用戶應用層。中間件是向用戶應用程序提供服務的軟件,有時被描述為軟件“粘合劑”。中間件的一些示例是數據庫、應用服務器和內容管理系統。用戶應用程序是為最終用戶設計的程序。用戶應用的示例是在車輛信息娛樂系統上運行的Internet瀏覽器或Android Auto。
圖2:現代嵌入式系統的示例架構
隨著嵌入式系統的日益普及和多樣化,以及它們與物聯網(IoT)的連接,針對這些系統的攻擊越來越頻繁。物聯網指的是由相互連接的計算設備以及機械和數字機器組成的系統。這些設備可以在不需要人與人、或人與計算機交互的情況下通過網絡傳輸數據。物聯網涉及許多技術,并已發展到包括從分析到機器學習再到嵌入式系統的各種技術的融合。本討論集中在嵌入式系統上。
2.1系統如何受到攻擊
嵌入式操作系統通常是攻擊的目標,因為它對整個嵌入式系統(硬件、中間件和用戶應用層)擁有最大的控制權。攻擊這些系統的參與者可能包括:研究人員、黑客、有組織犯罪和民族國家??梢岳枚喾N方法來開發系統,但常規方法遵循如下過程:
( 1 ) 獲得對系統的網絡訪問權限。
( 2 ) 了解底層軟件,硬件和嵌入式OS。
( 3 ) 在基于主機的保護中查找漏洞,無論是硬件驅動程序、操作系統還是中間件。
( 4 ) 操作軟件。
( 5 ) 利用軟件或整個系統。
大多數嵌入式系統至少部署以下防御機制。
l 鉤子檢測:一種檢測是否有試圖改變或增強軟件(嵌入式操作系統,驅動程序,中間 件或應用程序)行為的方法。
l 證明:檢查未經授權的進程是否已更改軟件的方法。
l 固件/驅動程序完整性驗證:檢測對硬件驅動程序或固件的任何未經授權的更改的工具。
l 邏輯校驗和:一種用于檢測數據傳輸或存儲過程中可能引入的錯誤的機制。
l 加密:以只有授權用戶才能解碼的方式對數據(存儲或傳輸)進行編碼。
l 認證方式:一種用于檢查用戶名和密碼并實施密碼策略(長度、復雜性、過期時間等)的機制。
2.2按類型劃分的漏洞
此圖的數據是使用BlackBerry編譯的,一個基于云的二進制靜態應用程序安全測試(SAST)平臺,用于突出汽車行業內嵌入式軟件中的漏洞類別。報告顯示,在發現的所有類別的漏洞中,大約70%是由不安全的API造成的。表1描述了可能導致每個類別中的漏洞的功能或屬性。
請注意,緩沖區溢出位于“不安全API”類別下的利用漏洞列表的頂部。緩沖區溢出需要特別注意,因為它可能導致遠程代碼執行或攻擊者控制系統。
圖3:使用汽車數據的嵌入式軟件中的漏洞類別。BlackBerry Jarvis分析。
表1:漏洞分類描述:
下圖描述了2018年卡巴斯基實驗室ICS CERT能夠在工業和物聯網系統中發掘出的成果。報告顯示,截至2018年底,供應商僅能關閉約10%的漏洞(286個漏洞中的29個)。發現這些已識別的漏洞中約有50%有可能導致遠程代碼執行,使攻擊者能夠控制設備,或幫助攻擊者觸發拒絕服務攻擊,從而使設備無法使用。
圖4:按類型發現的ICS漏洞數量
大多數嵌入式軟件開發都是由C編程語言主導的。這通常被認為是一種非常靈活但不安全的語言。如果將操作系統、C庫、數學庫和虛擬機管理程序安全系統認證為最適用于系統的國際標準,例如功能安全標準ISO 26262、IEC 61508或其他標準,則可以減輕一些已知的風險和漏洞。通過這些標準中任何一個的嚴格認證過程(包括針對設計、開發和測試的詳細分析),可以減輕C編程語言的一些已知風險和漏洞。
2.3緩沖區溢出導致內存損壞
緩沖區溢出造成的內存損壞是嵌入式系統上軟件中最常見的漏洞,如上面的汽車和工業漏洞數字所強調的那樣。當攻擊者修改軟件,將數據寫入內存緩沖區,使其超出緩沖區限制并覆蓋相鄰內存緩沖區時,就會發生緩沖區溢出攻擊。這可能導致軟件執行任意代碼,并可能允許攻擊者控制系統或導致系統崩潰。這些類型的攻擊極其危險,特別是當系統正在執行關鍵任務時,例如,在制造設施中與人類交互時搬運重型物資的工業機器人,或者幫助導航車輛穿越交通的先進駕駛員輔助系統。能夠通過內存損壞攻擊系統對于攻擊者來說通常很復雜,因為它需要硬件或軟件進行逆向工程。此外,訪問嵌入式系統的獨特軟件也是具有挑戰性的。
但在當今市場上,嵌入式系統與物聯網相連,在某些情況下,它們使用開源操作系統(如Linux),這導致攻擊面大幅增加。使用開源操作系統,需要設計自己的軟件對策來保護系統,并跟上不斷變化的威脅。沒有可信的第三方來提供持續的安全更新,或者幫助指導安全策略。
此外,與服務器或計算機等商用設備(2-5年)相比,嵌入式設備的保質期(10-20年)要長得多,更新嵌入式設備軟件極具挑戰性。事實上,嵌入式設備的開發被大多數系統設計者認為是不可避免的。
三、嵌入式系統網絡安全的建議
今天,保護嵌入式系統有了新的希望。這三種利用漏洞的緩解措施現在正由商業嵌入式操作系統提供商實施,通常被稱為三個火槍手:
l 可執行空間保護(ESP):一種將特定內存區域標記為不可執行的技術,以便在這些區域中執行機器代碼的嘗試將導致異常。
l 地址空間布局隨機化:一種涉及隨機定位可執行文件的基址,以及進程的地址空間中庫、堆和堆棧的位置的技術。隨機混合意味著攻擊者不再知道所需代碼的位置。這樣就使得利用現有漏洞變得更具挑戰性。
l Stack canaries: OS可以在執行惡意代碼之前檢測到堆棧緩沖區溢出的技術。該方法通過在堆棧返回指針之前的內存中放置一個小整數(在程序啟動時隨機選擇其值)來工作。這使得利用緩沖區溢出極具挑戰性,因為在OS覆蓋新的內存空間之前,會檢查堆棧值,如果不相同,則會停止執行并引發異常。
但是,并不是所有的嵌入式操作系統都具備所有這些安全機制。事實上,根據Twente大學的Ali Abbasi的調查,在30個最流行的嵌入式操作系統中,只有大約7%包含這些機制。對于BlackBerry QNX 用戶來說,所有這些機制都可以在QNX RTOS和QNX虛擬機管理程序中使用,無論是安全認證版本還是非安全認證版本的RTOS。
3.1準備迎接新的威脅
沒有人能預測明天會發生什么,更不用說未來5到10年會發生什么了。然而,我們可以根據當前和過去的趨勢做出一些假設。下面的圖5顯示了不同行業中易受攻擊的產品數量。隨著物聯網現在連接嵌入式系統,通過互聯網(Web、電子郵件、用戶應用程序)的惡意攻擊占30%以上,可移動媒體攻擊約占10%,這兩種攻擊幾乎占整個行業攻擊類型的一半。
圖5:不同行業中易受攻擊的產品數量
圖6:物聯網連接設備的統計數據(2015-2025)
3.2人工智能(AI)--新的威脅來源
有一個新的威脅即將到來,它可以被認為是我們所見過的最重要的威脅之一:人工智能(AI)。這些威脅不是像電影“終結者”中的人工超級智能系統天網那樣的虛構威脅。今天對嵌入式系統的攻擊利用了人工智能,使機器人或自動駕駛系統等系統自動化。這些攻擊之所以存在,是因為人工智能算法存在一些基本限制,攻擊者可以利用這些限制來使系統發生故障或行為異常。這些攻擊不同于傳統的網絡攻擊,因為它們不是程序員或用戶所犯錯誤的結果。這些都是由于AI的缺點造成的。讓AI系統運行良好的算法還包含一些缺陷,這些限制和缺陷為網絡攻擊創造了機會。
3.3操作系統安全設計是最好的防線
嵌入式設備制造商需要架構和實施的安全設計必須確保所有層(硬件、驅動程序、嵌入式操作系統、中間件和用戶應用程序),免受篡改、數據竊取、通信和惡意攻擊。遺憾的是,這些產品的制造商甚至安全供應商都沒有一種適合所有的安全設計或解決方案,但是下面列出的一些建議值得我們遵循。
l 安全引導。
l 身份驗證。
l 入侵檢測/保護。
l 嵌入式安全管理。
l 安全更新。
l 安全通信。
l 安全監控。
l 數據安全。
l 嵌入式防火墻。
l 設備篡改檢測。
上面確定的一些安全方法和規定是相互依賴的。例如,為了擁有嵌入式防火墻或入侵檢測/保護,需要首先確定如何執行安全更新,因為這兩個項目都需要頻繁更新(例如,病毒定義、特征碼文件或安全補丁),以便跟上新的攻擊。還應該考慮在某些情況下(如驅動程序或嵌入式操作系統)的安全更新可能需要重新啟動系統。對于安全關鍵型設備或其他關鍵設備,應該在受控環境中進行。這與常規的個人計算機更新不同,在該更新中,可以在重啟計算機之前保存數據。對于關鍵的嵌入式系統,在任何情況下都不允許發生數據丟失。
3.4網絡安全構建
現在和將來防御攻擊的關鍵是在開發系統時考慮成功攻擊的風險和成本。這些成本包括經濟、環境、社會、信息、個人隱私泄露和制造商品牌信譽。實施強大的安全解決方案帶來的好處遠遠超過無所作為的代價。攻擊可能會危及系統,并使工程運營、法律和其他團隊無法應對后果。這些攻擊以及相關攻擊媒介的風險和可能性是真實存在的,并且與日俱增。當開始考慮嵌入式系統網絡安全策略中的元素時,請考慮以下構件:
l 加密:以只有授權用戶才能訪問的方式對信息進行編碼的過程
l 網絡通信:確保嵌入式系統所有層之間通信安全的一種方法。
l 生命周期管理:管理產品從開始到結束的整個網絡安全生命周期。
l 身份管理:策略和訪問列表框架,用于確保使用嵌入式系統的適當軟件或用戶具有對所需資源(硬件或軟件)的適當訪問權限。
l 威脅防御:預防或管理網絡安全攻擊。
l 軟件或驅動程序更新:安全地更新軟件或驅動程序,同時確保對最終用戶和整個嵌入式系統功能的影響降至最低甚至沒有影響的做法。
參考資料
[1] “Cyber Threat Forecast Through 2022,” https://www.secureworldexpo.com/industry-news/isfthreat-horizon-report-2022
[2] “First Computer Virus”. https://history-computer.com/Internet/Maturing/Thomas.html
[3] “What the world’s first cyber attack has taught us about cybersecurity,”
https://www.weforum.org/agenda/2018/11/30-years-ago-the-world-s-first-cyberattack-set-thestage-for-modern-cybersecurity-challenges
[4] “Security Requirements for embedded devices – what is really needed?”
https://www.iconlabs.com/prod/security-requirements-embedded-devices-–-what-really-needed
[5] “20% of industrial control systems affected by critical vulnerabilities,”
https://www.bleepingcomputer.com/news/security/20-percent-of-industrial-control-systems-affected-by-critical-vulnerabilities/
[6] “IoT Connected devices installed base worldwide from 2015 to 2025”.
https://www.statista.com/statistics/471264/iot-number-of-connected-devices-worldwide/
[7] “Attacking Artificial Intelligence: AI’s Security Vulnerability and What Policymakers Can Do About It,”
https://www.belfercenter.org/publication/AttackingAI
[8] Technical talk by Ali Abbasi of the University of Twente on the security of RTOS found in PLC’s and other devices, https://www.youtube.com/watch?v=rlic2A7VB80
[9] “Seventeen steps to safer C code,” https://www.embedded.com/seventeen-steps-to-safer-c-code/
[10] “Heading off the inevitable hack attack,”
https://www.sme.org/technologies/articles/2017/october/heading-off-the-inevitable-hack-attack/

公司總部:北京市海淀區中關村軟件園8號華夏科技大廈三層
服務熱線:400-810-8981 / 010-82896289
版權所有:北京天地和興科技有限公司 京ICP備17065546號-1

掃一掃關注
天地和興微信公眾號