天天看點

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

作者:電子資料庫
工程師應該知道的硬體安全漏洞

工程師為什麼要關心硬體安全?因為它們可以通過設計幫助防止漏洞!

工程師為什麼要關心硬體安全?因為它們可以通過設計幫助防止漏洞!

工程師通常不太喜歡談論安全問題。然而,這并不能否定工程師了解密碼學的重要性,這樣他們才能在未來的設計中解決它。

到目前為止,我們已經讨論了一位工程師對密碼學的(簡要)介紹、Diffie-Hellman 交換以及ECC(橢圓曲線密碼學)的工作原理。

現在是學習黑客如何破解密碼學的時候了,這樣您就可以開始漫長的旅程來保護您的設計免受常見攻擊。

為什麼電氣工程師應該關心安全性

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

如果您負責為企業級或安全關鍵設計提供安全裝置,您應該在設計過程的每個階段與您的晶片供應商和/或安全研究人員讨論您的設計。Microchip、SiLabs、WolfSSL 等公司都有工程師,可以幫助您進行設計并教育您了解安全性。

畢竟,可以說沒有 100% 安全的系統。

“從來沒有一匹馬是不能騎的。從來沒有一個騎手不能被扔掉。”

安全研究人員與黑客進行了終生的貓捉老鼠遊戲。一次又一次,“牢不可破”的加密被打破了。您的消息是否保持加密取決于部件選擇、電路設計的好壞、代碼實作的好壞,以及攻擊者是否有足夠的動機和裝備來擊敗您的設計。作為工程師,您的工作是盡一切可能保護您的私鑰。

您可能已經意識到,您幾乎無法采取任何措施來保護您的私鑰免受民族國家的侵害。各種政府機構可以用來對付電子和人類目标的資源是巨大的和壓倒性的。即使間諜無法從裝置上取回私鑰,他們也總能破解對裝置進行程式設計的計算機,潛入制造 IC 的工廠,危害員工……

幸運的是,您不必擔心民族國家會入侵您的裝置。 不幸的是,這通常比我們想相信的要簡單得多。一個擁有價值約 250 美元硬體并可以通路 YouTube 教育訓練視訊的青少年可以在一個下午從微控制器中取出私鑰。惡意程式員可以在幾分鐘内竊取資料。

為了為安全設計做好準備,了解手頭的威脅非常重要。以下是一些衆所周知的基于硬體的安全漏洞的進階視圖,以及您可以采取哪些措施來緩解這些漏洞。

嵌入式系統安全問題示例

讓我們看一些主要的硬體漏洞示例,并讨論一些更安全設計的技巧。

電磁側信道攻擊

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

幾十年來,研究人員已經了解電磁側信道攻擊。每當機械開關或半導體改變狀态時,電磁波就會沿着導體向外傳播。如果該電磁波被黑客攔截,他們通常可以重建用于建立電磁波的資料。請參閱Van Eck Phreaking、Tempest或下面的視訊了解更多資訊。

減輕電磁側信道攻擊

在設計和布局 PCB 時使用行業最佳實踐。

  1. 将去耦電容盡可能靠近電源引腳放置。
  2. 在您的 IC 下方使用堅固的接地層。
  3. 在您的 IC 上使用EMI 屏蔽。

它不會阻止可以實體通路您裝置的人,但會使他們的工作變得更加艱難。

差分功率分析攻擊

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

要破解大多數微控制器上的加密,您隻需要一個 0.005 美元的電阻器、一個模數轉換器以及對 Python 程式設計語言的初步了解。

當微控制器中的數字門切換時,它們會幹擾通向微控制器的電源軌。黑客已經學會在電源軌上放置一個 50 Ω 電阻器和一個模數轉換器,以記錄微控制器運作期間電流的微小變化。

微控制器通過 SPI 程式設計/調試接口進行詢問,同時記錄差分功率測量資料。随後,對資料進行分析,并使用峰值和脈沖來關聯和識别各個微控制器的動作。

通過仔細分析,黑客可以從微控制器中提取他們想要的幾乎任何資訊。

減輕差分功率分析攻擊

這種黑客攻擊很容易使用基于軟體的加密代碼完成,是以請盡可能使用實施 DPA 對策的加密硬體加速器。和以前一樣,在設計和布局中使用行業最佳實踐。選擇 BGA 封裝并在 PCB 的中間層中運作您的電源軌,如果您确實有理由擔心,請将您的 IC 嵌入 PCB 的中間層,上下都有銅平面,并在四周通過縫合使用。畢竟,如果壞人無法到達電源軌,他們就無法輕松進行差分電源分析。

或者,使用基于硬體的安全核心,因為它們不太容易受到這種黑客攻擊(它們仍然可以被黑客攻擊)。工程師了解此漏洞并以多種方式對其進行設計。例如,Silicon Labs Wireless Gecko 系列 2具有內建的安全核心,Microchip 生産一系列安全 IC,包括您可以在設計中使用的加密子產品。

中間人攻擊

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

有幾種中間人攻擊。 本文 示範了“無效曲線攻擊”。以下更簡單的假設示例隻是一種可能的攻擊向量。

當您通過名為“MyTunes”的藍牙揚聲器播放計算機中的音樂時,資料會直接從計算機傳輸到揚聲器。但是,當您将計算機連接配接到名為“AllAboutCircuits.com”的外部網站時,您可能會或可能不會意識到您的計算機并未立即直接連接配接到另一台名為“AllAboutCircuits”的計算機。

發生的第一件事是您的計算機聯系您的路由器,您的路由器聯系域名伺服器 (DNS),該伺服器将名稱 AllAboutCircuits.com 轉換為 IPV4 或 IPV6 位址 (104.20.234.39)。這通常發生得很快,并且資料存儲在本地以加快未來的浏覽速度。

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

Windows 10 PC 上的 DNS 條目。

然後資料從計算機反彈到路由器,再到網關,再到交換機等……到 IP 位址與 104.20.234.39 比對的計算機。跳數因網站和位置而異。在每個位置,如果計算機不安全,則資料可能會被截獲、流量重定向或完全其他方式。

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

此路由跟蹤顯示從我的筆記本電腦到 AllAboutCircuits.com 網站的所有“躍點”

中間人攻擊的設定

中間人攻擊可能會以多種方式發生。隻考慮這一種攻擊。

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

來自ThisPersonDoesNotExist.com的“Bob”圖檔

鮑勃買了一個花哨的新無線路由器。他把他的玩具帶回家并将其連接配接到他的家庭網絡。為了确定他沒有在新玩具上花太多錢,他在電腦上檢視了他的銀行賬戶餘額。

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

來自ThisPersonDoesNotExist.com的“Mallory”圖檔

馬洛裡是一名黑客。她使用網站shodan.io (或類似網站)來識别網際網路上的路由器、網絡攝像頭、Raspberry Pi 或物聯網裝置,看到 Bob 的新路由器,咧嘴笑着,威脅地搓着手,因為她現在也有了一個新玩具。

Mallory 使用所有裝置附帶的預設使用者名/密碼(admin/default、admin/admin、admin/password 等)。大多數制造商對所有裝置都使用相同的使用者名/密碼,而且大多數人不會費心去更改它們,是以她不會花費太多時間來找到一個或多個入口點。Mallory 隻需登入裝置,用她自己的固件重新整理它,然後将 DNS 伺服器更改為她選擇的 DNS 伺服器。

她可以這樣做是因為:

  • 制造商懶惰地在其所有裝置上使用相同的使用者名/密碼。
  • 絕大多數最終使用者不會更改他們的預設密碼。
  • 裝置制造商要麼不需要簽名的固件,要麼他們的私鑰被洩露并且在野外。

現在,馬洛裡可以通路專用網絡。她不再是網絡上的黑客,她現在在 Bob 的個人家庭網絡中,并且可以觀察資料來回移動。資料是加密的,是以她不一定能看到它是什麼——但她可以看到 Bob 非常頻繁地通路和登入 ThisBankDoesNotExist.com (123.123.123.123),是以她開始着手設定伺服器和網頁Bob 這是 ThisBankDoesNotExist.com 登入頁面的像素完美副本。

然後,Mallory 将 Bob 的 ThisBankDoesNotExist.com 的 DNS 條目更改為 (123.45.67.89)

攻擊

Bob 導航到 ThisBankDoesNotExist.com。他不會費心在域名前輸入 https://,并且通過 Mallory 的黑客攻擊,他沒有連接配接到正确的計算機,他在 http://ThisBankDoesNotExist.com - 是以沒有證書警告彈出。

鮑勃對此一無所知。他看到了像素完美的副本,并在 Mallory 的計算機中輸入了他的使用者名/密碼,正如他所期望的那樣,帳戶資訊出現了。

除了現在,Mallory 可以看到一切——每筆交易、每個授權賬戶持有人,甚至 Bob 用來保護賬戶資訊的超級複雜的使用者名/密碼 (bob/letmein)。

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

黑客攻擊的後果

幾乎所有網站都使用端到端加密。這意味着資料隻能在 Bob 的計算機和銀行計算機上解密。Mallory 引入了一個新的端點。Bob 的流量在他的計算機上編碼并在 Mallory 的計算機上解碼。然後資料在馬洛裡的計算機上重新編碼,并在銀行的計算機上解碼。對于 Bob 和銀行來說,這仍然顯示為端到端加密。

但是有一個中間端點——馬洛裡的電腦。Mallory 可以使用相同的技巧來查找 Bob 的醫院記錄、電子郵件等。

如何保護嵌入式系統

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

保證您的裝置安全的最簡單方法是讓您的産品難以被黑客入侵。

如果他們遇到阻力,黑客就有機會繼續攻擊下一個目标。另一方面,個人或小公司很難阻止民族國家的黑客攻擊。幸運的是,許多“黑客”隻是“腳本小子”,缺乏開發新攻擊和解決問題的專業知識。如果您的裝置沒有 YouTube 視訊和 GitHub,他們将不知道該做什麼,他們會繼續前進。

此外,請與您的微晶片供應商聯系,了解有關保護您裝置的更多資訊。Microchip 和 Silicon Labs 都在本系列文章中占據重要位置,因為兩家公司都為這些文章提供了工程師的采訪機會。

如果您設計物聯網裝置,您可以采取多種措施來降低您的客戶因疏忽的工程和程式設計實踐而失去挽救生命的可能性。

除了上面提到的想法,考慮這些額外的步驟:

  1. 使用支援固件身份驗證(AKA 安全啟動)的微控制器和工具鍊進行設計。 隻有正确簽名的數字固件才能在微控制器上運作,并且隻有您知道私鑰。Silicon Labs和Microchip (以及其他供應商)都有支援安全啟動的微控制器。
  2. 盡可能使用具有安全調試功能的微控制器。 其中一些黑客攻擊是可能的,因為黑客可以從主機微控制器注入和檢索資料,并使用它來确定微控制器封裝内發生了什麼。如果資料出現混亂或根本沒有,他們會感到沮喪并繼續前進。同樣,Silicon Labs 和 Microchip(以及其他供應商)也具備這種能力。
  3. 閱讀安全性,向專家提問,并将您的設計發送給裝置制造商的應用工程師,以接收有關您提出的安全方案、電路闆布局等的回報。
  4. 如果裝置被篡改,請使用防篡改技術從記憶體中擦除您的私鑰。TE Con​nectivity 制造的壓電薄膜片可以完全包裹在您的 PCB 周圍。如果闆材被切割、幹擾、熔化等,它将産生電壓以訓示篡改情況。使用電容或電感傳感器(例如來自 TI 的傳感器)來檢測項目外殼何時打開,或使用霍爾效應傳感器來檢測外殼螺釘何時旋轉。
  5. 假設當您的裝置到達第一個客戶手中時,它已經被盜用了。 建立一個項目安全藍圖,允許一個或多個單獨的裝置受到攻擊,而不會影響您的整個項目。

本系列文章隻是對安全性的介紹。作為工程師,您有責任確定物聯網對每個人都安全。

繼續閱讀