對(duì)CFG漏洞緩解機(jī)制的分析研究
控制流保护(CFG)是Windows的一种安全机制,其目的是通过检查间接调用的目标地址是否是有效的函数来减轻执行流的重定向,我们可以用这个例子作分析。
0x01 CFG是怎样工作的
通过这个例子,我们用MSVC编译器编译一个exe文件,看看在调用main()之前生成和执行了什么代码:
函数scrt_get_dyn_tls_init_callback得到一个指向TLS回调表的指针,以调用第一个条目,回调的函数受到CFG的保护,因此编译器在执行ESI中的目标地址之前添加代码以检查函数地址是否有效。
随后执行:
retn可以绕过,为什么? 这样程序就可以在不支持CFG的旧操作系统版本中运行 。 在支持它的系统中 ,
_guard_check_icall_nop地址会被NT DLL中的Ldrp验证用户调用目标替换:
0x02 Bitmap简介
对于CFG,他们在Load Config目录中的PE中添加了一堆新字段 : Guard CF Check 函 数 指 针 , 该 指 针 指向guard_check_icall_ptr,是要替换的函数地址和Guard CF函数表,该表包含所有要设置为有效目标的函数的RVA,在加载PE时创建的Bitmap中。
验证用户调用目标的Ldrp从该第一指令中的LdrSystemDllInit块+0xb0获取Bitmap的地址。Bitmap包含整个过程中每16个字节的“状态”, 当加载PE时,表中的RVAs被转换为偏移量, 然后相应地设置该偏移量处的状态。
0x03 传送 Bitmap
我的想法是使用Guard CFFunction表填充具有选定状态的Bitmap,并在其中重新生成我们的代码,然后在入口点将其复制到Bitmap中并执行它。由于 Alex Ionescu 在WindowsInternals中的研究,我能够找出一些以前的文档:
假设我们代码中的第一个字节是0x10(010000b),我们从Bitmap传输代码的区域从0x402000(RVA:0x2000)开始,为了清晰起见,我们将使用相同的区域来处理假RVA。要生成 0x10,我们只需要表中的1个条目:0x2020,跳过前32个字节,使状态设置为0000b,0x2020将下一个状态设置为01b,Bitmap变为010000b。现在要得到状态11b,假设我们想要字节0x1D(011101b),我们使用未对齐的RVA,表将变成:0x2000(设置为01b), 0x2012(设置为11b),0x2020(设置为01b)。
要获得10b,我们需要使用带有元数据的特殊类型的 RVA,但很简单,我们将一个字节附加到用于生成10b的 RVA 中 。
元数据是一个标 志: IMAGE_GUARD_FLAG_FID_SUPPRESSED (1) 或
IMAGE_GUARD_FLAG_EXPORT_SUPPRESSED(2)。所以我们说要生成0x86(10000110b),使用:0x2000与0x2(设置为10b),0x2010(设置为01b),0x2030与0x2(设置为10b)。
0x04 Bitmap 转换
我们让加载程序将0DEADH替换为LDRP验证用户调用目标的地址,从中可以得到Bitmap的地址,我们计算Bitmap(0x402000)中区域的偏移量,并从它复制再生代码。
0x05分析总结
那么,当检测到无效地址时会发生什么呢? 程序被终止了。 因为大多数改变PE文件的工具或代码不支持CFG:更改以在其他地方执行代码的任何地址,都必须在表中。这会杀死许多病毒改变入口点地址,或使用入口点Fuzzing(EPO)技术的效果。 但是,如果在PE中禁用CFG,可以用自己的地址替换Guard CFCheck函数指针,以获得EPO。
推薦系統(tǒng)
雨林木風(fēng) winxp下載 純凈版 永久激活 winxp ghost系統(tǒng) sp3 系統(tǒng)下載
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:WinXP雨林木風(fēng)在系統(tǒng)方面技術(shù)積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)知名品牌,雨林木風(fēng)WindowsXP其系統(tǒng)口碑得到許多人認(rèn)可,積累了廣大的用戶群體,是一款穩(wěn)定流暢的系統(tǒng),雨林木風(fēng) winxp下載 純凈版 永久激活 winxp ghost系統(tǒng) sp3 系統(tǒng)下載,有需要的朋友速度下載吧。
系統(tǒng)等級(jí):進(jìn)入下載 >蘿卜家園win7純凈版 ghost系統(tǒng)下載 x64 聯(lián)想電腦專用
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win7蘿卜家園win7純凈版是款非常純凈的win7系統(tǒng),此版本優(yōu)化更新了大量的驅(qū)動(dòng),幫助用戶們進(jìn)行舒適的使用,更加的適合家庭辦公的使用,方便用戶,有需要的用戶們快來下載安裝吧。
系統(tǒng)等級(jí):進(jìn)入下載 >雨林木風(fēng)xp系統(tǒng) xp系統(tǒng)純凈版 winXP ghost xp sp3 純凈版系統(tǒng)下載
系統(tǒng)大?。?/em>1.01GB系統(tǒng)類型:WinXP雨林木風(fēng)xp系統(tǒng) xp系統(tǒng)純凈版 winXP ghost xp sp3 純凈版系統(tǒng)下載,雨林木風(fēng)WinXP系統(tǒng)技術(shù)積累雄厚深耕多年,采用了新的系統(tǒng)功能和硬件驅(qū)動(dòng),可以更好的發(fā)揮系統(tǒng)的性能,優(yōu)化了系統(tǒng)、驅(qū)動(dòng)對(duì)硬件的加速,加固了系統(tǒng)安全策略,運(yùn)行環(huán)境安全可靠穩(wěn)定。
系統(tǒng)等級(jí):進(jìn)入下載 >蘿卜家園win10企業(yè)版 免激活密鑰 激活工具 V2023 X64位系統(tǒng)下載
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win10蘿卜家園在系統(tǒng)方面技術(shù)積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)的蘿卜家園品牌,(win10企業(yè)版,win10 ghost,win10鏡像),蘿卜家園win10企業(yè)版 免激活密鑰 激活工具 ghost鏡像 X64位系統(tǒng)下載,其系統(tǒng)口碑得到許多人認(rèn)可,積累了廣大的用戶群體,蘿卜家園win10純凈版是一款穩(wěn)定流暢的系統(tǒng),一直以來都以用戶為中心,是由蘿卜家園win10團(tuán)隊(duì)推出的蘿卜家園
系統(tǒng)等級(jí):進(jìn)入下載 >蘿卜家園windows10游戲版 win10游戲?qū)I(yè)版 V2023 X64位系統(tǒng)下載
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win10蘿卜家園windows10游戲版 win10游戲?qū)I(yè)版 ghost X64位 系統(tǒng)下載,蘿卜家園在系統(tǒng)方面技術(shù)積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)的蘿卜家園品牌,其系統(tǒng)口碑得到許多人認(rèn)可,積累了廣大的用戶群體,蘿卜家園win10純凈版是一款穩(wěn)定流暢的系統(tǒng),一直以來都以用戶為中心,是由蘿卜家園win10團(tuán)隊(duì)推出的蘿卜家園win10國內(nèi)鏡像版,基于國內(nèi)用戶的習(xí)慣,做
系統(tǒng)等級(jí):進(jìn)入下載 >windows11下載 蘿卜家園win11專業(yè)版 X64位 V2023官網(wǎng)下載
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win11蘿卜家園在系統(tǒng)方面技術(shù)積累雄厚深耕多年,windows11下載 蘿卜家園win11專業(yè)版 X64位 官網(wǎng)正式版可以更好的發(fā)揮系統(tǒng)的性能,優(yōu)化了系統(tǒng)、驅(qū)動(dòng)對(duì)硬件的加速,使得軟件在WINDOWS11系統(tǒng)中運(yùn)行得更加流暢,加固了系統(tǒng)安全策略,WINDOWS11系統(tǒng)在家用辦公上跑分表現(xiàn)都是非常優(yōu)秀,完美的兼容各種硬件和軟件,運(yùn)行環(huán)境安全可靠穩(wěn)定。
系統(tǒng)等級(jí):進(jìn)入下載 >
相關(guān)文章
- 如何解決銳龍2200g死機(jī)藍(lán)屏
- Win8.1本地搜索為什么無法使用
- Win8.1無線網(wǎng)絡(luò)不穩(wěn)定/掉線怎么辦
- 電腦機(jī)箱漏電怎么消除?電腦機(jī)箱漏電是哪里的問題?
- 電腦開不了機(jī)怎么辦?電腦無法開機(jī)怎么解決?
- 硬盤雙擊無法打開的問題該怎么辦
- 風(fēng)行下載速度慢甚至是為0怎么辦?風(fēng)行播放器下載問題及解決方法匯總
- 蘋果回應(yīng)新的iOS惡意軟件YiSpector:已在iOS8.4中解決該問題
- 沒有路由器怎么連無線 160wifi 解決沒有路由器連接無線問題
- 維棠FLV下載視頻失敗問題匯總及解決方法
- Word2016 出現(xiàn)“此功能看似已中斷 并需要修復(fù)”問題解決方案(圖文)
- Cisco管理的35個(gè)常見問題及解答
- NanoStudio怎么用?NanoStudio使用方法及常見問題
- IE瀏覽器登錄網(wǎng)上銀行時(shí)出現(xiàn)崩潰問題的解決辦法
熱門系統(tǒng)
推薦軟件
推薦應(yīng)用
推薦游戲
熱門文章
常用系統(tǒng)
- 1win11最新娛樂版下載 技術(shù)員聯(lián)盟x64位 ghost系統(tǒng) ISO鏡像 v2023
- 2電腦公司windows7純凈版 ghost x64位 v2022.05 官網(wǎng)鏡像下載
- 3外星人系統(tǒng)Win11穩(wěn)定版系統(tǒng)下載 windows11 64位穩(wěn)定版Ghost V2022
- 4win11一鍵裝機(jī)小白版下載 外星人系統(tǒng) x64位純凈版下載 筆記本專用
- 5蘿卜家園Ghost win10 64位中文版專業(yè)版系統(tǒng)下載 windows10純凈專業(yè)版下載
- 6【國慶特別版】番茄花園Windows11高性能專業(yè)版ghost系統(tǒng) ISO鏡像下載
- 7青蘋果系統(tǒng) GHOST WIN7 SP1 X64 專業(yè)優(yōu)化版 V2024
- 8深度技術(shù)ghost win7純凈版最新下載 大神裝機(jī)版 ISO鏡像下載
- 9雨林木風(fēng)windows11中文版免激活 ghost鏡像 V2022.04下載