當(dāng)前嵌入式處理器存在的漏洞
最近,計(jì)算機(jī)科學(xué)家公布了一種新型攻擊,稱為Orc攻擊,它威脅到嵌入式應(yīng)用中常用的簡(jiǎn)單處理器。最重要的是,作者已經(jīng)證明,很小的實(shí)施決策都可能會(huì)導(dǎo)致或者防止嚴(yán)重的硬件漏洞的出現(xiàn)。“這里的關(guān)鍵點(diǎn)在于,即使是簡(jiǎn)單的設(shè)計(jì)步驟,例如添加或刪除緩沖區(qū),不經(jīng)意間也可能在任何處理器中引入隱蔽信道漏洞,”發(fā)現(xiàn)Orc攻擊的Kaiserslautern-Stanford團(tuán)隊(duì)成員Mo Fadiheh說(shuō)。
硬件漏洞會(huì)影響、醫(yī)療和系統(tǒng)的安全性,只有安全飛地和信任根還不夠。
2018年1月,計(jì)算機(jī)安全研究人員披露了兩個(gè)重大的處理器安全漏洞:Meltdown(熔斷)和Spectre(幽靈),惡意程序可以利用這些漏洞竊取安全數(shù)據(jù)。
工程界和普通民眾早已習(xí)慣了為修補(bǔ)軟件漏洞而頻繁更新app或安裝操作系統(tǒng)補(bǔ)丁。而這里所說(shuō)的不同,罪魁禍?zhǔn)资怯布?,而硬件更新可不便宜?/p>
修補(bǔ)硬件漏洞唯一可行的方法是發(fā)布新的軟件,以降低系統(tǒng)速度與能效為代價(jià),屏蔽易受攻擊的硬件功能或避免使用它們。Meltdown和Spectre的發(fā)現(xiàn)引發(fā)了一系列針對(duì)硬件安全的調(diào)查。
截至目前,安全研究人員已經(jīng)公布了更多的硬件漏洞,包括Foreshadow、ZombieLoad、RIDL和Fallout。這些硬件缺陷危及個(gè)人計(jì)算機(jī)、智能甚至云的安全性。
圖1:攻擊者進(jìn)程通過(guò)基于行填充緩沖區(qū)(LFB)的微架構(gòu)側(cè)信道從受害者進(jìn)程中竊取機(jī)密數(shù)據(jù)。受害者和攻擊者進(jìn)程處于不同的安全域中。(:S. van Schk等,RIDL:Rogue In-Flight Data Load)
那嵌入式系統(tǒng)是否就安全了呢?
圍繞著處理器的安全漏洞有一個(gè)共同主題——它們都針對(duì)具有先進(jìn)性能優(yōu)化的現(xiàn)代高端實(shí)現(xiàn)功能,事實(shí)證明,這些先進(jìn)功能可能被惡意目的利用。
而嵌入式系統(tǒng)通常采用相對(duì)簡(jiǎn)單的處理器實(shí)現(xiàn)。它是一個(gè)封閉的環(huán)境,供應(yīng)商應(yīng)該可以更嚴(yán)格地控制它。實(shí)際上,在DVCon US 2019會(huì)議上,在開(kāi)放式指令集架構(gòu)(ISA)的驗(yàn)證和合規(guī)性討論期間這個(gè)問(wèn)題已經(jīng)被提出來(lái)。開(kāi)放式ISA,特別是RISC-V,以及MIPS等,提供優(yōu)于專有架構(gòu)的優(yōu)勢(shì),越來(lái)越受到半導(dǎo)體行業(yè)和嵌入式設(shè)備社區(qū)的關(guān)注。
嵌入式處理器被應(yīng)用于許多聯(lián)網(wǎng)系統(tǒng),例如工廠、智能家居、物聯(lián)網(wǎng)()設(shè)備、醫(yī)療設(shè)備和產(chǎn)品,以及自動(dòng)駕駛、飛機(jī)和其它生命安全攸關(guān)的關(guān)鍵應(yīng)用。
不同于普遍的看法,嵌入式平臺(tái)上運(yùn)行的軟件來(lái)自多個(gè)通常不受信任的源,例如那些允許用戶運(yùn)行第三方應(yīng)用程序或運(yùn)行來(lái)自多個(gè)供應(yīng)商和開(kāi)源庫(kù)的大型軟件堆棧的平臺(tái)。為了最大化硬件利用率并降低成本,關(guān)鍵和非關(guān)鍵應(yīng)用程序在同一物理處理器上運(yùn)行。例如,汽車電子控制單元(ECU)可以在同一處理器內(nèi)核上執(zhí)行信息娛樂(lè)代碼以及安全攸關(guān)功能。
直到最近,安全防護(hù)還主要集中在軟件堆棧上,其硬件提供諸如信任根的底層防護(hù)功能。RISC-V基金會(huì)將精力主要放在安全平臺(tái)和機(jī)制的實(shí)現(xiàn)上,以防止不受信任的代碼影響關(guān)鍵系統(tǒng)功能的完整性。這些安全功能對(duì)于驗(yàn)證軟件更新至關(guān)重要。從理論上講,這些方法沒(méi)有問(wèn)題,不受信任的軟件只能在定義好的保護(hù)殼內(nèi)運(yùn)行,無(wú)法突破或竊取安全飛地的敏感信息。
漏洞并非高端處理器所獨(dú)有
不幸的是,還有一個(gè)復(fù)雜的問(wèn)題。
最終的結(jié)果是,Orc和側(cè)信道攻擊打破了特權(quán)級(jí)和用戶級(jí)域之間的隔離。加密和安全驗(yàn)證可以被繞開(kāi)。惡意代理程序可以推斷出秘密數(shù)據(jù),包括密碼、社會(huì)安全號(hào)碼和醫(yī)療記錄;暴露用于驗(yàn)證固件更新的密鑰可能允許攻擊者加載自己的代碼并以更高的權(quán)限執(zhí)行它或替換操作系統(tǒng)中的某些功能;用于DoS攻擊的后門或終止開(kāi)關(guān)可能被添加;還有無(wú)數(shù)的可能性。“從理論上講,黑客可以使用Orc漏洞來(lái)控制自動(dòng)駕駛汽車或者征用物聯(lián)網(wǎng)上聯(lián)網(wǎng)的計(jì)算機(jī),”斯坦福大學(xué)電子工程和計(jì)算機(jī)科學(xué)教授,團(tuán)隊(duì)成員Subhasish Mitra說(shuō)。
業(yè)界已經(jīng)意識(shí)到了這些風(fēng)險(xiǎn),并正在積極尋求解決方案。例如,英飛凌就參與了發(fā)現(xiàn)Orc漏洞的研究工作。
一種防止硬件漏洞的系統(tǒng)方法
證明微架構(gòu)側(cè)信道不存在很復(fù)雜。硬件安全驗(yàn)證不僅僅是確保正確實(shí)施ISA安全功能,開(kāi)發(fā)和分析威脅模型也是不夠的,因?yàn)楣魣?chǎng)景需要被提前識(shí)別。
發(fā)現(xiàn)Orc漏洞的同一個(gè)團(tuán)隊(duì)發(fā)明了一種強(qiáng)大的方法可以在大規(guī)模生產(chǎn)和部署IC之前檢測(cè)設(shè)計(jì)過(guò)程中的硬件漏洞,這就是唯一程序執(zhí)行檢查(UPEC),它可以系統(tǒng)地檢測(cè)來(lái)自處理器微架構(gòu)和較小實(shí)施決策中的漏洞。
圖2:除一些受保護(hù)的秘密數(shù)據(jù)外,UPEC創(chuàng)建包含相同數(shù)據(jù)的同一計(jì)算系統(tǒng)的兩個(gè)實(shí)例。 基于形式驗(yàn)證的分析揭示了是否有可能構(gòu)建進(jìn)程在未被授權(quán)訪問(wèn)秘密數(shù)據(jù)的情況下在兩個(gè)系統(tǒng)中以不同的方式執(zhí)行。(:M. R. Fadiheh等,處理器硬件安全漏洞及其唯一程序執(zhí)行檢查的檢測(cè)。)
“Orc漏洞的出現(xiàn)反映出,芯片設(shè)計(jì)師每天都會(huì)做出的看似無(wú)害的設(shè)計(jì)決策,但可能會(huì)導(dǎo)致嚴(yán)重的缺陷,”威斯康星大學(xué)麥迪遜分校的計(jì)算機(jī)架構(gòu)專家Mark D. Hill教授說(shuō)。“通過(guò)UPEC,設(shè)計(jì)人員可以更加自信地發(fā)現(xiàn)并消除設(shè)計(jì)中所有潛在的隱蔽信道缺陷。”
嵌入式系統(tǒng)需要高完整性的IC
在嵌入式系統(tǒng)中,不太可能完全信任和控制軟件堆棧的所有層。因此,即使使用簡(jiǎn)單的處理器內(nèi)核,利用硬件實(shí)現(xiàn)中的漏洞,實(shí)施微架構(gòu)側(cè)信道攻擊也會(huì)對(duì)安全造成真正的威脅。
基于RISC-V ISA的開(kāi)源硬件為更高級(jí)別的安全審查提供了機(jī)會(huì)。但同時(shí),惡意代理軟件也可以對(duì)設(shè)計(jì)執(zhí)行詳細(xì)分析并發(fā)現(xiàn)低級(jí)漏洞。
而且嵌入式設(shè)備一旦部署,更換處理器就很困難且成本高昂。所以,替代方案就是在部署之前即識(shí)別硬件漏洞來(lái)防止側(cè)信道攻擊。UPEC是一種強(qiáng)大的硬件安全驗(yàn)證技術(shù)。其基于形式驗(yàn)證的屬性檢查,可以系統(tǒng)地識(shí)別硬件寄存器傳輸層(RTL)設(shè)計(jì)模型中的漏洞,而不用依靠專業(yè)知識(shí)來(lái)猜測(cè)可能存在的問(wèn)題。
數(shù)據(jù)安全性(Security)是IC完整性的基石,當(dāng)然還有信任、功能正確性和生命安全性(Safety),各種因素相輔相成,例如安全漏洞或硬件木馬可能會(huì)危及自動(dòng)駕駛汽車的安全性??梢?jiàn),IC完整性對(duì)如今的數(shù)字世界至關(guān)重要。
當(dāng)前UPEC的實(shí)施是利用OneSpin Soluons提供的IC完整性來(lái)保證產(chǎn)品構(gòu)建的。