PRPL基金會(Prpl Foundation)日前發布了關于如何構建物聯網產品和同類系統的基礎指導手冊。這本圖文并茂的指導手冊并不涉及處理器架構之類的深度解讀,只要接觸過ARM處理器,有X86和MIPS基礎的技術人員都能夠看得懂。
手冊旨在幫助進行聯網設備產品設計的技術人員,做出不受惡意代碼攻擊的物聯網設備。如果你已經是物聯網領域的技術大牛,那這本僅僅55頁的小冊子或許幫不上你什么大忙,但如果你是想涉足該領域的新人,這或許是一本不錯的入門讀物。
手冊以免費PDF的形式發布,很多都集中在軟件方面,介紹如何構建底層引導裝載程序、操作系統、應用程序和可選配的管理程序,以確保應用程序中從固件復位向量到最終終止輸出都執行的是正確的代碼。我們都不希望任何的部分內核或驅動交換采用的是未知的代碼,所以我們就需要一套構建ROOT級可信應用的指導書,來防止此類情況的發生。
手冊倡導安全分離
換句話說,就是將每個功能都隔離開來,不允許相互干涉。為了保持運行的快速和穩定,為微控制器和資源相對緊張的系統編寫的用于嵌入式工程的軟件,往往把什么東西都堆在一起,但是對于安全來說,簡直是一團糟。然而,現代芯片早就可以使用內存保護機制和固件域將程序代碼分為圍墻花園(walled gardens),那為什么不利用呢?
關鍵點是調試
作為程序員,如果設備設計為阻止人們深入到系統的最底層,那又該如何進行單步指令調試、設置斷點并捕捉BUG呢?那么又該如何在受限制的環境中,對產品進行安全測試,并解決編程錯誤呢?該手冊都給出了相應的建議。
我們前面強調過,這本手冊并不是一本硬件參考手冊,它只是對物聯網的安全狀態進行了概述,并沒有對物聯網設備的構建方法和原理進行深入的解讀。但這并不妨礙它一經發布就在業內倍受好評。
完整報告下載:
http://106.186.118.91/201601/prpl.pdf