金鑰保密級別再升級 智慧電表安全性添保障

2014-12-01
繼空氣、水、食品與住宅之後,電力已經成為人類最基本的生活必需品之一,同時可靠的電力供應是現代社會生活的保障,也是促進新興國家發展的重要因素,因此智慧電網的安全性也成為政府、公用事業,甚至消費者日益關注的議題。
如今大部分關於智慧電網安全性的討論,內容都傾向網路安全,即嵌入式設備能安全地接入網路,並通過網路處理數據。儘管這是智慧電網環境下保證供電安全的關鍵步驟,但討論範圍過於狹隘,遂忽略了存在於智慧電網設備整個生命週期中,以及設備供應鏈中的其他威脅。

智慧電表生命週期面臨重重威脅

圖1所示為智慧電表生命週期不同階段的概念圖。簡單來說,該模型僅限四個步驟:晶片採購、智慧電表生產、智慧電表部署,以及運轉時的智慧電表。利用這一簡單模型進行潛在風險分析,對於每一階段(包括各個階段之間的過渡或運輸),使用者都須要考量:攻擊者會採取什麼方式來控制智慧電表網路?以下將就智慧電表在個別生產過程中可能遭到的危險攻擊,提出案例。

圖1 智慧電表生命週期所面臨的潛在風險模型

利用仿冒IC代替合法IC

對於攻擊者來說,晶片製造商和設備製造商之間的運輸過程是入侵智慧電表供應鏈的最佳時機。對於攻擊者而言,微控制器是塊「肥肉」,在一般的供應鏈模型中,無論是簽約製造商(CM)還是最終用戶,晶片製造商將使用快閃記憶體的微控制器運輸到生產場所。

而在生產場所,智慧電表韌體安裝至微控制器,在完成電表生產及裝箱之前,再進行一些系統級配置,這是正常的流程。

現在,假設技術高超的攻擊者設計一款看起來和用起來,都非常像正版電表系統單晶片(SoC)的微控制器,就可能出現諸多情況。

IC可能被更改,允許網路恐怖分子通過網路遠端控制電表;或者是仿冒的系統單晶片可能根據任何請求轉存其記憶體內容,從而洩漏製造期間安裝的通訊金鑰;再或者仿冒系統單晶片可能允許任何人查看其軟體,從而威脅到正規電表廠商的IP。

有些技術不太高超的攻擊者,則不須要製造仿冒IC。想像一下正版快閃記憶體微控制器在被運往CM的路上,攻擊者在運輸過程中攔截,並在快閃記憶體中安裝一段程式,該程式看起來非常像系統內建的標準引導安裝程式。當IC到達CM時,可能很難檢測到這種詭計(即仿冒引導安裝程式)。

接著,當CM下載正常的韌體時,不安全的引導安裝程式已經在電表中駐留病毒了。隨後,該病毒會造成電表功能不正常,並與攻擊者共用安全金鑰。 如果沒有正確的保護措施,攻擊者就能利用IC運輸期間仿冒或篡改,進而控制智慧電表的整個生命週期。

生產過程中安裝惡意軟體

製造工廠同樣存在風險,攻擊者可能透過賄賂的方式收買生產線的工人,讓他在智慧電表中安裝特殊韌體。

如此一來,攻擊者一旦接觸到生產流程,就能夠竊取安裝到智慧電表的二值鏡像,竊取鏡像並更改韌體。舉例來說,攻擊者更改中斷向量,在嚴格定義的情況下引發破壞行為。 中斷向量可被程式設計為監測即時時鐘,默默等著在夏天的某個特定時間切開電表的斷路繼電器,使處理器停頓,導致電表脫離網路。在這樣的攻擊下,可能有數百萬具電表遭到破壞,停止向居民供電,同時供電公司若被迫手動更換智慧電表,經濟損失將難以評估。

偷竊軟體仿製電表

為從中獲取非法利益,在正常的生產流程中,產線工人可輕而易舉地接觸到安裝在智慧電表的二值鏡像。

透過賄賂,攻擊者即可取得原始電路板,從而進行逆向工程。如果攻擊者得到完整的材料清單(BOM)、明確的IC部件號,以及智慧電表工作所需的軟體,就等於擁有仿製電表所需的一切,根本不需要任何研發成本即可銷售電表,一旦攻擊者能夠仿製電表,如上所述,就存在更改電表軟體的風險。

利用仿冒電表代替合法電表

與晶片相比,要仿製電表外殼和上面的記號容易多了。這種情況下,攻擊者製造酷似合法電表的產品,但在韌體內隱藏了攻擊代碼,使其報告錯誤的用電量,造成經濟上的傷害。

如果電表允許攻擊者切斷或控制發送至電力公司的數據,則可能有災難性的後果。對單只電表的攻擊帶來的是麻煩;而針對大量電表的攻擊行為將會帶來不可評估的損失。 當六百萬具電表報告的用電量都不正確,將會妨礙供電公司回應用電需求變化以及正確發電的能力,勢必引發大範圍電網不穩定,造成巨大的生產力損失。

通過內部訪問重新校正電表

即便合法電表安裝到現場後,遭受攻擊的風險並未結束。假設攻擊者是電表製造商內部人士,了解如何與電表進行通訊,並開發出更改電表校正數據的紅外線(IR)裝置,這樣的裝置很容易製造,卻能夠更改任何電表,減少實報電量數據。儘管這種行為不會造成大面積電網故障,卻會給電力公司帶來嚴重的經濟損失。

監測和攔截通訊頻道

透過監測和攔截通訊頻道的方式是智慧社區普遍擔心的攻擊行為。根本的問題在於攻擊者可能綁架智慧電網周圍的通訊網路,通過類比命令切開其斷路繼電器,從而中斷供電。 另一種可能就是攻擊者仿冒電表通訊,並回報錯誤的用電數據。然後供電公司根據這種有缺陷的智慧電表顯示數據來制定決策,像是對所需發電量或電壓/無功功率優化,進而造成重大損失。如果數據和命令未進行正確加密(隱藏)和安全認證(驗證),就會為攻擊者提供干擾甚至控制智慧電網的途徑。

物理攻擊電表

電表的物理安全最需要被考量。嵌入式智慧電網端點設備(例如智慧電表、電網感測器及分散式自動控制點)必然是分散式的,並且沒有任何物理保護措施,所以智慧電網的端點非常脆弱,容易被偷回實驗室,讓攻擊者在閒暇時進行檢查分析。

這種情況下,攻擊者打開電表,並對電表微控制器的引腳進行程式設計,安裝新韌體,使其報告錯誤的用電數據。

另一種攻擊者採用物理方式入侵電表,然後控制電表微控制器的記憶體,最終獲得安全通訊金鑰。在這些危險情形下,攻擊者可破譯智慧電表的網路通訊,發起大範圍的破壞性事件。

防堵仿冒IC/電表 加密金鑰扮要角

智慧電網行業一向致力於確保智慧電網通訊(即數據和命令)的安全性和可靠性,現代的智慧電網標準要求採用進階加密標準(AES),或甚至加入橢圓曲線加密。這些演算法的複雜度優於未來幾十年的電腦計算能力,可有效保護數據長達數十年。

因此令人擔心的不是數據和命令的加密保護,而是潛在的薄弱突破口,攻擊者容易突破的是關鍵資訊的保護,也就是加密金鑰。

利用仿冒IC代替合法IC

這種情況下,攻擊者對仿冒或攔截得到的IC進行程式設計,與其他攻擊者分享記憶體內容。由於可設定讓仿冒(或攔截)的IC分享數據,所以很容易威脅到生產期間安裝的金鑰。

生產期間安裝惡意軟體

如果在生產期間配置金鑰,那麼就可能利用社交工程,如行賄生產線工人,使其透露安裝的金鑰。

偷竊軟體仿製電表

如果攻擊者能夠重建智慧電表安裝的軟體,就可以使軟體共用而失去保護金鑰的功能。

利用仿冒電表代替合法電表

仿冒電表可能與任何不法人員分享金鑰。如果仿冒電表留有後門病毒,就可能威脅到正版電表在生產過程中安裝的金鑰。

通過內部訪問重新校正電表

迄今為止,已知的重新校正電表攻擊都是為了個人私利,也就是降低個人的電費帳單。但具有專業知識的內部人士也可能在量產的電表中設置一個後門程式,從而對電表進行批量校正,因為如果電網上大量數據不準確,會造成供電公司決策錯誤,以及電網不穩定。

監測和攔截通訊通道

只要攻擊者沒有機會獲得金鑰材料,現代加密技術足以防禦任何攻擊。

物理攻擊電表

許多微控制器在引導安裝程式環境下,具有轉存程式碼或資料記憶體的功能;許多產品也支援測試模式,儘管這些模式非常隱蔽,但攻擊者還是能發現,並用來入侵電表微控制器中的任何內部記憶體。

如果金鑰資料是儲存在片上記憶體中,相對來說會比較脆弱,同時物理入侵電表距離物理入侵電表微控制器內的記憶體內容,也僅是一步之差而已。

IC/電表合法化有效提升電表安全性

儘管以上案例並不全面,但都是確實存在的威脅,證實了部署嵌入式智慧電網裝置的個人和單位,都必須分析和預測電網本身面臨的威脅隱憂。

確保IC合法化

廠商就必須確保送到生產廠的晶片是合法的,並且未經更改,也沒有被仿冒品取代。程序控制是第一道防線,電表製造商必須加強供應鏈合法化,只從原始供應商或授權供應鏈直接購買元件,以嚴格跟蹤程式來驗證材料的合法性和真實性。

儘管程序控制非常有效,但有心人士還是能利用仿冒材料代替正版材料。這時候可以用安全引導安裝程式來防禦攻擊,將其在製造期間安裝到正確晶片後,再利用高級加密技術鎖定,如共用AES金鑰或晶片製造商的私密金鑰。當電表製造商接收到晶片時,可使用相同的高級加密工具,確保晶片有被晶片製造商鎖定。

確保生產過程僅安裝正版軟體

同樣地,程序控制也非常重要。舉例來說,盡可能地要求兩名或多名生產線工人來驗證安裝韌體是否具安全性,有助於防禦攻擊。

程序控制固然有效,但晶片內置的高級安全技術可提供更可靠的方案。以上所述的安全引導安裝程式可幫助電表製造商將加密、經過數位簽章的代碼安裝至電表。

事實上,簽約製造商或製造廠只能訪問加密版本的應用軟體。表計IC中的安全引導安裝程式會在內部進行解密,並儲存未加密版本的軟體。

這個程序能防止攻擊者偷竊韌體進行複製或逆向工程,因為在電表設計者和電表之間,從來不以明文形式使用韌體。這也可防止攻擊者將新韌體偷渡進製造鏈,因為安裝至表計IC的任何韌體都必須經過授權人員的簽名和加密。

安全軟體防止電表被仿製

使用上述的安全引導安裝程式,製造廠商只須儲存加密版本的應用軟體。如此一來,任何想要偷竊加密軟體的攻擊者都不能對其進行逆向工程。同時,安全引導安裝程式內的金鑰與每個授權製造商生產的電表都相互對應,所以加密後的軟體對於試圖仿製電表的攻擊者來說,其價值可以說微乎其微。

若攻擊者想要仿製電表,還須要偷到運送給特定終端使用者的IC,因為只有該晶片具有對應的金鑰。

驗證電表合法性

安全引導安裝程式還可以幫助最終使用者,也就是供電公司,確保電表安裝了正確和經認證的韌體,以避免攻擊者經由裝載惡意程式的仿冒電表來破壞智慧電網。此外,引導安裝程式能夠「鎖定」電表,在被目標供電公司接收前禁止關閉其功能。

禁止內部人士接觸電表的所有入口

為防止具有專業知識的內部人士重新設計程式或重新校正電表,電表設計者須要「鎖定」(從加密的觀點)電表的所有可能入口。一般來說最受重視的入口是家庭和供電公司網路,儘管也有其他不被重視的入口(但仍須注意),像是序列接口、紅外介面,和JTAG或其他調試埠。

那些易被忽略的入口必須具有安全防護措施,確保任何試圖透過這些周邊設備進行控制的人員須經過安全認證。舉例來說,大多數電表具有紅外接入點,讓供電公司能讀取本地電表資訊。有時候供電公司的工作人員可透過這些通訊埠發送命令,如果這種通訊未經加密和安全認證,智慧電表就容易受到攻擊。

只用保密或未經公布的命令集是不夠的,鍥而不捨的攻擊者可發送隨機命令,監測電表的行為,最終分析得到透過IR埠能夠理解的命令集;技術水準較低的攻擊者則可能賄賂電力公司員工,以得到命令集,或是獲得用於與IR埠通訊的工具。

金鑰尺寸小/安全性高 橢圓曲線技術獲智慧電網青睞

監測並入侵通訊通道是供電公司、政府和業界現在最重視的攻擊行為,也是所有網路安全人員的關注重點。

他們關注的議題主要可以分為兩點,就是隱藏數據以保護機敏/隱私資訊,以及對數據/命令進行安全認證以確保真實性。但前述兩項任務都可透過加密工具完成。

數據和命令通常透過簽名進行安全認證。值得一提的是,安全認證數據外洩可能不是最令人擔心的,數據或命令公開可讀取或許也無礙,但嚴格保證數據或命令的真實性卻是至關重要。

隱藏數據通常採用對稱加密(即共用金鑰)的方法實現,例如AES。軟體中植入這個演算法相對較快,但往往需要硬體加速才能對大量數據進行加密。

以韌體更新為例,必須接收並加密(或散列)很長的數據串流,然後處理器才能繼續安裝新版本。AES金鑰大小為128?256位元,金鑰越長,加密越強,攻擊者越難破解。

要注意的是,AES為一種對稱演算法,因此數據的發送方和接收方必須擁有相同的金鑰。 對稱加密方法越來越普遍,其中「簽名方」有兩個金鑰,共用金鑰和私有金鑰。 金鑰本質上不干涉另一方的操作,簡單來說,簽名方對一組數據應用其私密金鑰,生成簽名;任何知道公開金鑰的人都可以驗證確認這是簽名方的簽名,並且利用公開金鑰進行反操作。

由於橢圓曲線技術(ECC、ECDSA)金鑰尺寸小(僅256位元,相對於RSA等演算法要求的4,096位元)且安全級別高,因此近來的智慧電網越來越傾向於橢圓曲線技術。 儘管網路安全(智慧表計的通訊通道加密)得到非常多關注,但這並非部署電表時唯一的安全疑慮。

由上述案例可知,智慧電表基本上處於高風險環境,沒有物理防護或監控系統,對於技術高超的攻擊者,分析智慧電表的最佳途徑就是網羅一只電表,配上足夠的時間。況且對於攻擊者而言,電表遍布於每個家庭,獲得一只電表並帶到隱蔽實驗室進行分析,非常容易且成本極低。

金融終端行業對此類威脅的防禦措施做得最好。該行業中用於金融終端的晶片結合感測器,能主動監測物理威脅(例如設備入侵、具威脅性的溫度和電壓條件,甚至是晶片級物理檢查);如果檢測到任何攻擊行為,則清除非揮發性靜態隨機存取記憶體(nvSRAM)中儲存的金鑰。該技術可確保任何對電表的物理攻擊都會造成電表失效,以及清除所有關鍵的機敏資訊,包括金鑰。

目前防禦這些威脅的技術已陸續轉為商用。多年來,半導體公司不斷地為金融終端和信用卡行業提供安全解決方案,案例也遍布全球,原因是金融交易的安全級別非常高,且金融業的健康成長是現代化電子商務市場成長的基礎,也進一步推動嵌入式晶片的需求。 相對於金融終端行業,智慧電網威脅的破壞性要大得多,這也是為什麼半導體公司一直以來都非常積極地在推動安全產品的應用,例如結合高級安全技術的電能測量系統單晶片。

(本文作者為Maxim Integrated能源產品線執行總監)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!