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