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