摘要: 針對工業(yè)控制協(xié)議中復雜格式與字段依賴難以建模,傳統(tǒng)模糊測試在測試用例接收率與樣本多樣性方面存在不足,提出一種協(xié)同表征學習與強化學習的工控協(xié)議模糊測試方法。該方法結合深度可分離卷積的高效特征提取能力與多頭自注意力機制的全局依賴建模優(yōu)勢,構建多尺度特征提取器,捕捉局部與全局特征。引入強化學習優(yōu)化策略,增強潛在空間表達能力。提出通用ICP(Industrial Control Protocols)模糊測試框架RLCAFuzzer,并在典型能源企業(yè)工業(yè)場景的攻防演練靶場上對3種常見工控協(xié)議(Modbus/TCP,Ethernet/IP,S7 comm)進行實驗驗證。結果表明該框架的TCAR指標顯著提高,并展現(xiàn)出更強異常觸發(fā)能力,驗證了其在工控協(xié)議漏洞挖掘中的有效性與先進性。
A fuzz testing method for industrial control protocols based on representation learning and reinforcement learning
He Kan 1,2, Wang Zhi1,2,Shi Hongyan1,2,Lian Lian1,2,Sun Yifei1,2,Ning Bowei2,3,Zong Xuejun1,2
1. College of Information Engineering, Shenyang University of Chemical Technology; 2. Key Laboratory of Information Security for Petrochemical Industry in Liaoning Province; 3. School of Artificial Intelligence,Shenyang University of Technology
Abstract: Given the difficulty in modeling the complex formats and field dependencies of industrial control protocols, traditional fuzz testing suffers from shortcomings in test case acceptance rate and sample diversity. This paper proposes a fuzz testing method for industrial control protocols that combines multiscale representation learning with reinforcement learning. This method combines the efficient feature extraction capabilities of depthwise separable convolutions with the global dependency modeling advantages of a multihead selfattention mechanism to design a multiscale feature extractor that captures both local and global features. A reinforcement learning optimization strategy is introduced to enhance the latent space representation capability. A general ICP (Industrial Control Protocols) fuzz testing framework, RLCAFuzzer, is designed and validated experimentally against three common industrial control protocols (Modbus/TCP, Ethernet/IP, and S7 comm) in a typical energy enterprise attack and defense scenario. Results demonstrate a significant improvement in the TCAR metric and enhanced anomaly triggering capability, demonstrating its effectiveness and advancement in industrial control protocol vulnerability detection.
Key words : fuzz testing;industrial control protocols;vulnerability detection;variational autoencoder;Transforme
引言
工業(yè)控制系統(tǒng)(Industrial Control System,ICS)是由計算機設備和工業(yè)控制元件組成的自動控制系統(tǒng),廣泛應用于水處理、化工、制造和其他關鍵領域[1],通過實時監(jiān)控和控制工業(yè)過程,保障了社會生產(chǎn)的高效與安全。然而,隨著“互聯(lián)網(wǎng)+”的提出,工業(yè)物聯(lián)網(wǎng)(IIoT)[2]與工業(yè)控制系統(tǒng)緊密結合[3],催生了智能工業(yè)生態(tài)系統(tǒng)的發(fā)展。工業(yè)控制系統(tǒng)變得互聯(lián)互通[4],且正逐步向智能化和網(wǎng)絡化方向演進,傳統(tǒng)的封閉式網(wǎng)絡結構逐漸被開放式網(wǎng)絡所取代[5]。工業(yè)控制協(xié)議作為信息化系統(tǒng)各部分之間溝通的橋梁[6],是信息安全傳輸?shù)闹匾U?,其安全性至關重要[7]。然而工控協(xié)議在設計之初專注于功能性,追求協(xié)議的簡潔性和高性能,并未充分考慮安全性問題,在使用中便頻繁暴露出安全漏洞[8]。漏洞挖掘指綜合應用各種技術工具,最大限度地識別軟件程序、網(wǎng)絡協(xié)議等系統(tǒng)中潛在安全漏洞的過程[9]。傳統(tǒng)的漏洞挖掘方法通常依賴于靜態(tài)代碼分析或已知協(xié)議的逆向分析[10]。這些方法需要豐富的先驗知識,并且對工控系統(tǒng)特有的復雜協(xié)議結構缺乏針對性。近年來模糊測試(Fuzz Testing)[11]作為一種通用的漏洞挖掘方法[12],受到了廣泛關注。模糊測試的基本流程通常包括數(shù)據(jù)預處理、測試用例生成、測試執(zhí)行、異常監(jiān)測與漏洞分析等環(huán)節(jié)。模糊測試前需要收集目標系統(tǒng)的歷史通信流量或已知協(xié)議數(shù)據(jù),以構建初始測試樣本并提取關鍵特征。隨后,測試用例生成模塊依據(jù)不同策略構造大量測試數(shù)據(jù),這些數(shù)據(jù)可以通過變異已有輸入(如隨機修改、插入或刪除字節(jié))或基于規(guī)則從零生成[13],以最大程度覆蓋潛在攻擊面。然而,在模糊測試的實施過程中,通常需要依據(jù)特定的規(guī)范設計和生成測試數(shù)據(jù),這一過程帶來了諸多限制[14]。為突破這些限制,研究者們開始探索將深度學習[15]引入模糊測試,以優(yōu)化測試用例生成和協(xié)議格式學習。例如,Wang等人[16]提出基于Transformer的協(xié)議相似性變異方法,通過語義建模提升測試用例接收率以增強異常觸發(fā)能力,但其性能依賴訓練數(shù)據(jù)質(zhì)量,跨協(xié)議泛化能力不足。Wanyan等人[17]基于非關鍵字段變異融合信息熵的獨特性來提升樣本多樣性,但其依賴協(xié)議先驗解析,難以適應未知或私有協(xié)議。Yu等人[18]提出CovGAN方法(CGFuzzer),利用生成對抗網(wǎng)絡提升覆蓋率,但GAN模型在高維空間中易出現(xiàn)模式崩潰,導致生成分布集中。Lv等人[19]提出BLSTMDCNNFuzz,提高了模糊測試的自動化程度,但需大量標注樣本,計算成本高,不適用于資源受限的場景。Zhao等人[20]提出的SeqFuzzer提高了測試效率和對狀態(tài)協(xié)議的適應性,但生成階段缺乏分布約束,難以兼顧覆蓋率與多樣性。Zhao等人[21]提出的AMSFuzz通過自適應調(diào)度優(yōu)化變異算子選擇,提高路徑探索能力,但仍受傳統(tǒng)變異策略框架限制,對高維輸入泛化不足,且依賴初始種子質(zhì)量,難以實現(xiàn)真正的自主生成與多樣性控制。綜上,本文提出一種協(xié)同多尺度表征學習與強化學習的工控協(xié)議模糊測試方法。利用深度可分離卷積高效提取協(xié)議報文的多層次特征,并通過多頭注意力機制融合局部字段與全局依賴信息;引入潛在空間優(yōu)化策略,動態(tài)調(diào)整潛在空間的結構與分布,顯著提升測試用例的多樣性。在典型能源企業(yè)工業(yè)場景的攻防演練靶場上進行實驗以驗證模型的有效性。實驗結果表明,本文方法具備較強的異常觸發(fā)能力,能夠生成多樣性且符合標準的測試用例,具備更強的漏洞挖掘能力。