工程師應(yīng)該知道的硬件安全漏洞
工程師為什么要關(guān)心硬件安全?因?yàn)樗鼈兛梢酝ㄟ^設(shè)計(jì)幫助防止漏洞!
工程師通常不太喜歡談?wù)摪踩珕栴}。然而,這并不能否定工程師了解密碼學(xué)的重要性,這樣他們才能在未來的設(shè)計(jì)中解決它。
到目前為止,我們已經(jīng)討論了一位工程師對(duì)密碼學(xué)的(簡要)介紹、Diffie-Hellman 交換以及ECC(橢圓曲線密碼學(xué))的工作原理。
現(xiàn)在是學(xué)習(xí)黑客如何破解密碼學(xué)的時(shí)候了,這樣您就可以開始漫長的旅程來保護(hù)您的設(shè)計(jì)免受常見攻擊。
為什么電氣工程師應(yīng)該關(guān)心安全性如果您負(fù)責(zé)為企業(yè)級(jí)或安全關(guān)鍵設(shè)計(jì)提供安全設(shè)備,您應(yīng)該在設(shè)計(jì)過程的每個(gè)階段與您的芯片供應(yīng)商和/或安全研究人員討論您的設(shè)計(jì)。Microchip、SiLabs、WolfSSL 等公司都有工程師,可以幫助您進(jìn)行設(shè)計(jì)并教育您了解安全性。
畢竟,可以說沒有 100% 安全的系統(tǒng)。
“從來沒有一匹馬是不能騎的。從來沒有一個(gè)騎手不能被扔掉?!?/span>
安全研究人員與黑客進(jìn)行了終生的貓捉老鼠游戲。一次又一次,“牢不可破”的加密被打破了。您的消息是否保持加密取決于部件選擇、電路設(shè)計(jì)的好壞、代碼實(shí)現(xiàn)的好壞,以及攻擊者是否有足夠的動(dòng)機(jī)和裝備來擊敗您的設(shè)計(jì)。作為工程師,您的工作是盡一切可能保護(hù)您的私鑰。
您可能已經(jīng)意識(shí)到,您幾乎無法采取任何措施來保護(hù)您的私鑰免受民族國家的侵害。各種政府機(jī)構(gòu)可以用來對(duì)付電子和人類目標(biāo)的資源是巨大的和壓倒性的。即使間諜無法從設(shè)備上取回私鑰,他們也總能破解對(duì)設(shè)備進(jìn)行編程的計(jì)算機(jī),潛入制造 IC 的工廠,危害員工……
幸運(yùn)的是,您不必?fù)?dān)心民族國家會(huì)入侵您的設(shè)備。 不幸的是,這通常比我們想相信的要簡單得多。一個(gè)擁有價(jià)值約 250 美元硬件并可以訪問 YouTube 培訓(xùn)視頻的青少年可以在一個(gè)下午從微控制器中取出私鑰。惡意程序員可以在幾分鐘內(nèi)竊取數(shù)據(jù)。
為了為安全設(shè)計(jì)做好準(zhǔn)備,了解手頭的威脅非常重要。以下是一些眾所周知的基于硬件的安全漏洞的高級(jí)視圖,以及您可以采取哪些措施來緩解這些漏洞。
嵌入式系統(tǒng)安全問題示例讓我們看一些主要的硬件漏洞示例,并討論一些更安全設(shè)計(jì)的技巧。
電磁側(cè)信道攻擊幾十年來,研究人員已經(jīng)了解電磁側(cè)信道攻擊。每當(dāng)機(jī)械開關(guān)或晶體管改變狀態(tài)時(shí),電磁波就會(huì)沿著導(dǎo)體向外傳播。如果該電磁波被黑客****,他們通常可以重建用于創(chuàng)建電磁波的數(shù)據(jù)。請(qǐng)參閱Van Eck Phreaking、Tempest或下面的視頻了解更多信息。
減輕電磁側(cè)信道攻擊
在設(shè)計(jì)和布局 PCB 時(shí)使用行業(yè)最佳實(shí)踐。
將去耦電容盡可能靠近電源引腳放置。
在您的 IC 下方使用堅(jiān)固的接地層。
在您的 IC 上使用EMI 屏蔽。
它不會(huì)阻止可以物理訪問您設(shè)備的人,但會(huì)使他們的工作變得更加艱難。
差分功率分析攻擊要破解大多數(shù)微控制器上的加密,您只需要一個(gè) 0.005 美元的電阻器、一個(gè)模數(shù)轉(zhuǎn)換器以及對(duì) Python 編程語言的初步了解。
當(dāng)微控制器中的數(shù)字門切換時(shí),它們會(huì)干擾通向微控制器的電源軌。黑客已經(jīng)學(xué)會(huì)在電源軌上放置一個(gè) 50 Ω 電阻器和一個(gè)模數(shù)轉(zhuǎn)換器,以記錄微控制器運(yùn)行期間電流的微小變化。
微控制器通過 SPI 編程/調(diào)試接口進(jìn)行詢問,同時(shí)記錄差分功率測量數(shù)據(jù)。隨后,對(duì)數(shù)據(jù)進(jìn)行分析,并使用峰值和脈沖來關(guān)聯(lián)和識(shí)別各個(gè)微控制器的動(dòng)作。
通過仔細(xì)分析,黑客可以從微控制器中提取他們想要的幾乎任何信息。
減輕差分功率分析攻擊
這種黑客攻擊很容易使用基于軟件的加密代碼完成,因此請(qǐng)盡可能使用實(shí)施 DPA 對(duì)策的加密硬件加速器。和以前一樣,在設(shè)計(jì)和布局中使用行業(yè)最佳實(shí)踐。選擇 BGA 封裝并在 PCB 的中間層中運(yùn)行您的電源軌,如果您確實(shí)有理由擔(dān)心,請(qǐng)將您的 IC 嵌入 PCB 的中間層,上下都有銅平面,并在四周通過縫合使用。畢竟,如果壞人無法到達(dá)電源軌,他們就無法輕松進(jìn)行差分電源分析。
或者,使用基于硬件的安全核心,因?yàn)樗鼈儾惶菀资艿竭@種黑客攻擊(它們?nèi)匀豢梢员缓诳凸簦9こ處熈私獯寺┒床⒁远喾N方式對(duì)其進(jìn)行設(shè)計(jì)。例如,Silicon Labs Wireless Gecko 系列 2具有集成的安全內(nèi)核,Microchip 生產(chǎn)一系列安全 IC,包括您可以在設(shè)計(jì)中使用的加密模塊。
中間人攻擊有幾種中間人攻擊。 本文 演示了“無效曲線攻擊”。以下更簡單的假設(shè)示例只是一種可能的攻擊向量。
當(dāng)您通過名為“MyTunes”的藍(lán)牙揚(yáng)聲器播放計(jì)算機(jī)中的音樂時(shí),數(shù)據(jù)會(huì)直接從計(jì)算機(jī)傳輸?shù)綋P(yáng)聲器。但是,當(dāng)您將計(jì)算機(jī)連接到名為“AllAboutCircuits.com”的外部網(wǎng)站時(shí),您可能會(huì)或可能不會(huì)意識(shí)到您的計(jì)算機(jī)并未立即直接連接到另一臺(tái)名為“AllAboutCircuits”的計(jì)算機(jī)。
發(fā)生的第一件事是您的計(jì)算機(jī)聯(lián)系您的路由器,您的路由器聯(lián)系域名服務(wù)器 (DNS),該服務(wù)器將名稱 AllAboutCircuits.com 轉(zhuǎn)換為 IPV4 或 IPV6 地址 (104.20.234.39)。這通常發(fā)生得很快,并且數(shù)據(jù)存儲(chǔ)在本地以加快未來的瀏覽速度。
然后數(shù)據(jù)從計(jì)算機(jī)反彈到路由器,再到網(wǎng)關(guān),再到交換機(jī)等……到 IP 地址與 104.20.234.39 匹配的計(jì)算機(jī)。跳數(shù)因網(wǎng)站和位置而異。在每個(gè)位置,如果計(jì)算機(jī)不安全,則數(shù)據(jù)可能會(huì)被截獲、流量重定向或完全其他方式。
中間人攻擊的設(shè)置
中間人攻擊可能會(huì)以多種方式發(fā)生。只考慮這一種攻擊。
鮑勃買了一個(gè)花哨的新無線路由器。他把他的玩具帶回家并將其連接到他的家庭網(wǎng)絡(luò)。為了確定他沒有在新玩具上花太多錢,他在電腦上查看了他的****賬戶余額。
馬洛里是一名黑客。她使用網(wǎng)站shodan.io (或類似網(wǎng)站)來識(shí)別互聯(lián)網(wǎng)上的路由器、網(wǎng)絡(luò)攝像頭、Raspberry Pi 或物聯(lián)網(wǎng)設(shè)備,看到 Bob 的新路由器,咧嘴笑著,威脅地搓著手,因?yàn)樗F(xiàn)在也有了一個(gè)新玩具。
Mallory 使用所有設(shè)備附帶的默認(rèn)用戶名/密碼(admin/default、admin/admin、admin/password 等)。大多數(shù)制造商對(duì)所有設(shè)備都使用相同的用戶名/密碼,而且大多數(shù)人不會(huì)費(fèi)心去更改它們,因此她不會(huì)花費(fèi)太多時(shí)間來找到一個(gè)或多個(gè)入口點(diǎn)。Mallory 只需登錄設(shè)備,用她自己的固件刷新它,然后將 DNS 服務(wù)器更改為她選擇的 DNS 服務(wù)器。
她可以這樣做是因?yàn)椋?/span>
制造商懶惰地在其所有設(shè)備上使用相同的用戶名/密碼。
絕大多數(shù)最終用戶不會(huì)更改他們的默認(rèn)密碼。
設(shè)備制造商要么不需要簽名的固件,要么他們的私鑰被泄露并且在野外。
現(xiàn)在,馬洛里可以訪問專用網(wǎng)絡(luò)。她不再是網(wǎng)絡(luò)上的黑客,她現(xiàn)在在 Bob 的個(gè)人家庭網(wǎng)絡(luò)中,并且可以觀察數(shù)據(jù)來回移動(dòng)。數(shù)據(jù)是加密的,所以她不一定能看到它是什么——但她可以看到 Bob 非常頻繁地訪問和登錄 ThisBankDoesNotExist.com (123.123.123.123),所以她開始著手設(shè)置服務(wù)器和網(wǎng)頁Bob 這是 ThisBankDoesNotExist.com 登錄頁面的像素完美副本。
然后,Mallory 將 Bob 的 ThisBankDoesNotExist.com 的 DNS 條目更改為 (123.45.67.89)
攻擊
Bob 導(dǎo)航到 ThisBankDoesNotExist.com。他不會(huì)費(fèi)心在域名前輸入 https://,并且通過 Mallory 的黑客攻擊,他沒有連接到正確的計(jì)算機(jī),他在
http://ThisBankDoesNotExist.com - 所以沒有證書警告彈出。
鮑勃對(duì)此一無所知。他看到了像素完美的副本,并在 Mallory 的計(jì)算機(jī)中輸入了他的用戶名/密碼,正如他所期望的那樣,帳戶信息出現(xiàn)了。
除了現(xiàn)在,Mallory 可以看到一切——每筆交易、每個(gè)授權(quán)賬戶持有人,甚至 Bob 用來保護(hù)賬戶信息的超級(jí)復(fù)雜的用戶名/密碼 (bob/letmein)。
黑客攻擊的后果
幾乎所有網(wǎng)站都使用端到端加密。這意味著數(shù)據(jù)只能在 Bob 的計(jì)算機(jī)和****計(jì)算機(jī)上解密。Mallory 引入了一個(gè)新的端點(diǎn)。Bob 的流量在他的計(jì)算機(jī)上編碼并在 Mallory 的計(jì)算機(jī)上解碼。然后數(shù)據(jù)在馬洛里的計(jì)算機(jī)上重新編碼,并在****的計(jì)算機(jī)上解碼。對(duì)于 Bob 和****來說,這仍然顯示為端到端加密。
但是有一個(gè)中間端點(diǎn)——馬洛里的電腦。Mallory 可以使用相同的技巧來查找 Bob 的醫(yī)院記錄、電子郵件等。
如何保護(hù)嵌入式系統(tǒng)保證您的設(shè)備安全的最簡單方法是讓您的產(chǎn)品難以被黑客入侵。
如果他們遇到阻力,黑客就有機(jī)會(huì)繼續(xù)攻擊下一個(gè)目標(biāo)。另一方面,個(gè)人或小公司很難阻止民族國家的黑客攻擊。幸運(yùn)的是,許多“黑客”只是“腳本小子”,缺乏開發(fā)新攻擊和解決問題的專業(yè)知識(shí)。如果您的設(shè)備沒有 YouTube 視頻和 GitHub,他們將不知道該做什么,他們會(huì)繼續(xù)前進(jìn)。
此外,請(qǐng)與您的微芯片供應(yīng)商聯(lián)系,了解有關(guān)保護(hù)您設(shè)備的更多信息。Microchip 和 Silicon Labs 都在本系列文章中占據(jù)重要位置,因?yàn)閮杉夜径紴檫@些文章提供了工程師的采訪機(jī)會(huì)。
如果您設(shè)計(jì)物聯(lián)網(wǎng)設(shè)備,您可以采取多種措施來降低您的客戶因疏忽的工程和編程實(shí)踐而失去挽救生命的可能性。
除了上面提到的想法,考慮這些額外的步驟:
使用支持固件身份驗(yàn)證(AKA 安全啟動(dòng))的微控制器和工具鏈進(jìn)行設(shè)計(jì)。 只有正確簽名的數(shù)字固件才能在微控制器上運(yùn)行,并且只有您知道私鑰。Silicon Labs和Microchip (以及其他供應(yīng)商)都有支持安全啟動(dòng)的微控制器。
盡可能使用具有安全調(diào)試功能的微控制器。 其中一些黑客攻擊是可能的,因?yàn)楹诳涂梢詮闹鳈C(jī)微控制器注入和檢索數(shù)據(jù),并使用它來確定微控制器封裝內(nèi)發(fā)生了什么。如果數(shù)據(jù)出現(xiàn)混亂或根本沒有,他們會(huì)感到沮喪并繼續(xù)前進(jìn)。同樣,Silicon Labs 和 Microchip(以及其他供應(yīng)商)也具備這種能力。
閱讀安全性,向?qū)<姨釂枺⒛脑O(shè)計(jì)發(fā)送給設(shè)備制造商的應(yīng)用工程師,以接收有關(guān)您提出的安全方案、電路板布局等的反饋。
如果設(shè)備被篡改,請(qǐng)使用防篡改技術(shù)從內(nèi)存中擦除您的私鑰。TE Connectivity 制造的壓電薄膜片可以完全包裹在您的 PCB 周圍。如果板材被切割、干擾、熔化等,它將產(chǎn)生電壓以指示篡改情況。使用電容或電感傳感器(例如來自 TI 的傳感器)來檢測項(xiàng)目外殼何時(shí)打開,或使用霍爾效應(yīng)傳感器來檢測外殼螺釘何時(shí)旋轉(zhuǎn)。
假設(shè)當(dāng)您的設(shè)備到達(dá)第一個(gè)客戶手中時(shí),它已經(jīng)被盜用了。 創(chuàng)建一個(gè)項(xiàng)目安全藍(lán)圖,允許一個(gè)或多個(gè)單獨(dú)的設(shè)備受到攻擊,而不會(huì)影響您的整個(gè)項(xiàng)目。
本系列文章只是對(duì)安全性的介紹。作為工程師,您有責(zé)任確保物聯(lián)網(wǎng)對(duì)每個(gè)人都安全。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。