工程師應該知道的硬件安全漏洞

工程師為什么要關(guān)心硬件安全?因為它們可以通過(guò)設計幫助防止漏洞!
工程師通常不太喜歡談?wù)摪踩珕?wèn)題。然而,這并不能否定工程師了解密碼學(xué)的重要性,這樣他們才能在未來(lái)的設計中解決它。
到目前為止,我們已經(jīng)討論了一位工程師對密碼學(xué)的(簡(jiǎn)要)介紹、Diffie-Hellman 交換以及ECC(橢圓曲線(xiàn)密碼學(xué))的工作原理。
現在是學(xué)習黑客如何破解密碼學(xué)的時(shí)候了,這樣您就可以開(kāi)始漫長(cháng)的旅程來(lái)保護您的設計免受常見(jiàn)攻擊。
為什么電氣工程師應該關(guān)心安全性
如果您負責為企業(yè)級或安全關(guān)鍵設計提供安全設備,您應該在設計過(guò)程的每個(gè)階段與您的芯片供應商和/或安全研究人員討論您的設計。Microchip、SiLabs、WolfSSL 等公司都有工程師,可以幫助您進(jìn)行設計并教育您了解安全性。
畢竟,可以說(shuō)沒(méi)有 100% 安全的系統。
“從來(lái)沒(méi)有一匹馬是不能騎的。從來(lái)沒(méi)有一個(gè)騎手不能被扔掉?!?/span>
安全研究人員與黑客進(jìn)行了終生的貓捉老鼠游戲。一次又一次,“牢不可破”的加密被打破了。您的消息是否保持加密取決于部件選擇、電路設計的好壞、代碼實(shí)現的好壞,以及攻擊者是否有足夠的動(dòng)機和裝備來(lái)?yè)魯∧脑O計。作為工程師,您的工作是盡一切可能保護您的私鑰。
您可能已經(jīng)意識到,您幾乎無(wú)法采取任何措施來(lái)保護您的私鑰免受民族國家的侵害。各種政府機構可以用來(lái)對付電子和人類(lèi)目標的資源是巨大的和壓倒性的。即使間諜無(wú)法從設備上取回私鑰,他們也總能破解對設備進(jìn)行編程的計算機,潛入制造 IC 的工廠(chǎng),危害員工……
幸運的是,您不必擔心民族國家會(huì )入侵您的設備。 不幸的是,這通常比我們想相信的要簡(jiǎn)單得多。一個(gè)擁有價(jià)值約 250 美元硬件并可以訪(fǎng)問(wèn) YouTube 培訓視頻的青少年可以在一個(gè)下午從微控制器中取出私鑰。惡意程序員可以在幾分鐘內竊取數據。
為了為安全設計做好準備,了解手頭的威脅非常重要。以下是一些眾所周知的基于硬件的安全漏洞的高級視圖,以及您可以采取哪些措施來(lái)緩解這些漏洞。
嵌入式系統安全問(wèn)題示例讓我們看一些主要的硬件漏洞示例,并討論一些更安全設計的技巧。
電磁側信道攻擊
幾十年來(lái),研究人員已經(jīng)了解電磁側信道攻擊。每當機械開(kāi)關(guān)或晶體管改變狀態(tài)時(shí),電磁波就會(huì )沿著(zhù)導體向外傳播。如果該電磁波被黑客****,他們通??梢灾亟ㄓ糜趧?chuàng )建電磁波的數據。請參閱Van Eck Phreaking、Tempest或下面的視頻了解更多信息。
減輕電磁側信道攻擊
在設計和布局 PCB 時(shí)使用行業(yè)最佳實(shí)踐。
將去耦電容盡可能靠近電源引腳放置。
在您的 IC 下方使用堅固的接地層。
在您的 IC 上使用EMI 屏蔽。
它不會(huì )阻止可以物理訪(fǎng)問(wèn)您設備的人,但會(huì )使他們的工作變得更加艱難。
差分功率分析攻擊
要破解大多數微控制器上的加密,您只需要一個(gè) 0.005 美元的電阻器、一個(gè)模數轉換器以及對 Python 編程語(yǔ)言的初步了解。
當微控制器中的數字門(mén)切換時(shí),它們會(huì )干擾通向微控制器的電源軌。黑客已經(jīng)學(xué)會(huì )在電源軌上放置一個(gè) 50 Ω 電阻器和一個(gè)模數轉換器,以記錄微控制器運行期間電流的微小變化。
微控制器通過(guò) SPI 編程/調試接口進(jìn)行詢(xún)問(wèn),同時(shí)記錄差分功率測量數據。隨后,對數據進(jìn)行分析,并使用峰值和脈沖來(lái)關(guān)聯(lián)和識別各個(gè)微控制器的動(dòng)作。
通過(guò)仔細分析,黑客可以從微控制器中提取他們想要的幾乎任何信息。
減輕差分功率分析攻擊
這種黑客攻擊很容易使用基于軟件的加密代碼完成,因此請盡可能使用實(shí)施 DPA 對策的加密硬件加速器。和以前一樣,在設計和布局中使用行業(yè)最佳實(shí)踐。選擇 BGA 封裝并在 PCB 的中間層中運行您的電源軌,如果您確實(shí)有理由擔心,請將您的 IC 嵌入 PCB 的中間層,上下都有銅平面,并在四周通過(guò)縫合使用。畢竟,如果壞人無(wú)法到達電源軌,他們就無(wú)法輕松進(jìn)行差分電源分析。
或者,使用基于硬件的安全核心,因為它們不太容易受到這種黑客攻擊(它們仍然可以被黑客攻擊)。工程師了解此漏洞并以多種方式對其進(jìn)行設計。例如,Silicon Labs Wireless Gecko 系列 2具有集成的安全內核,Microchip 生產(chǎn)一系列安全 IC,包括您可以在設計中使用的加密模塊。
中間人攻擊
有幾種中間人攻擊。 本文 演示了“無(wú)效曲線(xiàn)攻擊”。以下更簡(jiǎn)單的假設示例只是一種可能的攻擊向量。
當您通過(guò)名為“MyTunes”的藍牙揚聲器播放計算機中的音樂(lè )時(shí),數據會(huì )直接從計算機傳輸到揚聲器。但是,當您將計算機連接到名為“AllAboutCircuits.com”的外部網(wǎng)站時(shí),您可能會(huì )或可能不會(huì )意識到您的計算機并未立即直接連接到另一臺名為“AllAboutCircuits”的計算機。
發(fā)生的第一件事是您的計算機聯(lián)系您的路由器,您的路由器聯(lián)系域名服務(wù)器 (DNS),該服務(wù)器將名稱(chēng) AllAboutCircuits.com 轉換為 IPV4 或 IPV6 地址 (104.20.234.39)。這通常發(fā)生得很快,并且數據存儲在本地以加快未來(lái)的瀏覽速度。

然后數據從計算機反彈到路由器,再到網(wǎng)關(guān),再到交換機等……到 IP 地址與 104.20.234.39 匹配的計算機。跳數因網(wǎng)站和位置而異。在每個(gè)位置,如果計算機不安全,則數據可能會(huì )被截獲、流量重定向或完全其他方式。

中間人攻擊的設置
中間人攻擊可能會(huì )以多種方式發(fā)生。只考慮這一種攻擊。

來(lái)自ThisPersonDoesNotExist.com的“Bob”圖片
鮑勃買(mǎi)了一個(gè)花哨的新無(wú)線(xiàn)路由器。他把他的玩具帶回家并將其連接到他的家庭網(wǎng)絡(luò )。為了確定他沒(méi)有在新玩具上花太多錢(qián),他在電腦上查看了他的****賬戶(hù)余額。

來(lái)自ThisPersonDoesNotExist.com的“Mallory”圖片
馬洛里是一名黑客。她使用網(wǎng)站shodan.io (或類(lèi)似網(wǎng)站)來(lái)識別互聯(lián)網(wǎng)上的路由器、網(wǎng)絡(luò )攝像頭、Raspberry Pi 或物聯(lián)網(wǎng)設備,看到 Bob 的新路由器,咧嘴笑著(zhù),威脅地搓著(zhù)手,因為她現在也有了一個(gè)新玩具。
Mallory 使用所有設備附帶的默認用戶(hù)名/密碼(admin/default、admin/admin、admin/password 等)。大多數制造商對所有設備都使用相同的用戶(hù)名/密碼,而且大多數人不會(huì )費心去更改它們,因此她不會(huì )花費太多時(shí)間來(lái)找到一個(gè)或多個(gè)入口點(diǎn)。Mallory 只需登錄設備,用她自己的固件刷新它,然后將 DNS 服務(wù)器更改為她選擇的 DNS 服務(wù)器。
她可以這樣做是因為:
制造商懶惰地在其所有設備上使用相同的用戶(hù)名/密碼。
絕大多數最終用戶(hù)不會(huì )更改他們的默認密碼。
設備制造商要么不需要簽名的固件,要么他們的私鑰被泄露并且在野外。
現在,馬洛里可以訪(fǎng)問(wèn)專(zhuān)用網(wǎng)絡(luò )。她不再是網(wǎng)絡(luò )上的黑客,她現在在 Bob 的個(gè)人家庭網(wǎng)絡(luò )中,并且可以觀(guān)察數據來(lái)回移動(dòng)。數據是加密的,所以她不一定能看到它是什么——但她可以看到 Bob 非常頻繁地訪(fǎng)問(wèn)和登錄 ThisBankDoesNotExist.com (123.123.123.123),所以她開(kāi)始著(zhù)手設置服務(wù)器和網(wǎng)頁(yè)Bob 這是 ThisBankDoesNotExist.com 登錄頁(yè)面的像素完美副本。
然后,Mallory 將 Bob 的 ThisBankDoesNotExist.com 的 DNS 條目更改為 (123.45.67.89)
攻擊
Bob 導航到 ThisBankDoesNotExist.com。他不會(huì )費心在域名前輸入 https://,并且通過(guò) Mallory 的黑客攻擊,他沒(méi)有連接到正確的計算機,他在
http://ThisBankDoesNotExist.com - 所以沒(méi)有證書(shū)警告彈出。
鮑勃對此一無(wú)所知。他看到了像素完美的副本,并在 Mallory 的計算機中輸入了他的用戶(hù)名/密碼,正如他所期望的那樣,帳戶(hù)信息出現了。
除了現在,Mallory 可以看到一切——每筆交易、每個(gè)授權賬戶(hù)持有人,甚至 Bob 用來(lái)保護賬戶(hù)信息的超級復雜的用戶(hù)名/密碼 (bob/letmein)。
黑客攻擊的后果
幾乎所有網(wǎng)站都使用端到端加密。這意味著(zhù)數據只能在 Bob 的計算機和****計算機上解密。Mallory 引入了一個(gè)新的端點(diǎn)。Bob 的流量在他的計算機上編碼并在 Mallory 的計算機上解碼。然后數據在馬洛里的計算機上重新編碼,并在****的計算機上解碼。對于 Bob 和****來(lái)說(shuō),這仍然顯示為端到端加密。
但是有一個(gè)中間端點(diǎn)——馬洛里的電腦。Mallory 可以使用相同的技巧來(lái)查找 Bob 的醫院記錄、電子郵件等。
如何保護嵌入式系統
保證您的設備安全的最簡(jiǎn)單方法是讓您的產(chǎn)品難以被黑客入侵。
如果他們遇到阻力,黑客就有機會(huì )繼續攻擊下一個(gè)目標。另一方面,個(gè)人或小公司很難阻止民族國家的黑客攻擊。幸運的是,許多“黑客”只是“腳本小子”,缺乏開(kāi)發(fā)新攻擊和解決問(wèn)題的專(zhuān)業(yè)知識。如果您的設備沒(méi)有 YouTube 視頻和 GitHub,他們將不知道該做什么,他們會(huì )繼續前進(jìn)。
此外,請與您的微芯片供應商聯(lián)系,了解有關(guān)保護您設備的更多信息。Microchip 和 Silicon Labs 都在本系列文章中占據重要位置,因為兩家公司都為這些文章提供了工程師的采訪(fǎng)機會(huì )。
如果您設計物聯(lián)網(wǎng)設備,您可以采取多種措施來(lái)降低您的客戶(hù)因疏忽的工程和編程實(shí)踐而失去挽救生命的可能性。
除了上面提到的想法,考慮這些額外的步驟:
使用支持固件身份驗證(AKA 安全啟動(dòng))的微控制器和工具鏈進(jìn)行設計。 只有正確簽名的數字固件才能在微控制器上運行,并且只有您知道私鑰。Silicon Labs和Microchip (以及其他供應商)都有支持安全啟動(dòng)的微控制器。
盡可能使用具有安全調試功能的微控制器。 其中一些黑客攻擊是可能的,因為黑客可以從主機微控制器注入和檢索數據,并使用它來(lái)確定微控制器封裝內發(fā)生了什么。如果數據出現混亂或根本沒(méi)有,他們會(huì )感到沮喪并繼續前進(jìn)。同樣,Silicon Labs 和 Microchip(以及其他供應商)也具備這種能力。
閱讀安全性,向專(zhuān)家提問(wèn),并將您的設計發(fā)送給設備制造商的應用工程師,以接收有關(guān)您提出的安全方案、電路板布局等的反饋。
如果設備被篡改,請使用防篡改技術(shù)從內存中擦除您的私鑰。TE Connectivity 制造的壓電薄膜片可以完全包裹在您的 PCB 周?chē)?。如果板材被切割、干擾、熔化等,它將產(chǎn)生電壓以指示篡改情況。使用電容或電感傳感器(例如來(lái)自 TI 的傳感器)來(lái)檢測項目外殼何時(shí)打開(kāi),或使用霍爾效應傳感器來(lái)檢測外殼螺釘何時(shí)旋轉。
假設當您的設備到達第一個(gè)客戶(hù)手中時(shí),它已經(jīng)被盜用了。 創(chuàng )建一個(gè)項目安全藍圖,允許一個(gè)或多個(gè)單獨的設備受到攻擊,而不會(huì )影響您的整個(gè)項目。
本系列文章只是對安全性的介紹。作為工程師,您有責任確保物聯(lián)網(wǎng)對每個(gè)人都安全。
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。