文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.191091
中文引用格式: 荊琛,傅曉彤,,董偉,,等. 基于Q-學(xué)習(xí)算法的有狀態(tài)網(wǎng)絡(luò)協(xié)議模糊測試方法研究[J].電子技術(shù)應(yīng)用,2020,,46(4):49-52,,56.
英文引用格式: Jing Chen,F(xiàn)u Xiaotong,,Dong Wei,,et al. Research on fuzzing method of stateful network protocol based on Q-learning algorithm[J]. Application of Electronic Technique,2020,,46(4):49-52,,56.
0 引言
協(xié)議漏洞挖掘是保證網(wǎng)絡(luò)通信安全的重要手段,,傳統(tǒng)漏洞挖掘技術(shù)主要包括逆向分析[1-2]和模糊測試[3],。其中,模糊測試具有準(zhǔn)確率高,、不要求源代碼,、適用性高等優(yōu)點(diǎn),是目前最常用的協(xié)議漏洞挖掘方法,。有狀態(tài)網(wǎng)絡(luò)協(xié)議模糊測試技術(shù)的主要發(fā)展歷程如下,。
最初,使用傳統(tǒng)的模糊測試方法對包括有狀態(tài)網(wǎng)絡(luò)協(xié)議在內(nèi)的所有網(wǎng)絡(luò)協(xié)議進(jìn)行測試,,通過變異或生成的方法產(chǎn)生大量測試用例,,將其作為協(xié)議實(shí)體程序的輸入,,期望這些不尋常的輸入能引發(fā)協(xié)議實(shí)體異常,從中找到協(xié)議的安全漏洞[4-5],。這種測試方法對于有狀態(tài)網(wǎng)絡(luò)協(xié)議來說,,當(dāng)測試用例與協(xié)議實(shí)體狀態(tài)不匹配時,測試用例可能會被協(xié)議實(shí)體直接丟棄,,測試用例有效性低[6],。
于是,研究人員提出了根據(jù)協(xié)議狀態(tài)機(jī)構(gòu)造測試序列的有狀態(tài)網(wǎng)絡(luò)協(xié)議模糊測試方法[7-9],,主要包括3個步驟:(1)通過正常的報(bào)文交互,,將協(xié)議實(shí)體引導(dǎo)至某個待測狀態(tài),這些正常交互報(bào)文所構(gòu)成的序列稱為前置引導(dǎo)序列,;(2)向協(xié)議實(shí)體輸入報(bào)文類型與被測狀態(tài)相對應(yīng)的測試用例,,檢測是否存在異常,如果檢測到協(xié)議實(shí)體在處理測試用例后出現(xiàn)系統(tǒng)崩潰或者停止響應(yīng)等異常情況,,則保存錯誤現(xiàn)場以待進(jìn)一步分析,;(3)若未檢測到異常,還需按照特定順序輸入正常報(bào)文將協(xié)議實(shí)體引導(dǎo)至終止?fàn)顟B(tài),,準(zhǔn)備下一輪測試,,這些正常報(bào)文所構(gòu)成的序列被稱為回歸序列。這種測試方法提高了測試用例有效性,,但前置引導(dǎo)序列和回歸序列這些輔助報(bào)文在測試過程中的重復(fù)交互降低了測試效率,,且因是根據(jù)協(xié)議實(shí)體所處的協(xié)議狀態(tài)輸入報(bào)文類型相對應(yīng)的測試用例,導(dǎo)致無法發(fā)現(xiàn)由報(bào)文異常輸入順序所引出的協(xié)議缺陷,。
因此,,本文針對有狀態(tài)網(wǎng)絡(luò)協(xié)議提出了一種基于Q-學(xué)習(xí)算法的模糊測試方法,不需要引導(dǎo)狀態(tài)的輔助類型報(bào)文,,且能在確保一定的測試用例有效性前提下,,引入報(bào)文異常輸入順序測試。
1 關(guān)于有狀態(tài)網(wǎng)絡(luò)協(xié)議的模糊測試
1.1 有狀態(tài)網(wǎng)絡(luò)協(xié)議
根據(jù)輸入報(bào)文相互之間是否存在關(guān)聯(lián),,網(wǎng)絡(luò)通信協(xié)議可分為無狀態(tài)協(xié)議和有狀態(tài)協(xié)議兩類[10],。無狀態(tài)協(xié)議是指報(bào)文發(fā)送方輸出的各個報(bào)文之間沒有關(guān)聯(lián)性,而對于有狀態(tài)協(xié)議,,協(xié)議實(shí)體會記錄所接收到的報(bào)文信息,,在處理報(bào)文后可能會出現(xiàn)協(xié)議狀態(tài)的變化。有狀態(tài)網(wǎng)絡(luò)通信協(xié)議通常采用確定有限狀態(tài)機(jī)(Deterministic Finite Automation,,DFA)[11]作為協(xié)議交互的形式化描述模型,。
將DFA定義為一個六元組M=(S,I,O,,δ,β,,T),,其中:S={s0,s1,,…,,sn}是有限狀態(tài)集合,其中s0表示為M的初始狀態(tài),,且在任意時刻,,M只能處于某一狀態(tài)si,有限狀態(tài)機(jī)由s0狀態(tài)開始接收輸入,;I={i1,,i2,…,,im}是有限輸入符號集合,;O={o1,o2,,…,,om}是有限輸出符號集合;δ:S×I→S是狀態(tài)遷移函數(shù),;β:S×I→O是狀態(tài)輸出函數(shù),;T是終結(jié)狀態(tài)集合。當(dāng)DFA應(yīng)用于網(wǎng)絡(luò)協(xié)議描述時,,I表示協(xié)議實(shí)體可接受并正常處理的輸入報(bào)文類型集合,,O表示協(xié)議實(shí)體輸出的報(bào)文類型集合,以M表示協(xié)議狀態(tài)機(jī),。
以FTP協(xié)議[12]狀態(tài)機(jī)為例,,其輸入輸出報(bào)文類型的抽象符號如表1所示,M包括8個狀態(tài),,狀態(tài)集合S={s0,,s1,s2,,s3,,s4,s5,,s6,,s7}。狀態(tài)機(jī)M如圖1所示,,其中s0到s1的遷移表示為i1/o1,,它表示協(xié)議實(shí)體處于s0狀態(tài)時,,如果接收USER類型報(bào)文(用i1表示),將輸出331類型報(bào)文(用o1表示),,同時協(xié)議實(shí)體狀態(tài)遷移至s1狀態(tài),。
1.2 關(guān)于有狀態(tài)網(wǎng)絡(luò)協(xié)議的模糊測試
在實(shí)施模糊測試時,協(xié)議實(shí)體對每個測試用例會給出相應(yīng)的反饋信息[13],,例如當(dāng)測試用例不能被正確地接收處理時,,協(xié)議實(shí)體會通過響應(yīng)報(bào)文的形式告知。當(dāng)協(xié)議實(shí)體處于狀態(tài)si,,輸入報(bào)文im,,根據(jù)協(xié)議狀態(tài)機(jī)將協(xié)議在狀態(tài)si處理報(bào)文im后輸出的響應(yīng)報(bào)文on稱為由狀態(tài)si與輸入im確定的期望響應(yīng)報(bào)文,如果得到的輸出不是響應(yīng)報(bào)文on,,則稱之為由狀態(tài)si與輸入im確定的非期望響應(yīng)報(bào)文,;若根據(jù)協(xié)議狀態(tài)機(jī),狀態(tài)si與報(bào)文im并無對應(yīng)關(guān)系,,則將得到的任何響應(yīng)報(bào)文都稱為由狀態(tài)si與輸入im確定的非期望響應(yīng)報(bào)文,。另外,在測試時,,若在設(shè)定時間閾值內(nèi)未返回任何報(bào)文,,也視為得到的是非期望響應(yīng)報(bào)文。關(guān)于有狀態(tài)網(wǎng)絡(luò)協(xié)議的模糊測試,,測試用例可以分為以下4類:
(1)第一類測試用例導(dǎo)致協(xié)議實(shí)體崩潰,;
(2)第二類測試用例能夠被程序正確接收處理,可以引發(fā)協(xié)議實(shí)體狀態(tài)跳轉(zhuǎn)并輸出期望響應(yīng)報(bào)文,;
(3)第三類是導(dǎo)致協(xié)議實(shí)體輸出非期望響應(yīng)報(bào)文的被協(xié)議實(shí)體直接丟棄的測試用例,,沒有進(jìn)行程序執(zhí)行過程,不會引發(fā)協(xié)議實(shí)體程序異常和狀態(tài)的轉(zhuǎn)換,;
(4)第四類是導(dǎo)致協(xié)議實(shí)體輸出非期望響應(yīng)報(bào)文的引出協(xié)議實(shí)體缺陷的測試用例,。
對網(wǎng)絡(luò)協(xié)議的模糊測試過程主要是為了發(fā)現(xiàn)能夠觸發(fā)協(xié)議實(shí)體異常的測試用例,對于確定的測試用例集,,如何能讓這些測試用例在模糊測試過程中達(dá)到最佳效果,?考慮降低第三類測試用例的出現(xiàn)率,提高第一,、四類測試用例的出現(xiàn)率,。關(guān)于一個測試用例,它是觸發(fā)協(xié)議實(shí)體異常的第一,、四類測試用例,,還是被程序正確處理的第二類測試用例,或是被丟棄的第三類測試用例?這與輸入該測試用例時協(xié)議實(shí)體所處的狀態(tài)密切相關(guān),。因此,,考慮在測試時根據(jù)協(xié)議實(shí)體狀態(tài)選取測試用例。對協(xié)議實(shí)體的狀態(tài)推斷主要依據(jù)于協(xié)議實(shí)體的響應(yīng)報(bào)文,。對于在si狀態(tài)下輸入由im變異生成的測試用例,,如果協(xié)議實(shí)體的響應(yīng)報(bào)文是協(xié)議狀態(tài)si和輸入im所對應(yīng)的期望響應(yīng)報(bào)文,那么表明測試用例為第二類測試用例,,被協(xié)議實(shí)體正常接收處理,協(xié)議實(shí)體狀態(tài)已經(jīng)處于sj狀態(tài),,可以根據(jù)狀態(tài)sj選取測試用例進(jìn)行下一步測試,。如果協(xié)議實(shí)體的響應(yīng)報(bào)文屬于協(xié)議狀態(tài)si和輸入im所對應(yīng)的非期望響應(yīng)報(bào)文,那么協(xié)議實(shí)體可能仍處于si狀態(tài),,也可能由于測試用例的作用,,跳轉(zhuǎn)到狀態(tài)si之外的狀態(tài)。在這種情況下,,需要輸入與狀態(tài)si相對應(yīng)的正常輸入報(bào)文in,,觀察協(xié)議實(shí)體的響應(yīng),如果響應(yīng)報(bào)文是狀態(tài)si和輸入in所對應(yīng)的期望響應(yīng)報(bào)文,,那么表明測試用例為第三類測試用例且此時協(xié)議實(shí)體已經(jīng)被引導(dǎo)至sq狀態(tài),,繼續(xù)輸入根據(jù)狀態(tài)sq選取的測試用例進(jìn)行測試;如果響應(yīng)報(bào)文是狀態(tài)si和輸入in所對應(yīng)的非期望響應(yīng)報(bào)文,,那么在輸入報(bào)文in之前,,協(xié)議實(shí)體可能出現(xiàn)異常,表明測試用例為第四類測試用例,,需要保存輸入數(shù)據(jù)以待進(jìn)一步分析,。
2 基于Q-學(xué)習(xí)算法的模糊測試方法
2.1 強(qiáng)化學(xué)習(xí)
強(qiáng)化學(xué)習(xí)是一種從環(huán)境狀態(tài)映射到動作的學(xué)習(xí),目標(biāo)是使智能體在與環(huán)境的互動過程中獲得最大累積獎賞[14],。強(qiáng)化學(xué)習(xí)把學(xué)習(xí)看作試探評價過程,,如圖2所示,智能體根據(jù)環(huán)境狀態(tài)st選擇一個動作at作用于環(huán)境,,環(huán)境在動作at的作用下轉(zhuǎn)移到狀態(tài)st+1,,同時產(chǎn)生一個獎賞rt反饋給智能體,智能體再根據(jù)獎賞rt與狀態(tài)st+1選擇下一個動作,,選擇原則是使獎賞最大化,。
強(qiáng)化學(xué)習(xí)的目的是尋找一個策略π:S→A,使得每個狀態(tài)s的值函數(shù)Vπ(s)或狀態(tài)-動作值函數(shù)Qπ(s,,a)達(dá)到最大,。“值函數(shù)”與“狀態(tài)-動作值函數(shù)”分別表示指定“狀態(tài)”上以及指定“狀態(tài)-動作”上的累積獎賞[15]。
Q-學(xué)習(xí)算法[16]是一種異策略時序差分強(qiáng)化學(xué)習(xí)算法,,Q-學(xué)習(xí)算法中狀態(tài)-動作值函數(shù)采用實(shí)際Q值增量式更新,,對于狀態(tài)-動作對(s,a)的值函數(shù)Q(s,,a),,根據(jù)每次采樣得到的立即獎賞r進(jìn)行一次更新:
2.2 基于Q-學(xué)習(xí)算法的有狀態(tài)網(wǎng)絡(luò)協(xié)議模糊測試方法
在1.2小節(jié),已經(jīng)提出根據(jù)協(xié)議實(shí)體狀態(tài)選取測試用例的思想,。由于主要是想通過輸入報(bào)文類型與被測狀態(tài)不對應(yīng)的測試用例引入報(bào)文異常輸入順序測試,,提高漏洞挖掘能力,因此,,考慮根據(jù)協(xié)議實(shí)體狀態(tài)選擇報(bào)文類型,,然后根據(jù)報(bào)文類型選取測試用例進(jìn)行測試。那么,,應(yīng)該以何種策略來根據(jù)協(xié)議實(shí)體狀態(tài)選擇報(bào)文類型,,以使得在引入報(bào)文異常輸入順序測試后仍能確保一定的測試用例有效性呢?這一問題可以通過制定恰當(dāng)?shù)莫勝p規(guī)則轉(zhuǎn)化為強(qiáng)化學(xué)習(xí)中尋找策略π的問題來加以解決,,下面就通過Q-學(xué)習(xí)算法來解決該問題,。
(1)狀態(tài)集合
S={s0,s1,,…,,sn},即協(xié)議的狀態(tài)集合,。
(2)動作集合
A={a1,,a2,…,,am}={i1,,i2,…,,im},,即協(xié)議的輸入報(bào)文類型集合。
(3)動作探索策略
Q-學(xué)習(xí)通過探索-利用過程發(fā)現(xiàn)最優(yōu)獎賞,,“利用”過程選擇最大Q值所對應(yīng)的輸入報(bào)文類型,,“探索”過程則是隨機(jī)選擇輸入報(bào)文類型以防止發(fā)現(xiàn)不了最優(yōu)獎賞。本文采用“-貪婪探索策略”,,在協(xié)議狀態(tài)s下以小概率隨機(jī)選擇輸入報(bào)文類型,,以概率1-選擇具有最大Q值的輸入報(bào)文類型。
(4)立即獎賞
在協(xié)議狀態(tài)s下選擇報(bào)文類型為a的測試用例進(jìn)行測試后,,根據(jù)測試用例的類別確定狀態(tài)-動作對(s,,a)的立即獎賞r,。
根據(jù)協(xié)議實(shí)體狀態(tài)s,依據(jù)“-貪婪探索策略”選擇報(bào)文類型為a的測試用例對協(xié)議實(shí)體進(jìn)行測試,。輸入測試用例后,,通過觀察協(xié)議實(shí)體是否崩潰判斷測試用例是否為第一類測試用例;通過響應(yīng)報(bào)文分析協(xié)議實(shí)體狀態(tài)并區(qū)分第二,、三,、四類測試用例。根據(jù)測試用例的類別確定狀態(tài)-動作對(s,,a)的立即獎賞r,,通過獎賞r更新Q值與策略π,降低第三類測試用例的出現(xiàn)率,,提高第一,、四類測試用例的出現(xiàn)率?;赒-學(xué)習(xí)算法的有狀態(tài)網(wǎng)絡(luò)協(xié)議模糊測試方法描述如下:
(1)建立狀態(tài)空間S和動作空間A;
(2)初始化Q值表和策略π,;
(3)初始化協(xié)議實(shí)體狀態(tài)至s0,;
(4)依據(jù)“-貪婪探索策略”,根據(jù)協(xié)議實(shí)體當(dāng)前狀態(tài)s選擇報(bào)文類型為a的測試用例輸入?yún)f(xié)議實(shí)體,;
(5)在協(xié)議實(shí)體處理測試用例后,,觀察協(xié)議實(shí)體反饋信息,分析協(xié)議實(shí)體當(dāng)前狀態(tài),,判斷測試用例類別,,確定狀態(tài)-動作對(s,a)的立即獎賞r,;
(6)更新Q值表,;
(7)更新策略π;
(8)若測試用例為第一,、四類測試用例,,記錄異常后跳轉(zhuǎn)至步驟(3);若協(xié)議實(shí)體當(dāng)前狀態(tài)為協(xié)議終結(jié)狀態(tài),,跳轉(zhuǎn)至步驟(3),;否則跳轉(zhuǎn)至步驟(4)。
3 實(shí)驗(yàn)與分析
3.1 實(shí)驗(yàn)建立
Sulley[17]是目前較為成熟的模糊測試框架,,有對有狀態(tài)網(wǎng)絡(luò)協(xié)議進(jìn)行模糊測試的完整測試方案,。本文方法Q-Fuzzing 將與Sulley按照以下描述場景進(jìn)行仿真實(shí)驗(yàn)對比:以FTP協(xié)議實(shí)體作為測試對象,兩種方法均采用由Sulley變異策略生成的測試用例,,測試用例的漏洞挖掘效力相當(dāng),。
3.2 實(shí)驗(yàn)結(jié)果分析
3.2.1 測試效率評估
測試效率是指單位時間輸入的測試用例數(shù)量,,用向被測協(xié)議實(shí)體輸入的測試用例個數(shù)與發(fā)送報(bào)文的總數(shù)的比值值來衡量測試效率,值的數(shù)學(xué)表達(dá)式為:=∑A/∑m,,其中,,∑A表示輸入的測試用例總數(shù),∑m表示發(fā)送報(bào)文的總數(shù),?!艫一定時,值越大,,說明發(fā)送輔助類型的報(bào)文越少,,單位時間輸入的測試用例數(shù)量越高,測試效率越高,。在測試過程中,,Q-Fuzzing與Sulley的值與輸入的測試用例總數(shù)∑A的關(guān)系如圖3所示。
Sulley采用完善的引導(dǎo)機(jī)制,,隨著測試路徑的深入,,前置引導(dǎo)序列等輔助報(bào)文的比重越來越大,值越來越低,。Q-Fuzzing雖在分析協(xié)議實(shí)體狀態(tài)時存在一定的輔助報(bào)文交互,,但是該方法不需要引導(dǎo)狀態(tài)的輔助報(bào)文,輔助報(bào)文的比重較低,,值相對較高,。
3.2.2 測試用例有效性評估
假設(shè)輸入的某個測試用例沒有被協(xié)議實(shí)體直接拋棄,而是進(jìn)行程序執(zhí)行過程,,那么稱該測試用例為有效完成測試的測試用例(簡稱為有效測試用例),。測試用例有效性是指一個測試用例為有效測試用例的概率,以有效測試用例個數(shù)與輸入的測試用例總數(shù)的比值φ表示測試用例有效性,,φ的數(shù)學(xué)表達(dá)式為:φ=∑Ac/∑A,,其中,∑Ac表示有效測試用例總數(shù),,∑A表示輸入的測試用例總數(shù),。在測試過程中,Q-Fuzzing與Sulley的測試用例有效性φ與輸入的測試用例總數(shù)∑A的關(guān)系如圖4所示,。
Sulley采用完善的引導(dǎo)機(jī)制,,使得測試用例可以在協(xié)議實(shí)體處于對應(yīng)狀態(tài)時進(jìn)行輸入,測試用例有效性較高,。Q-Fuzzing在測試初期,,輸入報(bào)文時盲目性較大,存在很多被拋棄的測試用例,,測試用例有效性低,,但隨著在測試過程中實(shí)踐學(xué)習(xí),,測試用例有效性逐步提高,最終趨于穩(wěn)定,。
3.2.3 漏洞挖掘能力
漏洞挖掘能力是指在模糊測試正常執(zhí)行條件下挖掘漏洞的數(shù)目,。兩種方法挖掘漏洞數(shù)目如表2所示。
在漏洞挖掘能力方面,,Q-Fuzzing效果好于Sulley,。對于FTP 協(xié)議實(shí)體中存在的3個漏洞:(1)當(dāng)協(xié)議實(shí)體狀態(tài)轉(zhuǎn)換序列為s0->s1->s2->s3->s4時,輸入變異的i5報(bào)文后,,協(xié)議實(shí)體崩潰,;(2)當(dāng)協(xié)議實(shí)體狀態(tài)轉(zhuǎn)換序列為s5->s4->s5時,輸入與s5狀態(tài)并不對應(yīng)的i12的變異報(bào)文后,,協(xié)議實(shí)體崩潰,;(3)當(dāng)協(xié)議實(shí)體狀態(tài)轉(zhuǎn)換序列為s0->s1->s2->s3->s4->s5時,輸入變異的i7報(bào)文,,協(xié)議實(shí)體出現(xiàn)狀態(tài)異常遷移,,協(xié)議實(shí)體既不處于s5狀態(tài)也不處于s6狀態(tài)。Q-Fuzzing挖掘出漏洞1,、2,、3,Sulley僅挖掘出漏洞1,,未能挖掘出漏洞2、3,。
根據(jù)測試效率與挖掘漏洞能力比較,,相比于Sulley測試方法,本文測試方法Q-Fuzzing具有明顯的優(yōu)勢,,達(dá)到了預(yù)期的測試效果,。
4 結(jié)論
本文提出了一種基于Q-學(xué)習(xí)算法的有狀態(tài)網(wǎng)絡(luò)協(xié)議模糊測試方法,通過反饋信息分析協(xié)議實(shí)體狀態(tài),,根據(jù)協(xié)議實(shí)體狀態(tài)和Q值選取測試用例進(jìn)行測試,。實(shí)驗(yàn)結(jié)果表明,該方法不需要引導(dǎo)狀態(tài)的輔助類型報(bào)文,,且能在確保一定的測試用例有效性下,,進(jìn)行報(bào)文異常輸入順序測試,顯著提高了測試效率和漏洞挖掘能力,。在該方法中,,協(xié)議狀態(tài)機(jī)的完整性以及學(xué)習(xí)算法中參數(shù)的設(shè)定對測試結(jié)果的影響很大, 因此,下一步有必要對協(xié)議狀態(tài)機(jī)以及參數(shù)的調(diào)節(jié)進(jìn)行深入的研究,。
參考文獻(xiàn)
[1] 程必成,,劉仁輝,,趙云飛,等.非標(biāo)工業(yè)控制協(xié)議格式逆向方法研究[J].電子技術(shù)應(yīng)用,,2018,,44(4):126-129.
[2] 魏驍,劉仁輝,,許鳳凱.基于靜態(tài)二進(jìn)制分析的工控協(xié)議逆向分析[J].電子技術(shù)應(yīng)用,,2018,44(3):126-130.
[3] 張雄,,李舟軍.模糊測試技術(shù)研究綜述[J].計(jì)算機(jī)科學(xué),,2016,43(5):1-8,,26.
[4] SUTTON M,,GREENE A,AMINI P.Fuzzing:brute force vulner-ability discovery[M].[S.l.]:Pearson Education,,2007.
[5] 王穎,,楊義先,鈕心忻,,等.基于控制流序位比對的智能Fuzzing測試方法[J].通信學(xué)報(bào),,2013,34(4):114-121.
[6] MUNEA T L,,LIM H,,SHON T.Network protocol fuzz testing for information systems and applications: a survey and taxonomy[J].Multimedia Tools & Applications,2016,,75(22):14745-14757.
[7] ZHAO J,,CHEN S,LIANG S,,et al.RFSM-fuzzing a smart fuzzing algorithm based on regression FSM[C].Eighth International Conference on P2P,,Parallel,Grid,,Cloud and Internet Computing.IEEE,,2013:380-386.
[8] CUI B,LIANG S,,CHEN S,,et al.A novel fuzzing method for Zigbee based on finite state machine[J].International Journal of Distributed Sensor Networks,2014,,2014(3):1-12.
[9] 康紅凱,,吳禮發(fā),洪征,,等.一種基于FSM的BGP-4協(xié)議模糊測試方法[J].計(jì)算機(jī)工程與應(yīng)用,,2017,,53(6):111-117.
[10] 張寶峰,張翀斌,,許源.基于模糊測試的網(wǎng)絡(luò)協(xié)議漏洞挖掘[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),,2009(s2):2113-2118.
[11] NARAYAN J,SHUKLA S K,,CLANCY T C.A survey of automatic protocol reverse engineering tools[J].ACM Computing Surveys,,2015,48(3):1-26.
[12] GASCON H,,WRESSNEGGER C,,YAMAGUCHI F,et al.Pulsar:stateful black-box fuzzing of proprietary network protocols[M].Security and Privacy in Communication Networks.Springer International Publishing,,2015:330-347.
[13] 張洪澤,,洪征,周勝利,,等.基于協(xié)議狀態(tài)機(jī)遍歷的模糊測試優(yōu)化方法[J].計(jì)算機(jī)工程與應(yīng)用,,2020,56(4):82-91.
[14] SUTTON R S,,BARTO A G.Reinforcement learning:an introduction[M].Cambridge,,USA:MIT Press,1998.
[15] 周志華.機(jī)器學(xué)習(xí)[M].北京:清華大學(xué)出版社,,2016.
[16] WATKINS C J C H.Learning from delayed rewards[J].Robotics & Autonomous Systems,,1989,15(4):233-235.
[17] GitHub.Sulley[EB/OL].(2013-06-11)[2015-06-29]. https://github.com/OpenRCE/sulley.
作者信息:
荊 琛1,,2,,傅曉彤1,董 偉2,,趙云飛2
(1.西安電子科技大學(xué) 網(wǎng)絡(luò)與信息安全學(xué)院,陜西 西安710071,;2.華北計(jì)算機(jī)系統(tǒng)工程研究所,,北京102209)