【導讀】上個世紀60年代之后上市的汽車與保護嵌入式Linux系統(tǒng)安全有哪些共同之處呢?在2015年Linux安全峰會的一次演講上,Linux基金會協作項目IT團隊的系統(tǒng)管理員Konstantin Ryabitsev曾經用汽車比喻信息技術安全。他解釋道:到上世紀末,汽車已具有較高的可靠性,在運送乘客時,車輛本身很少發(fā)生故障。然而,當時的汽車設計并未考慮人為誤操作因素導致的意外事故,如果汽車發(fā)生碰撞事故,駕駛員獲得的安全保護很有限。今天,汽車廠商為汽車配備了安全氣囊、緊急停車、防側滑系統(tǒng)、潰縮式轉向柱、碰撞檢測、預制動系統(tǒng)等多項安全措施。同樣,當今的信息技術安全現狀很像上個世紀60年代的汽車,系統(tǒng)本身可靠,但尚未考慮人為失誤的影響。
上個世紀60年代之后上市的汽車與保護嵌入式Linux系統(tǒng)安全有哪些共同之處呢?在2015年Linux安全峰會的一次演講上,Linux基金會協作項目IT團隊的系統(tǒng)管理員Konstantin Ryabitsev曾經用汽車比喻信息技術安全。他解釋道:到上世紀末,汽車已具有較高的可靠性,在運送乘客時,車輛本身很少發(fā)生故障。然而,當時的汽車設計并未考慮人為誤操作因素導致的意外事故,如果汽車發(fā)生碰撞事故,駕駛員獲得的安全保護很有限。今天,汽車廠商為汽車配備了安全氣囊、緊急停車、防側滑系統(tǒng)、潰縮式轉向柱、碰撞檢測、預制動系統(tǒng)等多項安全措施。同樣,當今的信息技術安全現狀很像上個世紀60年代的汽車,系統(tǒng)本身可靠,但尚未考慮人為失誤的影響。
Ryabitsev的演講主要針對的是Linux服務器安全,雖然具體內容較少直接適用于嵌入式系統(tǒng),但是,他談到的安全原則對于嵌入式系統(tǒng)同樣具有重要意義。當前,仍有太多的企業(yè)在產品設計中忽視安全這個重要因素:工程師著力于提升產品質量和功能安全,卻未能制定信息安全事故應急方案,甚至有些團隊不重視數據的價值,在設計中沒有縝密考慮信息安全,存在亡羊補牢的思想,這導致多數企業(yè)看不到人為錯誤或新型攻擊向量對用戶或企業(yè)造成的嚴重損害或損失。為此,我們發(fā)布了一份技術白皮書,這樣,在STM32MP1 和 STM32MP2 上運行的嵌入式系統(tǒng)可以像今天的汽車一樣安全,即使出了問題,仍能安然無虞。
攻擊類型
物理攻擊
在《嵌入式系統(tǒng)設計原理》(Design Principles for Embedded Systems1)一書中,作者KCS Murti將安全攻擊分為物理攻擊和邏輯攻擊兩大類。物理攻擊可能具有侵入性,例如,攻擊者侵入芯片內部或干擾芯片正常工作;物理攻擊也可以采取"非侵入式"方式,最常見的是側信道攻擊攻擊。在此類攻擊中,攻擊者可能利用時鐘與內存參數攻擊系統(tǒng),或通過分析功耗特征推導特定功能。意法半導體很早就開始設法提高行業(yè)的安全意識,因此,STM32MP1和STM32MP2微處理器為客戶提供了重要的物理攻擊防護措施,犯罪分子試圖通過物理攻擊方法入侵芯片的風險很低。
邏輯攻擊
當企業(yè)提及嵌入式系統(tǒng)安全時,通常情況下指的是防范邏輯攻擊的安全措施。簡而言之,邏輯攻擊的意圖是竊取數據或者非法獲取惡意軟件的運行權限,泄露數據信息,導致系統(tǒng)以及相連系統(tǒng)崩潰。當大眾媒體報道網絡安全問題時,主要談論的是邏輯攻擊。邏輯攻擊是最常見的網絡攻擊方式,因為實施容易,成本低,通常利用程序漏洞或缺陷即可發(fā)動攻擊。
邏輯攻擊同樣可能攻擊硬件功能或安全系統(tǒng)。例如,當Spectre和Meltdown 漏洞首次曝光時,引發(fā)行業(yè)震動:這個兩個漏洞可讓程序從內存竊取敏感數據或繞過安全防護機制入侵系統(tǒng)。根據 Arm的報告,STM32MP1的Cortex-M4和Cortex-A7架構及STM32MP2的Cortex-M33和Cortex-A35架構均不存在這兩個漏洞。另一相似的典型案例是OpenSSL的Heartbleed 漏洞,該缺陷讓攻擊者有機會竊取原本應受保護的信息,迫使開發(fā)者不得不緊急檢查軟件代碼,修補漏洞,否則后果嚴重。意法半導體的OpenSTLinux平臺的OpenSSL沒有該漏洞風險。
人為錯誤
上述案例是無法預測的事件,我們應從中汲取經驗教訓。開發(fā)團隊需要預判這些無法預測的風險,制定完善的漏洞審查計劃,并確保補丁能夠得到快速部署。這就是意法半導體白皮書闡述主要概念并幫助管理人員理解基礎安全知識的原因所在。因為在大多數情況下,黑客甚至無需利用明顯的漏洞,大多數攻擊都依賴于人為失誤或社會工程學手段。打開調試端口并保持開放狀態(tài),執(zhí)行錯誤的加密運算,或泄露管理員密碼,這些情況很容易出現。打個比方,醫(yī)學領域經常告誡從業(yè)者,當聽到馬蹄聲時,首先應該想到的是馬,而不是斑馬。在信息技術安全領域也是如此,當發(fā)生數據泄露事件時,首先應該考慮是不是常見情況。
STM32Trust及其安全解決方案
嵌入式系統(tǒng)的安全也會因開發(fā)者生態(tài)系統(tǒng)的存在而變得更加穩(wěn)固。 意法半導體向上游貢獻驅動補丁,與開源社區(qū)緊密合作,因此,我們可以快速修補漏洞,并使用標準化工具開發(fā)軟件,提高安全功能的普惠性。我們還通過創(chuàng)建一些項目,例如,STM32Trust 或ST Partner Program幫助客戶開發(fā)關鍵的安全功能。例如,OpenSTLinux發(fā)行版已集成實施安全引導所需的工具與安全固件更新基礎架構。此外,有些客戶想要把安全功能開發(fā)外包給第三方,這時,他們可以委托ST 合作伙伴,例如, Witekio 及其FullMetalUpdate ,以提高開發(fā)項目的可靠性和效率。最后,這份白皮書向決策者和行業(yè)專家保證,他們并不是在孤軍奮戰(zhàn)。
1.構建、維護和推行可信技術
可信計算是什么概念?
ST可信基礎架構——STM32MP1引導鏈順序(信任鏈)參考設計
為了讓信息技術 (IT) 更加可靠,尤其是在應對人為失誤的情況下,企業(yè)必須建立一條由可信設備系統(tǒng)構成的可信鏈。如果應用層不安全,用戶就無法獲得安全保障;同理,如果操作系統(tǒng)不值得信任,開發(fā)者很難創(chuàng)建安全的應用。由此可見,可信計算概念是信息技術安全的基礎。根據Murti的理論定義2,可信是軟硬件件"強制實施既定安全策略"的可靠保證。例如,操作系統(tǒng)必須確保普通用戶僅具備部分權限,且無法取得管理權;同理,應用程序不得越權訪問安全策略規(guī)定的不得訪問的資源。
可信鏈(CoT)是什么概念?
在信息技術安全領域存在一個公理:如果底層不可信,上層就不可能真正安全。例如,如果操作系統(tǒng)不可信,應用程序就會變得不安全。即便已采集的數據被軟件加密,但是,只要操作系統(tǒng)不可信,用戶仍無法得到沒有黑客入侵系統(tǒng)和竊取數據、密鑰等信息的保證。同理,若硬件平臺不可信,操作系統(tǒng)將不會很安全。真正安全的嵌入系統(tǒng)依賴于業(yè)界稱之為可信鏈(CoT)的逐層完整性驗證。
在傳統(tǒng)意義上,可信鏈(CoT)表示一個從最下面的硬件層到最上面的應用層構成的可信層工作流程。但是,管理者需認識到,一條真正的可信鏈不應局限于系統(tǒng)本身,應延伸到系統(tǒng)以外的更遠處。開發(fā)者必須保護自己的開發(fā)成果,制定風控指引,并預判意外事件。假如秘鑰被心懷不滿的員工竊取,那么密鑰還有什么用?同理,企業(yè)須確保交付給OEM廠商的固件是安全的,企業(yè)耗費心力保護軟件安全,必須獲得惡意攻擊者無法竊取源碼的保證。真正的信息技術安全必須考慮到所有人為因素,并提前做好應急備案。
因此,業(yè)界采用數學算法加密標準保護數據安全,這些加密系統(tǒng)假設攻擊者熟悉這些算法。現在,安全專家不再依靠開發(fā)者隱藏訪問權限,而是預料到黑客知道他們在做什么。但是,因為成本太高,計算量太大,破解算法變得不切實際。因此,有很多公司選擇 RSA合AES密碼加密算法或CRYSTALS-Dilithium 等新后量子加密算法標準。盡管攻擊者很熟悉這些算法,但是,如果實施方法正確,這些算法是無法破解的。隨著能夠加快加密算法運算的硬件 IP 引擎的問世,運行加密算法而不影響處理性能的設想變?yōu)榱爽F實。
什么是可信根 (RoT)?
根據UEFI Forum,硬件可信根是計算機系統(tǒng)可信鏈的起點。硬件可信根是保證系統(tǒng)底層值得信賴的安全機制,因為引導加載軟件代碼是經過多項驗證與認證。簡而言之,可信根提供若干個保證:確保沒有人啟用新的調試接口或篡改固件配置等操作??尚鸥褂貌豢勺兊母荑€驗證代碼完整性,并采用安全的引導加載程序。密鑰位于硬件內部這一事實還可有效防止黑客克隆系統(tǒng)。
鑒于固件在建立可信根方面的重要性,許多人開始使用加密固件。簡而言之,在MCU或 MPU上加載的代碼是無法讀取的,必須先在主控制器內部用安全方法解密,這意味著沒有人眼可以窺視解密后的代碼,然后,主控制器運行檢查工具,驗證固件的完整性。STM32MP13 和 STM32MP25 微處理器具有專門的內存保護機制和安全功能,盡管增加了解密步驟,但仍可保證強大的處理性能。加密固件還確保工業(yè)間諜無法訪問源代碼。
安全引導、安全固件安裝、安全模塊部署是什么意思?
建立一條可信鏈,工程師和管理人員可能無從下手。因此,白皮書列出了創(chuàng)建一個可靠的可信鏈所需的主要模塊。例如,白皮書解釋了 STM32MP1和 STM32MP2環(huán)境如何有一個基于可信根的參考引導順序,安全啟動使用 TF-A 軟件,安全操作系統(tǒng)采用OP-TEE軟件,在外存 RAM 中進行Linux 內核初始化時,第二階段引導加載程序使用U-Boot軟件。我們還有一個 wiki 知識庫,幫助開發(fā)人員開發(fā)所有這些模塊。因此,白皮書是一個幫助項目經理啟動項目的助力踏板。
ST 還提供安全固件安裝機制,例如,安全秘鑰配置。開發(fā)人員在硬件安全模塊 (HSM) 上給密鑰加密,OEM廠商安裝的是加密數據和加密信息,MPU 通過 HSM模塊在內部對加密的數據信息進行解密處理。因此,沒有人能夠運行不受保護的引導加載程序或訪問敏感數據,客戶還可以跟蹤 OEM廠商向多少臺設備燒錄了代碼。因此,保證可信鏈延伸到引導加載程序或軟件層以外的更高的層次,而且還是一個完善的產品設計制造方法,具有很重要的意義。
2. 事件檢測、預測和響應
為何審查日志、網關和代碼?
審查系統(tǒng)的重要性
嵌入式系統(tǒng)行業(yè)再也不能忽視其他行業(yè)積累的信息安全實踐經驗。幾年前,企業(yè)很少審查自己的嵌入式系統(tǒng),因為他們沒有看到其中的價值。在許多情況下,數據仍保留在本地設備上,并且沒有敏感信息。然而,在下一個自動化時代,互聯互通的嵌入式設備越來越多,智能化水平也越來越高。因此,公司必須審查操作日志,定期檢查軟件執(zhí)行情況,并監(jiān)控流量以防入侵。像今天的汽車一樣,只有能夠預測即將發(fā)生碰撞或險情,才能有效地保護駕乘者的安全,因此,工程師必須緊跟最新的安全技術發(fā)展趨勢3。
安全認證的興起是另一個新趨勢。監(jiān)管機構等組織機構正在創(chuàng)建認證標準規(guī)范,以保證網絡安全解決方案可靠穩(wěn)健。例如,STM32MP1 和 STM32MP2 的真隨機數發(fā)生器已經通過了 NIST SP 800-90B 等安全標準測試,可以幫助客戶順利通過 SESIP 3 級認證。因此,需要獲得 FIPS 140-3 認證的管理者可以二次使用我們的 SP 800-90B 證書,將產品更快地推向市場。同樣,STM32MP135 和 STM32MP25的預認證方法還能大幅降低銀行應用開發(fā)者取得要求嚴格的 POS PCI-PTS認證的難度。
應急計劃和FLUOTA是什么意思?
遠程服務器
此外,企業(yè)必須制定應急計劃,以便在發(fā)現漏洞或入侵事件后迅速做出反應。部署應急響應計劃可以節(jié)省寶貴的時間,并極大地輔助決策過程,同時還可以避免在緊張和壓力之下做出倉促的決策。團隊可以從網上各種資源中汲取靈感。例如,美國網絡安全和基礎設施安全局的《網絡安全事件和漏洞響應手冊》就是一個很好的參考樣本。該手冊主張創(chuàng)建兩個手冊:一個處理事件,另一個處理漏洞。該手冊并非每個方面都適用于嵌入式系統(tǒng)或私營企業(yè),但仍具有重要參考價值。
在嵌入式系統(tǒng)中引入固件無線更新 (FUOTA) 機制也很重要。遠程修補系統(tǒng)在處理危機的時候至關重要,但是,FUOTA實施起來特別復雜。在《物聯網》雜志最近發(fā)表的一篇文章中,法國研究人員分析了 FUOTA 背后的挑戰(zhàn),包括資源限制、網絡拓撲、設備管理、安全性。實現FUOTA要求在嵌入式系統(tǒng)與遠程服務器端必須有多個組件協同運行。實際上, FUOTA的實施在很多情況下比人們想象的更容易,選擇外包服務通常是最具成本效益的解決方案。
3.投資、協助和支持開源社區(qū)和可信合作伙伴
采用開源技術思路
意法半導體已將芯片板級支持包(BSP)整合進入Linux內核主線版本
目前有一個明顯的向開源社區(qū)靠攏的趨勢。隨著 STM32MP1的推出,意法半導體承諾將繼續(xù)執(zhí)行貢獻驅動程序補丁的政策,繼續(xù)開發(fā)支持OpenSTLinux操作系統(tǒng)。除了已經談到的優(yōu)勢外,使用開源軟件還可以簡化工作流程。使用開放的主流工具意味更容易招募英才和項目交接。在許多情況下,與專有解決方案相比,開放軟件有更多的支持資源和知識經驗。加入社區(qū)往往會提振士氣。在知道項目有更大的用途后,工程師們更愿意接手項目。例如,貢獻上游驅動補丁,如果被很多業(yè)界同仁采用,將會提升個人成就感。
因為許可協議的為題,有些企業(yè)不愿意采用開源技術。對于在Linux系統(tǒng)上運行專有應用程序和按照GPL(通用公共許可證)使用工具,業(yè)界存在認知誤區(qū)。事實恰恰相反,TF-A、OP-TEE、U-Boot等開源軟件允許企業(yè)在自身系統(tǒng)架構上搭建商用解決方案,而無需擔憂法律風險。根據沃頓商學院2004年的研究論文預測,開源平臺完全具備賺錢潛力,未來許可協議將有助于厘清相關法律爭議。意法半導體的技術白皮書可以幫助企業(yè)管理層更好地厘清這個問題,以正確的心態(tài)開始他們的項目。
加強合作的必要性
合作的重要性
美國總統(tǒng)于2021年5月簽署的《關于加強國家網絡安全的行政令》建議服務提供商在信息技術安全方面加強合作。目前,該行業(yè)正在進入一個新的時代,對嵌入式系統(tǒng)的要求要更加嚴格。數據越來越寶貴,即使是消費級系統(tǒng)也成為關鍵業(yè)務節(jié)點,保護信息不再是可有可無的事情。通過吸取白皮書中講述的經驗教訓,并與開源社區(qū)和 ST 合作伙伴計劃的成員合作,企業(yè)可以改變現有安全文化。信息安全不該是亡羊補牢,而是引導公司創(chuàng)建的強大的嵌入式系統(tǒng),即使在面臨安全挑戰(zhàn)時,也能蓬勃發(fā)展。
來源:意法半導體博客
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理。
推薦閱讀:
瑞芯微殺瘋了!全新視覺芯片RV1126B實測數據曝光,算力已達RK3588一半!
小角色,大作用:汽車信息娛樂系統(tǒng)中,不可或缺的連接器