基于嵌入式操作系統的物聯(lián)網(wǎng)安全
當今社會(huì )的很多商業(yè)行為,如通信、金融交易及娛樂(lè )在很大程度上依賴(lài)于互聯(lián)網(wǎng)。隨著(zhù)越來(lái)越多的設備連接到物聯(lián)網(wǎng)(IoT)中,對互聯(lián)網(wǎng)的依賴(lài)性將不斷增加。如果設備不安全,這種依賴(lài)將導致互聯(lián)網(wǎng)存在重大的安全漏洞,并使設備遭到攻擊和破壞。
本文引用地址:http://dyxdggzs.com/article/201609/303799.htm目前,很多正在使用的物聯(lián)網(wǎng)設備,根據不同的應用范圍將持續使用。例如,公用事業(yè)使用的儀表幾乎不會(huì )更換;通信基礎設施的設計使用年限為50年;電力傳輸系統使用壽命在30年以上;住宅、辦公室、工業(yè)建筑和其他建筑物可以每10年裝修一次以便長(cháng)期使用。如果這些系統不安全,在威脅增加時(shí),它們很快會(huì )被拋棄。
為增加用戶(hù)對智能設備的投資信心,保護設備免遭破壞,安全成為所有新型設備的基本要求。在未來(lái)的幾年中,將有500億個(gè)物聯(lián)網(wǎng)設備連接到互聯(lián)網(wǎng),其中很大一部分是使用微控制器和資源有限的微處理器。幸運的是,與大型設備相比,這些小型設備更容易保護,不易受同類(lèi)型威脅的攻擊,因此更安全。但并不意味著(zhù)安全很容易實(shí)現,只是如果能正確利用MCU和小型MPU的特性,開(kāi)發(fā)安全的設備不困難而已。本文的后續部分將討論如何保護物聯(lián)網(wǎng)中的小型設備。
物聯(lián)網(wǎng)安全特征
為了充分保護MCU或小型MPU,下列安全功能通常是必須的,當然,并不是每個(gè)系統都必須具備所有功能。使用標準信息技術(shù)實(shí)現安全解決方案是嵌入式MCU和MPU產(chǎn)品安全機制的核心。
這些安全協(xié)議包括:TLS、IPSec/VPN、SSH、SFTP、安全啟動(dòng)和自動(dòng)回退、過(guò)濾、HTTPS、SNMPv3、安全的無(wú)線(xiàn)連接、加密和解密、加密文件系統、DTLS(用于UDP安全)和安全電子郵件。其中TLS、IPSec/VPN、HTTPS、安全的無(wú)線(xiàn)連接及DTLS意味著(zhù)安全的通信連接,SFTP提供了安全的文件傳輸,SSH提供了安全的遠程訪(fǎng)問(wèn),而安全電子郵件提供了基于加密連接的郵件服務(wù)。支持自動(dòng)回退的安全啟動(dòng)程序(Bootloacler)確保系統不被破壞,SNMPv3、數據加密和加密文件系統通過(guò)加密來(lái)保護本地數據或傳輸到其他機器的數據,過(guò)濾實(shí)際上是起到防火墻的功能,用于阻止不受歡迎的訪(fǎng)問(wèn)。各種協(xié)議將在系統安全一節之后討論。
系統安全
只有系統中最薄弱的連接或組件都可靠時(shí),整個(gè)系統才是安全的。為保證系統的安全,其所有的通信通道、文件傳輸、數據存儲和系統更新方式都必須是安全的。在系統支持動(dòng)態(tài)加載、可執行文件修改及其他復雜功能時(shí),實(shí)現系統安全是非常困難的。
想象一下這些場(chǎng)景:
①入侵者通過(guò)電子郵件、FTP或其他方式將文件傳入設備。
②文件動(dòng)態(tài)加載運行時(shí),會(huì )破壞其他可執行文件,然后需要清理現場(chǎng)并刪除自己。
③如果病毒很新,系統不認識該病毒,它將獲準進(jìn)入,從而感染系統。
考慮另外一種情況,在不安全或者沒(méi)有正確安全設計的通信連接中,有可能會(huì )讀取少量的數據,還可能會(huì )在數據流中添加新的數據,并破壞正在接收數據的系統。通過(guò)互聯(lián)網(wǎng)加載不安全的鏡像文件到設備就是這種情況的一個(gè)實(shí)例。當新加載的鏡像文件運行時(shí),如果該文件可以正確訪(fǎng)問(wèn)系統,則這個(gè)不安全的鏡像文件將接管整個(gè)系統。還有一種情況,設備的關(guān)鍵數據會(huì )被竊取。只有數據被加密或保存在安全文件系統中,才可能從設備中恢復加密的數據。
為了確保系統安全,最好的方式是考慮如何訪(fǎng)問(wèn)設備信息。通常,良好的安全系統要求:你知道的(密碼),你擁有的(借記卡或可穿戴式設備)和你是誰(shuí)(虹膜掃描設備)。
對小型設備來(lái)說(shuō),這些安全措施過(guò)頭了。但是如果系統有非常高的安全要求,可以通過(guò)間接方式來(lái)實(shí)現,只要確保系統的各個(gè)組件都是安全的。通過(guò)與服務(wù)器的安全交互,服務(wù)器可以安全地訪(fǎng)問(wèn)設備,安全設備接口可以運行在大型設備上,也可以用于小型設備。
安全系統的另一個(gè)關(guān)鍵要素是分層安全,假設一些人只需要訪(fǎng)問(wèn)系統的一部分,好的設計原則采用分層安全機制。這種情況下,如果沒(méi)有重要的工作,入侵者僅能訪(fǎng)問(wèn)一部分系統。一個(gè)實(shí)例是使用兩個(gè)防火墻級聯(lián)來(lái)保護服務(wù)器,這樣,一個(gè)防火墻的漏洞可以被第二個(gè)防火墻隔離。
圖1是提供了安全功能的軟件概述。后面將針對前面列出的場(chǎng)景,討論如何使用這些軟件來(lái)保護系統。

通信安全
通信安全協(xié)議確保機器到機器間的通信安全,有一個(gè)可以依賴(lài)的信任等級,以建立安全通信。
TLS及其前身SSL是為T(mén)CP套接字流和需按順序交付的流連接提供通信安全最常用的方式。DTLS是一個(gè)新協(xié)議,提供可靠的UDP傳輸和基于TLS的數據包傳輸,TLS和DTLS協(xié)議是面向應用到應用間的通信。
IPSec或虛擬專(zhuān)用網(wǎng)絡(luò )(VPN)在TCP協(xié)議棧的基礎上使用虛擬鏈路安全技術(shù),設置比較困難,但它允許應用通過(guò)鏈路通信,即使應用沒(méi)有提供安全保護。通常情況下,由于設置困難,并且很多人認為NSA(國家安全局)參與開(kāi)發(fā)的算法不安全,導致它沒(méi)有被廣泛使用。
HTTPS是建立在TLS上的安全網(wǎng)絡(luò )服務(wù)器訪(fǎng)問(wèn)協(xié)議,它提供了安全的應用訪(fǎng)問(wèn),通過(guò)與SSH相同的方式,為遠程用戶(hù)提供安全的模擬終端訪(fǎng)問(wèn)。
安全的無(wú)線(xiàn)連接確保無(wú)線(xiàn)信息不會(huì )被收集,數據不會(huì )被其他人通過(guò)天線(xiàn)獲取。
安全電子郵件用于確保數據不會(huì )通過(guò)電子郵件直接傳輸。一種方式是在郵件發(fā)送之前加密數據,另一種更簡(jiǎn)單更通用的方案是在加密連接中提供郵件服務(wù),以確保管理郵件的服務(wù)器接收的所有郵件數據都是安全的。
基于SNMPv3的安全文件傳輸
使用加密和解密程序保護數據時(shí),SNMPv3用于加密數據。如果所有的數據都很重要,可以使用文件加密,盡管文件加密方式會(huì )降低性能。
過(guò)濾和防火墻
防火墻通過(guò)過(guò)濾網(wǎng)絡(luò )服務(wù)器發(fā)送的所有數據包,拒絕未授權的訪(fǎng)問(wèn)。通過(guò)過(guò)濾,設計者可以確保只有真正的用戶(hù)才能訪(fǎng)問(wèn)系統,阻止非法訪(fǎng)問(wèn),以保證系統安全。這些過(guò)濾規則需要在設備上配置,過(guò)濾功能通常需要結合SSH或SNMPv3使用。
安全啟動(dòng)
安全啟動(dòng)是安全系統的重要組成部分(圖2),支持固件更新并通過(guò)安全的方式實(shí)現更新非常重要。固件更新可以刪除所有工廠(chǎng)固件,并通過(guò)自動(dòng)回退(fall back)機制增強該功能。通過(guò)自動(dòng)回退,如果新的固件(可能損壞)導致啟動(dòng)失敗,可以使用舊的安全版本重新啟動(dòng)系統,這是分層安全機制的部分功能。
評論