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