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

        ?

        基于Fuzzing的網(wǎng)絡(luò)協(xié)議漏洞挖掘技術(shù)研究

        2021-09-29 07:10:14尹譽(yù)衡
        微型電腦應(yīng)用 2021年9期
        關(guān)鍵詞:分析

        尹譽(yù)衡

        (華北計(jì)算技術(shù)研究所, 北京 100089)

        0 引言

        互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,不僅使得計(jì)算機(jī)網(wǎng)絡(luò)成為人們工作和生活不可或缺的部分,也使得針對(duì)互聯(lián)網(wǎng)的網(wǎng)絡(luò)攻擊不斷增多[1]。但由于各種原因,如網(wǎng)絡(luò)協(xié)議本身在設(shè)計(jì)和實(shí)現(xiàn)時(shí)比較復(fù)雜,程序的開發(fā)人員使用網(wǎng)絡(luò)協(xié)議進(jìn)行程序處理時(shí)可能會(huì)設(shè)立不合適的假設(shè)前提及進(jìn)行不適當(dāng)?shù)倪壿嬏幚韀2],安全工作者時(shí)常會(huì)發(fā)現(xiàn)與網(wǎng)絡(luò)程序相關(guān)的漏洞。

        網(wǎng)絡(luò)程序漏洞種類豐富,難以防御,再加上這類病毒具備依托于網(wǎng)絡(luò)進(jìn)行傳播的特性,所造成的損失也是十分巨大的。2003年,在Windows系統(tǒng)之間散播的沖擊波蠕蟲病毒至少攻擊了全球80%的Windows用戶[3],2007年,被具有強(qiáng)大破壞能力的熊貓燒香病毒感染的個(gè)人用戶高達(dá)幾百萬,惡意攻擊者利用網(wǎng)絡(luò)對(duì)互聯(lián)網(wǎng)上的設(shè)備發(fā)動(dòng)遠(yuǎn)程攻擊,規(guī)模巨大,直接影響到了整個(gè)互聯(lián)網(wǎng)的安危[4]。

        為了降低網(wǎng)絡(luò)攻擊對(duì)互聯(lián)網(wǎng)的影響,安全從業(yè)者應(yīng)當(dāng)及時(shí)挖出漏洞,并發(fā)布補(bǔ)丁,保障網(wǎng)絡(luò)世界的安全,這對(duì)互聯(lián)網(wǎng)的良好發(fā)展有著十分深遠(yuǎn)的意義。

        本文重點(diǎn)研究了基于Fuzzing的網(wǎng)絡(luò)協(xié)議漏洞挖掘技術(shù),采用對(duì)智能工具Sulley進(jìn)行改進(jìn)的方法,設(shè)計(jì)了變異規(guī)則和系統(tǒng)構(gòu)成,對(duì)FTP協(xié)議進(jìn)行Fuzzing測(cè)試,通過搭建模擬環(huán)境進(jìn)行實(shí)驗(yàn)證明了該方法的有效性。

        1 網(wǎng)絡(luò)協(xié)議分析技術(shù)研究

        對(duì)網(wǎng)絡(luò)協(xié)議進(jìn)行分析是網(wǎng)絡(luò)協(xié)議漏洞挖掘中的重要一環(huán)[5],通常采用截獲網(wǎng)絡(luò)通信流量,分析網(wǎng)絡(luò)數(shù)據(jù)包,進(jìn)而分析網(wǎng)絡(luò)協(xié)議,挖掘網(wǎng)絡(luò)協(xié)議漏洞的方法,對(duì)網(wǎng)絡(luò)協(xié)議進(jìn)行漏洞挖掘。其步驟如下。

        (1) 獲取測(cè)試目標(biāo)的通信流量。在截獲流量后,可以通過改變輸入過程中的一項(xiàng)或幾項(xiàng)重要參數(shù),發(fā)送給測(cè)試目標(biāo),觀察測(cè)試結(jié)果。這種改變流量的方式對(duì)網(wǎng)絡(luò)協(xié)議結(jié)構(gòu)的分析會(huì)起到很重要的作用,尤其是對(duì)未公開的協(xié)議[6],比如可以通過改變用戶名和密碼等輸入?yún)?shù)來改變流量,從而分析協(xié)議。

        (2) 流量分類。在對(duì)流量進(jìn)行分類時(shí),通常會(huì)按照流量的功能不同來對(duì)流量分類。一般來說,基本功能大致相同的函數(shù)所生成的網(wǎng)絡(luò)流量通常會(huì)是比較相似的,所以在進(jìn)行網(wǎng)絡(luò)協(xié)議分析時(shí),是可以按照流量的功能來對(duì)流量進(jìn)行分類的。

        (3) 分層分析。TCP/IP協(xié)議中的傳輸層記錄的是端口信息,通常是固定的,可以作為流量識(shí)別的特征,但是P2P類型的軟件,使用端到端的流量傳輸方式,就不能將端口作為識(shí)別特征。不同的軟件在進(jìn)行傳輸?shù)倪^程中通常會(huì)在應(yīng)用層才體現(xiàn)出差別,通過分析應(yīng)用層協(xié)議報(bào)文,獲取流量指紋特征并加以分類,就可以更好地區(qū)別軟件,所以實(shí)際上分析網(wǎng)絡(luò)協(xié)議相當(dāng)于分析應(yīng)用層協(xié)議。

        2 Fuzzing技術(shù)研究

        2.1 Fuzzing技術(shù)原理

        Fuzzing技術(shù)是一種快速有效發(fā)現(xiàn)程序漏洞的方法,通過在程序外部輸入非常規(guī)數(shù)據(jù)引起程序崩潰,并跟蹤程序執(zhí)行輸入的過程,挖掘引發(fā)程序崩潰的漏洞[7]。但是在網(wǎng)絡(luò)協(xié)議漏洞挖掘過程中,如果采用變異的用例生成方法,通常會(huì)面臨測(cè)試用例無法通過校驗(yàn)的情況,從而導(dǎo)致大量的用例無法使用,造成時(shí)間和資源上的浪費(fèi)[8]。目前Fuzzing在漏洞挖掘領(lǐng)域中被廣泛應(yīng)用,比如通過構(gòu)造畸形數(shù)據(jù)的文件對(duì)文件操作軟件進(jìn)行Fuzzing,從而發(fā)現(xiàn)文件操作軟件的漏洞。

        與其他的漏洞挖掘方法如代碼審計(jì)、靜態(tài)分析、動(dòng)態(tài)分析等相比,F(xiàn)uzzing有許多其他方法不具備的優(yōu)點(diǎn)[9]:(1)Fuzzing可以是一種黑盒測(cè)試方法,不需要源代碼即可對(duì)軟件進(jìn)行分析;(2)Fuzzing的使用可以不用關(guān)心被測(cè)對(duì)象的實(shí)現(xiàn)語言、運(yùn)行平臺(tái)等細(xì)節(jié)。(3)Fuzzing的可重用性較好 , 一個(gè)測(cè)試用例可用于多個(gè)同類型對(duì)象。

        2.2 Fuzzing技術(shù)步驟

        Fuzzing技術(shù)步驟如圖1所示。

        圖1 Fuzzing步驟

        (1) 確定測(cè)試對(duì)象。確定了測(cè)試對(duì)象后才能選擇測(cè)試方法和工具,對(duì)于測(cè)試對(duì)象,需要明確是否開源、是否掌握測(cè)試對(duì)象的輸入輸出格式、是否有已知漏洞、已知漏洞的觸發(fā)方式和觸發(fā)點(diǎn)等信息。

        (2) 確定測(cè)試對(duì)象的輸入。通常要觸發(fā)目標(biāo)軟件的漏洞,就需要構(gòu)造非預(yù)期的輸入數(shù)據(jù),當(dāng)目標(biāo)沒有對(duì)輸入進(jìn)行有效的檢驗(yàn)或是沒有相應(yīng)的適當(dāng)錯(cuò)誤處理時(shí),就會(huì)引起目標(biāo)軟件出錯(cuò)。Fuzzing是一個(gè)構(gòu)造非預(yù)期輸入來測(cè)試目標(biāo)軟件的過程,要想高效地進(jìn)行Fuzzing,就需要構(gòu)造有針對(duì)性的數(shù)據(jù)輸入,減少無效測(cè)試的次數(shù),提高Fuzzing的效率。

        (3) 生成測(cè)試數(shù)據(jù)[10]。根據(jù)用例生成采用的不同算法可分為兩類生成方法:基于變異的方法和基于生成的方法?;谧儺惖乃惴ㄊ侵竿ㄟ^特定的算法按照一定的規(guī)則修改樣本中的某些數(shù)據(jù),生成一批非常規(guī)的樣本,而基于生成的算法則是不需要合法樣本就自動(dòng)生成一些非常規(guī)的數(shù)據(jù)樣本,這個(gè)生成過程通常采用自動(dòng)化的方式生成。

        (4) 執(zhí)行測(cè)試數(shù)據(jù)。通常情況下,執(zhí)行完Fuzzing用例生成的過程就會(huì)立即執(zhí)行Fuzzing執(zhí)行的過程,所以通常會(huì)以自動(dòng)化方法實(shí)現(xiàn)用例執(zhí)行的過程。如果采用手動(dòng)執(zhí)行的方式,不僅工作量巨大費(fèi)時(shí)費(fèi)力,還容易出現(xiàn)誤差。

        (5) 監(jiān)視異常。異常檢測(cè)是在Fuzzing過程中,軟件執(zhí)行輸入數(shù)據(jù)后,檢測(cè)目標(biāo)軟件的執(zhí)行情況,跟蹤軟件是否崩潰,是否拋出異常,記錄所有異常信息的過程。

        (6) 分析測(cè)試結(jié)果。根據(jù)異常信息進(jìn)行人工分析。

        3 系統(tǒng)設(shè)計(jì)

        3.1 總體設(shè)計(jì)

        系統(tǒng)設(shè)計(jì)是基于智能測(cè)試工具Sulley進(jìn)行的,通過對(duì)Sulley對(duì)網(wǎng)絡(luò)協(xié)議進(jìn)行Fuzzing的改進(jìn)和擴(kuò)展,開發(fā)了一種針對(duì)FTP[11]協(xié)議的模糊器。首先通過變異器生成輸入數(shù)據(jù),通過流量截獲模塊截獲流量數(shù)據(jù)包,再通過數(shù)據(jù)包分析模塊分析網(wǎng)絡(luò)協(xié)議,確定數(shù)據(jù)入口,最后通過會(huì)話管理模塊連接目標(biāo),開始Fuzzing測(cè)試。系統(tǒng)架構(gòu)如圖2所示。

        圖2 系統(tǒng)架構(gòu)

        3.2 功能模塊設(shè)計(jì)

        流量截獲模塊:針對(duì)網(wǎng)絡(luò)協(xié)議的漏洞挖掘,需要有原始的數(shù)據(jù)包作為樣本進(jìn)行分析。設(shè)計(jì)流量截獲模塊,通過tcpdump和wireshark等工具獲取FTP客戶端與服務(wù)器之間的通信流量。

        數(shù)據(jù)包分析模塊:流量獲取之后內(nèi)容繁多,需要對(duì)流量進(jìn)行清洗,分析有效字段,確定協(xié)議數(shù)據(jù)輸入入口。

        數(shù)據(jù)生成模塊:相較于基于生成的測(cè)試用例生成方法生成的測(cè)試用例,基于網(wǎng)絡(luò)協(xié)議通信數(shù)據(jù)進(jìn)行變異的測(cè)試用例可以更有效地發(fā)現(xiàn)漏洞。因此在分析網(wǎng)絡(luò)數(shù)據(jù)包的基礎(chǔ)上,對(duì)輸入樣例進(jìn)行字符變異和寬度變異操作,從而獲得所需的測(cè)試用例。

        會(huì)話管理模塊:該模塊從數(shù)據(jù)生成模塊處獲取測(cè)試用例,將其作為輸入發(fā)送給服務(wù)端,從而引起服務(wù)端的錯(cuò)誤。

        3.3 變異器的設(shè)計(jì)與實(shí)現(xiàn)

        變異器的作用是分別對(duì)網(wǎng)絡(luò)協(xié)議中數(shù)值類型和字符串類型的協(xié)議字段進(jìn)行變異和模糊處理,在具體設(shè)計(jì)中為了確保Fuzzing的有效性,需要重點(diǎn)考慮模糊次數(shù)的有限性。

        (1) 數(shù)值模糊的方法

        數(shù)值模糊是指根據(jù)協(xié)議中的數(shù)值字段的初始值來確定變異范圍。比如,數(shù)值字段的初始是200,那么變異范圍在初始值-100和+100的范圍內(nèi),即在閉區(qū)間[100,300]內(nèi)取值。

        實(shí)現(xiàn)的方法步驟如下。

        1) 根據(jù)數(shù)值字段初始值V,確定變異范圍 [V-100,V+100];

        2) 確定變異函數(shù)y=logax+b;其中,a和b使用偽隨機(jī)算法獲得,以確保變異策略多次運(yùn)行可產(chǎn)生不同的變異值。

        3) 通過已確定的變異函數(shù),使用變異范圍[V-100,V+100]的邊界值V-100、V+100和式x=ay-b計(jì)算x的取值范圍[X1,Xn]。

        4) 根據(jù)設(shè)定的變異次數(shù)C={5,10,50,100},計(jì)算x在[X1,Xn]范圍內(nèi)的取值。例如,C=5,計(jì)算步徑L=[Xn-X1]/5,那么x的取值分別是{X1,X1+L,X1+2L,X1+4L,Xn}。

        5) 最后根據(jù)確定的變異函數(shù),計(jì)算y值,即為最后的變異值。

        使用對(duì)數(shù)函數(shù)的取值方法可保證模糊數(shù)據(jù)具有一定的變化速度和覆蓋寬度。

        (2) 字符串變異方法

        字符串變異方法主要采取字符替換和寬度變換,或?qū)煞N方式結(jié)合使用的方式模糊已知的初始字符串。

        字符替換需要基于樣本文件來實(shí)現(xiàn),通常測(cè)試工具自帶樣本文件,測(cè)試人員也可以自備樣本文件。字符替換變異測(cè)試用例生成操作過程,如圖3所示。

        圖3 字符替換變異流程

        例如,初始字符串值S1為“AABBCC1234”,自定義變異樣本S2為{“%”,“&”,“#”,“@*”,“000”,“233”},跳變長(zhǎng)度L為3,迭代次數(shù)N為4。變異器生成隨機(jī)值S2_N(假設(shè)為2),并從變異樣本S2中先后隨機(jī)抽取S2_N次值如“#”“%”將初始值替換為“#AB%CC#23%”,再將迭代次數(shù)減1,則再迭代3次,最終得到變異字符串。

        寬度變異指將初始字符串的長(zhǎng)度翻倍,倍數(shù)由測(cè)試人員確定,例如,初始字符串為“AABBCC”,設(shè)定長(zhǎng)度倍數(shù)是3,則生成的變異字符串為“AABBCCAABBCC”。

        當(dāng)需要將字符變異和寬度變異兩種方式結(jié)合的時(shí)候,默認(rèn)先進(jìn)行寬度變異,再進(jìn)行長(zhǎng)度變異。

        4 實(shí)驗(yàn)分析

        本文采用一種基于Fuzzing的網(wǎng)絡(luò)協(xié)議漏洞挖掘方法,通過對(duì)Sulley智能工具進(jìn)行改進(jìn),以FTP服務(wù)器作為實(shí)驗(yàn)對(duì)象,對(duì)FTP協(xié)議進(jìn)行漏洞挖掘,實(shí)現(xiàn)了FTP的漏洞挖掘系統(tǒng)。

        實(shí)驗(yàn)測(cè)試對(duì)象為Uplus FTP Server。Uplus FTP Server是一款FTP文件服務(wù)端軟件,支持標(biāo)準(zhǔn)的FTP協(xié)議,提供FTP文件傳輸服務(wù),運(yùn)行平臺(tái)為Windows系列操作系統(tǒng)。

        測(cè)試環(huán)境安裝在虛擬機(jī)上,使用兩臺(tái)安裝了Windows7操作系統(tǒng)的虛擬機(jī),一臺(tái)作為服務(wù)端,一臺(tái)作為客戶端。

        4.1 安裝環(huán)境

        在服務(wù)端正常安裝并配置啟動(dòng)Uplus FTP Server,開放端口21。使用終端窗口連接服務(wù)端,如圖4、圖5所示。

        圖4 FTP服務(wù)端開啟

        圖5 FTP客戶端連接

        4.2 測(cè)試用例生成

        根據(jù)圖3所示的系統(tǒng)架構(gòu),在理解FTP規(guī)范的基礎(chǔ)上,首先截獲FTP協(xié)議通信流量,再通過數(shù)據(jù)包分析模塊提取FTP流量,根據(jù)協(xié)議格式拆分?jǐn)?shù)據(jù)包,提取原始輸入集,確定數(shù)據(jù)輸入入口,最后根據(jù)設(shè)定的變異規(guī)則使用數(shù)據(jù)生成模塊來對(duì)輸入進(jìn)行變異,生成測(cè)試數(shù)據(jù)集。FTP數(shù)據(jù)報(bào)文格式如圖6所示。

        圖6 FTP數(shù)據(jù)包報(bào)文格式

        4.3 執(zhí)行測(cè)試并記錄結(jié)果

        啟動(dòng)Uplus FTP Server,使用終端連接服務(wù)器,執(zhí)行測(cè)試用例。本次實(shí)驗(yàn)使用mkdir和delete兩個(gè)命令分別進(jìn)行3次實(shí)驗(yàn),執(zhí)行成功后結(jié)果將返回至客戶端,記錄到日志中。

        4.4 測(cè)試結(jié)果觀察

        日志結(jié)果記錄如圖7所示。

        圖7 日志結(jié)果記錄

        從日志中可以觀察到,mkdir命令有失敗記錄,輸入的測(cè)試用例是200個(gè)“A”?;诖耍謩?dòng)構(gòu)造寬度變異測(cè)試用例,進(jìn)行多次實(shí)驗(yàn),得出以下結(jié)論:測(cè)試用例長(zhǎng)度超過400個(gè)字節(jié)時(shí),被測(cè)目標(biāo)返回“拒絕訪問”;測(cè)試用例長(zhǎng)度超過4 000個(gè)字節(jié)時(shí),被測(cè)目標(biāo)不再返回響應(yīng)碼,停止工作。

        5 總結(jié)

        本文首先介紹了網(wǎng)絡(luò)攻擊的危害性和進(jìn)行網(wǎng)絡(luò)協(xié)議漏洞挖掘的重要性。然后對(duì)網(wǎng)絡(luò)協(xié)議分析技術(shù)和Fuzzing技術(shù)進(jìn)行了研究。第三部分設(shè)計(jì)了一種基于Sulley進(jìn)行改造的Fuzzing測(cè)試系統(tǒng),設(shè)計(jì)了各部分的功能模塊。最后通過對(duì)FTP服務(wù)器的測(cè)試,證明了該方法的有效性和正確性。今后將加強(qiáng)對(duì)未知和加密協(xié)議格式自動(dòng)識(shí)別方法的研究,一方面通過基于數(shù)據(jù)流的協(xié)議格式分析技術(shù)來獲取未知協(xié)議的格式,以作為Fuzzing輸入來對(duì)未知格式的網(wǎng)絡(luò)協(xié)議進(jìn)行漏洞挖掘,另一方面,利用中間人攻擊和CA證書偽造技術(shù)的共同作用,對(duì)加密協(xié)議的原報(bào)文進(jìn)行讀取與解密,從而實(shí)現(xiàn)對(duì)加密協(xié)議的協(xié)議格式分析。通過分析未知格式協(xié)議和加密協(xié)議,提高系統(tǒng)的使用覆蓋面,從而加強(qiáng)系統(tǒng)的智能化和自動(dòng)化程度。

        猜你喜歡
        分析
        禽大腸桿菌病的分析、診斷和防治
        隱蔽失效適航要求符合性驗(yàn)證分析
        電力系統(tǒng)不平衡分析
        電子制作(2018年18期)2018-11-14 01:48:24
        電力系統(tǒng)及其自動(dòng)化發(fā)展趨勢(shì)分析
        經(jīng)濟(jì)危機(jī)下的均衡與非均衡分析
        對(duì)計(jì)劃生育必要性以及其貫徹實(shí)施的分析
        GB/T 7714-2015 與GB/T 7714-2005對(duì)比分析
        出版與印刷(2016年3期)2016-02-02 01:20:11
        網(wǎng)購(gòu)中不良現(xiàn)象分析與應(yīng)對(duì)
        中西醫(yī)結(jié)合治療抑郁癥100例分析
        偽造有價(jià)證券罪立法比較分析
        中文字幕乱码人妻无码久久麻豆| 日本熟妇人妻xxxx| 国产乱子伦农村xxxx| 人妻去按摩店被黑人按中出 | 伊人久久精品久久亚洲一区 | 久久精品国产亚洲av天美| 国产裸体美女永久免费无遮挡 | 香港日本三级亚洲三级| 2021年国产精品每日更新| 中文字幕一区二区三区喷水| av免费播放网站在线| 亚洲av永久精品爱情岛论坛| 欧美精品中文字幕亚洲专区| 亚洲性码不卡视频在线| 日本人妻免费在线播放| 日韩吃奶摸下aa片免费观看| 最新无码国产在线播放| 国产精品黄页免费高清在线观看| 国产高颜值女主播在线| 人妻精品动漫h无码网站| 国产99页| 亚洲中文字幕乱码在线观看| а√天堂8资源中文在线| 精品人妻系列无码一区二区三区| 欧洲亚洲色一区二区色99| 人妻精品久久一区二区三区| 在线看无码的免费网站| 国产极品美女高潮无套在线观看| 国产综合一区二区三区av| 男女交射视频免费观看网站| 亚洲av无码一区二区三区观看| 国产精品久久久久久久久免费观看| 日韩激情av不卡在线| 狠狠色丁香婷婷综合潮喷| 少妇白浆高潮无码免费区| 国产精品一区二区AV不卡| 国产日产桃色精品久久久| 国产女主播精品大秀系列| 亚洲免费av电影一区二区三区| h视频在线观看视频在线| 欧洲熟妇色|