對(duì)于許多物聯(lián)網(wǎng)應(yīng)用程序,安全漏洞的代價(jià)是攻擊者可以訪(fǎng)問(wèn)物聯(lián)網(wǎng)網(wǎng)絡(luò)以及跨其安裝的設(shè)備。這可能會(huì)導(dǎo)致智能家居中的隱私丟失、數(shù)據(jù)泄露和設(shè)備的潛在濫用。然而,在商業(yè)、工業(yè)和醫(yī)療應(yīng)用中,風(fēng)險(xiǎn)可能要高得多。在商業(yè)應(yīng)用中,對(duì)手可能會(huì)在非工作時(shí)間打開(kāi)HVAC系統(tǒng),并導(dǎo)致能源成本顯著增加。在工業(yè)環(huán)境中,用于管理庫(kù)存的機(jī)械臂可以在其預(yù)期工作空間之外運(yùn)行,從而危及附近的工人。受損的醫(yī)療設(shè)備對(duì)患者可能是致命的。
實(shí)現(xiàn)安全性的一個(gè)基本要素是采取整體方法,不僅確保整個(gè)系統(tǒng)受到保護(hù),而且確保每個(gè)單獨(dú)的設(shè)備(以及具有該設(shè)備的子系統(tǒng))也受到保護(hù)??紤]一下系統(tǒng)中通過(guò)第三方庫(kù)編寫(xiě)的大多數(shù)代碼是由外部供應(yīng)商編寫(xiě)的現(xiàn)實(shí)。換句話(huà)說(shuō),典型的物聯(lián)網(wǎng)設(shè)備依賴(lài)于數(shù)百萬(wàn)行代碼 - 操作系統(tǒng),固件,堆棧,庫(kù),中間件等 - 不是由制造商編寫(xiě)的。
如圖 1 所示,所有這些代碼都編譯為 MPU 中的單個(gè)整體式應(yīng)用程序。這意味著所有這些不同的代碼功能塊共享相同的 MPU 硬件資源。特別是,這些塊共享相同的內(nèi)存。
如果沒(méi)有內(nèi)存管理單元 (MMU) 和物理內(nèi)存保護(hù) (PMP) 等集成硬件機(jī)制,系統(tǒng)中的任何功能塊都可能導(dǎo)致系統(tǒng)崩潰。同樣,錯(cuò)誤的代碼可能會(huì)寫(xiě)入另一個(gè)功能塊使用的內(nèi)存,最終可能導(dǎo)致災(zāi)難性的系統(tǒng)故障。
如果您正在構(gòu)建嵌入式物聯(lián)網(wǎng)系統(tǒng)并使用 Linux 作為其龐大生態(tài)系統(tǒng)的首選平臺(tái),那么您有 17+ 百萬(wàn)行代碼可供您的 Linux 內(nèi)核選擇。這是相當(dāng)多的代碼,假設(shè)是沒(méi)有錯(cuò)誤的,即使在開(kāi)源環(huán)境中也是如此。設(shè)備中包含的每個(gè)軟件子系統(tǒng)都必須沒(méi)有錯(cuò)誤。當(dāng)您不能假設(shè)自己的代碼沒(méi)有錯(cuò)誤時(shí),您如何假設(shè)您所依賴(lài)的每個(gè)第三方供應(yīng)商都有無(wú)錯(cuò)誤的代碼?
比必須信任系統(tǒng)中的所有軟件更好的是擁有一個(gè)平臺(tái),其中一個(gè)功能塊根本無(wú)法影響其他功能塊。這需要一種將安全性深深嵌入硬件本身的設(shè)計(jì)方法。一個(gè)功能不會(huì)影響系統(tǒng)中的其他功能,因?yàn)橛布辉试S這樣做。
這是多區(qū)域安全性的核心。每個(gè)功能塊都與其他功能塊嚴(yán)格分離。由于這是在硬件層強(qiáng)制執(zhí)行的,因此軟件無(wú)法破壞保護(hù)層 - 無(wú)論是通過(guò)開(kāi)發(fā)人員錯(cuò)誤還是故意黑客攻擊。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5059文章
18973瀏覽量
302042 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2900文章
44062瀏覽量
370249 -
HVAC
+關(guān)注
關(guān)注
0文章
67瀏覽量
19671
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論