1、保護(hù)資源受限的設(shè)備
許多IoT設(shè)備擁有有限的存儲(chǔ)、內(nèi)存和處理能力,它們常常需要能夠在低功耗條件下運(yùn)行,比如在使用電池運(yùn)行時(shí)。
高度依賴于加密的安全方法不太適合這些資源受限的設(shè)備,因?yàn)樗鼈儓?zhí)行復(fù)雜加密和解密的速度不足以讓它們實(shí)時(shí)安全地傳輸數(shù)據(jù)。
這些設(shè)備常常容易受到旁路攻擊,比如功耗分析攻擊,這些攻擊可用來對(duì)算法執(zhí)行逆向工程。相反,資源受限的設(shè)備通常僅采用快速、輕量型的加密算法。
IoT系統(tǒng)應(yīng)使用多層防御來彌補(bǔ)這些設(shè)備局限,例如將設(shè)備隔離到單獨(dú)的網(wǎng)絡(luò)上并使用防火墻。
2、授權(quán)和驗(yàn)證設(shè)備
由于如此多設(shè)備在IoT系統(tǒng)中提供了潛在的故障點(diǎn),設(shè)備驗(yàn)證和授權(quán)對(duì)保護(hù)IoT系統(tǒng)至關(guān)重要。
設(shè)備必須建立它們的身份,才能訪問網(wǎng)關(guān)及上游服務(wù)和應(yīng)用程序。但是,有許多IoT設(shè)備未能有效實(shí)現(xiàn)設(shè)備驗(yàn)證,例如使用弱基礎(chǔ)密碼驗(yàn)證或原封不動(dòng)地使用默認(rèn)密碼。
采用默認(rèn)提供了安全保護(hù)的IoT平臺(tái)有助于解決這些問題,比如通過啟用雙因素驗(yàn)證(2FA)和強(qiáng)制使用強(qiáng)密碼或證書。IoT平臺(tái)還提供了設(shè)備授權(quán)服務(wù),用于確定每個(gè)設(shè)備有權(quán)訪問系統(tǒng)中的哪些服務(wù)、應(yīng)用程序或資源。
3、管理設(shè)備更新
對(duì)在IoT設(shè)備和網(wǎng)關(guān)上運(yùn)行的固件或軟件應(yīng)用更新(包括安全補(bǔ)?。┐嬖谥S多挑戰(zhàn)。例如,需要不斷跟蹤可用的更新,跨包含異構(gòu)設(shè)備(它們通過一系列不同的網(wǎng)絡(luò)協(xié)議通信)的分布式環(huán)境而一致地應(yīng)用更新。
不是所有設(shè)備都支持無線更新或無中斷更新,所以可能需要物理地訪問設(shè)備或臨時(shí)停止生產(chǎn)來應(yīng)用更新。另外,可能不是所有設(shè)備都能夠獲得更新,特別是舊設(shè)備或制造商不再提供支持的設(shè)備。
甚至在更新可用時(shí),設(shè)備所有者也可能選擇不應(yīng)用更新。作為設(shè)備管理的一部分,您需要持續(xù)跟蹤每個(gè)設(shè)備上部署的版本,以及哪些設(shè)備適合在不再提供更新后退役。
設(shè)備管理器系統(tǒng)常常支持向設(shè)備自動(dòng)推送更新,以及在更新過程失敗時(shí)設(shè)法回滾。它們也有助于保證僅應(yīng)用合法的更新,例如通過使用數(shù)字簽名。
在IBMdeveloperWorks上進(jìn)一步了解如何保護(hù)IoT設(shè)備和網(wǎng)關(guān)。
4、保護(hù)通信
設(shè)備本身受到保護(hù)后,下一個(gè)IoT安全挑戰(zhàn)是保證設(shè)備通過網(wǎng)絡(luò)與云服務(wù)或應(yīng)用程序的通信是安全的。
許多IoT設(shè)備在通過網(wǎng)絡(luò)發(fā)送消息之前未進(jìn)行加密。但是,最佳實(shí)踐是使用傳輸加密,以及采用TLS這樣的標(biāo)準(zhǔn)。使用不同網(wǎng)絡(luò)來隔離設(shè)備,也有助于建立安全、私有的通信,使傳輸?shù)臄?shù)據(jù)保持機(jī)密。
在IBMdeveloperWorks上進(jìn)一步了解如何保護(hù)網(wǎng)絡(luò)上的IoT數(shù)據(jù)。
5、保證數(shù)據(jù)隱私和完整性
同樣重要的是,無論數(shù)據(jù)通過網(wǎng)絡(luò)最終傳輸?shù)胶翁?,它都?yīng)該得到安全的存儲(chǔ)和處理。實(shí)現(xiàn)數(shù)據(jù)隱私包括在存儲(chǔ)之前編輯或匿名化敏感數(shù)據(jù),或者使用數(shù)據(jù)分離措施從IoT數(shù)據(jù)載荷中分離出個(gè)人可識(shí)別的信息。不再需要的數(shù)據(jù)應(yīng)安全地處置,而且如果數(shù)據(jù)已存儲(chǔ),保持遵守法律法規(guī)框架也是一項(xiàng)重要挑戰(zhàn)。
保證數(shù)據(jù)完整性,這可能涉及到采用校驗(yàn)和或數(shù)字簽名來保證數(shù)據(jù)未被修改。區(qū)塊鏈–作為IoT數(shù)據(jù)的一種去中心化分布式賬本–提供了一種可擴(kuò)展且具有災(zāi)備能力的方法來保證IoT數(shù)據(jù)的完整性。
在這篇博客文章中進(jìn)一步了解區(qū)塊鏈對(duì)IoT的意義。
6、保護(hù)Web、移動(dòng)和云應(yīng)用程序
Web、移動(dòng)和云應(yīng)用程序及服務(wù)用于管理、訪問和處理IoT設(shè)備和數(shù)據(jù),所以它們也必須在一種多層IoT安全方法中受到保護(hù)。
開發(fā)IoT應(yīng)用程序時(shí),保證應(yīng)用安全工程實(shí)踐來避免漏洞,比如OWASP10大漏洞。像設(shè)備一樣,應(yīng)用程序也應(yīng)該通過提供2FA等選項(xiàng)和安全密碼恢復(fù)選項(xiàng)來支持安全驗(yàn)證,無論是對(duì)應(yīng)用程序本身還是應(yīng)用程序的用戶。
7、保證高可用性
隨著我們的日常生活越來越依賴IoT,IoT開發(fā)人員必須考慮IoT數(shù)據(jù)及依靠該數(shù)據(jù)的Web和移動(dòng)應(yīng)用程序的可用性,以及考慮我們?cè)L問IoT系統(tǒng)所管理的物理設(shè)備的能力。連接中斷或設(shè)備故障,或者拒絕服務(wù)攻擊等攻擊導(dǎo)致的破壞潛力不只是帶來不便。在一些應(yīng)用程序中,缺乏可用性的影響可能意味著損失收入,損壞設(shè)備或者甚至失去生命。
例如,在互聯(lián)城市中,IoT基礎(chǔ)設(shè)施負(fù)責(zé)交通控制等基礎(chǔ)服務(wù);在醫(yī)療領(lǐng)域,IoT設(shè)備包括起搏器和胰島素泵。要保證高可用性,必須保護(hù)IoT設(shè)備免遭網(wǎng)絡(luò)攻擊和物理篡改。IoT系統(tǒng)必須包含冗余性來消除單點(diǎn)故障,而且還應(yīng)該采用具有災(zāi)備能力且容錯(cuò)的設(shè)計(jì),以便在出現(xiàn)問題時(shí)快速適應(yīng)和恢復(fù)。
8、檢測(cè)漏洞和事故
盡管竭盡所能,但安全漏洞和破壞在所難免。您如何知道您的IoT系統(tǒng)是否受到了損害?在大規(guī)模IoT系統(tǒng)中,系統(tǒng)在連接的設(shè)備數(shù)量以及涉及的設(shè)備、應(yīng)用程序、服務(wù)和通信協(xié)議的種類上非常復(fù)雜,這可能導(dǎo)致難以發(fā)現(xiàn)何時(shí)發(fā)生了故障。檢測(cè)漏洞和破壞的策略包括監(jiān)控網(wǎng)絡(luò)通信和活動(dòng)日志中的異常,參與滲透測(cè)試和道德黑客行動(dòng)來揭示漏洞,以及應(yīng)用安全智能和分析來識(shí)別何時(shí)發(fā)生事故并發(fā)出通知。
9、管理漏洞
IoT系統(tǒng)的復(fù)雜性還使得很難評(píng)估漏洞的后果或破壞程度,以管控其影響。挑戰(zhàn)包括識(shí)別哪些設(shè)備受到了影響,哪些數(shù)據(jù)或服務(wù)被訪問或損害,以及哪些用戶受到了影響,然后采取措施來解決該情形。
設(shè)備管理器維護(hù)著一個(gè)設(shè)備注冊(cè)表,可使用它來臨時(shí)禁用或隔離受影響的設(shè)備,直到可以修復(fù)它們。此特性對(duì)網(wǎng)關(guān)等重要設(shè)備特別重要,可用來限制它們導(dǎo)致危害或破壞的潛力,例如它們?cè)谑艿焦艉罂赡軙?huì)利用虛假數(shù)據(jù)讓系統(tǒng)泛洪。可以通過基于漏洞管理策略的規(guī)則,使用規(guī)則引擎來自動(dòng)應(yīng)用操作。
10、預(yù)測(cè)并搶先預(yù)防安全問題
更長期的IoT安全挑戰(zhàn)是,不僅應(yīng)用安全智能來檢測(cè)和減輕所發(fā)生的問題,還用來預(yù)測(cè)和前瞻性地防御潛在的安全威脅。威脅建模是一種用于預(yù)測(cè)安全問題的方法。其他方法包括應(yīng)用監(jiān)控和分析工具來實(shí)時(shí)關(guān)聯(lián)事件和可視化顯現(xiàn)出來的威脅,以及應(yīng)用AI基于以前措施的有效性來自適應(yīng)地調(diào)整所應(yīng)用的安全策略。
評(píng)論