智能門鎖精準電磁攻擊
前言
最近,小黑盒子開門鎖成為了安全圈子裡最火的話題,為什麼一個特斯拉線圈就能打開門鎖?原理是什麼,參數是什麼,有什麼防禦方法?本文都將會一一解釋。
分析小黑盒
小黑盒子開智能門鎖看上去好像是最近的事情,但是這個技術早已有之,在EMC屆,這個技術可以歸結為電磁兼容性測試,在信息安全屆,可以歸納到錯誤注入測試。
我們先說說小黑盒的歷史,小黑盒子本質是一個特斯拉線圈,特斯拉線圈在安全屆的應用,很早就出現了,當時出現過使用特斯拉線圈攻擊遊戲機,讓遊戲機瘋狂吐幣,他的原理就和打開門鎖的原理十分相似。之前也出現過使用電源毛刺跳過MCU邏輯的漏洞,比如xbox就出現過這種問題。
(特斯拉線圈原理)
(小黑盒拆解)
上圖分別是經典的特斯拉線圈和小黑盒的結構,小黑盒是特斯拉線圈的一個變種,做小黑盒的人抹去了所有的晶元信號信息,但是還是大概可以看出來特斯拉線圈的結構。
小黑盒啟動之後,會輻射出一個正弦波信號,參數如圖所示:
(小黑盒輻射信號指標)
大概是41Mhz的一個正弦波。
分析門鎖
我們先來看看一款自動智能門鎖的硬體結構,之後後通過正常使用的步驟分析他的邏輯。
(門鎖拆解圖)
如圖所示,門鎖一般分為兩個部分,一個部分是安裝在門外的,上面有密碼鍵盤,非接觸卡讀卡器,指紋感測器。另外一個部分是安裝在門內的,主要有電機,門鎖機械主要結構,開門和鎖門按鍵。這裡需要注意一下,門鎖的主板在門的外部,我們拆解了很多門鎖,基本都是這種設計,原因大概是門鎖的關鍵器件,比如各種感測器都是在門的外部的,這樣安排方便走線。
我們來看看這個關鍵的匯流排,這個匯流排是用來連接門的兩個部分的,匯流排上傳輸的信號有:
? 電源和GND
? 用來開鎖鎖門的電源驅動信號
? 開門按鍵和關門按鍵的中斷信號
外部開門的時候,MCU驗證外部輸入的指紋,密碼,非接觸卡或者藍牙指令的正確與否,判斷是否通過匯流排向後部的繼電器或者IGBT發出開門信號,之後繼電器接通,驅動較大功率的電機打開門鎖。如果是內部人員開門,直接觸動門鎖的開門按鍵,MCU收到信號之後打開。
當我發現了這個特別長的中斷線的時候,就感覺這可能就是黑盒子攻擊的源頭。有上圖可以看出,中斷線從門內側的按鍵,引到了門內一側上部的集線板,之後從集線板加入門的匯流排,之後到達MCU。
如果我是開發者,這個代碼怎麼寫?我會用兩個外部中斷去做這兩個按鍵,檢測到上升沿或者下降沿之後,開門。通過測試,我發現這兩根線上有3V左右的電平,按下之後變為幾百毫伏,說明是低電平觸發。由於這個是門內人員操作的,所以,MCU不會做任何驗證。現在,就要確定,小黑盒子有沒有能力可以做到讓開門中斷線上產生低電平,請看下面的波形:
(門鎖匯流排耦合電壓情況)
如圖所示,不僅僅產生了低電平,甚至耦合出來了負電壓。這條能量軌跡就是在小黑盒子開門的時候抓到的,具體不清楚是哪一個沿做到的,但是可以得到使MCU中斷觸發的大致參數。
有人可能會有疑問,既然門的開門和鎖門的中斷信號都在一個線上,鎖門線上會不會耦合出鎖門信號呢?答案是很有可能的,我們在實驗中,加電磁之後,開門還是鎖門是不可控的。有些型號的智能門鎖中斷優先順序的設置不同,這樣就會出現開門的機率比較大或者鎖門的幾率比較大。
總結
全自動鎖不安全,半自動鎖安全?
這個不一定,相比於全自動鎖,半自動鎖沒有那根長長的按鍵輸入線,減少了一個很重要的攻擊面,但是,在我們的測試中,很多半自動鎖也可以被打開,原因是可能是CPU重啟之後,執行了開門的指令,也有可能是其他一些類似的重要線纜被耦合電壓之後觸發。但是並不表示半自動鎖是絕對安全的。
如何更加全面的測試
我們可以看見,我們整個攻擊的重點是在重點的線纜上耦合進電壓信號。鎖的重點信號線纜在PCB板,匯流排上分布,他們的長度有很大的差別,對於長匯流排,由於電尺寸較長,所以相對比較低的頻率可能耦合的更好,而對於較短的線纜,更高的頻率耦合的更好,這樣可以做到線纜的選擇性。
無論是所謂「小黑盒」還是所謂「超級小黑盒」,他們的發射效率都是非常低的,且掃描的位置有很大的隨機性,小黑盒無法打開的門鎖,並不意味著就是安全的。
所以,據我們實驗室分析,全面的測試應該有以下功能。
? 自動化記錄:每一次執行精準電磁注入的時間,頻率,天線位置,發射功率,匯流排上信號線波形,都要被完整的記錄下來。
? 寬指標可調:注入的時間,頻率,發射功率,天線位置都要求可調,並且可以進行自動化掃描。
(自動化電磁注入掃描攻擊平台)
如何防禦
對於自動門鎖,重點需要保護的就是門內的按鍵信號線,可以採用電磁屏蔽,數字或差分信號傳輸等等方法進行保護,不要讓這個信號只是一個高低電平變換那麼簡單。
門鎖軟體的邏輯上也要進行更好的配置,例如在彙編層次,盡量把開鎖函數放在距離判斷函數相對較遠的位置,這樣可以避免由於干擾導致MCU跳過某些邏輯指令而直接進入開鎖函數。
關於我們
DPLS 安全實驗室我們的技術團隊由具備多年豐富信息安全經驗的專家組成,實驗室擁有認監委CNAS授權,CMA檢測實驗室授權,同時擁有國際GP TEE、PCI、FIDO及阿里ICA聯盟晶元評估等安全實驗室授權,有深厚的國際國內檢測認證技術背景,完成過國際安全實驗室、國家級實驗室的建設工作,參與過幾十個涉及國家和金融行業等標準的編寫,金融行業從業經驗都5-10年,研發完成了多種信息安全攻擊設備,如側信道(SPA/DPA/SEMA/DMA)、錯誤注入(激光/毛刺/電磁)等,每一類設備都處於國內領先技術水平。
本文全部內容為Dplslab作者backahasten原創,轉載請註明出處,如無註明,視為侵權。
推薦閱讀: