演講嘉賓 | 張 超
回顧整理 | 廖 濤
排版校對(duì) | 李萍萍

嘉賓簡(jiǎn)介
張超,博士,清華大學(xué)網(wǎng)絡(luò)研究院副院長(zhǎng),長(zhǎng)聘副教授,華為冠名教授,藍(lán)蓮花戰(zhàn)隊(duì)教練,CCF杰出會(huì)員。曾獲得清華大學(xué)學(xué)術(shù)新人獎(jiǎng)、國(guó)家級(jí)青年人才、MIT TR35 China、求是杰出青年學(xué)者、中國(guó)科協(xié)青托等獎(jiǎng)勵(lì)和榮譽(yù)。兼任中國(guó)青年科技工作者協(xié)會(huì)理事、中國(guó)指揮與控制學(xué)會(huì)理事、中國(guó)人工智能學(xué)會(huì)人工智能與安全專(zhuān)委會(huì)常務(wù)委員、中國(guó)計(jì)算機(jī)學(xué)會(huì)218Club執(zhí)行委員等。主要研究軟件和系統(tǒng)安全,尤其是智能漏洞攻防方向。主持承擔(dān)國(guó)家重點(diǎn)研發(fā)計(jì)劃等20多個(gè)項(xiàng)目。研究成果獲得騰訊安全探索論壇突破獎(jiǎng)、微軟BlueHat防御競(jìng)賽特別提名獎(jiǎng)、華為優(yōu)秀合作獎(jiǎng),研發(fā)的自動(dòng)攻防系統(tǒng)獲得美國(guó)國(guó)防部DARPA CGC機(jī)器自動(dòng)攻防競(jìng)賽初賽防御第一、決賽攻擊第二。
內(nèi)容來(lái)源
第一屆開(kāi)放原子開(kāi)源基金會(huì)OpenHarmony技術(shù)峰會(huì)——安全及機(jī)密計(jì)算分論壇
視頻回顧
打開(kāi) 嗶哩嗶哩APP 搜索 OpenHarmony-TSC 視頻更清晰
正 文 內(nèi) 容
漏洞的存在給用戶(hù)帶來(lái)了嚴(yán)峻的安全風(fēng)險(xiǎn)。漏洞層出不窮,一個(gè)小小的安全漏洞卻足以攪動(dòng)整個(gè)軟件或互聯(lián)網(wǎng)產(chǎn)業(yè)發(fā)生地震。目前,漏洞從被初始發(fā)現(xiàn)到被預(yù)警和治理仍存在較大空檔期,該空檔期為黑客攻擊提供了便利條件。系統(tǒng)軟件漏洞挖掘是保障網(wǎng)絡(luò)安全的重要一環(huán),目前有哪些挑戰(zhàn)和應(yīng)對(duì)方案呢?清華大學(xué)長(zhǎng)聘副教授、博導(dǎo),藍(lán)蓮花戰(zhàn)隊(duì)教練張超在第一屆OpenHarmony技術(shù)峰會(huì)上分享了精彩觀點(diǎn)。

01?
網(wǎng)絡(luò)安全與漏洞挖掘
漏洞是網(wǎng)絡(luò)空間重要安全威脅,攻擊者可以利用漏洞來(lái)執(zhí)行各種攻擊,例如拒絕服務(wù)攻擊、遠(yuǎn)程執(zhí)行代碼攻擊、身份驗(yàn)證繞過(guò)攻擊等。比較著名的由漏洞造成的網(wǎng)絡(luò)安全攻擊事件有震網(wǎng)病毒 (伊朗核設(shè)施)、電網(wǎng)斷電(烏克蘭)、WannaCry (香菇勒索軟件,150+國(guó)家)、MIRAI 僵尸網(wǎng)絡(luò)、幽靈、熔斷(CPU)等。
漏洞挖掘技術(shù)的發(fā)展歷史可以分為4個(gè)階段:(1)人工審計(jì):通過(guò)人工進(jìn)行源代碼審計(jì)、逆向工程,基于經(jīng)驗(yàn)規(guī)則來(lái)挖掘漏洞,但是依賴(lài)經(jīng)驗(yàn)且無(wú)法擴(kuò)展;(2)規(guī)則掃描:通過(guò)靜態(tài)分析、符號(hào)執(zhí)行和模型檢驗(yàn)等手段,依據(jù)定制規(guī)則掃描漏洞,誤報(bào)概率高且可擴(kuò)展性差;(3)動(dòng)態(tài)測(cè)試:從攻擊者的角度出發(fā),通過(guò)隨機(jī)畸形測(cè)試?yán)?a href="http://m.makelele.cn/analog/" target="_blank">模擬攻擊者構(gòu)造輸入等手段觸發(fā)漏洞,漏報(bào)概率高且覆蓋率低;(4)智能挖掘:通過(guò)知識(shí)與數(shù)據(jù)驅(qū)動(dòng)、遺傳進(jìn)化算法等手段,智能引導(dǎo)漏洞挖掘方向,能夠更好地應(yīng)對(duì)層出不窮的新型漏洞以及大型復(fù)雜軟件系統(tǒng)的應(yīng)用場(chǎng)景,并且可以減少人力的投入以及由于人工主觀性、分析不完備帶來(lái)的誤報(bào)和漏報(bào)。

02?
智能模糊測(cè)試方案
模糊測(cè)試作為一種自動(dòng)化動(dòng)態(tài)測(cè)試方法,向系統(tǒng)注入非法、畸形或非預(yù)期的輸入,以揭示軟件缺陷和漏洞。模糊測(cè)試是當(dāng)前漏洞挖掘的主要技術(shù),有助于發(fā)現(xiàn)系統(tǒng)中的未知漏洞和弱點(diǎn),防止?jié)撛诘牧闳展?。然而,僅靠模糊測(cè)試無(wú)法全面了解整個(gè)安全威脅或bug,且在漏洞隱藏較深的場(chǎng)景下模糊測(cè)試的效果并不好。
模糊測(cè)試過(guò)程可以看做一種搜索問(wèn)題,目標(biāo)是在無(wú)窮的測(cè)試?yán)臻g中尋找符合條件的測(cè)試?yán)茨軌蛴|發(fā)漏洞的輸入),可以使用優(yōu)化算法來(lái)提升效率。其中,遺傳算法是一種基于生物進(jìn)化原理的優(yōu)化算法,模擬了自然界中的遺傳、變異、適應(yīng)和選擇等過(guò)程,通過(guò)不斷地迭代和優(yōu)化,尋找最優(yōu)解或次優(yōu)解。將遺傳算法與模糊測(cè)試結(jié)合的智能模糊測(cè)試方案,通過(guò)測(cè)試?yán)Y選、進(jìn)化,在漏洞挖掘上取得了很好的效果,也吸引了許多領(lǐng)域內(nèi)的專(zhuān)家學(xué)者進(jìn)行相關(guān)研究。

在智能模糊測(cè)試的研究上,張超教授所在團(tuán)隊(duì)從知識(shí)驅(qū)動(dòng)、數(shù)據(jù)驅(qū)動(dòng)以及混合技術(shù)三個(gè)維度進(jìn)行改進(jìn)設(shè)計(jì),具體如下:
2.1??
知識(shí)驅(qū)動(dòng)
模糊測(cè)試搜索測(cè)試?yán)龝r(shí)存在較大隨機(jī)性,例如通過(guò)隨機(jī)的方式對(duì)測(cè)試?yán)M(jìn)行變異,導(dǎo)致搜索過(guò)程具有一定的盲目性。基于專(zhuān)家知識(shí)進(jìn)行驅(qū)動(dòng),可以引導(dǎo)模糊測(cè)試往特定的方向搜索,可以有效提升測(cè)試過(guò)程的代碼覆蓋率,獲得更好的漏洞檢測(cè)效果。其中,專(zhuān)家知識(shí)包含控制流知識(shí)、數(shù)據(jù)流知識(shí)、測(cè)試接口知識(shí)、硬件外設(shè)知識(shí)、程序狀態(tài)知識(shí)以及漏洞知識(shí)等。
控制流敏感的模糊測(cè)試方法:CollAFL及CollAFL-bin?,F(xiàn)有模糊測(cè)試方案代碼覆蓋率跟蹤存在哈希碰撞問(wèn)題,導(dǎo)致覆蓋率(控制流信息)記錄不準(zhǔn)確;現(xiàn)有的種子選擇方案沒(méi)有充分考慮覆蓋率(控制流信息),導(dǎo)致測(cè)試過(guò)程中覆蓋率提升緩慢。該方法的主要策略為:基于控制流知識(shí)更新哈希公式和選擇種子進(jìn)行變異,優(yōu)先選擇未覆蓋分支數(shù)最多的種子。

數(shù)據(jù)流敏感的模糊測(cè)試方法:GreyOne。傳統(tǒng)模糊測(cè)試關(guān)注覆蓋率(控制流),忽略了程序的數(shù)據(jù)流約束(如校驗(yàn)和、幻數(shù)等檢查)。該方法的主要策略為:提取程序數(shù)據(jù)流知識(shí)(污點(diǎn)關(guān)系、分支約束匹配度),指導(dǎo)模糊測(cè)試變異、進(jìn)化方向。

測(cè)試接口敏感的模糊測(cè)試方法:FANS。Android系統(tǒng)服務(wù)通過(guò)IPC機(jī)制(binder)為用戶(hù)提供服務(wù),測(cè)試接口以及接口間依賴(lài)關(guān)系十分復(fù)雜,盲目fuzzing測(cè)試效率低。該方法的主要策略為:通過(guò)靜態(tài)分析Android源代碼AST,提取/推斷各服務(wù)的接口及接口間的依賴(lài)關(guān)系,指導(dǎo)測(cè)試?yán)伞?/p>

外設(shè)自動(dòng)模擬的驅(qū)動(dòng)模糊測(cè)試方法:PrIntFuzz。驅(qū)動(dòng)程序代碼量大、漏洞多,但是驅(qū)動(dòng)的執(zhí)行依賴(lài)于外設(shè)交互。實(shí)際測(cè)試環(huán)境下,缺少大量的外設(shè)。能不能自動(dòng)模擬大量的外設(shè)(惡意外設(shè)),與驅(qū)動(dòng)進(jìn)行交互并測(cè)試?該方法的主要策略為:從驅(qū)動(dòng)代碼中提取外設(shè)知識(shí)(數(shù)據(jù)約束、I/O模型、配置約定),基于提取的知識(shí)自動(dòng)模擬外設(shè)。

狀態(tài)敏感的模糊測(cè)試方法:StateFuzz。覆蓋率引導(dǎo)的模糊測(cè)試是主流方案,但是覆蓋率進(jìn)化指標(biāo)存在局限性,可以考慮其他進(jìn)化指標(biāo)。其中,程序是個(gè)狀態(tài)機(jī),其狀態(tài)可以作為重要的進(jìn)化指標(biāo)。該方法的主要策略為:從驅(qū)動(dòng)代碼識(shí)別動(dòng)作,進(jìn)而識(shí)別共享變量/狀態(tài),追蹤狀態(tài)覆蓋率,引導(dǎo)測(cè)試。

時(shí)序堆內(nèi)存漏洞的模糊測(cè)試方法:HTFuzz。時(shí)序堆內(nèi)存漏洞(如UAF)依賴(lài)于特定內(nèi)存操作序列,傳統(tǒng)的fuzzing技術(shù)并未跟蹤內(nèi)存操作序列,無(wú)法有效挖掘該類(lèi)型漏洞。如何高效追蹤內(nèi)存操作序列、分析堆對(duì)象別名、引導(dǎo)測(cè)試方向?該方法的主要策略為:在內(nèi)存訪問(wèn)點(diǎn),記錄當(dāng)前trace中最后N個(gè)對(duì)操作序列哈希值(類(lèi)似在每個(gè)基本塊處記錄邊覆蓋率),以此為反饋信號(hào),引導(dǎo)模糊測(cè)試過(guò)程更高效觸發(fā)時(shí)序堆漏洞。

2.2??
數(shù)據(jù)驅(qū)動(dòng)
基于歷史表現(xiàn)的智能變異調(diào)度方法:MOpt。變異算法(算子)眾多,不同算子對(duì)于不同的種子效率各不相同,如何選擇最優(yōu)變異算子?該方法的主要策略為:基于各變異算子的歷史表現(xiàn),評(píng)估各算子的最佳選擇概率,采用粒子群優(yōu)化PSO算法尋找動(dòng)態(tài)最優(yōu)解。

基于輸入格式智能逆向的模糊測(cè)試方法:AIFORE。如何識(shí)別程序的輸入格式,指導(dǎo)fuzzers生成符合程序預(yù)期的測(cè)試?yán)?,更好地測(cè)試目標(biāo)程序?該方法的主要策略為:每個(gè)字段有相應(yīng)的處理代碼,字段邊界/類(lèi)型與代碼片段強(qiáng)相關(guān),通過(guò)構(gòu)建人工智能模型對(duì)代碼片段的功能進(jìn)行分類(lèi),來(lái)識(shí)別字段類(lèi)型,從而識(shí)別輸入格式,進(jìn)而指導(dǎo)模糊測(cè)試。

2.3??
混合技術(shù)
除了模糊測(cè)試技術(shù)之外,還有一些傳統(tǒng)的漏洞挖掘技術(shù),其中一些技術(shù)可以與符號(hào)執(zhí)行技術(shù)進(jìn)行融合,這種混合技術(shù)也具有較好的漏洞挖掘效果。
基于堆溢出漏洞建模的漏洞挖掘方案:HOTracer。模糊測(cè)試方案主要關(guān)注程序路徑覆蓋率,難以滿(mǎn)足單條路徑中數(shù)據(jù)約束,忽略值空間覆蓋率。該方法的主要策略為:在模糊測(cè)試得到的程序路徑上,分析其可能的堆溢出漏洞,利用符號(hào)執(zhí)行求解。

基于污點(diǎn)分析的物聯(lián)網(wǎng)漏洞挖掘方案:SaTC。物聯(lián)網(wǎng)設(shè)備通常包括Web前端(管理功能)和二進(jìn)制后端(系統(tǒng)執(zhí)行),傳統(tǒng)fuzzing難以有效測(cè)試。該方法的主要策略為:前端與后端通常共享某些關(guān)鍵字符串(比如輸入字段名字),可以作為污點(diǎn)分析的source點(diǎn),進(jìn)而跟蹤其是否到達(dá)潛在的危險(xiǎn)操作(sink點(diǎn))來(lái)識(shí)別潛在漏洞。

03?
漏洞挖掘技術(shù)發(fā)展與展望
智能模糊測(cè)試是當(dāng)前最有效的漏洞挖掘方案,基于遺傳算法的灰盒模糊測(cè)試在實(shí)踐中取得了極大成功。除了在知識(shí)驅(qū)動(dòng)、數(shù)據(jù)驅(qū)動(dòng)以及混合技術(shù)輔助三個(gè)角度進(jìn)行模糊測(cè)試改進(jìn),未來(lái)在廣度目標(biāo)支持、測(cè)試效率優(yōu)化、遺傳進(jìn)化方向以及漏洞捕獲能力等維度仍有很大的提升空間。
期待更多人關(guān)注網(wǎng)絡(luò)安全領(lǐng)域相關(guān)技術(shù)發(fā)展,也歡迎感興趣的伙伴共同加入到漏洞挖掘技術(shù)的研究中來(lái)。
E N D
點(diǎn)擊下方閱讀原文獲取演講PPT。
關(guān)注我們,獲取更多精彩。
審核編輯 黃宇
-
互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
55文章
11341瀏覽量
110077 -
網(wǎng)絡(luò)安全
+關(guān)注
關(guān)注
11文章
3496瀏覽量
63462 -
數(shù)據(jù)驅(qū)動(dòng)
+關(guān)注
關(guān)注
0文章
170瀏覽量
12795 -
OpenHarmony
+關(guān)注
關(guān)注
33文章
3960瀏覽量
21166
發(fā)布評(píng)論請(qǐng)先 登錄
新型銅互連方法—電化學(xué)機(jī)械拋光技術(shù)研究進(jìn)展
室內(nèi)顆粒物的來(lái)源、健康效應(yīng)及分布運(yùn)動(dòng)研究進(jìn)展
薄膜鋰電池的研究進(jìn)展
傳感器EMC的重要性與研究進(jìn)展
太赫茲量子級(jí)聯(lián)激光器等THz源的工作原理及其研究進(jìn)展
AlphaFuzzer漏洞挖掘工具的使用
聲頻定向揚(yáng)聲器的研究進(jìn)展
鋰離子電池合金負(fù)極材料的研究進(jìn)展
CMOS_Gilbert混頻器的設(shè)計(jì)及研究進(jìn)展
移動(dòng)互聯(lián)網(wǎng)QoS機(jī)制的研究進(jìn)展述評(píng)
物聯(lián)網(wǎng)隱私保護(hù)研究進(jìn)展
農(nóng)業(yè)機(jī)械自動(dòng)導(dǎo)航技術(shù)研究進(jìn)展
峰會(huì)回顧第28期 | openBrain開(kāi)源漏洞感知系統(tǒng)
峰會(huì)回顧第24期 | 系統(tǒng)軟件漏洞挖掘研究進(jìn)展
評(píng)論