李露,謝映宏,許永軍,李蔚凡,華志強
一種DNP3 SAv5的安全架構在配網終端的設計與應用
李露,謝映宏,許永軍,李蔚凡,華志強
(長園深瑞繼保自動化有限公司,廣東 深圳 518057)
為了解決配網終端日益突出的通信安全問題,針對配網終端通信系統(tǒng)的安全技術需求展開研究,設計出配網饋線遠程自動化終端(FRTU)安全架構。該安全架構實現了分布式網絡協(xié)議(DNP3)三層架構,突出應用層對象、變體、組別、安全數據應用分類。重點對FRTU的安全數據進行分類和建模,給出了FRTU數據到DNP3安全功能的映射。設計出一種符合安全認證一致性的協(xié)議模型,有效解決了FRTU協(xié)議安全的脆弱性問題。最后通過國際權威機構認證和安全測試,證明其安全認證(SAv5)符合認證和加密等一致性標準,為配網終端的安全接入提供參考依據。
DNP3 SAv5;FRTU;通信技術;信息安全;防御技術
隨著信息安全技術的發(fā)展,配網通信系統(tǒng)對信息安全技術需求越來越迫切。配電自動化以一次網架和設備為基礎,以配電自動化系統(tǒng)為核心,綜合利用多種通信方式,實現配網自動化系統(tǒng)的監(jiān)測與控制。而饋線遠程自動化終端(Feeder Remote Terminal Unit, FRTU)作為配電自動化系統(tǒng)的重要組成部分,承擔故障檢測、信息上送、安全認證、加密解密、控制命令接收和執(zhí)行等功能。典型的配電自動化系統(tǒng)由配電主站、配電終端和通信通道三部分組成。其中,通信通道是配電自動化系統(tǒng)重要的組成部分,也是配網自動化系統(tǒng)正常運行、診斷、調度的基礎。通信信道的安全問題,成為了配電自動化系統(tǒng)安全調度的迫切需求[1-2]。
目前電力系統(tǒng)協(xié)議有IEC870-5-101、IEC870- 5-104、SC1801、CDT、IEC61850等,協(xié)議在設計之初都是封閉隔離的[3],沒有采用加密認證等安全手段,使得網絡攻擊者能夠很容易地對數據進行監(jiān)聽、篡改等,從而破壞了配電終端通信系統(tǒng)的穩(wěn)定。近年來,相關公司雖對協(xié)議本身的安全功能進行改進,但有一定的局限性,未對安全協(xié)議模型進行可靠的形式化建模、認證、模糊測試分析[4-5]。采用的安全防護系統(tǒng),基本上依賴系統(tǒng)級的縱深防御安全策略,無法抵抗協(xié)議本身因脆弱性所帶來的安全威脅。
國內外專家關注了配電系統(tǒng)通信信道的協(xié)議安全,從協(xié)議內部進行廣泛研究[6-18]。在經歷“震網”事件后,各方將協(xié)議安全提到首要日程中。文獻[19]提出了分布式網絡協(xié)議安全(Distributed Network Protocol Security, DNP Sec)功能,對數據鏈路層進行了修改,引入了序列號、新報頭、重要的應用層數據和認證數據。并利用了三重數據加密標準(Triple Data Encryption Standard, 3DES)作為數據加密算法,利用密鑰哈希消息認證碼(Key-Hash Message Authentication Code, HMAC)作為認證機制。但研究發(fā)現,3DES加密算法緩慢、過時、不安全,加密和認證不同時,產生較高內存資源,在小型配網終端上不適用[20]。
文獻[21]指出了數據采集與監(jiān)視控制(Supervisory Control and Data Acquisition, SCADA)系統(tǒng)的協(xié)議脆弱性,通過添加安全套接字(Secure Sockets Layer, SSL)、互聯(lián)網協(xié)議安全(Internet Protocol Security, IPSec)進行安全傳輸機制。該機制沒有完全改變DNP3協(xié)議本身,沒有從小型配網終端可實用性角度來進行加密和認證。
文獻[22]介紹了DNP3所面臨的脆弱性,并根據攻擊目標和安全威脅對攻擊類型進行分類,確定了DNP3所面臨的安全威脅的范圍。
文獻[23]介紹了傳統(tǒng)信息系統(tǒng)中通過增加安全機制的解決方案,如IPSec和傳輸層安全協(xié)議(Transport Layer Security, TLS)等,來保證SCADA系統(tǒng)通信安全。同樣這種安全機制也沒有從小型配網終端可用性角度出發(fā),而是對協(xié)議進行封裝保護,增加了傳輸負荷,對內存資源的需求較高。
針對上述問題,設計一種DNP3 SAv5的安全架構,基于HMAC應用層重要報文信息認證加密通信系統(tǒng),有效解決欺騙、篡改、重放、竊聽問題,并創(chuàng)新性地應用到配網終端FRTU中。安全架構可用于單播、廣播、組播等,主要為配電終端和配電主站間的通信提供便利。
SAv5協(xié)議架構如圖1所示,圖中實線框部分的鏈路層、傳輸層、應用層為DNP3的三層架構。應用層位于性能加強結構(Enhanced Performance Architecture, EPA)和開放系統(tǒng)互連(Open System Interconnection, OSI)模型的頂層,主要處理用戶數據并控制報文的上下流向和安全認證[24]。傳輸層實際為應用層的一個子層,能夠為數據鏈路提供分塊,最終完成單個應用層數據的傳輸層分塊。鏈路層提供了傳輸層到物理層的接口,為數據鏈路傳輸最小單位。三層設計思想和特定對象的安全處理,能夠提高配網自動化終端最大傳輸單元的數據處理能力。通過報文的重組和分用,提高應用層的報文傳輸能力。為解決SAv5安全架構的效率和安全問題,搭建了如圖1所示的協(xié)議安全架構。
圖1 協(xié)議架構圖
安全架構的設計,需通過消息認證的方式確保報文消息的完整性,防止篡改、欺騙。通信系統(tǒng)的發(fā)送方和接收方的認證,不允許第三方參與,當接收方接收到發(fā)送方的消息時,基于安全密鑰的情況下,驗證消息識別碼的真實性。
消息認證可概括為兩個方面。首先,具有產生消息認證碼的函數。其次,接收方同樣采用該函數進行消息真實性的驗證。消息認證由密鑰協(xié)議和哈希函數兩個流程組成。
1) 密鑰協(xié)議
建立串口或網口通信鏈接后,首先由信任中心主站進行用戶編碼下發(fā)。然后,終端收到后設定加密算法、信息識別算法、隨機數、信息識別碼。最后,信任中心主站基于對稱密鑰或非對稱密鑰修改密鑰,包括會話密鑰(控制方向和監(jiān)測方向)和升級密鑰。
2) 哈希函數
哈希函數又稱之為單向散列函數。數學模型為
式中:是輸入報文的信息;是哈希函數;是摘要消息,其長度固定并和輸入的報文信息無關。
主要的數學性質如下:
1) 給定和,無法找到,也就是單向性;
上述數學性質,單向性最難求解,而碰撞性最弱。所以,哈希函數最大的安全性是抗碰撞能力。為解決哈希函數(Secure Hash Algorithm, SHA)抗差分攻擊,對輸出MAC按照8 Byte和16 Byte截取,隱藏輸出結果。在沒有安全密鑰和完成MAC的情況下,攻擊者是無法破解和偽造欺騙的,消息的完整性和不可篡改性也就得到保證。
文獻[25]對SHA-1、SHA-256、SHA-384、SHA-512算法進行測試。測試結果顯示:相同情況下,無論是對長報文還是短報文進行哈希計算,SHA-256的計算時間和CPU使用率與SHA-1相差無幾。而SHA-384、SHA-512的計算時間則很長,而且CPU的占用率差異也較大,不太適合小型的嵌入式配網終端。因此對SAv5安全架構的通信報文最大為255 Byte時,在現有終端使用中,采用輕量級SHA-256算法在速度和安全方面較為合適。
SHA-256算法輸入最大長度為264Bit,輸出256 Bit,輸入被分成512 bit長的分組。而HMAC是一種基于密鑰和哈希函數所生成的信息識別碼,它能夠解決消息完整性和身份認證真實性。
1) 在密鑰K后面添加0來創(chuàng)建一個字長為的字符串。
2) 將第1)步生成的字長的字符串與ipad做異或運算。
3) 將消息的數據流填充至第2)步的結果字符串中。
4) 用作用于第3)步生成的數據流。
5) 將第1)步生成的字長字符串與opad做異或運算。
6) 再將第4)步的結果填充進第5)步的結果中。
7) 用作用于第6)步生成的數據流,輸出最終結果。
同時,HMAC的安全性依賴于哈希函數本身和密鑰的長度及隨機性。SAv5的安全架構通過設置密鑰長度為32 Byte和頻繁修改會話密鑰的方式,對會話密鑰進行保護。綜上,在保證密鑰安全的情況下,HMAC認證是可靠的。
為保證一次一密加密密鑰的隨機性,同時,在HMAC消息認證流程中,升級密鑰和會話密鑰是保證通信安全的重要屬性,也要求密鑰的隨機性。在實際工作環(huán)境中,真隨機數是很難產生的。該安全架構基于FPPS 186-2規(guī)則進行偽隨機數生成,從而保證密鑰和挑戰(zhàn)信息的不可預測性,使得攻擊者很難對密鑰本身進行攻擊,除非該密鑰泄露。
偽隨機數的生成通過單向Hash函數生成。利用C庫函數的SRAND()和RAND()配合使用,產生偽隨機初始序列?;趥坞S機序列,構造64 Byte的隨機種子,通過單向散列函數SHA計算哈希值并作4輪,每次20次計算。
對稱密碼算法采用相同密鑰,實現加密和解密過程。而非對稱算法采用不同密鑰,用來加密和解密。對稱分組將明文數據分解為等長的明文分組,生成等長的密文分組。對稱密碼密鑰分配方案中,有升級密鑰(主密鑰)和會話密鑰(副密鑰)。升級密鑰保護會話密鑰,會話密鑰保護數據上行和下行通信。
非對稱密碼分配方案中,公鑰保護密鑰信息傳輸,私鑰進行密鑰信息解密。為保證數據不被篡改,信用中心主站通過私鑰對挑戰(zhàn)隨機數、終端名稱、更改序列號、密鑰信息進行私鑰簽名。
信用主站基于協(xié)商機制,將證書相關信息通過X.509格式分發(fā)給終端用戶并關聯(lián)用戶唯一編碼。終端收到合法用戶編碼的升級密鑰后,用此密鑰進行密鑰更新的加密和解密工作。具體過程如圖2所示。
圖2 加密解密過程
通過終端環(huán)境實測AES和常用的加密算法時間,并對實驗數據進行比較,分析了AES和RSA算法的優(yōu)良性能。實驗中對一個20 M的文件進行加解密,其結果如表1所示。由表1可知,AES和RSA加密時間分別為250 ms和320 ms,解密時間分別為225 ms和1000 ms??紤]到密鑰的更新效率和安全性,AES和RSA仍具有較好的性能。
表1 加解密時間
最后,DNP3的出口數據由FRTU板載的國密加密模塊進行出口加密,具備密鑰加密和出口數據加密的雙重屬性。國密算法因SM1算法封閉,安全性非常高,由國家密碼局授權的硬件模塊調用,釋放了CPU計算資源,提高了加解密效率。
終端FRTU作為分站接入DNP3網絡,最終實現DNP3 SAv5,需要對FRTU的功能和數據進行抽象和分類,并將不同類型的數據內容映射到DNP3對象中。通過DNP3 SAv5安全架構的加密和認證,實現遙測、狀態(tài)量變化(Change of State, COS)、時間順序記錄(Sequence of Event, SOE)、故障信息、校時、遙控等命令和參數的維護功能。
通過DNP3協(xié)議,需要將FRTU的各種應用數據映射到DNP3對象中。應用數據分類如表2所示。通過表2可知,應用數據分為SOE事件、遙測數據、遙信、故障信息、校時、遙控、加密、認證、安全事件防御。
要想通過對象、變體、限定詞對DNP3類型數據進行獲取,需要通過DNP3 訪問FRTU終端的數據,仍需將FRTU終端數據分類,從而實現DNP3 到FRTU數據的映射轉換。以瞬時測量值為例,可將FRTU中的數據進行如表3所示的分類。由表3可知,遙測值對象定義為30和32,不同種類變體不同。安全對象定義為120,審計功能的對象定義為121,不同種類變體不同。
為實現不同類型數據的打包上送,提高數據傳輸效率,可采用不同類型數據的組合式上送方式,包括遙測、遙信、SOE、故障量和靜態(tài)數據。
通過上述方式數據的分類,可將FRTU終端不同類型的應用數據有效地映射到DNP3 SAv5對象中,便于配網終端安全架構的設計。
表2 應用數據分類
表3 數據映射關系
安全架構設計采用輪訓和突發(fā)兩種通信模式,主站可請求子站,終端確認信息;終端也可突發(fā)上送數據,主站確認信息,通信方式采用串口或網口。安全架構在網絡的應用層進行密鑰加密和消息認證,最終通過國密隧道加密模塊出口數據加密,保證數據傳輸的機密性、完整性及身份的合法性。
安全架構如圖3所示,應用層主要包括認證、密鑰加密、安全通信三個階段。消息通信的密鑰有兩副:升級密鑰和會話密鑰,通過主站系統(tǒng)進行協(xié)商分配,進而保證通信系統(tǒng)的安全。
圖3 安全架構
由圖3可知,安全架構設計重點包括如下的安全屬性。
1) 消息欺騙
DNP3報文中通過源地址和目的地址的組合來區(qū)分報文信息的來源和目的,繼而表明主站和終端身份。一旦身份地址被攻擊者偽裝成合法地址,并偽造了通信報文,從而導致欺騙。安全架構所添加的基于會話密鑰的消息認證技術,能夠明確確定正在與之授權的用戶通信并提供服務,一旦惡意用戶闖入,通過錯誤日志信息記錄,便于審計和追溯。
2) 消息篡改
通信過程中,應用層每一次重要報文操作都基于會話密鑰和SHA256函數進行摘要計算并作簽名。攻擊者惡意篡改報文,對端進行驗簽和HMAC驗證時報錯,并通過錯誤日志信息記錄,便于審計。從而數據的完整性和不可抵賴性得到保障。
3) 竊聽攻擊
電網數據的重要性不言而喻,一旦電網數據被竊聽,例如終端實時遙測數據、電能信息和控制,都可以用來進行行為分析,利用人工智能技術進行預測。DNP3通信數據仍為明文傳輸,存在竊聽的風險,但SAv5架構在保證不改變協(xié)議本身的條件下,通過國密隧道加密模塊進行出口數據加密,因國密算法SM1未公開,很大程度上防止竊聽,從而具備密鑰加密和出口數據加密的雙重屬性。
4) 重放攻擊
安全架構設計為防止攻擊者發(fā)送一個目的主機曾接收過的數據包,在認證挑戰(zhàn)數當中添加兩個方向(控制和監(jiān)測)的偽隨機數、發(fā)送者名稱和用戶狀態(tài)更改序列號來防止重放攻擊。
5) 審計
審計能夠快速分析事故的原因或故障范圍,快速診斷和重現歷史行為記錄。在主站站點存在多個用戶,目的是提供給每個用戶一個獨立認證或主站本身進行認證的方法。設計的目的是允許配電終端確定傳輸協(xié)議消息的內部用戶,并記錄用戶訪問信息系統(tǒng)的操作信息。
綜上,SAv5安全架構的設計可有效解決協(xié)議安全的脆弱性,其控制策略如表4所示。
表4 脆弱性解決策略
SAv5安全架構涉及的安全通信流程如圖4所示,操作方向包含控制和監(jiān)測方向。重要操作包括寫+HMAC、挑戰(zhàn)、應答、密鑰查詢、密鑰更改、證書下發(fā)等。為提高通信效率,在基于首次挑戰(zhàn)和應答的雙向認證后,后面可進行一次認證操作。
基于ICE/TS 62351-5規(guī)范標準,饋線遠程自動化終端可以用來明確地確定它正在與授權的用戶通信并訪問分站的服務。DNP3主機可以用來明確地確定它正在與正確的分站通信[27]。
通過使用哈希函數和密鑰,來計算給定消息的信息識別碼[28]。在缺失密鑰的情況下,無法生成有效的MAC碼,并有效抵抗欺騙、修改、重放等攻擊。
安全架構所設計的挑戰(zhàn)和應答機制,就是HMAC的一個典型應用。該應用是SAv5安全架構保護的根本,主站和終端均可發(fā)起挑戰(zhàn)。雙方只需協(xié)商好需要進行驗證的應用數據服務單元(Application Service Data Unit, ASDU)。使用指定的HMAC算法方便靈活地提供了一種單向認證機制,但運行在兩種不同的模式下,通過HMAC算法進行一次單向認證和二次雙向認證[29]。
終端收到受保護的ASDU,需要挑戰(zhàn)和應答身份認證,流程如圖5所示,細節(jié)如下:
1) 終端向主站發(fā)出挑戰(zhàn)請求,報文包括挑戰(zhàn)序列號、MAC算法、挑戰(zhàn)隨機數。
2) 主站進行應答,報文包含挑戰(zhàn)序列號、信息識別碼。
圖4 通信流程
圖5 安全認證流程
3) 終端收到應答后,將存儲的ASDU、挑戰(zhàn)對象信息、密鑰進行HMAC運算,如果主站的MAC和分站的MAC一致,認證成功。
通過圖5可知,認證可采用一次單向認證和二次雙向認證。一次單向認證,主動模式下直接生成HMAC,能夠減少協(xié)議通信開銷。至少發(fā)生一次挑戰(zhàn)-應答,主要是利用操作中的消息序列號和隨機挑戰(zhàn)數,避免受到重放攻擊。
二次雙向認證,響應方發(fā)送重要的寫操作,挑戰(zhàn)方判斷重要操作立即發(fā)起挑戰(zhàn),響應方隨即發(fā)起挑戰(zhàn),挑戰(zhàn)方通過HMAC認證,通過執(zhí)行寫操作并寫響應[30]。通過單向認證、雙向認證和非對稱密鑰相互認證,避免了欺騙攻擊。
篡改攻擊,通過挑戰(zhàn)者受保護的ASDU單元加入到MAC中計算,防止攻擊者修改ASDU。雙方協(xié)商MAC算法后,輸入挑戰(zhàn)報文(包括隨機數、序列號)、ASDU報文后,在密鑰協(xié)助下輸出MAC碼。
審計的目標是發(fā)現和定位安全問題,快速找出安全事故的原因,快速重現歷史狀態(tài)信息,為后續(xù)安全規(guī)則的制定提供參考依據。應用層采用多用戶、多密鑰的管理機制,任何一個用戶的離去都不影響其他用戶的通信。像非法用戶、用戶失效、非法地址、認證失敗、解密失敗、密鑰更改超限、統(tǒng)計閾值超限等安全事件記錄也是SAv5安全架構的一個重要部分。
安全架構將創(chuàng)建審計跟蹤定義為“誰訪問了信息技術系統(tǒng)以及用戶在給定時間內執(zhí)行了哪些操作的記錄”。此種原則有區(qū)塊鏈通信思想,目的就是給訪問操作打上指紋信息,為安全事故提供追溯和分析。
3.2.1安全密鑰管理
密鑰管理流程如圖6所示。通過圖6可知,密鑰管理的重點是2把密鑰,主密鑰(升級密鑰)和副密鑰(會話密鑰)。升級密鑰保護會話密鑰的安全,會話密鑰為日常通信會話交流所用。通信建立后,主站可初始化會話密鑰和升級密鑰。安全統(tǒng)計閾值達到設定值或密鑰存活期失效,需要修改會話密鑰或升級密鑰,保證密鑰安全分發(fā)。
密鑰的對應關系如表5所示。從表5可知,對稱密鑰通過主站和分站共享初始態(tài)的升級密鑰。一旦終端接入,按照密鑰管理流程,將初始態(tài)升級密鑰切換至正式態(tài)升級密鑰,監(jiān)控和控制方向的會話密鑰相互獨立,一方泄密不影響另一方。非對稱密鑰通過信用主站將公鑰信息按照X.509格式進行遠程暴露,私鑰各自持有。
圖6 密鑰管理流程
表5 密鑰對應關系
密鑰管理數據結構設計如下:
typedef struct
{
BYTE byKeyStatus;
BYTE byMDSKey[32];
WORD wLength_MDSK;
BYTE byCDSKey[32];
WORD wLength_CDSK;
BYTE byGetUKey;
BYTE byUKey16[16];
BYTE byUKey32[32];
WORD wLength_UK;
WORD wLenSymmetricKey;
BYTE bySymmetricKey[32];
BYTE byAuthorityPrivateKey[32];
WORD wLenAuthorityPrivateKey;
BYTE byAuthorityPublicKey[32];
WORD wLenAuthorityPublicKey;
BYTE byUserPrivateKey[32];
WORD wLenUserPrivateKey;
BYTE byUserPublicKey[32];
WORD wLenUserPublicKey;
BYTE byOutstationPrivateKey[32];
WORD wLenOutstationPrivateKey;
BYTE byOutstationPublicKey[32];
WORD wLenOutstationPublicKey;
tagDnpAuth_Statistic SecurityStatistic[ENUM_DNP_STATIC_MAX_NUM];
}tagDnpAuth_Key, *tagPDnpAuth_Key;
3.2.2多用戶管理
多用戶模型如圖7所示,用戶管理可支持默認用戶或其他用戶。從圖7可知,每個用戶擁有唯一用戶編碼并關聯(lián)自身密鑰,能夠動態(tài)實現用戶的添加、刪除、改變。并提供一種分別對每個用戶和主站身份認證的方法,最終確定傳輸任何協(xié)議消息的單個用戶。根據用戶的個人身份或用戶執(zhí)行的角色限制對某些功能進行訪問。
用戶角色管理數據結構設計如下:
typedef struct
{
BYTE byUserName[50];
WORD wUserNameLen;
WORD wUserRoleExpiryInteval;,
WORD wUserRole;
BYTE byOperation;
DWORD dwStatusChangeSequenceNum;
WORD wUserNumber;
BYTE byUserEdit;
BYTE byUserValid;
}tagDnpAuth_UserStatus, *tagPDnpAuth_UserStatus;
圖7 多用戶模型
3.2.3安全事件統(tǒng)計
安全事件統(tǒng)計作為協(xié)議內部被動防護技術的一種重要手段[31-33],能夠實時監(jiān)測異常數據。在協(xié)議的安全分析中,作為一種主動監(jiān)測方案。通過特征字的識別技術或者行為識別,能夠有效建立不同的安全防御策略[34-35]。下面的數據結構定義了事件統(tǒng)計的個數、關聯(lián)ID、事件時間,目的是進行安全分析和策略調整。
數據結構設計如下:
typedef struct
{
DWORD dwNewCountValue;
DWORD dwLastCountValue;
WORD wAssoID;
BYTE byEventTime[8];
}tagDnpAuth_Statistic, *tagPDnpAuth_Statist;
根據上述所設計的安全架構,搭建如圖8、圖9所示的DNP3 SAv5測試環(huán)境,驗證分析安全架構的一致性和安全性。圖8為測試終端,圖9為測試環(huán)境。通過圖8、圖9可知,測試硬件使用FRTU終端、交換機、集成加密和認證的PC2、集成模糊測試腳本的PC1。交換機可用作端口鏡像映射,方便流量監(jiān)視,便于進行欺騙、修改、重放、竊聽4種安全威脅。
圖8 FRTU配網終端
圖9 通信測試環(huán)境
基于上述測試環(huán)境,通過安全測試PC2,安全測試策略圍繞三個方面:密鑰管理、用戶管理和認證管理。
密鑰管理,終端上電后,建立長鏈接并完成密鑰的初始化。包括升級密鑰和會話密鑰。具體交互報文流程如圖10所示。
圖10 密鑰交互流程
認證管理,接收到重要寫操作后,配網終端進行雙向認證。具體交互報文流程如圖11所示。
圖11 二次認證流程
基于二次認證后,再進行重要寫操作,可同時下發(fā)一次認證,減少網絡帶寬,提高通信效率。
用戶管理,能夠動態(tài)實現用戶的添加、刪除和改變。通過每個用戶的唯一編碼,關聯(lián)會話密鑰和升級密鑰,提高安全管理策略。交互報文流程如圖12所示。
圖12 用戶管理流程
基于上述的流程測試,配網終端FRTU在國際權威機構ASE進行了認證測試,最終順利通過。認證報告如圖13所示。
為驗證SAv5安全架構的脆弱性對配網終端所造成的傷害,采用基于Sulley 的Peach模糊測試工具。通過構造畸形輸入數據使得SAv5安全架構出現潛在漏洞,并監(jiān)控輸出中的異常。該測試具有可充分遍歷所有輸入數據、代碼覆蓋廣、測試自動化、快速發(fā)現軟件中存在的漏洞問題等優(yōu)點。
圖13 認證報告
基于安全協(xié)議的模糊測試理論和方法,輸出如圖14所示的測試流程。通過圖14可知,首先確定測試對象,其次進行安全規(guī)則解析,然后構造測試用例,最后執(zhí)行測試用例。
圖14 測試流程
1) 確定測試對象
測試對象采用圖9所示的模糊測試PC1,設定好DNP3 SAv5主站和分站鏈路地址及配網終端IP。
2) 安全規(guī)則解析
通過DNP3 SAv5的樣本獲取,結合wireshark抓包工具,設置源IP和目的IP過濾條件,截獲測試樣本報文,進行安全規(guī)則解析。樣本報文獲取如圖15所示。
圖15 樣本報文獲取
3) 構造測試用例
基于安全規(guī)則解析,快速生成測試系統(tǒng)可識別的數據包,通過變異自動編造數據,生成變異用例,為測試執(zhí)行做準備。
構造數據時,Sulley具有一些常用的數據,如s_static()、s_binary()、 s_random()、s_byte()、 s_int()、 s_word()和s_string()等。通過s_block_start()和 s_block_end()可開始和結束用例流程。
4) 執(zhí)行測試用例
執(zhí)行變異測試用例,側面反映了協(xié)議形式化描述的有效性及測試用例生成算法的可靠性。通過Sulley數據構造產生一系列的請求,并將相關請求連接成有向圖,形成一次完整的測試路徑。
Sulley從根節(jié)點開始到葉子節(jié)點結束,先進行會話初始化sessions.session(),其次會話sessions.connect(),最后sessions.fuzz()。
5) 啟動模糊測試
開啟Sulley流量監(jiān)控嗅探進程,并作進程監(jiān)視,如圖16所示。監(jiān)視Fuzzing測試運行過程中的異常,異常存儲方式為Log形式,便于測試分析和用例執(zhí)行驗證。
圖16 嗅探進程
將DNP3fuzz.ph測試用例放入到模糊測試主機PC1 sulley-master目錄中,執(zhí)行腳本對2000端口進行dnp服務模糊,如圖17所示。
6) 信息記錄分析
Fuzzing測試開始時,Sulley發(fā)送會話請求,同時Sulley的網絡監(jiān)控器代理監(jiān)視雙方的通信數據流,并將監(jiān)視到的測試用例保存到PCAP路徑下。一旦進程監(jiān)視器監(jiān)視到被測對象異常,自動輸出報告,允許事后分析,從而找出引起錯誤的測試路徑,也就是漏洞位置。
圖17 執(zhí)行腳本
模糊測試主機PC1 web可以成功看到fuzzy進程和結果情況,具體如圖18所示。本次fuzzy進程未發(fā)生崩潰報告輸出。
圖18 測試結果
表6所示的模糊測試統(tǒng)計結果,用于定量分析測試用例的變異情況。
正常用例:協(xié)議報文格式正確,協(xié)議字段取值符合標準。
異常用例:協(xié)議報文格式錯誤,協(xié)議字段取值不符合標準。
變異率:異常用例數在用例總數中的比例。變異率的大小雖不能直接體現用例變異情況的好壞,但變異率數據的穩(wěn)定可以直接反映用例的隨機性和針對性。
表6 測試結果統(tǒng)計表
基于一致性和模糊測試后,對SAv5安全架構的安全屬性進行測試分析,并對同類的安全方案進行比較和總結。
4.3.1功能測試
在確保SAv5安全架構擁有完整性和保密性的前提下,進行加密和認證測試,并能夠抵御相關攻擊。
1) 正常測試
通過PC2建立鏈接,并發(fā)送寫命令于終端FRTU,從圖19可知,FRTU收到命令后,發(fā)送唯一用戶編碼、挑戰(zhàn)序列號和偽隨機數挑戰(zhàn)給PC2。接著PC2進行挑戰(zhàn)應答于FRTU,終端認證成功后執(zhí)行寫響應。具體流程見圖19中 1->2->3->4。
圖19 認證報文
2) 重放攻擊
攻擊者通過交換機截獲已認證過的報文進行重放攻擊,FRTU接收到上述報文后,由于序列號和偽隨機數均相同,因此FRTU返回錯誤Error。通過圖20可知,FRTU返回Error并記錄日志,達到閾值后不再響應。
圖20 重放攻擊報文
3) 篡改攻擊
攻擊者通過交換機截獲上述未認證過的報文進行ASDU篡改,FRTU接收到篡改報文后,由于攻擊者無法獲取會話密鑰,產生了錯誤的MAC。FRTU接收到篡改攻擊報文后,通過會話密鑰驗證MAC出錯,因此FRTU錯誤認證錯誤Error。如圖21所示。
4) 欺騙攻擊
攻擊者通過未授權的非法用戶編碼進行欺騙認證,FRTU接收到欺騙報文后,判定用戶未啟用并無權限,認證失敗,如圖22所示。
圖21 篡改攻擊報文
圖22 欺騙攻擊報文
5) 竊聽攻擊
DNP出口報文,通過板載國密隧道加密模塊進行加密和解密,有效防止竊聽,具備密鑰加密和出口數據加密的雙重屬性。出口加密報文如圖23所示。
圖23 加密網絡報文
4.3.2方案比較分析
為保證配網終端FRTU的通信效率,對比測試文獻[21]SSL、文獻[23]IPSec的總傳輸耗時,如表7所示。通過表7可知,DNP SAv5傳輸耗時較短,而SSL和IPSec傳輸耗時較長,因其協(xié)議耗用資源大,小型FRTU終端很難發(fā)揮復雜協(xié)議處理優(yōu)勢。
表7 傳輸時間比較
為分析SAv5總體安全性能,對比了文獻[21]SSL、文獻[23]IPSec安全方案,如表8所示。文獻[21]SSL對傳輸層進行協(xié)議封裝,協(xié)議開銷較大。而配網FRTU終端內存資源小,SSL協(xié)議性能很難發(fā)揮。文獻[23]IPSec為因特網協(xié)議安全,但算法標準為開源,增加了算法被破解的風險。SAv5國密算法模塊,因SM1算法封閉,安全性非常高。通過國家密碼局授權的硬件模塊調用,釋放了CPU計算資源,提高了加解密效率。
表8 安全方案比較
綜上,分別采用了3種不同的測試策略,驗證DNP3 SAv5安全架構所具備的安全認證傳輸機制保證了配網終端安全性。通過一次認證機制,通信效率可快速提高,保證了電網系統(tǒng)通信的實時性。
集成DNP3 SAv5安全架構的饋線遠程終端在泰國PEA和MEA兩大電力用戶得到應用,使用效果較好,穩(wěn)定性較高,滿足客戶需求。對于認證和加密部分,很好地解決了協(xié)議安全本身的脆弱性,并創(chuàng)新地引入到配網終端FRTU中。通過相關測試加以佐證,證明DNP3 SAv5安全架構具有較高的安全性,能夠滿足電力系統(tǒng)的要求。
[1] 蘇莎莎, 趙一鳴, 謝炯, 等. 電網調度數據網SM算法優(yōu)化方案[J]. 電力信息與通信技術, 2020, 18(11): 15-21.
SU Shasha, ZHAO Yiming, XIE Jiong, et al. Optimization scheme of SM algorithm in power grid dispatching data network[J]. Electric Power Information and Communication Technology, 2020, 18(11): 15-21.
[2] 廖會敏, 王棟. 基于SM2算法的電力無介質數字認證技術研究[J]. 供用電, 2020, 37(4): 46-51.
LIAO Huimin, WANG Dong. Research on digital authentication technology of electric power no-medium based on SM2 algorithm[J]. Distribution & Utilization, 2020, 37(4): 46-51.
[3] 陶耀東, 李寧, 曾廣圣. 工業(yè)控制系統(tǒng)安全綜述[J]. 計算機工程與應用, 2016, 52(13): 8-18.
TAO Yaodong, LI Ning, ZENG Guangsheng. Review of industrial control systems security[J]. Computer Engineering and Application, 2016, 52(13): 8-18.
[4] FOVINO I N, CARCANO A, DE LACHEZE M T, et al. Modbus/DNP3 state-based intrusion detection system[C] // 2010 24th IEEE International Conference on Advanced Information Networking and Applications, April 20-23, 2010, Perth, WA, Australia: 729-736.
[5] 雷煜卿, 李建岐, 侯寶素. 面向智能電網的配用電通信網絡研究[J]. 電網技術, 2011, 35(12): 14-18.
LEI Yuqing, LI Jianqi, HOU Baosu. Power distribution and utilization communication network for smart grid[J]. Power System Technology, 2011, 35(12): 14-18.
[6] 常方圓, 李二霞, 亢超群, 等. 配電終端可信安全防護方案研究[J]. 計算機應用研究, 2020, 37(增刊2): 256-258.
CHANG Fangyuan, LI Erxia, KANG Chaoqun, et al. Research on trusted security protection scheme of distribution terminal[J]. Application Research of Computers, 2020, 37(S2): 256-258.
[7] 俞華, 穆廣祺, 牛津文, 等. 智能變電站網絡安全防護應用研究[J]. 電力系統(tǒng)保護與控制, 2021, 49(1): 116-118.
YU Hua, MU Guangqi, NIU Jinwen, et al. Application research on network security protection of an intelligent substation[J]. Power System Protection and Control, 2021, 49(1): 116-118.
[8] 何金棟, 王宇, 趙志超, 等. 智能變電站嵌入式終端的網絡攻擊類型研究及驗證[J]. 中國電力, 2020, 53(1): 81-91.
HE Jindong, WANG Yu, ZHAO Zhichao, et al. Type and verification of network attacks on embedded terminals of intelligent substation[J]. Electric Power, 2020, 53(1): 81-91.
[9] 黃虹, 文康珍, 劉璇, 等. 泛在電力物聯(lián)網背景下基于聯(lián)盟區(qū)塊鏈的電力交易方法[J]. 電力系統(tǒng)保護與控制, 2020, 48(3): 22-25.
HUANG Hong, WEN Kangzhen, LIU Xuan, et al. Power trading method based on consortium blockchain under ubiquitous power internet of things[J]. Power System Protection and Control, 2020, 48(3): 22-25.
[10] 李福陽, 李俊娥, 劉林彬, 等. 智能變電站嵌入式終端安全測試方法研究[J]. 電力建設, 2021, 42(2): 126-136.
LI Fuyang, LI Jun'e, LIU Linbin, et al. Research on security testing technologies for embedded terminals in intelligent substation[J]. Electric Power Construction, 2021, 42(2): 126-136.
[11] XU Yan. A review of cyber security risks of power systems: from static to dynamic false data attacks[J]. Protection and Control of Modern Power Systems, 2020, 5(3): 190-201.
[12]康文洋, 湯鵬志, 左黎明, 等. 基于NB-IOT的孤島式微電網密鑰協(xié)商協(xié)議研究[J]. 電力系統(tǒng)保護與控制, 2020, 48(5): 119-126.
KANG Wenyang, TANG Pengzhi, ZUO Liming, et al. Research on key agreement protocol for isolated microgrid based on NB-IOT[J]. Power System Protection and Control, 2020, 48(5): 119-126.
[13]王雷, 李樂為, 史金偉, 等. EMS與DMS間數據交互的數據傳輸與安全控制操作方法研究[J]. 電力系統(tǒng)保護與控制, 2018, 46(10): 76-79.
WANG Lei, LI Lewei, SHI Jinwei, et al. Research on data transmission and security control operation method of data interaction between EMS and DMS[J]. Power System Protection and Control, 2018, 46(10): 76-79.
[14]李大虎, 袁志軍, 黃文濤, 等. 電網安全風險閉環(huán)管控體系構建方法設計[J]. 電力系統(tǒng)保護與控制, 2021, 49(22): 162-164.
LI Dahu, YUAN Zhijun, HUANG Wentao, et al. Construction method design of a power grid security risk closed-loop management and control system[J]. Power System Protection and Control, 2021, 49(22): 162-164.
[15]馮濤, 魯曄, 方君麗. 工業(yè)以太網協(xié)議脆弱性與安全防護技術綜述[J]. 通信學報, 2017, 38(增刊2): 186-188.
FENG Tao, LU Ye, FANG Junli. Research on vulnerability and security technology of industrial Ethernet protocol[J]. Journal on Communications, 2017, 38(S2): 186-188.
[16]張文亮, 劉壯志, 王明俊, 等. 智能電網的研究進展及發(fā)展趨勢[J]. 電網技術, 2009, 33(13): 1-11.
ZHANG Wenliang, LIU Zhuangzhi, WANG Mingjun, et al. Research status and development trend of smart grid[J]. Power System Technology, 2009, 33(13): 1-1l.
[17] AMOAH R, CAMTEPE S, FOO E. Formal modelling and analysis of DNP3 secure authentication[J]. Journal of Network & Computer applications, 2016, 59: 345-360.
[18] AMOAH R, CAMTEPE S, FOO E. Securing DNP3 broadcast communications in SCADA systems[J]. IEEE Transactions on Industrial Informatics, 2016, 12(4): 1474-1485.
[19]?MAJDALAWICH M, PARISI-PRESICCE F, WIJESEKERA D. DNPSec: distributed network protocol version 3 (DNP3) security framework[M] // Advances in Computer, Information, and Systems Sciences, and Engineering, Netherlands: Springer, 2007: 227-234.
[20]張堯, 葉玲. 基于AES的WSN加密算法[J]. 計算機工程與設計, 2015, 36(3): 619-623.
ZHANG Yao, YE Ling. Encryption algorithms for wireless sensor networks based on AES[J]. Computer Engineering and Design, 2015, 36(3): 619-623.
[21] SHAHZAD A, MUSA S. Cryptography and authentication placement to provide secure channel for SCADA communication[J]. International Journal of Security, 2012, 6: 28-44.
[22] EAST S, BUTTS J, PAPA M, et al. A taxonomy of attacks on the DNP3 protocol[C] // International Conference on Critical Infrastructure Protection, 2009, Springer, Berlin Heidelberg, 67-85.
[23] NICHOLSON A, WEBBER S, DYER S, et al. SCADA security in the light of cyber-warfare[J]. Computers & Security, 2012, 31(4): 418-436.
[24] CRAIN J A, BRATUS S. Bolt-on security extensions for industrial control system protocols: a case study of DNP3 SAv5[J]. IEEE Security & Privacy, 2015, 13(3): 74-79.
[25] CREMERS C, DEHNEL-WILD M, MIINER K, et al. Secure authentication in the grid: a formal analysis of DNP3: SAv5[C] // 22nd European Symposium on Research in Computer Security, September 11-15, 2017, Oslo, Norway: 389-407.
[26]閆爽. 智能電網DNP3協(xié)議安全機制研究與實現[D]. 長沙: 國防科學技術大學, 2016.
YAN Shuang. The research and implementation of security mechanism for smart grid DNP3[D]. Changsha: University of Defense Technology, 2016.
[27]劉茜. 面向SCADA系統(tǒng)安全分布式網絡協(xié)議的設計與實現[D]. 西安: 西安電子科技大學, 2017.
LIU Qian. Design and implementation of secure distributed network protocol for SCADA system[D]. Xi’an: Xidian University, 2017.
[28]李丹楓, 王飛, 趙國鴻. 一種大流量報文HMAC-SM3認證實時加速引擎[J]. 計算機工程與科學, 2021, 43(1): 82-85.
LI Danfeng, WANG Fei, ZHAO Guohong. A real-time HMAC-SM3 acceleration engine for large network traffic[J]. Computer Engineering & Science, 2021, 43(1): 82-85.
[29]馮峰, 周清雷, 李斌. 基于多核FPGA的HMAC-SHA1口令恢復[J]. 計算機工程與科學, 2020, 42(10): 1860-1862.
FENG Feng, ZHOU Qinglei, LI Bin. HMAC-SHA1 password recovery based on multi-core FPGA[J]. Computer Engineering & Science, 2020, 42(10): 1860-1862.
[30] LU Ye, FENG Tao. Research on trusted DNP3-BAE protocol based on Hash chain[J]. EURASIP Journal on Wireless Communications and Networking, 2018: 108-118.
[31]琚安康, 郭淵博, 朱泰銘, 等. 網絡安全事件關聯(lián)分析技術與工具研究[J]. 計算機科學, 2017, 44(2): 38-40.
JU Ankang, GUO Yuanbo, ZHU Taiming, et al. Survey on network security event correlation analysis methods and tools[J]. Computer Science, 2017, 44(2): 38-40.
[32]侯連全, 章堅民, 金乃正, 等. 變電站過程層與SMV安全傳輸的網絡攻擊檢測與取證設計[J]. 電力系統(tǒng)自動化, 2016, 40(17): 87-92.
HOU Lianquan, ZHANG Jianmin, JIN Naizheng, et al. Design of cyber-attack detection and evidence taking of substation process layer and SMV secure transmission[J]. Automation of Electric Power Systems, 2016, 40(17): 87-92.
[33]傅戈, 周年榮, 文紅. 智能電網工業(yè)系統(tǒng)通信控制協(xié)議的安全研究[J]. 信息安全與技術, 2014, 5(1): 36-38.
FU Ge, ZHOU Nianrong, WEN Hong. The study of security issues for the industrial control system communication protocols in smart grid system[J]. Information Security and Technology, 2014, 5(1): 36-38.
[34] JI C, KIM J, LEE JY, et al. Review of one-time signatures for multicast authentication in smart grid[C] // 2015 12th International Conference & Expo on Emerging Technologies for a Smarter World (CEWIT), October 19-20, 2015, Melville, NY, USA: 1-4.
[35]CHIM T W, YIU S M, LI V O, et al. PRGA: privacy- preserving recording & gateway-assisted authentication of power usage information for smart grid[J]. IEEE Transactions on Dependable and Secure Computing, 2014, 12(1): 85-97.
Design and implementation of a DNP3 SAv5 secure architecture in a distribution network terminal
LI Lu, XIE Yinghong, XU Yongjun, LI Weifan, HUA Zhiqiang
(CYG SUNRI Co., Ltd., Shenzhen 518057, China)
There are increasingly prominent communication security problems in distribution network terminals. Thus the security technology requirements of a feeder remote terminal communication system are studied, and the security architecture of a new feeder remote terminal unit (FRTU) is designed. It implements three-layer architecture of a distributed network protocol (DNP3), highlighting application layer objects, variants, groups and security data application classification. This paper focuses on the classification and modeling of FRTU security data, and gives the mapping from FRTU data to the DNP3 security function. A protocol model that conforms to security authentication consistency is designed to effectively solve the security vulnerability of the FRTU. Finally, through the authentication of an international authority and security test, it is proved that security authentication (SAv5) meets the consistency standards such as authentication and encryption. This provides a reference for the secure access of distribution network terminals.
DNP3 SAv5; FRTU; communication technology; information security; defense technology
10.19783/j.cnki.pspc.211492
國家重點研發(fā)計劃項目資助(2018YFB0904900,2018YFB0904903)
This work is supported by the National Key Research and Development Program of China (No. 2018YFB0904900 and No. 2018YFB0904903).
2021-11-03;
2022-01-17
李 露(1988—),男,碩士,工程師,從事配網終端嵌入式設計;E-mail: lilu502@163.com
謝映宏(1986—),男,工程師,從事配網終端設計;
許永軍(1977—),男,高級工程師,從事配網終端設計。
(編輯 魏小麗)