版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、人工智能的發(fā)現(xiàn)與運(yùn)用技術(shù)創(chuàng)新,變革未來人工智能應(yīng)用新浪潮由廣泛學(xué)習(xí)和深度學(xué)習(xí)驅(qū)動由海量數(shù)據(jù)集提供支持公眾什么時候?qū)⒓夹g(shù)視為人工智能?在它擊敗人的時候!AI & CGCCYBER這比賽之前比賽之后人工智能在安全領(lǐng)域的應(yīng)用機(jī)器學(xué)習(xí)已經(jīng)廣泛用于惡意軟件檢測垃圾郵件和網(wǎng)絡(luò)釣魚分類帳戶異常檢測和日志分析等機(jī)器學(xué)習(xí)應(yīng)用的最新變化數(shù)據(jù)規(guī)模和算法復(fù)雜度發(fā)生變化兩種“隨機(jī)”機(jī)器學(xué)習(xí)應(yīng)用實(shí)例深度神經(jīng)網(wǎng)絡(luò)分類器1000 多種特性超過 1,500 萬培訓(xùn)樣本復(fù)雜的非線性算法使用 PaddlePaddleBlackhat EU 2016APK 惡意軟件分類器Esorics 2013機(jī)器學(xué)習(xí)分類器-30 多種特性超過 1
2、.5 萬培訓(xùn)樣本-線性和簡單的非線性算法(隨機(jī)森林)使用 Weka深度學(xué)習(xí)在 CGC 中的使用使用深度學(xué)習(xí)的 CGC 團(tuán)隊(duì)的數(shù)量: 0為什么不用呢?(我們的回答)沒有能夠定義成分類問題沒有豐富的數(shù)據(jù)集(用于培訓(xùn))“還有其他類型的人工智能,研究不局限于統(tǒng)計(jì)學(xué)習(xí)?!盌ARPA 信息創(chuàng)新部門負(fù)責(zé)人 John Launchbury 表示。https:/2016/08/will-humans-bots-rule-cybersecurity-answer-yes/AI & FUZZINGFuzzing 二進(jìn)制程序(在CGC場景下)如何生成一個讓給定二進(jìn)制程序“崩潰”的輸入?x06x1dx0cx08%7$s
3、nx1fx1dx0cx08%7$snFuzzing 二進(jìn)制程序(在CGC場景下)如何生成一個讓給定二進(jìn)制程序“崩潰”的輸入?x06x1dx0cx08%7$snx1fx1dx0cx08%7$sn沒有“大”數(shù)據(jù)供挖掘!首先需要找到生成輸入的方法Dumb Fuzzing生成隨機(jī)輸入突變并運(yùn)行目標(biāo)例如 afl-fuzz nDumb Fuzzing生成隨機(jī)輸入突變并運(yùn)行目標(biāo)例如 afl-fuzz n人工 Fuzzing人類如何生成新的“有趣的”輸入?人工 Fuzzing人類如何生成新的“有趣的”輸入?跟蹤和觀察覆蓋范圍,然后生成可到達(dá)未測試代碼的輸入人工智能的演變分支遺傳算法 - 基于自然選擇過程雜交和
4、突變種子輸入適應(yīng)度評估人工智能的演變分支遺傳算法 - 基于自然選擇過程雜交和突變種子輸入適應(yīng)度評估幸存者添加到種群中人工智能的演變分支遺傳算法 - 基于自然選擇過程雜交和突變種子輸入適應(yīng)度評估幸存者添加到種群中AFL - Fuzzing 對遺傳算法的使用通過種子輸入變換生成新的輸入位翻轉(zhuǎn)/字節(jié)翻轉(zhuǎn)/整數(shù)運(yùn)算從每次測試運(yùn)行中獲取反饋測試控制流路徑覆蓋進(jìn)行適應(yīng)性測試和突變選擇如果觸發(fā)新的邊緣覆蓋 添加到種子種群AFL 插樁通過更新 64KB 共享內(nèi)存區(qū)域 (afl_area_ptr ) 收集覆蓋信息來自dwarfdump/print_abbrevs.c .328if (abbrev_code 0)
5、 329330331332333check_abbrev_num_sequence(,);while (abbrev_code = abbrev_array_size) Dwarf_Unsigned old_size = abbrev_array_size; size_t addl_size_bytes = old_size * .BB1BB2AFL 插樁 .328if (abbrev_code 0) 329330331332333check_abbrev_num_sequence(,);while (abbrev_code = abbrev_array_size) Dwarf_Unsigne
6、d old_size = abbrev_array_size; size_t addl_size_bytes = old_size * .來自dwarfdump/print_abbrevs.cafl_area_ptr cur_loc prev_loc+;通過更新 64KB 共享內(nèi)存區(qū)域 (afl_area_ptr ) 收集覆蓋信息AFL 的成功快速和可靠的 Fuzzing測試開銷低,使用簡單漏洞發(fā)現(xiàn)實(shí)例Bind、PuTTY、tcpdump、ffmpeg、GnuTLS、libtiff、libpng更多信息請查看 AFL 網(wǎng)站 (http:/lcamtuf.coredump.cx/afl/)被廣泛
7、使用大多 2016 CGC 獲獎團(tuán)隊(duì)都使用了這種插樁技術(shù)AFL 面臨的挑戰(zhàn) if (input = 0 xDEADBEEF)crash(); elsegood(); 通過輸入突變觸發(fā)崩潰 分支的幾率非常低!AFL 面臨的挑戰(zhàn)(續(xù))來自 Regehr 教授的博客/archives/1238AFL 面臨的挑戰(zhàn)(續(xù))對于 n 的所有數(shù)值,只有 當(dāng) n = -1000000 時才會發(fā)生 DIVZ 錯誤來自 Regehr 教授的博客/archives/1238在 CGC 中我們?yōu)?AFL 添加的增強(qiáng)功能兩項(xiàng)增強(qiáng)功能采用了 QEMU 增強(qiáng)插樁的 AFL (Qai)采用了符號執(zhí)行協(xié)助的 AFLAFL 與人工
8、選擇的對決值的輸入1)0 x123456782)0 x0000BEEFafl-fuzz 獲得相同的覆蓋,但是,人會怎么做? 考慮兩種引起 ival 等于下列兩個ival = func(input);if (ival = 0 xDEADBEEF)crash();elsegood(); AFL 與人工選擇的對決值的輸入1)0 x123456782)0 x0000BEEFafl-fuzz 獲得相同的覆蓋,但是,人會怎么做? 考慮兩種引起 ival 等于下列兩個ival = func(input);if (ival = 0 xDEADBEEF)crash();elsegood(); 輸入 2 可能是促
9、進(jìn)進(jìn)一步突變的更好的候選值!通過代碼轉(zhuǎn)換提高幾率選出準(zhǔn)確輸入的幾率 1/232 1/210 if (ival = 0 xDEADBEEF) crash(); p = (char *)&ival; if (p0 = 0 xEF) if(p1 = 0 xBE)if (p2 = 0 xAD)if (p3 = 0 xDE)crash();代碼轉(zhuǎn)換laf-intel 最近公布了具體思路分割-比較-通過、比較-轉(zhuǎn)換-通過等/2016/08/15/circumventing-fuzzing-roadblocks-with-compiler- transformations/集成到 AFL-llvm 模式中問
10、題:需要重新編譯目標(biāo)程序,但是我們只有二進(jìn)制程序。當(dāng)我們只有二進(jìn)制程序時,如何為 AFL 提供“部分匹配”反饋?插樁粒度轉(zhuǎn)化塊級別的 AFL QEMU 插樁QEMU TCG- 0 x4006e0movi_i64 tmp0,$0 x4006e5goto_tb $0 x0movi_i64 tmp3,$0 x400530 st_i64 tmp3,env,$0 x80exit_tb $0 x7f72cad71ea0 set_label $L0exit_tb $0 x7f72cad71ea3- 0 x400530movi_i64 tmp2,$0 x601020 qemu_ld_i64 tmp0,tmp2
11、,le, 0 x0 st_i64 tmp0,env,$0 x80exit_tb $0 x0set_label $L0exit_tb $0 x7f72cad71f13afl_area_ptr position+;轉(zhuǎn)化塊鏈二進(jìn)制文件我們需要運(yùn)行時指令級別的插樁afl_area_ptr position+;TCG 指令級別的轉(zhuǎn)化TCG前端訪客代碼QEMU微操作TCG后端主機(jī)代碼I386TCG IRx86_6480484d7:cmp $0 xdeadbeef,%eax- 0 x80484d7mov_i32 tmp1,$0 xdeafbeefmov_i32 tmp0,eax mov_i32 cc_src
12、,tmp1 mov_i32 loc10,tmp0sub_i32 cc_dst,tmp0,tmp1mov$0 xdeedbeef,%ebp mov%ebp,0 x28(%r14) mov$0 x10,%ebxmov%ebx,0 x34(%r14)test%ebp,%ebpTCG 輔助函數(shù)!TCG前端訪客代碼QEMU微操作TCG后端主機(jī)代碼I386TCG IRx86_644006d0:idiv %rbx- 0 x4006d0mov_i64 tmp0,rbx movi_i64 tmp3,$0 x4006d0 st_i64 tmp3,env,$0 x80call idivq_EAX,$0 x0,$0,
13、env,tmp0.mov%rbx,0 x10(%r14)movq $0 x4006d0,0 x80(%r14) mov%r14,%rdimov%rbp,%rsicallq 0 x7f3037453600到 TCG 分支操作的插樁TCG前端訪客代碼QEMU微操作TCG后端主機(jī)代碼I386TCG IR80484dc:jne80484fe- 0 x80484dcmovi_i32 cc_op,$0 x10 discard loc10 movi_i32 tmp11,$0 x0brcond_i32 cc_dst,tmp11,ne,$L1調(diào)用 brcond 輔助函數(shù)if (partial match) al
14、f_area_ptrpos+采用 QEMU 增強(qiáng)插樁的 AFL對 TCG 分支操作生成的修改tcg_gen_brcond_i32() tcg_gen_brcond_i64()添加一個輔助函數(shù)來更新覆蓋反饋剩下的問題是:更新哪些分支邊緣?cur_location = (block_address 4) (block_address 1;AFL-Qai 實(shí)現(xiàn)增強(qiáng)的插樁示例(針對 64 位分支指令)uint64_t HELPER(brcond_states_i64)(uint64_t cond, uint64_t nztest, uint64_t addr)uint64_t mask = 0 xff
15、00000000000000;.while (!(cond&mask) & i8;i+;if (i0) fake_edge = (i+1)*addr % bitmap_size;afl_area_ptrfake_edge+;.采用 QEMU 增強(qiáng)指令的 AFL為其他指令添加擴(kuò)充的適應(yīng)性反饋例如,增加捕獲 DIVZ 錯誤的幾率void helper_idivq_EAX() / if the divisor is close to zero afl_area_ptraddr*matching_factor+;采用 QEMU 增強(qiáng)插樁的 AFL擴(kuò)充的反饋返回更為精細(xì)的適應(yīng)度信息,即使是面向相同的邊緣覆蓋例如,更新 afl 共享的內(nèi)存以進(jìn)行部分匹配支持多種二進(jìn)制平臺在 QEMU TCG 識別實(shí)施,適用于多個架構(gòu)AFL + SymEXC采用了符號執(zhí)行的 AFLAFL+AFL+AFL+并行模式中的 AFLAFL 同步隊(duì)列種子輸入最佳選擇S2E+S2E+S2E+追蹤覆蓋S2E+S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度土地置換與科技園區(qū)合作合同3篇
- 二零二五年度子女聯(lián)合贍養(yǎng)老人全面服務(wù)協(xié)議書2篇
- 大數(shù)據(jù)產(chǎn)品經(jīng)理年度工作計(jì)劃
- 秋季新學(xué)期幼兒園開學(xué)的通知匯集十篇
- STEM教育對學(xué)生批判性思維培養(yǎng)效果的影響
- 2024版農(nóng)村小額貸款居間服務(wù)合作協(xié)議3篇
- 2025年度社會福利設(shè)施建設(shè)項(xiàng)目委托招標(biāo)合同示范文本3篇
- 2024軟件集成解決方案售后服務(wù)及培訓(xùn)合同3篇
- 學(xué)生參與決策激發(fā)職業(yè)興趣與熱情
- 二零二五年度房屋買賣合同英文版翻譯及國際房地產(chǎn)法規(guī)對照3篇
- 四川省南充市2023-2024學(xué)年高一上學(xué)期期末考試 歷史 含解析
- 樣板間合作協(xié)議
- 2024-2025學(xué)年湖北省武漢市華中師大一附中高三上學(xué)期期中英語試題及答案
- 屋面板的拆除與更換施工方案
- 浙江省衢州市2023-2024學(xué)年高一上學(xué)期1月期末數(shù)學(xué)試題 含解析
- 無人機(jī)飛行區(qū)域安全協(xié)議書
- 大學(xué)老師工作述職報(bào)告
- 2025屆上海市華東師大一附中物理高一上期末學(xué)業(yè)水平測試試題含解析
- 辦公樓裝飾裝修工程施工組織設(shè)計(jì)方案
- 汽車產(chǎn)業(yè)AIGC技術(shù)應(yīng)用白皮書 2024
- 電子元器件有效貯存期、超期復(fù)驗(yàn)及裝機(jī)前的篩選要求
評論
0/150
提交評論