世界各國(guó)都在持續(xù)增加對(duì)智能電表和智能電網(wǎng)市場(chǎng)的投資,期待提高電網(wǎng)系統(tǒng)的運(yùn)行效率,但卻忽略了輸電基礎(chǔ)設(shè)施的安全性,當(dāng)前的電網(wǎng)設(shè)計(jì)在安全方面相對(duì)比較薄弱,易受攻擊。本文介紹了設(shè)備有效使用期限內(nèi)的安全性概念——理想的智能電網(wǎng)嵌入式設(shè)備應(yīng)在整個(gè)生命周期內(nèi)確保其安全性,甚至回溯到合同廠商。我們將在本文討論如何保障智能電網(wǎng)在整個(gè)生命周期的安全性,以及如何應(yīng)對(duì)潛在的威脅。
對(duì)智能電網(wǎng)來說,因?yàn)殡娋W(wǎng)基礎(chǔ)設(shè)施受到攻擊的幾率越來越高,各個(gè)國(guó)家穩(wěn)定的電力供應(yīng)都處在受到惡意攻擊危險(xiǎn)之中,從而使得安全問題的重要性日益增加。對(duì)此,IT安全性尤為重要;很多方案支持端到端的通信數(shù)據(jù)加密,如:數(shù)據(jù)集中器、監(jiān)控器和數(shù)據(jù)采集器系統(tǒng)(SCADA)。對(duì)IT加密措施的關(guān)注是毋庸置疑的,因?yàn)樾枰_保“空中”傳輸數(shù)據(jù)的安全性。但是,即使采用強(qiáng)大的端到端加密也無法保護(hù)整個(gè)智能電網(wǎng)的安全:因?yàn)榍度胧皆O(shè)備本身易受攻擊。
加密等于安全?
雖然加密工具對(duì)于隱私保護(hù)和傳輸數(shù)據(jù)、命令的認(rèn)證非常有效,但必須注意到這僅是解決方案的一部分。加密的作用在于防止被保護(hù)數(shù)據(jù)在傳輸或存儲(chǔ)過程中被解密或偽造。有些人認(rèn)為復(fù)雜的RF或電力載波通信依賴調(diào)頻即可完全保證數(shù)據(jù)的安全性,其實(shí)此類保護(hù)很容易被攻破。假設(shè)攻擊者可以任意控制遠(yuǎn)程電表拉合閘繼電器,那么電力公司將需要投入大量資源忙于處理故障。電力公司不但因此遭受經(jīng)濟(jì)損失,而且會(huì)帶來很大麻煩,對(duì)于那些必須使用空調(diào)的場(chǎng)所造成生存威脅。
那么,如何避免此類事故的發(fā)生呢?如果通信雙方都通過密鑰對(duì)通信線路上的數(shù)據(jù)進(jìn)行加密、解密、簽名或驗(yàn)證,從嵌入式傳感器到控制系統(tǒng)的數(shù)據(jù)加密非常關(guān)鍵,用于加密的密鑰保護(hù)也更加重要。一旦密鑰被竊取,整個(gè)網(wǎng)絡(luò)也就不再安全。智能電網(wǎng)的嵌入式終端需要一套更完備的安全方案,可以借鑒金融終端的安全技術(shù),著重于密鑰保護(hù),采用芯片級(jí)硬件和防攻擊多重保護(hù)措施。
電力供應(yīng)的保護(hù)重點(diǎn)不能只放在智能電網(wǎng)的有效數(shù)據(jù)和命令驗(yàn)證。蠕蟲病毒制造者了解攻擊嵌入式基礎(chǔ)設(shè)備的有效手段,即不容易被發(fā)現(xiàn)又對(duì)系統(tǒng)造成嚴(yán)重破壞。著名的“零日攻擊”利用檫除或修改系統(tǒng)程序的方式,對(duì)系統(tǒng)造成的破壞非常隱蔽。因此我們不但要關(guān)注設(shè)備的安裝,而且要關(guān)注任何一個(gè)容易遭受攻擊的編程環(huán)節(jié)(如生產(chǎn)過程)。
還有什么漏洞?
實(shí)現(xiàn)安全可靠的設(shè)計(jì)并非易事,需要花費(fèi)大量的時(shí)間和對(duì)安全保護(hù)技術(shù)的深入了解。那么,這些投入值得嗎?讓我們先來分析一個(gè)掛網(wǎng)的智能電表,例如,安裝在我們自己家里、沒有保護(hù)措施的電表,外人很容易打開這樣的電表。如果電表采用的是通用MCU來處理通信和應(yīng)用功能,則很可能存在一個(gè)編程端口,攻擊者可以對(duì)他重新編程或讀取內(nèi)部信息。在有足夠資源和時(shí)間的前提下,一些人可以編寫出一個(gè)類似功能的程序,但在程序中植入獲取密鑰數(shù)據(jù)或篡改賬單的病毒。
即使掛網(wǎng)的電表都具備一定的保護(hù)措施,可在一定程度上防止篡改。我們?nèi)匀荒軌虬l(fā)現(xiàn)一些容易遭受攻擊的環(huán)節(jié)——生產(chǎn)環(huán)節(jié),所謂的“社交工程”為攻擊者侵入IP和生產(chǎn)流程提供了機(jī)會(huì)。花費(fèi)數(shù)千美金,攻擊者就有可能獲取程序,通過逆向工程修改后,將“新程序”植入產(chǎn)品。另外,攻擊者也可以將你的程序出售給競(jìng)爭(zhēng)對(duì)手,造成巨大損失。
如何保證設(shè)備生命周期的安全性?
嚴(yán)格的產(chǎn)品生產(chǎn)流程應(yīng)該考慮從設(shè)計(jì)到生產(chǎn)每個(gè)環(huán)節(jié)的安全性,以及應(yīng)對(duì)篡改的策略。保障生命周期的安全性,需考慮以下幾點(diǎn):
⒈確保拿到的芯片產(chǎn)自原廠,通過正規(guī)渠道采購(gòu)來降低風(fēng)險(xiǎn),當(dāng)然,也要考慮加密技術(shù)。Maxim銷售的安全處理器和智能電網(wǎng)產(chǎn)品可以加入用戶密鑰或證書,以防他人解鎖和編程IC。
⒉保護(hù)您的IP。在工廠生產(chǎn)環(huán)節(jié)提供簽名、程序加密,協(xié)調(diào)從系統(tǒng)處理器的安全裝載,到芯片軟件解密和授權(quán)認(rèn)證的每個(gè)環(huán)節(jié)。此類加密可以防止程序被克隆或破解。
⒊只運(yùn)行您規(guī)定的程序。安全的程序裝載采用數(shù)字簽名的方式來驗(yàn)證代碼的有效性,防止裝載或運(yùn)行未經(jīng)授權(quán)的代碼。
⒋可靠通信。對(duì)新的配置、固件更新和指令進(jìn)行加密和簽名,以驗(yàn)證數(shù)據(jù)來源的可靠性。
⒌現(xiàn)場(chǎng)保護(hù)密鑰。不要將密鑰存于它處,如外部EEPROM。如果系統(tǒng)使用獨(dú)立的安全處理器和應(yīng)用處理器,應(yīng)將密鑰保存在安全處理器內(nèi),不要向外發(fā)送。以免攻擊者從線路板的通信數(shù)據(jù)中竊取密鑰。
⒍公司內(nèi)部的密鑰保護(hù)。工程師可以使用開發(fā)密鑰來開發(fā)產(chǎn)品的安全功能,產(chǎn)品級(jí)密鑰則要經(jīng)過多人簽名授權(quán)。通?梢允褂靡粋(gè)更高級(jí)別的安全模塊完成授權(quán)。
⒎不放過每個(gè)微小漏洞。如果系統(tǒng)攻擊者僅從一塊電表竊取到重要信息,并投入大量的時(shí)間和資金研究這些信息,希望據(jù)此攻擊整個(gè)系統(tǒng)。經(jīng)驗(yàn)老道的攻擊者可能打開IC封裝,從MCU的存儲(chǔ)器中尋找重要信息。因此,使用唯一密鑰或非對(duì)稱加密(如:橢圓曲線數(shù)字簽名)很有必要。
當(dāng)前電網(wǎng)的安全保護(hù)措施為攻擊者留出了很大的空間。為了讓嵌入式設(shè)備在整個(gè)生命周期內(nèi)確保安全,我們還需加強(qiáng)整個(gè)智能電網(wǎng)的安全設(shè)計(jì),讓哪些攻擊者望而卻步。