微軟在2015年1月22日公布了windows10技術(shù)預(yù)覽版,Build號:9926。電腦管家反病毒實(shí)驗(yàn)室第一時(shí)間對其引入的新安全特性進(jìn)行了深入分析。
眾所周知,漏洞利用過程中攻擊者若要執(zhí)行惡意代碼,需要破壞程序原有指令的的正常執(zhí)行。執(zhí)行流保護(hù)的作用就是在程序執(zhí)行的過程中檢測指令流的正常性,當(dāng)發(fā)生不符合預(yù)期的情況時(shí),及時(shí)進(jìn)行異常處理。業(yè)界針對執(zhí)行流保護(hù)已經(jīng)有一些相對成熟的技術(shù)方案,在微軟發(fā)布的windows10最新版本中,我們看到了這一防護(hù)思想的廣泛使用。
CFI即控制流完整性Control-Flow Integrity,主要是通過對二進(jìn)制可執(zhí)行文件的動態(tài)改寫,以此為其增加額外的安全性保障。
這是Mihai Budiu介紹CFI技術(shù)時(shí)使用的例子。這里通過對二進(jìn)制可執(zhí)行文件的改寫,對jmp的目的地址前插入一個(gè)在改寫時(shí)約定好的校驗(yàn)ID,在jmp的時(shí)候看目的地址前的數(shù)據(jù)是不是我們約定好的校驗(yàn)ID,如果不是則進(jìn)入錯(cuò)誤處理流程。
同理在call 和 ret的時(shí)候也可以進(jìn)行改寫:
左半部分就是一個(gè)對call的改寫,右半部分是對ret的一個(gè)改寫,在call的目的地址和ret的返回地址之前插入校驗(yàn)ID,然后改寫的call 和ret中增加了對校驗(yàn)ID的檢查,如果不符合預(yù)期,進(jìn)入錯(cuò)誤處理流程,這個(gè)思路和上邊對jmp的處理是完全一樣的。
實(shí)現(xiàn)CFI需要在jmp、call 一個(gè)寄存器(或者使用寄存器間接尋址)的時(shí)候,目的地址有時(shí)必須通過動態(tài)獲得,且改寫的開銷又很大,這些都給CFI的實(shí)際應(yīng)用造成了一定的困難。
微軟在最新的操作系統(tǒng)win10當(dāng)中,對基于執(zhí)行流防護(hù)的實(shí)際應(yīng)用中采用了CFG技術(shù)。CFG是Control Flow Guard的縮寫,就是控制流保護(hù),它是一種編譯器和操作系統(tǒng)相結(jié)合的防護(hù)手段,目的在于防止不可信的間接調(diào)用。
漏洞攻擊過程中,常見的利用手法是通過溢出覆蓋或者直接篡改某個(gè)寄存器的值,篡改間接調(diào)用的地址,進(jìn)而控制了程序的執(zhí)行流程。CFG通過在編譯和鏈接期間,記錄下所有的間接調(diào)用信息,并把他們記錄在最終的可執(zhí)行文件中,并且在所有的間接調(diào)用之前插入額外的校驗(yàn),當(dāng)間接調(diào)用的地址被篡改時(shí),會觸發(fā)一個(gè)異常,操作系統(tǒng)介入處理。
國產(chǎn)工具PKAV HTTP Fuzzer滲透測試助手最新發(fā)布
閱讀惠普漏洞:惠普ArcSight企業(yè)安全系列產(chǎn)品曝高危安全漏洞
閱讀騰訊、360各顯神通,分別秒殺IE、Flash、PDF項(xiàng)目
閱讀蘋果Mac OS X系統(tǒng)被發(fā)現(xiàn)存在DLL劫持漏洞
閱讀D-Link(友訊)路由器曝遠(yuǎn)程文件上傳及命令注入漏洞(已發(fā)布安全更新)
閱讀Win10將使用P2P進(jìn)行系統(tǒng)更新,引發(fā)安全擔(dān)憂
閱讀美國最大的無卡ATM網(wǎng)絡(luò)即將推出,從此告別刷卡!
閱讀谷歌應(yīng)用漏洞泄漏超過28萬條私人WHOIS數(shù)據(jù)
閱讀使命召喚、魔獸世界、英雄聯(lián)盟……專攻游戲的勒索軟件TeslaCrypt
閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請發(fā)郵件[email protected]
湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2025 haote.com 好特網(wǎng)