WILLIAM E. LAMIE,Express Logic總裁
物聯(lián)網(wǎng) (IoT) 正在推動(dòng)互聯(lián)嵌入式設(shè)備的爆炸式增長(zhǎng),其中絕大多數(shù)基于 32 位微處理器和微控制器,控制我們的大部分重要基礎(chǔ)設(shè)施,包括電網(wǎng)、交通系統(tǒng)、化學(xué)和制造工廠等。意識(shí)到保護(hù)敏感數(shù)據(jù)的必要性,開(kāi)發(fā)人員正在爭(zhēng)先恐后地生產(chǎn)安全的系統(tǒng),同時(shí)滿足設(shè)備和系統(tǒng)快速開(kāi)發(fā)和部署的需求。
當(dāng)然,安全性是并且應(yīng)該是物聯(lián)網(wǎng)設(shè)備和系統(tǒng)的可靠性、安全性、連接性和性能特征的一個(gè)組成部分。在由適當(dāng)?shù)?32 位硬件和實(shí)時(shí)操作系統(tǒng) (RTOS) 組合形成的平臺(tái)上開(kāi)發(fā)和構(gòu)建這些設(shè)備被證明是匯集物聯(lián)網(wǎng)設(shè)備所需的所有功能的首選方式。
隨著 32 位嵌入式設(shè)備在功能和復(fù)雜性方面的提升,它們也獲得了通信要求和多線程執(zhí)行。這些都是需要實(shí)時(shí)操作系統(tǒng)的要求。使用 RTOS 可以帶來(lái)快速、有保證的實(shí)時(shí)性能,通常還有預(yù)構(gòu)建的文件系統(tǒng)和通信堆棧,開(kāi)發(fā)人員可以簡(jiǎn)單地將其包含在構(gòu)建映像中并通過(guò)操作系統(tǒng)的應(yīng)用程序編程接口 (API) 進(jìn)行訪問(wèn),而無(wú)需從頭開(kāi)始構(gòu)建和測(cè)試它們。
標(biāo)準(zhǔn) API 和多線程執(zhí)行的存在意味著在添加新功能時(shí)具有更大的靈活性,同時(shí)更容易將應(yīng)用程序遷移到新的處理器環(huán)境。它還使不同的開(kāi)發(fā)團(tuán)隊(duì)更容易處理應(yīng)用程序項(xiàng)目的不同方面,并充滿信心地將他們的工作結(jié)合在一起。由于許多 RTOS 由監(jiān)管機(jī)構(gòu)“預(yù)認(rèn)證”,它們可以加快整個(gè)項(xiàng)目的認(rèn)證過(guò)程,縮短上市時(shí)間和成本。簡(jiǎn)而言之,使用 RTOS 為構(gòu)建具有高功能和可靠可靠性的創(chuàng)新連接設(shè)備奠定了可靠的基礎(chǔ)。
RTOS 增強(qiáng) IoT 安全性最近導(dǎo)致 Netflix、Twitter、PayPal 和其他主要網(wǎng)站癱瘓的分布式拒絕服務(wù) (DDoS) 攻擊是由尋找用戶設(shè)備(網(wǎng)絡(luò)攝像頭、路由器等)的網(wǎng)絡(luò)機(jī)器人引起的。只是忽略了更改出廠默認(rèn)用戶名和密碼。它只是從一個(gè)常見(jiàn)的默認(rèn)值列表中工作,并且能夠滲透到成千上萬(wàn)的設(shè)備中。設(shè)計(jì)良好的 RTOS 有助于確保密碼得到良好實(shí)施和正確使用。
雖然提供密碼和用戶名很重要,但保護(hù)它們免受未經(jīng)授權(quán)的訪問(wèn)和破壞也很重要。這可以通過(guò)將它們保存在內(nèi)存的安全區(qū)域中來(lái)實(shí)現(xiàn),在該區(qū)域可以保護(hù)它們免受系統(tǒng)上可能運(yùn)行的其他代碼的影響。更具體地說(shuō),該區(qū)域不應(yīng)用于數(shù)據(jù)通信。
破解密碼可以授予對(duì)設(shè)備及其網(wǎng)絡(luò)的訪問(wèn)權(quán)限,但黑客可以通過(guò)其他更微妙的方式獲得一定程度的控制,以及竊取或以其他方式破壞數(shù)據(jù)。這些涉及連接機(jī)制和通信協(xié)議,以及由 RTOS 控制的內(nèi)部存儲(chǔ)器管理。
安全性需要了解從一個(gè)實(shí)體到另一個(gè)實(shí)體的數(shù)據(jù)流:知道誰(shuí)擁有數(shù)據(jù),誰(shuí)可以寫(xiě)入和讀取數(shù)據(jù),以及這些讀取和寫(xiě)入可能對(duì)控制產(chǎn)生的影響。這導(dǎo)致了許多安全通信協(xié)議的開(kāi)發(fā),這些協(xié)議已與當(dāng)今先進(jìn)的 RTOS 集成在一起,以保護(hù)數(shù)據(jù)免遭竊聽(tīng)和篡改。
基礎(chǔ)之一是傳輸層安全 (TLS) 協(xié)議,它繼承了安全套接字層 (SSL) 協(xié)議。TLS 通過(guò)使用客戶端和服務(wù)器之間的握手會(huì)話來(lái)工作,在該會(huì)話中,客戶端請(qǐng)求標(biāo)識(shí)并發(fā)送包含服務(wù)器名稱及其公共加密密鑰的證書(shū)??蛻舳税l(fā)送一個(gè)它支持的密碼套件列表,然后服務(wù)器選擇一個(gè)。服務(wù)器還發(fā)送它的公共加密密鑰,客戶端使用它來(lái)加密一個(gè)隨機(jī)數(shù)。雙方使用該號(hào)碼來(lái)生成唯一的會(huì)話密鑰。會(huì)話密鑰僅用于該會(huì)話的各方之間的加密和解密。
需要注意的是,TLS 本身并不執(zhí)行加密和解密。這是通過(guò)使用高級(jí)加密標(biāo)準(zhǔn) (AES) 等機(jī)制的獨(dú)立軟件加密引擎完成的。AES 和其他加密引擎使用通過(guò) TLS 生成的會(huì)話密鑰來(lái)執(zhí)行該任務(wù)。TLS 于 1999 年 1 月發(fā)布,用于創(chuàng)建私人通信標(biāo)準(zhǔn)。它構(gòu)成了其他安全協(xié)議和策略的基礎(chǔ),可以內(nèi)置并與它們一起使用,例如簡(jiǎn)單郵件協(xié)議 (SMTP) 或 HTTP 安全 (HTTPS) 協(xié)議,它們完全位于 TLS 之上,因此可以自己加密。
一旦開(kāi)發(fā)人員不得不投入大量時(shí)間和精力來(lái)讓這些不同的協(xié)議協(xié)同工作。然而,今天,現(xiàn)代 RTOS 提供與包含這些協(xié)議的安全 TCP/IP 堆棧的集成,并允許開(kāi)發(fā)人員選擇他們需要的核心協(xié)議,例如 IPv4、IPv6、UDP 等,以及更高級(jí)別的附加協(xié)議,例如 TLS、SSL 和 DTLS(圖 1)。這使開(kāi)發(fā)人員可以專(zhuān)注于應(yīng)用程序所需的安全通信策略。
圖 1:現(xiàn)代 TCP/IP 網(wǎng)絡(luò)堆棧帶有核心網(wǎng)絡(luò)協(xié)議,例如 IPv4、IPv6、TCP 和 UDP,以及一整套附加的更高級(jí)別的附加協(xié)議。
內(nèi)存保護(hù)保護(hù)重要代碼有許多方法可以保護(hù)重要代碼免受損害,其中許多涉及某種分離方案和內(nèi)存保護(hù)。受保護(hù)的內(nèi)存位于安全區(qū)域,外部通信或從其他地方加載的代碼不會(huì)干擾運(yùn)行設(shè)備的代碼的核心功能。
這些方法包括不允許任何動(dòng)態(tài)加載代碼但需要更新單個(gè)可執(zhí)行映像的 RTOS。它們還提供線程的動(dòng)態(tài)加載,但維護(hù)某些不可侵犯的內(nèi)存區(qū)域。這些有時(shí)被稱為“分離內(nèi)核”,其中至少有一個(gè)不可訪問(wèn)的內(nèi)存區(qū)域以及連接到網(wǎng)絡(luò)、外圍設(shè)備和動(dòng)態(tài)加載功能的幾個(gè)部分。
確實(shí)提供這種內(nèi)存保護(hù)的 RTOS 提供了從一個(gè)線程到無(wú)限數(shù)量的粒度級(jí)別,可以保護(hù)和防止意外或未經(jīng)授權(quán)的訪問(wèn)。這消除了難以診斷的程序崩潰和安全漏洞的常見(jiàn)原因。這些選擇提供安全性,同時(shí)還提供靈活性和可升級(jí)性,而無(wú)需完全重新加載系統(tǒng)。
在現(xiàn)實(shí)世界的實(shí)現(xiàn)中,Express Logic 的 ThreadX 內(nèi)核可以將一個(gè)或多個(gè)應(yīng)用程序線程捆綁到一個(gè)“模塊”中,該“模塊”可以在目標(biāo)上動(dòng)態(tài)加載和執(zhí)行(XiP)(圖 2)。模塊也有一個(gè)完全獨(dú)立于 ThreadX 本身的地址空間。這使 ThreadX 能夠在模塊周?chē)胖脙?nèi)存保護(hù)(通過(guò) MPU 或 MMU),這樣模塊外的意外訪問(wèn)將無(wú)法破壞任何其他軟件組件。
圖 2:在現(xiàn)實(shí)世界的實(shí)現(xiàn)中,ThreadX 允許將一個(gè)或多個(gè)應(yīng)用程序線程捆綁到一個(gè)“模塊”中,該“模塊”可以在目標(biāo)上動(dòng)態(tài)加載和執(zhí)行 (XiP)。
安全是一項(xiàng)共同的責(zé)任與 ARM 等硬件制造商合作的趨勢(shì)也在增長(zhǎng),他們正在將安全措施內(nèi)置到他們的處理器中。例如,較新版本的 Cortex-M MPU 可以增強(qiáng) RTOS 安全功能,例如 Express Logic 的新 X-Ware 安全平臺(tái),以配合并增強(qiáng)整體安全功能。應(yīng)該注意的是,即使是 RTOS 提供的最好的安全功能也代表了一個(gè)平臺(tái):構(gòu)建真正安全的設(shè)備和應(yīng)用程序的基礎(chǔ)。
制造商 OEM 和應(yīng)用程序開(kāi)發(fā)商共同承擔(dān)構(gòu)建平臺(tái)提供的安全功能的責(zé)任。這允許他們實(shí)現(xiàn)諸如安全引導(dǎo)加載程序之類(lèi)的東西,并使用 TLS 和 DTLS 協(xié)議來(lái)保護(hù)敏感數(shù)據(jù)傳輸,利用內(nèi)存分區(qū)來(lái)創(chuàng)建安全的應(yīng)用程序,哦,是的,安裝強(qiáng)密碼保護(hù)。
結(jié)論當(dāng)今的 RTOS 為構(gòu)建功能強(qiáng)大、可靠、安全和可靠的設(shè)備和應(yīng)用程序奠定了堅(jiān)實(shí)的基礎(chǔ)。通過(guò)精心設(shè)計(jì)的安全機(jī)制,包括安全堆棧、良好的內(nèi)存分區(qū)以及強(qiáng)大的生態(tài)系統(tǒng)和設(shè)備級(jí)合作伙伴,它們提供了抵御惡意攻擊的第一道防線。
審核編輯 黃昊宇
評(píng)論
查看更多