從微控制器開始的多層防御…
微軟Ignite大會上,Galen Hunt 面前的桌上放著一堆方形的微控制器芯片。
有人拿走了一片。我知道是誰,哈哈。
Hunt是一名杰出的工程師,也是 Azure Sphere/Azure硬件系統組總經理,在構建Sphere這個微軟網絡邊界設備安全服務及框架期間耗費了大量時間研究微控制器單元(MCU)。
業內對聯網設備安全問題關注得太晚。Ignite大會訪談時,Hunt表示:以微控制器為大腦的設備每年發售90億臺左右。其中大多數設備都不聯網,99%都沒有任何連接。
4年前,有人帶著內置WiFi的微控制器規格說明書走進我的辦公室。就在那時,我意識到了自己面對的是計算領域的未來。
這些聯網設備的問題之一,是置入MCU的網絡棧太過簡陋。大多數都沒有任何安全功能,只靠“物理隔離”推拒攻擊者。隨著IoT的爆炸式增長,物理隔離也消失了,隨時聯網成為了常態。
微軟最終創建了 Azure Sphere——能令生產商依靠內置安全保護其聯網智能設備的三段式解決方案。Hunt面前的那堆芯片就是Sphere安全的起點。
我們不是在造芯片。我們只是往芯片中加了個IP塊。該IP塊之于硬件,就好像庫之于軟件一樣。
該IP塊被稱為“巖體安全子系統”( Pluton Security Subsystem ),是每個 Azure Sphere MCU 的組成部分。其主要功能是在MCU所在設備中提供硬件信任根。芯片制造過程中,這塊硅片會產生一個唯一的密鑰,作為加密和身份驗證的基礎。該子系統提供了基于加密身份的安全啟動、其他一些加密加速器、密鑰存儲和其他信任功能的基本硬件基礎。
Azure Sphere 的第二個部分是操作系統,基于Linux的操作系統為固件和應用代碼鋪設了多層防御。外層不僅可能遭受攻擊,還有可能被侵入,所以內層要知道如何防護和恢復安全的外層。
安全防御層來自于可根據生產商自身設備需求而修改的開源代碼包。這種設計的目的是要讓系統足夠靈活,能適應各種需求。
然后就是 Azure Sphere 安全服務了——保持每個設備更新到最新固件和應用軟件的云服務。該服務還提供設備及生產商應用云之間基于證書的身份驗證。
Azure Sphere 典型安裝會每天檢查軟件更新狀況,微軟建議生產商構建自己的代碼,以便 Azure Sphere 軟件運行在一塊CPU上,而廠商應用代碼在完全隔離的CPU上執行——即便完全斷網也能執行故障恢復的那種。
Azure Sphere 的架構思想基于Hunt與人合著的論文:《高安全設備的七個屬性》。他表示:我特意用了‘屬性’一詞而不是‘原則’或‘標準’,因為屬性是可以測量的東西。
Azure Sphere 開發者工具包目前已上線。
《高安全設備的七個屬性》論文地址:
https://www.microsoft.com/en-us/research/wp-content/uploads/2017/03/SevenPropertiesofHighlySecureDevices.pdf