亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Sulley改進的工控協(xié)議模糊測試架構設計

        2017-10-21 03:40:18劉仁輝趙云飛許鳳凱
        關鍵詞:網(wǎng)絡協(xié)議工控測試用例

        馬 潔,劉仁輝,趙云飛,許鳳凱

        (華北計算機系統(tǒng)工程研究所,北京 100083)

        基于Sulley改進的工控協(xié)議模糊測試架構設計

        馬 潔,劉仁輝,趙云飛,許鳳凱

        (華北計算機系統(tǒng)工程研究所,北京 100083)

        模糊測試(Fuzzing)可以有效發(fā)現(xiàn)協(xié)議漏洞。然而不同于網(wǎng)絡協(xié)議,工控協(xié)議模糊測試具有協(xié)議種類眾多、私有協(xié)議解析難等特點。對此,文章轉(zhuǎn)換問題解決思路,從工控工程師的角度入手,解析了Sulley的模糊測試架構和流程,設計了基于Sulley改進的工控協(xié)議模糊測試架構,采用基于塊的可視化拖拽式界面進行私有協(xié)議的數(shù)據(jù)構造,公有協(xié)議采用套件的形式進行導入,添加輸入優(yōu)化模塊以適應于工控系統(tǒng),該框架有助于解決工控協(xié)議模糊測試中易用性差、測試負載大、測試效率低的問題。

        模糊測試;工控協(xié)議;Sulley

        0 引言

        工控協(xié)議作為數(shù)據(jù)的組織規(guī)范,其健壯性直接關系到關鍵工控數(shù)據(jù)的安全。模糊測試技術作為協(xié)議健壯性測試的一種常用技術,通過向應用提供非預期的輸入并監(jiān)控輸出中的異常來發(fā)現(xiàn)故障[1]。網(wǎng)絡協(xié)議模糊測試可以有效地挖掘緩存區(qū)溢出、整數(shù)處理、抗拒絕服務、格式化字符串、競爭條件等漏洞[2]。

        傳統(tǒng)的網(wǎng)絡協(xié)議模糊測試框架日漸成熟,但是并不適用于工控協(xié)議。工控協(xié)議自身具有協(xié)議種類多、協(xié)議構造非公開、面向控制等特點,使得模糊測試前期對協(xié)議進行解析的門檻非常高,協(xié)議腳本構造過程耗時耗力,大大降低了模糊測試在工控協(xié)議領域的易操作性。其次,工控設備無法承載大量測試用例的輸入,對大量隨機發(fā)送的數(shù)據(jù)免疫,因此模糊測試發(fā)送的大量測試數(shù)據(jù)實際上在到達協(xié)議處理程序之前就被拋棄,造成測試效率低下的問題。

        Sulley是一款開源的通用網(wǎng)絡協(xié)議模糊測試框架,相比其他工具,它將自動化虛擬技術融合到框架中,可以很好地跟蹤數(shù)據(jù)交互和進程,抓取網(wǎng)絡流量,記錄崩潰信息。然而若將其直接應用于工控協(xié)議模糊測試中,與其他工具一樣具有易用性差、測試負載大、測試效率低的缺陷。本文優(yōu)化了Sulley架構,設計了一種專門為工控系統(tǒng)開發(fā)人員自測使用的工控協(xié)議模糊測試架構,有助于解決工控協(xié)議模糊測試的困難,使模糊測試更加便捷,測試效率更高。

        1 現(xiàn)有的協(xié)議模糊測試架構分析

        1.1傳統(tǒng)網(wǎng)絡協(xié)議模糊測試架構分析

        網(wǎng)絡協(xié)議模糊測試架構由輸入向量確定模塊、模糊測試數(shù)據(jù)生成模塊、模糊測試執(zhí)行模塊、監(jiān)控模塊這四個模塊構成。其中直接影響測試效果的是輸入向量確定模塊和模糊測試數(shù)據(jù)生成或變異模塊。

        在輸入向量確定模塊,最初,對于公開協(xié)議,由測試者根據(jù)已有知識和經(jīng)驗構造協(xié)議,編寫測試腳本。然而測試的前提是測試者必須對協(xié)議的規(guī)約和交互有深刻的了解。對于未知協(xié)議,一般采用逆向工程的方法實現(xiàn)協(xié)議的解析。無論是公開協(xié)議還是未知協(xié)議,半人工化的協(xié)議模糊測試均要求測試者付出較多的時間精力來進行協(xié)議構造。后來,自動化協(xié)議解析方法被提出,目前的研究主要采取基于網(wǎng)絡流量和基于動態(tài)污點分析的自動化解析方法。學者也不斷進行改進,例如:孫哲[3]等將特征提取算法、流量聚類分類算法和深度數(shù)據(jù)包檢測技術結合,實現(xiàn)了一個自動化協(xié)議分析漏洞挖掘系統(tǒng)的原型;文獻[4]中使用動態(tài)污點跟蹤法和混合符號執(zhí)行技術首次解決協(xié)議中的校驗和防護機制問題;彭勇等[5]將內(nèi)存模糊測試技術融入到私有協(xié)議的測試中,減少了協(xié)議解析的工作量。但是基于網(wǎng)絡流量的解析方法存在測試效果受網(wǎng)絡流量抓取的多樣性及特征提取參數(shù)設置的影響的缺點,動態(tài)污點分析方法對被測設備的存儲空間和處理能力要求較高。

        在模糊測試數(shù)據(jù)生成模塊,為了減少測試用例的重復性,提升測試效率,加大測試代碼覆蓋率,文獻[6]提出了一種隨機信號處理和正則表達式相結合的測試用例生成方法。隨機信號處理用來減少等價或類似的輸入,正則表達式提升了測試的代碼覆蓋率。文獻[7]則運用分類樹由上到下將協(xié)議結構分為四層:協(xié)議、字段、字段屬性、字段值,然后使用啟發(fā)性算子生成測試用例。還有一些學者通過改進遺傳算法來實現(xiàn)對測試用例的優(yōu)化[8-9]。

        1.2針對工控協(xié)議的現(xiàn)有模糊測試架構分析

        工控協(xié)議除了已公開的MODBUS、OPC等協(xié)議之外,還包含有大量的格式未知的私有協(xié)議。被測的工控設備大多是嵌入式的,不能滿足自動化協(xié)議解析對存儲空間和處理能力的要求,且不能負載普通模糊測試所發(fā)送的大量測試數(shù)據(jù)。因此網(wǎng)絡協(xié)議的模糊測試架構并不能直接應用在工控協(xié)議模糊測試中。

        目前針對工控協(xié)議進行模糊測試的工具大部分采取單獨開發(fā)的某一種或幾種工控協(xié)議模糊測試套件形式或者是將工控協(xié)議測試例程添加到通用協(xié)議模糊測試器的方法。單獨的工控協(xié)議模糊測試套件包括Digitalbond公司開發(fā)的ICCPSic套件,Mu Dynamic公司開發(fā)的可對MODBUS/TCP、DNP3和IEC61850協(xié)議進行模糊測試的Mu測試套件。Devarajan開發(fā)了可用于開源網(wǎng)絡協(xié)議測試框架Sulley的ICCP、MODBUS、DNP3測試例程[8]。

        已有的工控協(xié)議模糊測試套件和例程均只針對一種或幾種公開的工控協(xié)議,不具有工控協(xié)議模糊測試的通用性,且鮮有對未公開的工控協(xié)議進行模糊測試。

        2 Sulley模糊測試架構解析

        Sulley架構共包括四個部分:數(shù)據(jù)構造(Data Organization)、會話管理(Session Management)、工具(Utilities)、代理(Agents),如圖1所示。

        圖1 Sulley的模糊測試架構

        (1) 數(shù)據(jù)構造:Sulley使用基于塊的思想進行數(shù)據(jù)構造,它提供包括整數(shù)(integer)、字符串(string)等一系列原型(primitive),可自定義復雜類型以及幫助例程。每個原型都有一個模糊庫(fuzz_library),用來存儲各個原型的畸形數(shù)據(jù),模糊庫里每個畸形數(shù)據(jù)是構成協(xié)議測試用例的最基本單位。不同的原型組成塊(block),塊和原型組成請求(request),請求用來在會話管理模塊中生成會話圖來完成協(xié)議的構成。

        (2) 會話管理:該模塊實現(xiàn)對被測目標的初始化、會話的管理及會話圖的遍歷,會話圖遍歷時會從根節(jié)點依據(jù)每條路徑遍歷每個點,每個點即每個請求,請求再逐層調(diào)用塊及原型的模糊庫來構成每個測試用例。

        (3) 代理:在這部分中Sulley提供3個代理(vmwar虛擬機、進程監(jiān)控網(wǎng)絡監(jiān)控和網(wǎng)絡監(jiān)控代理)用于保證測試程序發(fā)生崩潰時測試能夠重新恢復并正常進行,同時可以監(jiān)控進程和網(wǎng)絡流量。

        (4) 工具(Utilities):當崩潰發(fā)生之后,該模塊提供的一系列工具可以幫助定位異常以及引起異常的測試用例,輔助分析崩潰發(fā)生的原因。

        基于上述架構,Sulley完成模糊測試的流程如圖2所示。首先測試人員需要根據(jù)協(xié)議結構和字段以.py腳本的形式來自定義請求,隨后編寫測試腳本,測試腳本中實現(xiàn)各個請求的導入、實例化會話和被測目標、設置代理參數(shù)。最后運行測試腳本,Sulley形成會話圖,并對會話圖的每條路徑和節(jié)點進行遍歷,完成對協(xié)議的模糊測試。

        圖2 Sulley的模糊測試流程

        3 Sulley架構存在的缺陷

        盡管Sulley基于塊的思想可以使得協(xié)議構造更加有組織性,將測試用例的遍歷以遍歷會話圖的形式實現(xiàn),高效快捷,但是Sulley發(fā)送的測試用例實際上是由每個原型的模糊庫里的數(shù)據(jù)構成,這些數(shù)據(jù)大部分是基本字符的多次重復或是邊界值,這就使得生成的測試用例具有較大的相關性。Sulley發(fā)送到被測設備的數(shù)據(jù)實際上包含了大量具有較高相關性的測試用例。

        其次,從Sulley的模糊測試流程中可知,使用Sulley進行模糊測試需要測試者分別進行請求腳本和測試腳本的編寫,要求測試者對協(xié)議字段、python語法有較清晰的了解。對于未公開協(xié)議格式的私有工控協(xié)議,Sulley無能為力。

        4 基于Sulley改進的工控協(xié)議模糊測試架構

        該基于Sulley改進的工控協(xié)議模糊測試架構包含可視化數(shù)據(jù)輸入模塊、套件模塊、輸入優(yōu)化模塊、會話管理模塊、監(jiān)控代理模塊和異常報告模塊,如圖3所示。本架構沿用了Sulley優(yōu)秀的會話管理、監(jiān)控代理及異常報告模塊,著重對數(shù)據(jù)構造和生成部分進行改進。

        圖3 基于Sulley改進的工控協(xié)議模糊測試架構

        首先,將協(xié)議劃分為二三層協(xié)議和應用層協(xié)議,應用層協(xié)議又分為公開協(xié)議和私有協(xié)議。對于已公開工控協(xié)議和二三層協(xié)議,協(xié)議結構明了,并且公布的協(xié)議漏洞較多,因此這兩類協(xié)議采取測試套件的方式作為輸入向量,結合高發(fā)的漏洞和協(xié)議結構開發(fā)協(xié)議套件。盡管開發(fā)時付出較多,然而一旦開發(fā)成功便可以方便測試者重復使用。對于私有協(xié)議,結構未知,所以采取基于塊的可視化構造方法來確定輸入向量。工控工程師熟知協(xié)議結構,但苦于腳本語言的學習和編寫,可視化拖拽界面可以解決這一困境??梢暬献匀徊捎肧ulley基于塊的構造方法,將各種原型、工具、函數(shù)以可視化的界面呈現(xiàn),通過拖拽構建塊和請求。

        由于工控設備的存儲空間和計算能力有限,傳統(tǒng)的模糊測試產(chǎn)生的大量測試用例一方面具有較高的相關性,另一方面大量數(shù)據(jù)發(fā)送到工控設備容易造成宕機,使得測試用例不能深入到協(xié)議處理模塊,造成測試效率低下,所以消除相關性較高的測試用例,減少無效用例便非常重要。本架構引入輸入優(yōu)化模塊,在可視化拖拽方式生成測試腳本后,測試用例被傳送到優(yōu)化模塊以去除相關性較高的測試用例。

        5 結論

        本文對工控協(xié)議模糊測試進行了研究,主要工作內(nèi)容如下:

        (1)探討總結了現(xiàn)有協(xié)議模糊測試尤其是在輸入向量確定階段和測試用例生成階段的研究,以及現(xiàn)有工控協(xié)議模糊器的缺點;

        (2)對開源模糊測試框架Sulley的架構和測試流程進行詳細解析,設計了基于Sulley改進的工控協(xié)議模糊測試架構。利用工控系統(tǒng)工程師完備的協(xié)議知識,將工程師作為模糊測試工具的使用主體,通過可視化拖拽的方式構造協(xié)議塊來降低入門門檻,減少測試腳本的人工編寫。采用分層測試的策略,將通用的二三層協(xié)議和已公開的工控協(xié)議進行封裝以便測試人員進行直接使用,私有工控協(xié)議單獨使用可視化方式進行數(shù)據(jù)構造,實現(xiàn)了通用和私有協(xié)議測試的兼容。在現(xiàn)有架構中加入輸入優(yōu)化模塊,解決測試用例相關性高的問題,提升了工控協(xié)議模糊測試效率。

        [1] SUTTON M, GREENE A, AMINI P.模糊測試:強制性安全漏洞挖掘[M]. 黃隴,于莉莉,李慮,譯.北京:機械工業(yè)出版社, 2009.

        [2] 李紅輝,齊佳,劉峰,等. 模糊測試技術研究[J]. 中國科學, 2014, 44(10): 1305-1322.

        [3] 孫哲,劉大光,武學禮,等. 基于模糊測試的網(wǎng)絡協(xié)議自動化漏洞挖掘工具設計與實現(xiàn)[J]. 信息網(wǎng)絡安全,2014(6):23-30.

        [4] WANG T L, WEI T, GU G F, et al. TaintScope: a checksum-aware directed fuzzing tool for automatic software vulnerability detection[C]. 2010 IEEE Symposium on Security and Privacy, 2010: 497-512.

        [5] 彭勇, 王婷, 熊琦,等. 針對私有協(xié)議的模糊測試技術研究[J]. 北京交通大學學報,2013,37(5):8-12.

        [6] SUI A F, TANG W, HU J J, et al. An effective fuzz input generation method for protocol testing[C]. IEEE 13th International Conference on Communication Technology, 2011: 728-731.

        [7] MA R, JI W D, HU C Z, et al. Fuzz testing data generation for network protocol using classification tree[C]. Communications Security Conference IET, 2014: 1-5.

        [8] 謝豐, 彭勇, 趙偉, 等. 工業(yè)控制設備安全測試技術[J]. 清華大學學報(自然科學版), 2014, 54(1): 29-34.

        [9] 向騻, 趙波, 紀祥敏, 等. 一種基于改進Fuzzing架構的工業(yè)控制設備漏洞挖掘框架[J]. 武漢大學學報(理學版), 2013, 59(5): 411-415.

        The design of fuzzing architecture for industry control protocols based on Sulley

        Ma Jie, Liu Renhui, Zhao Yunfei, Xu Fengkai

        (National Computer System Engineering Research Institute of China, Beijing 100083, China)

        Fuzzing can detect protocol vulnerabilities effectively. Different from network protocols, the industry control protocols are various and it is difficult to get the regulation of private industry control protocols. Therefore, the resolution is proposed by converting the subject of fuzzing test from testers to industry engineers. Firstly, fuzzing architecture and testing process of Sulley are analyzed. Based on that, an improved fuzzing architecture for industry control protocols is designed. In the new architecture, block-based visual interfaces are used for building private protocols. Public industry control protocols are tested by importing test suite. Besides, an optimization module to reduce testing data input is added into the architecture for the purpose of adjusting to industry devices. This architecture is meaningful to resolve problems of industry control protocols fuzzing including poor usability, large testing load and low efficiency.

        fuzzing; industry control protocols; Sulley

        TP393

        A

        10.19358/j.issn.1674- 7720.2017.19.001

        馬潔,劉仁輝,趙云飛,等.基于Sulley改進的工控協(xié)議模糊測試架構設計[J].微型機與應用,2017,36(19):3-5.

        2017-05-02)

        馬潔(1993-),女,碩士,主要研究方向:工控信息安全。劉仁輝(1968-),男,碩士,高級工程師,主要研究方向:自動化控制、工控信息安全。趙云飛(1969-),男,碩士,高級工程師,主要研究方向:自動化控制、工控信息安全。

        猜你喜歡
        網(wǎng)絡協(xié)議工控測試用例
        計算機網(wǎng)絡理論下的傳播研究結構模型:Communication一詞的兩種翻譯
        基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
        一種藍牙多跳網(wǎng)絡協(xié)議的設計與研究
        電子制作(2018年17期)2018-09-28 01:56:52
        基于混合遺傳算法的回歸測試用例集最小化研究
        工控速派 一個工控技術服務的江湖
        工控速浱 一個工控技術服務的江湖
        基于DPI技術的語音視頻流量監(jiān)控系統(tǒng)設計與實現(xiàn)
        熱點追蹤 工控安全低調(diào)而不失重要
        基于攻擊圖的工控系統(tǒng)脆弱性量化方法
        自動化學報(2016年5期)2016-04-16 03:38:47
        芻議局域網(wǎng)中網(wǎng)絡協(xié)議的添加與配置
        科技資訊(2015年10期)2015-06-29 18:17:23
        亚洲色欲色欲大片www无码| 一区二区三区国产天堂| 国产情侣自拍在线视频| 亚洲精品无码av人在线播放| 日本黄页网站免费大全| 无码国产精品一区二区免费式芒果| 日本精品一区二区三区试看| 色综合久久久无码中文字幕| 欧美老妇与zozoz0交| 国产精品无码久久久久久久久作品| 精品一区二区三区牛牛| 中文字幕av伊人av无码av| a级毛片在线观看| 久久精品中文字幕久久| 成人av资源在线观看| 国产特黄级aaaaa片免| 免费不卡在线观看av| 伊人久久综合精品无码av专区| 人妻少妇精品视中文字幕国语| 青青草手机视频免费在线播放| 五月天中文字幕mv在线| 亚洲另类激情综合偷自拍图| 国产亚洲三级在线视频| 偷拍夫妻视频一区二区| 精品水蜜桃久久久久久久| 在线亚洲+欧美+日本专区| 五月婷婷丁香视频在线观看| 把女人弄爽特黄a大片| 国产亚洲精品久久久久久久久动漫| 国产日韩午夜视频在线观看| 东京热日本av在线观看| 欧美极品jizzhd欧美| 日韩精品欧美激情亚洲综合| 女同亚洲一区二区三区精品久久| 国产亚洲av看码精品永久| 麻豆成人精品国产免费| 久久精品国产一区二区蜜芽| 日本精品中文字幕人妻| 久久人妻av无码中文专区| 亚洲中文字幕无码久久| 国产精品电影久久久久电影网|