史雅文,韓舒雅,剛 偉
(1.國網山東省電力公司濟南市濟陽區供電公司,山東 濟南 251400;2.國網山東省電力公司商河縣供電公司,山東 濟南 251400)
采用計算機網絡技術和智能化監控設備建立的變電站監控系統,主要用于監控控制電力生產和電能供應。通過監控系統的網絡漏洞,便于阻止未經授權的訪問或惡意操作。惡意攻擊者會利用系統漏洞獲取對系統的未經授權訪問權限,從而竊取敏感信息或實施破壞性操作。這些漏洞會使黑客獲得對設備的控制權,進而篡改設備的運行狀態,導致設備不能正常工作,甚至損壞設備,還有可能泄露系統配置、操作記錄等感信息。為應對潛在威脅,變電站監控系統需要采取綜合的漏洞管理和安全強化策略,確保數據在傳輸過程中的安全性。
IEC 61850 標準是一種用于電力系統自動化的通信協議,通過規定智能電子設備(Intelligent Electronic Device,IED)之間的通信協議和數據模型,確保不同制造商生產的IED 設備能夠進行有效的信息交互。該標準不僅提供數據采樣、文件傳輸等功能,還使得變電站設備間的網絡通信和操作控制變得更加靈活。IEC 61850 標準雖然具備諸多優勢,但在網絡通信中存在著安全問題,因采用2 個組播消息協議,即通用面向對象變電站事件(Generic Object Oriented Substation Event,GOOSE)協議和采樣測量值(Sampled Measured Value,SMV)協議。其中,GOOSE 協議主要用于傳輸實時事件信息。GOOSE 消息以二進制的形式進行編碼,并通過組播機制傳遞給所有需要這些信息的設備;SMV 協議主要用于傳輸測量值信,SMV 消息包含測量值的樣本信息、與樣本相關的元數據。與GOOSE 類似,SMV 也使用組播機制使多個IED 能夠同時訂閱和獲取測量值信息。雖然IEC 62351 標準對IEC 61850 標準的不足進行改進,但仍無法完全保護系統,使其免受基于GOOSE 的攻擊,因為GOOSE 與SMV 之間采用以太網進行通信,攻擊者可能會嘗試偽造GOOSE 消息,向電力系統中的其他設備發送虛假的事件信息,從而誤導保護設備觸發不必要的操作或破壞電力系統的正常運行。此外,攻擊者可以通過訪問SMV 通信來篡改采樣值信息,從而引發區域停電事故[1]。
Scapy 框架是一個功能強大的網絡協議處理庫和工具,允許用戶構建、發送、捕獲及分析網絡數據包。該框架可以用于創建和操作各種網絡協議的數據包(包括自定義的協議),也可以用于執行網絡探測和掃描操作,幫助用戶發現網絡中的設備和服務,能夠生成自定義的網絡流量并修改已有的流量[2]。當需要模擬IED 的功能和生成GOOSE 消息時,可以利用Scapy 框架構建并發送自定義的GOOSE 消息,以模擬IED 的行為。Scapy 框架使用Python 進行編寫,用戶利用Python 創建腳本來構建和解碼各種網絡協議的數據包,以檢測變電站GOOSE 協議網絡中的一些漏洞和安全問題。在檢測偽造事件信息(即GOOSE漏洞)攻擊時,可以使用Scapy 框架構建GOOSE 消息,并分析其結構和字段。此外,用戶可以通過創建腳本發送合法的GOOSE 消息,以模擬正常系統行為,Python 編寫程序為
定義1 個名為send_goose_message 的函數,創建1 個GOOSE 消息并使用sendp 方法進行發送,確保將目標網際互連協議(Internet Protocol,IP)地址替換為實際的GOOSE 消息接收方的地址[3]。
在創建腳本時,要正確模擬正常系統行為,可以通過在消息中添加合法的數據集標識符和狀態數據來實現,Python 編寫程序為

通過添加數據集標識符和狀態數據,模擬1 個具有合法信息的GOOSE 消息,使用Scapy 框架發送包含虛假事件信息的GOOSE 消息。監聽系統響應并檢測是否有未經授權的事件觸發,并檢查GOOSE 消息的事件字段,確保其合法性和一致性,防止偽造事件信息[4]。
檢測篡改源地址攻擊檢測時,要使用Scapy 框架實施地址解析協議(Address Resolution Protocol,ARP)欺騙攻擊,將攻擊者的媒體存取控制(Media Access Control,MAC)地址與合法設備的IP 地址相關聯,檢測系統是否能夠正確識別并防范ARP 欺騙、是否驗證源地址。使用Scapy 框架模擬中間人攻擊時,需要攔截并修改GOOSE 消息的傳輸路徑,查看監測系統是否能夠檢測到中間人攻擊并正確識別源地址的偽裝。在檢測定期發送虛假消息的重放攻擊時,除構建腳本模擬該攻擊行為外,要編寫腳本測試系統是否具備頻率限制機制。這種機制旨在防范頻繁發送相同虛假消息的攻擊,通過監測系統響應,評估系統對頻繁攻擊的處理能力[5]。
變電站監控系統主要利用高級加密標準(Advanced Encryption Standard,AES)算法與RSA 加密算法進行混合加密,AES 負責加密實際數據,RSA 用于加密和傳輸AES 密鑰。這種混合加密的方法主要利用AES 的高效性和RSA 的安全性。在執行混合加密算法流程以生成消息時,總線保護設備需要先獲取到當前的相關信息,并基于這些信息生成原始的GOOSE消息,該消息需符合IEC 61850 標準的要求。
在進行GOOSE 報文加解密時,接收方會創建RSA 密鑰(即公鑰和私鑰),并將生成的RSA 公鑰通過GOOSE 網絡發送給消息的發送方,對RSA 私鑰進行保存,以形成GOOSE 密文。同時,在消息的發送方生成一個用于對稱加密的AES 密鑰,對原始的GOOSE 消息進行加密,并生成GOOSE 密文。使用接收方提供的RSA 公鑰時,需要加密AES 密鑰,并將加密后的AES 密鑰與GOOSE 密文通過GOOSE網絡發送至接收方的智能裝置。接收方解密時,需要接收加密的AES 密鑰和GOOSE 密文,并使用RSA私鑰解密AES 密鑰,即接收方在密鑰管理中調用相應的RSA 私鑰,解密已被加密的AES 密鑰,得到AES 密鑰,采用解密的AES 密鑰對加密的GOOSE密文進行解密,得到相應的明文,具體流程如圖1所示。

圖1 GOOSE 消息混合加解密流程
為評估Scapy 框架在變電站監控系統中檢測網絡漏洞的有效性,利用Scapy 框架對多種不同漏洞進行掃描,并使用公開的測試數據模擬環境真實的網絡情境,記錄Scapy 檢測到的漏洞信息,實驗結果如表1 所示。

表1 Scapy 框架檢測網絡漏洞檢測實驗數據
從表1 可以看出,Scapy 框架成功檢測到高、中、低共3 種不同類型的漏洞,且在漏洞修復后不再報告相同漏洞,說明其漏洞檢測準確性高。
為驗證結合AES 與RSA 的GOOSE 消息混合加解密保護在變電站監控系統中的實際效果,需要對系統進行配置。配置系統時,需要模擬正常的通信場景和潛在的攻擊場景,并生成測試用的GOOSE 消息。在測試過程中,需詳細記錄加解密時間、傳輸延遲和系統性能等關鍵數據,以便全面評估并分析加解密方案的實際效果。混合加解密保護效果實驗數據如表2 所示。

表2 混合加解密保護效果實驗數據
從表2 可以看出,采用結合AES 與RSA 的GOOSE消息混合加解密保護方案,成功保護通信內容,且在正常通信場景下對系統性能的影響較小。而在攻擊場景下,加解密時間和傳輸延遲略有增加,但保護效果仍然可接受。
文章通過實驗研究證實,Scapy 框架在檢測網絡漏洞方面表現良好,能夠成功發現并記錄多種漏洞。同時,結合AES 與RSA 的GOOSE 消息混合加解密保護方案能夠有效保護通信內容,且性能影響在可接受范圍內。因此,文章提出的變電站監控系統網絡漏洞分析與強化策略在變電站監控系統中具有一定的實際應用價值,值得推廣應用。