999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于定向模糊測試的軟件漏洞挖掘平臺的研究與設計

2019-01-18 01:11:46錢龍楊萌萌王理
網絡安全技術與應用 2019年1期

◆錢龍楊萌萌王理

?

基于定向模糊測試的軟件漏洞挖掘平臺的研究與設計

◆錢 龍1楊萌萌2王 理1

(1.信息工程大學 河南 450001;2.清華大學 北京 100000)

軟件安全問題追溯根源是因為安全漏洞的存在。模糊測試作為一種基于缺陷注入的自動化軟件測試技術,與許多其他漏洞挖掘技術相比,具備更智能更高效的特點,本文研究與設計的軟件漏洞挖掘平臺,在模糊測試技術的基礎上進行改進,能夠自動識別目標軟件的瓶頸分支,在提高代碼覆蓋率的同時,又加入了測試的定向性,測試結果表明,改進的平臺能夠幫助測試人員對特殊敏感區域的代碼進行定向測試,快速挖掘漏洞。

軟件安全;漏洞挖掘;模糊測試

0 引言

近年來,利用軟件漏洞進行的攻擊行為層出不窮,軟件安全作為網絡空間安全的重要分支,其意義也愈來愈重要。隨著人們對軟件安全問題關注度的不斷提升,漏洞挖掘逐漸成為安全圈的熱點研究內容。其中,模糊測試[1]利用隨機生成的樣本去挖掘軟件中的漏洞,相比其他漏洞挖掘技術更簡單,更高效。本文介紹的基于定向模糊測試的軟件漏洞挖掘平臺,在AFL(AmericanFuzzingLop)[2]測試技術的基礎上進行研究并改進,能夠自動識別目標軟件中瓶頸分支,在提高代碼覆蓋率的同時,又加入了測試的定向性,能夠幫助測試人員對特殊敏感區域的代碼實現定向測試,快速挖掘漏洞。

1 基于定向模糊測試的軟件漏洞挖掘平臺的主要研究內容

1.1 研究分析現有模糊測試技術現狀及不足

基于代碼覆蓋率的模糊測試[3]通過修改具有合法格式的輸入來生成新的測試輸入,該方法很少考慮輸入合法性,由于目標程序采用版本號、特殊字節、校驗和等檢查方式以防止惡意輸入對程序造成破壞,因此在實際測試中,僅有少數的變異輸入會執行程序控制流中更深層的代碼,間接影響了代碼覆蓋率[4]。作為衡量測試效率的一重要指標,代碼覆蓋率在一定程度上反映目標程序代碼執行的充分度。AFLfast[5]的研究工作者發現單純的通過增加測試輸入的數量來占用更多的計算、時間資源難以保證代碼覆蓋率的提高。Vuzzer[6]提取控制流與數據流特征來作為應用程序的基本特征,但該方法無法解決程序內存在校驗和檢查問題。隨著程序處理的數據類型不斷增多,數據格式規范愈加完善,所采用的校驗和算法復雜度也不斷提高。因而通過程序內部的檢測,間接提高模糊測試效率是一項重要挑戰。

1.2 自動識別瓶頸分支技術

針對如何提高代碼覆蓋率的問題,我們首先定義了目標程序控制流中具有特殊字節、校驗和等檢查功能的執行分支為瓶頸分支。為了自動識別瓶頸分支,該平臺在進行目標程序源碼編譯時,利用程序插樁技術將覆蓋率信息采集模塊植入被測程序。在測試過程中,該采集模塊將記錄控制流中每條分支被執行情況。測試結束后,瓶頸分支識別模塊利用程序靜態分析技術,同時結合運行時分支執行記錄結果,定位瓶頸分支。

1.3 定向模糊測試技術

該平臺利用距離計算模塊測量控制流中所有分支與瓶頸分支的相對距離,并將距離信息也插入目標程序。在定向測試過程中,根據輸入執行路徑上所有分支與瓶頸分支的平均距離,為該輸入動態分配能量,進而調整該輸入的變異次數,實現針對控制流中瓶頸分支的定向模糊測試。

2 基于定向模糊測試的軟件漏洞挖掘平臺的主要設計

該平臺主要包含四部分模塊,下面按照測試過程中執行順序介紹各模塊。

2.1 覆蓋率信息采集模塊

覆蓋率信息采集模塊主要基于AFL測試技術上改進,在進行目標源碼編譯時,該模塊在程序基本塊中插入分支信息采集指令,實現功能如圖1所示。

(1) cur_loc = ; 為當前基本塊分配隨機值(2) key = XOR(cur_loc ^ prev_loc); 計算當前執行分支鍵值key(3) shared_mem[key]++; 更新共享內存中該分支執行位圖(4) prev_loc = cur_loc >> 1; 將cur_loc值右移1位,參與后續分支鍵值計算

shared_mem數組存儲在64KB共享內存區域,數組中的元素代表執行分支在測試過程中被執行次數。為了不影響運行時測試效率,數組將在測試結束時被一次性記入文件中。

2.2 瓶頸分支定位模塊

瓶頸分支定位模塊基于IDA_Python實現,通過靜態分析獲取程序控制流,同時結合shared_mem信息,定位瓶頸分支。具體算法如圖2所示。

輸入1:Target_program輸入2:shared_mem(1) CFG(Target_program)->cfg; 獲取程序控制流(2) Get_loc(Target_program)->(loc); 獲取基本塊中隨機值(3) FOR(BB in cfg); 遍歷控制流中的每個基本塊IF BB have two son BB1,BB2; 判斷基本塊BB是否有兩個子節點BB1,BB2edge1=XOR((BB_loc>>1),BB1); 計算與兩個子節點之間分支鍵值edge2=XOR((BB_loc>>1),BB1);IF sharedd_mem[edge1]>>shared_mem[edge2] 分支1執行頻率遠大于or sharedd_mem[edge1]<

2.3 距離度量模塊

距離度量模塊將以瓶頸分支作為目標,計算控制流中每條分支到目標分支的所有路徑的平均距離。在這里我們定義兩條分支E1, E2之間的距離為E1到E2之間的分支個數。

2.4 定向模糊測試模塊

定向模糊測試模塊將距離信息插入目標程序,同時采用AFLGO[7]的逼近思想,利用模擬退火算法根據測試輸入執行路徑情況為其分配能量,具體策略如圖3所示。AFLGO測試目標為基本塊,而該平臺性能更佳,測試目標為瓶頸分支,同時也可以將若干相鄰分支組合作為測試目標,極大地通過定向策略提高代碼覆蓋率。

(1) REPEAT(2) input=CHOOSE(isInteresting_queue); 從測試隊列中按順序選取輸入(3) P = ASSIGN_ENERGY(input); 根據測試輸入執行情況為其分配能量P(4) for i from 1 to P; 對測試輸入執行P次變異(5) input’=MUTATE(input);(6) if Target_program crashes;(7) ADD input’ to crash_queue;(8) else if isInteresting(input’);(9) ADD seed’s to isInteresting_queue;(10)end if(11) end for

3 基于定向模糊測試的軟件漏洞挖掘平臺的創新點

(1)自動識別瓶頸分支

本平臺在對目標程序擁有零知識的前提下,充分把握了瓶頸分支運行時特征,在AFL輕量級插樁基礎上進行改進,在不影響運行時效率的前提下記錄覆蓋率信息,同時利用靜態分析相結合的策略自動識別瓶頸分支。

(2)針對瓶頸分支定向模糊測試以提高代碼覆蓋率

基于覆蓋率的模糊測試以能否提高代碼覆蓋率為性能標準。本平臺定位瓶頸分支為待測目標,并對瓶頸分支及后續分支實施定向測試,在提高代碼覆蓋率的同時減少無關分支測試,節省了計算資源,縮短了漏洞發現時耗。

4 實驗結果

(1)樣本程序測試

我們采用Docker技術將該平臺搭建在Ubuntu操作系統中,為了驗證該平臺針對瓶頸分支測試的有效性,我們最初編寫三個目標程序樣本,并在代碼中分別加入一種程序檢查方式:特殊字節校驗、文件大小識別以及校驗和檢查,同時在每個樣本中植入一個已知漏洞。同時采用AFL作為測試基準進行比較。

考慮到模糊測試隨機性特征[8],我們共進行30次獨立測試,每次測試8小時,使用相同初始輸入。如圖4所示,在針對特殊字節樣本測試中,該平臺在平均時長1-2小時便可觸發漏洞,而AFL需要4-5小時。

圖4 針對特殊字節識別樣本測試對比

而在針對文件大小檢查樣本的測試中,該平臺需要3-4小時,而AFL需要6-7小時,如圖5所示。

圖5 針對文件大小檢查樣本測試對比

圖6所示,針對算法更復雜,檢查更嚴格的校驗和檢查樣本,AFL沒有在預定時間內觸發漏洞,而我們平臺需要6-7小時。

圖6 針對校驗和檢查樣本的測試對比

(2)真實程序測試

為了檢驗該平臺在實際環境中的測試性能,我們還對五款常用真實程序pngfix,tiffinfo,magick,tcpflow, tiffset最新版本進行測試,同時采用AFL作對比,進行30次獨立測試,每次測試24小時,取單次最佳測試結果,如表1所示,表格中數值為測試過程中發現的unique crash數量。對比中發現,該平臺在相同測試時間內,漏洞挖掘效率高于AFL。

表1 真實程序測試效果

5 結論

基于定向模糊測試的軟件漏洞挖掘平臺通過輕量級程序插樁與靜態分析相結合的方法,自動識別瓶頸分支,同時又加入了測試的定向性。實驗結果表明該平臺在提高代碼覆蓋率的同時還能觸發更深層次程序路徑中的漏洞,在未來漏洞挖掘工作中,該平臺對幫助測試人員解決瓶頸分支導致代碼覆蓋率受限,快速挖掘深層代碼中潛在漏洞具有極大幫助。

[1]李紅輝,齊佳,劉峰,楊芳南.模糊測試技術研究.中國科學 : 信息科學2014年 第44卷 第10期 :1305–1322.

[2]Michal Zalewski. American fuzzy lop[EB/OL]. http://lcamtuf.coredump.cx/afl/.

[3]Wu Z Y, Wang H C, Sun L C, et al. Survey on Fuzzing. Appl Res Comput, 2010: 830–831 吳志勇, 王紅川, 孫樂昌,等. Fuzzing 技術綜述. 計算機應用研究, 2010: 830–831].

[4]Wang T,Wei T,Gu G,et al.Taintscope:A A survey of coverage directed fuzzing tool for automatic software vulnerability detection[C]//Security and privacy (SP),2010 IEEE symposium on.[S.l.]:IEEE,2010:497􀌢512.

[5]B?hme M,Pham V T,Roychoudhury A.Coverage-based greybox fuzzing as markov chain [C]//Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security.[S.l.]:ACM,2016:1032–1043.

[6]Rawat S,Jain V,Kumar A,et al.Vuzzer:Application-aware evolutionary fuzzing[C]//Proceedings of the Network and Distributed System Security Symposium (NDSS).[S.l.:s.n.], 2017.

[7]B?hme M,Pham V T,Nguyen M D,et al.Directed greybox fuzzing[C]//Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security (CCS17).[S.l.: s.n.],2017.

[8]George Klees, Andrew Ruef, Benji Cooper,Shiyi Wei,and Michael Hicks.2018.Evaluating Fuzz Testing.ACM SIGSAC Conference on Computer and Communications Security (CCS 18).

清華大學NISL實驗室:基于學習的智能化漏洞挖掘關鍵技術研究。

主站蜘蛛池模板: 国产18页| 伊人精品视频免费在线| 在线观看国产精品第一区免费| 国产伦精品一区二区三区视频优播| 四虎永久在线精品影院| 欧洲欧美人成免费全部视频 | 亚洲va视频| 五月天天天色| 黄色污网站在线观看| 亚洲码一区二区三区| 国产欧美亚洲精品第3页在线| 欧美成人午夜在线全部免费| 久久鸭综合久久国产| 亚洲专区一区二区在线观看| 国产成人亚洲毛片| 国产精品尤物在线| 亚洲一区二区约美女探花 | 国产又色又爽又黄| 国产大片喷水在线在线视频| 亚洲成人高清在线观看| 中文字幕资源站| aⅴ免费在线观看| 一级高清毛片免费a级高清毛片| 亚洲女同一区二区| 国产在线观看高清不卡| 香蕉久久国产精品免| 国产乱子伦精品视频| 青青青视频免费一区二区| 国产91视频观看| 午夜精品久久久久久久99热下载 | 婷婷六月综合网| 午夜色综合| 久久香蕉国产线| 久青草国产高清在线视频| a毛片在线播放| 国产欧美在线视频免费| 亚洲国产欧美中日韩成人综合视频| 精品无码人妻一区二区| 色综合久久无码网| 国产欧美一区二区三区视频在线观看| 伦伦影院精品一区| 丁香六月激情综合| 国产精品短篇二区| 国产精品视频公开费视频| 高清精品美女在线播放| 亚洲无码37.| 亚洲无码熟妇人妻AV在线| 国产在线无码一区二区三区| 久久黄色视频影| 国产综合精品一区二区| 国产成人高清精品免费软件| 亚洲成a人片在线观看88| 亚洲精品片911| 国产高清在线丝袜精品一区| 一区二区三区在线不卡免费| 欧美亚洲日韩中文| 丰满人妻被猛烈进入无码| 国产精品三级专区| 欧美中文字幕无线码视频| 无码AV日韩一二三区| 国产精品蜜芽在线观看| 亚洲欧美日韩天堂| 欧美激情二区三区| 国产成人一级| 99一级毛片| 日韩无码黄色| 国产剧情无码视频在线观看| 在线观看亚洲天堂| 久久99蜜桃精品久久久久小说| 九九免费观看全部免费视频| 九月婷婷亚洲综合在线| 一级香蕉人体视频| 永久免费无码成人网站| 婷婷中文在线| 国产性生交xxxxx免费| 国产亚洲欧美在线中文bt天堂| 在线人成精品免费视频| 国产午夜福利在线小视频| 亚洲精选高清无码| 成人年鲁鲁在线观看视频| 狠狠操夜夜爽| 亚洲婷婷在线视频|