1960 年代的汽車和保護(hù)嵌入式 Linux 系統(tǒng)有什么共同點?在2015年Linux安全峰會的一次演講中,Linux基金會協(xié)作項目IT團(tuán)隊的系統(tǒng)管理員Konstantin Ryabitsev比較了汽車和IT安全。他解釋說,到上個世紀(jì)末,汽車是可靠的。他們運(yùn)送人員時故障風(fēng)險最小。然而,車輛沒有考慮到人為錯誤,司機(jī)在發(fā)生碰撞時幾乎沒有保護(hù)。如今,汽車制造商使用安全氣囊、安全停機(jī)、防滑系統(tǒng)、可折疊轉(zhuǎn)向柱、碰撞檢測、預(yù)期斷裂等。相比之下,今天的IT安全就像60年代的汽車;它很可靠,但不考慮人為錯誤。
下載STM32MP1安全白皮書
Ryabitsev的演講著眼于保護(hù)Linux服務(wù)器。因此,雖然他演講的細(xì)節(jié)很少適用于嵌入式系統(tǒng),但這些原則是相關(guān)的。太多的公司仍然忽視其設(shè)計的重要安全方面。工程師致力于質(zhì)量和安全,但未能制定針對安全故障的應(yīng)急計劃。一些團(tuán)隊甚至將安全性降級為事后的想法,因為他們不重視他們的數(shù)據(jù)。因此,許多人沒有看到人為錯誤或新的攻擊媒介如何傷害用戶或嚴(yán)重破壞業(yè)務(wù)。因此,我們發(fā)布了一份白皮書,因此采用STM32MP1的嵌入式系統(tǒng)看起來更像今天的汽車:即使出現(xiàn)問題,也很安全。
安全性:攻擊分類
物理攻擊
在他的《嵌入式系統(tǒng)設(shè)計原理》教科書中1,KCS Murti將安全攻擊分為兩大類:物理攻擊和邏輯攻擊。物理攻擊可能是侵入性的,例如黑客訪問芯片或中斷典型操作。物理攻擊也可能是“非侵入性的”,最常見的是側(cè)信道攻擊。在這種情況下,黑客可能會使用時鐘、內(nèi)存或從功耗模式中獲取某些功能。一段時間以來,意法半導(dǎo)體一直在提高對這些攻擊的認(rèn)識。因此,STM32MP1為這兩種類型的物理攻擊提供了重要的保護(hù),犯罪分子侵入設(shè)備的風(fēng)險仍然很低。
邏輯攻擊
當(dāng)公司談?wù)撉度胧较到y(tǒng)的安全性時,他們傳統(tǒng)上指的是防范邏輯攻擊的措施。簡而言之,邏輯攻擊旨在訪問數(shù)據(jù)或非法獲得運(yùn)行惡意軟件的權(quán)限,這些惡意軟件將泄露更多數(shù)據(jù)或允許黑客破壞系統(tǒng)及其連接的其他系統(tǒng)。當(dāng)大眾媒體報道安全主題時,他們大多談?wù)撨壿嫻簟K鼈兪亲畛R姷模驗樗鼈兿鄬σ子趯嵤┖偷统杀尽J聦嵣希麄儌鹘y(tǒng)上利用錯誤或漏洞。
邏輯攻擊也可能針對硬件功能或安全系統(tǒng)。例如,當(dāng)Spectre和Meltdown首次曝光時,IT世界發(fā)生了震動。這兩個漏洞允許程序獲取存儲在內(nèi)存中的敏感信息或繞過安全保護(hù)措施。根據(jù)Arm的說法,Cortex-M處理器和STM7MP32的Cortex-A1不受這些問題的影響。同樣,Heartbleed是OpenSSL庫中的一個缺陷,它允許黑客竊取據(jù)稱受保護(hù)的信息。開發(fā)人員必須快速檢查其實施并修補(bǔ)其系統(tǒng),否則將面臨重大影響的風(fēng)險。OpenSTLinux使用的OpenSSL版本不會受到此漏洞的影響。
人為錯誤
上面的用例是對象課程,因為它們太出乎意料了。開發(fā)人員必須預(yù)測不可預(yù)測的情況,計劃進(jìn)行徹底的審計,并保證補(bǔ)丁的快速部署。這就是為什么意法半導(dǎo)體白皮書介紹了主要概念定義并幫助管理人員了解基本原理的原因。知識也很重要,因為在大多數(shù)情況下,黑客甚至不需要利用令人發(fā)指的漏洞。如今,大多數(shù)攻擊都依賴于人為錯誤或社會工程。很容易使調(diào)試端口保持打開狀態(tài)、錯誤地實現(xiàn)加密操作或泄露管理密碼。在IT安全領(lǐng)域,就像在醫(yī)學(xué)上一樣,當(dāng)聽到馬蹄聲時,期待的是馬,而不是斑馬。
由于開發(fā)人員可以使用生態(tài)系統(tǒng),嵌入式系統(tǒng)的安全性也更加強(qiáng)大。意法半導(dǎo)體的驅(qū)動程序上游,并與開源社區(qū)密切合作。因此,我們可以快速修補(bǔ)問題,并使用標(biāo)準(zhǔn)工具使安全性更易于訪問。我們還通過STM32Trust或意法半導(dǎo)體合作伙伴計劃等計劃幫助客戶實施關(guān)鍵安全功能。例如,OpenSTLinux發(fā)行版提供了實現(xiàn)安全啟動所需的工具,以及支持安全固件更新的基礎(chǔ)。然而,那些希望外包此類任務(wù)的人可以依靠意法半導(dǎo)體的合作伙伴,如Witekio及其FullMetalUpdate,以提高可靠性和效率。最終,白皮書旨在向決策者和行業(yè)專家保證,在這場斗爭中,他們并不孤單。
1. 建立、管理和促進(jìn)信任
什么是信任?
為了使IT更加可靠,尤其是在處理人為錯誤時,公司必須創(chuàng)建一系列受信任的設(shè)備和系統(tǒng)。如果應(yīng)用層不安全,用戶就無法保證安全性。同樣,如果開發(fā)人員所依賴的操作系統(tǒng)不可信,則無法創(chuàng)建安全的應(yīng)用程序。因此,IT安全取決于信任的概念。根據(jù)Murti的說法,信任是硬件或軟件組件將“執(zhí)行指定的安全策略”的保證。2例如,操作系統(tǒng)必須保證普通用戶僅具有有限的權(quán)限,而不獲得管理權(quán)限。同樣,應(yīng)用程序不得訪問其安全策略定義的資源之外的資源。
什么是信任鏈 (CoT)?
IT安全的一個公理是,如果上層所依賴的下層不受信任,則上層就無法真正得到保護(hù)。例如,如果應(yīng)用程序所依賴的操作系統(tǒng)不受信任,則應(yīng)用程序不安全。事實上,即使軟件加密了它收集的所有數(shù)據(jù),操作系統(tǒng)不可信的事實意味著用戶無法保證黑客沒有破壞系統(tǒng)或竊取數(shù)據(jù)、加密密鑰或更多。同樣,如果受信任的操作系統(tǒng)運(yùn)行的硬件不受信任,則它就不是真正安全的。因此,真正安全的嵌入式系統(tǒng)依賴于行業(yè)稱為信任鏈(CoT)的級聯(lián)完整性檢查。
在經(jīng)典意義上,CoT 表示從硬件的最低級別到應(yīng)用程序的受信任層的工作流。然而,管理者必須明白,真正的信任鏈超越了系統(tǒng)本身。開發(fā)人員必須保護(hù)他們的工作,制定降低風(fēng)險的指導(dǎo)方針,并預(yù)測不幸事件。如果心懷不滿的員工竊取了加密密鑰,加密密鑰有什么用?同樣,公司必須確保他們運(yùn)送給OEM的固件是安全的。努力保護(hù)其代碼的公司必須確保惡意行為者不會訪問其源代碼。真正的IT安全意味著嘗試規(guī)劃各種人類行為。
什么是信任根 (RoT)?
正如 UEFI 論壇所解釋的那樣,計算系統(tǒng)上的信任鏈?zhǔn)加谟布湃胃:笳呤且环N機(jī)制,可確保系統(tǒng)的低級部分是可信的,因為它用于啟動的代碼通過了各種驗證和認(rèn)證。簡而言之,信任根提供了一些保證。它確保沒有人啟用新的調(diào)試端口或更改固件等。它通常使用不可變的根密鑰來驗證代碼的完整性和安全引導(dǎo)加載程序。密鑰在硬件中的事實也可以防止黑客克隆系統(tǒng)。
什么是安全啟動、安全固件安裝、安全模塊安裝?
工程師和經(jīng)理可能很難知道從哪里開始。因此,白皮書列出了創(chuàng)建可靠信任鏈所需的主要構(gòu)建塊。例如,它解釋了STM32MP1環(huán)境如何附帶依賴于信任根的參考引導(dǎo)序列。意法半導(dǎo)體使用TF-A安全啟動,OP-TEE作為安全操作系統(tǒng),然后在外部RAM初始化Linux內(nèi)核期間使用U-Boot作為第二階段引導(dǎo)加載程序。我們還有一個 wiki 來幫助開發(fā)人員實現(xiàn)所有這些元素。因此,白皮書是項目經(jīng)理的跳板。
意法半導(dǎo)體還提供安全固件安裝機(jī)制,如安全密鑰配置。開發(fā)人員可以在硬件安全模塊 (HSM) 上加密其密鑰。OEM 加載加密的數(shù)據(jù)和機(jī)密信息,MPU 使用 HSM 在內(nèi)部解密它們。因此,沒有人可以運(yùn)行不受保護(hù)的引導(dǎo)加載程序或訪問敏感數(shù)據(jù),客戶可以跟蹤OEM閃存的設(shè)備數(shù)量。因此,保證信任鏈至關(guān)重要,這種信任鏈超越了引導(dǎo)加載程序或軟件層,而是作為產(chǎn)品設(shè)計和制造的綜合方法。
2. 檢測、預(yù)測和響應(yīng)事件
為什么要審核日志、網(wǎng)關(guān)和代碼?
嵌入式系統(tǒng)的世界不能再忽視IT安全在其他領(lǐng)域建立的最佳實踐。幾年前,公司很少審計他們的嵌入式系統(tǒng),因為他們沒有看到其中的價值。在許多情況下,數(shù)據(jù)仍然是本地的,沒有敏感信息。然而,下一個自動化時代使嵌入式系統(tǒng)更加互聯(lián)和智能。因此,公司審核其日志、定期檢查軟件實施并監(jiān)控流量是否存在入侵至關(guān)重要。就像今天的汽車一樣,開發(fā)人員只有在知道發(fā)生碰撞或正在進(jìn)行危險情況時才能保護(hù)用戶免受碰撞。因此,工程師必須及時了解最新的安全趨勢3.
什么是應(yīng)急計劃和 FUOTA?
此外,公司必須制定應(yīng)急計劃,以便在檢測到漏洞或入侵后迅速做出反應(yīng)。制定應(yīng)急響應(yīng)可以節(jié)省大量寶貴的時間,并極大地幫助決策。它還避免了在充滿壓力和壓力的時期不得不做出重大決定。團(tuán)隊可以從各種在線資源中汲取靈感。例如,美國網(wǎng)絡(luò)安全與基礎(chǔ)設(shè)施安全局的網(wǎng)絡(luò)安全事件和漏洞響應(yīng)手冊是一個很好的起點。該文件主張創(chuàng)建兩個劇本:一個是處理事件,另一個是處理漏洞。并非文檔的每個方面都適用于嵌入式系統(tǒng)或私營公司,但這是一個很好的起點。
實施無線固件更新 (FUOTA) 機(jī)制也很重要。在危機(jī)中,遠(yuǎn)程修補(bǔ)系統(tǒng)至關(guān)重要。然而,F(xiàn)UOTA的實施特別復(fù)雜。在最近發(fā)表在《物聯(lián)網(wǎng)》雜志上的一篇文章中4,法國的研究人員研究了 FUOTA 背后的挑戰(zhàn),從資源限制到網(wǎng)絡(luò)拓?fù)洹⒃O(shè)備管理、安全性等。嵌入式系統(tǒng)和遠(yuǎn)程服務(wù)器上必須將許多組件組合在一起。在許多情況下,F(xiàn)UOTA比公司想象的更容易獲得,對于大多數(shù)人來說,外包是具有成本效益的選擇。
3. 投資、貢獻(xiàn)和依賴開源社區(qū)和經(jīng)過驗證的合作伙伴
采用開源方法
有一個明顯的轉(zhuǎn)向開源社區(qū)。隨著STM32MP1的推出,意法半導(dǎo)體承諾將繼續(xù)提升其驅(qū)動程序并在OpenSTLinux上工作。除了我們已經(jīng)討論過的優(yōu)勢之外,使用開源軟件還可以簡化工作流程。使用開放和流行的工具意味著可以更輕松地雇用人員并將項目轉(zhuǎn)移到新團(tuán)隊(如果需要)。在許多情況下,圍繞開放軟件的支持和知識比專有解決方案更多。成為社區(qū)的一員也往往會鼓舞士氣。工程師將更有可能處理一個項目,知道它服務(wù)于更大的目的。例如,上游補(bǔ)丁是非常有益的,因為知道業(yè)內(nèi)許多人會使用它們。
由于許可問題,一些公司不愿意采用開源技術(shù)。對于在 Linux 上運(yùn)行并使用通用公共許可證 (GPL) 下工具的專有應(yīng)用程序存在一些誤解。然而,情況恰恰相反。TF-A、OP-TEE 和 U-Boot 等軟件允許公司在其系統(tǒng)之上構(gòu)建其商業(yè)解決方案,而不必?fù)?dān)心法律后果。沃頓商學(xué)院2004年的一篇論文已經(jīng)解釋說,在開源平臺上賺錢是可能的,未來的許可證將有助于澄清問題,這就是發(fā)生的事情。因此,白皮書可幫助管理人員更好地理解有關(guān)許可的基本概念,以便他們解決這個問題并以正確的心態(tài)開始他們的項目。
加強(qiáng)協(xié)作的必要性
協(xié)作的重要性
在 2021 年 《》 月簽署的題為 “改善國家網(wǎng)絡(luò)安全 ”的行政命令中,甚至白宮也建議服務(wù)提供商在 IT 安全方面加強(qiáng)合作。該行業(yè)正在進(jìn)入一個新的領(lǐng)域,對嵌入式系統(tǒng)的要求要嚴(yán)格得多。數(shù)據(jù)越來越寶貴,甚至消費(fèi)者系統(tǒng)也是任務(wù)關(guān)鍵型的,保護(hù)信息不再是可有可無的。通過采用白皮書中概述的經(jīng)驗教訓(xùn),并與開源社區(qū)和意法半導(dǎo)體合作伙伴計劃的成員合作,公司可以改變其文化。安全性不一定是事后的想法。它可以引導(dǎo)公司創(chuàng)建強(qiáng)大的嵌入式系統(tǒng),即使在面臨安全挑戰(zhàn)時也能蓬勃發(fā)展。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5141文章
19526瀏覽量
314875 -
Linux
+關(guān)注
關(guān)注
87文章
11457瀏覽量
212772 -
服務(wù)器
+關(guān)注
關(guān)注
13文章
9683瀏覽量
87274
發(fā)布評論請先 登錄
【書籍評測活動NO.61】Yocto項目實戰(zhàn)教程:高效定制嵌入式Linux系統(tǒng)
如何提高嵌入式代碼質(zhì)量?
嵌入式開發(fā)必備-RK3562演示Linux常用系統(tǒng)查詢命令(上)觸覺智能出品

嵌入式和人工智能究竟是什么關(guān)系?
什么是嵌入式操作系統(tǒng)?
【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗】+全文學(xué)習(xí)心得
【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗】+第7-8章學(xué)習(xí)心得
【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗】+第一二章讀后感
嵌入式系統(tǒng)的未來趨勢有哪些?
七大嵌入式GUI盤點
嵌入式linux開發(fā)的基本步驟有哪些?
嵌入式linux開發(fā)板怎么操作
嵌入式linux開發(fā)板芯片的工作原理
專家力薦|《嵌入式系統(tǒng)原理與開發(fā)——基于RISC-V和Linux系統(tǒng)》新書發(fā)售

評論