![windows下的代碼簽名機(jī)制_第1頁(yè)](http://file4.renrendoc.com/view/30cbb73d622f2490d62dab79ee95f543/30cbb73d622f2490d62dab79ee95f5431.gif)
![windows下的代碼簽名機(jī)制_第2頁(yè)](http://file4.renrendoc.com/view/30cbb73d622f2490d62dab79ee95f543/30cbb73d622f2490d62dab79ee95f5432.gif)
![windows下的代碼簽名機(jī)制_第3頁(yè)](http://file4.renrendoc.com/view/30cbb73d622f2490d62dab79ee95f543/30cbb73d622f2490d62dab79ee95f5433.gif)
![windows下的代碼簽名機(jī)制_第4頁(yè)](http://file4.renrendoc.com/view/30cbb73d622f2490d62dab79ee95f543/30cbb73d622f2490d62dab79ee95f5434.gif)
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
windows下的代碼簽名機(jī)制
0簽名驗(yàn)證機(jī)制眾所周知,大多數(shù)計(jì)算機(jī)病毒都是以可執(zhí)行文件的形式存在的。攻擊者可以修改或添加目標(biāo)計(jì)算機(jī)系統(tǒng)的可執(zhí)行文件,并將惡意代碼嵌入到惡意代碼中。當(dāng)攻擊者獲取程序的執(zhí)行權(quán)限從而成功入侵后,便能控制用戶的計(jì)算機(jī)并竊取其隱私數(shù)據(jù),給用戶帶來(lái)極大的損失代碼簽名機(jī)制對(duì)可執(zhí)行文件的數(shù)字簽名進(jìn)行驗(yàn)證,從而可以判斷文件是否已經(jīng)簽名并且簽名是否有效。微軟公司在Windows平臺(tái)下設(shè)計(jì)了一種代碼簽名的機(jī)制,并且在64位操作系統(tǒng)的平臺(tái)下強(qiáng)制性地對(duì)涉及到內(nèi)核的驅(qū)動(dòng)程序進(jìn)行簽名驗(yàn)證。1代碼簽名機(jī)制1.1處理器訪問模式為了避免用戶應(yīng)用程序訪問或修改關(guān)鍵的操作系統(tǒng)數(shù)據(jù),Windows使用了兩種處理器訪問模式:用戶模式和內(nèi)核模式。對(duì)于在內(nèi)核模式下運(yùn)行的組件,Windows對(duì)它們的讀寫系統(tǒng)內(nèi)存并不加以保護(hù)1.2驅(qū)動(dòng)簽名的驗(yàn)證代碼簽名機(jī)制的內(nèi)部工作機(jī)制分為初始化和驅(qū)動(dòng)程序簽名驗(yàn)證兩個(gè)部分。(1)初始化代碼簽名機(jī)制的核心在于一個(gè)可執(zhí)行映像CI.dll。初始化程序CI!CiInitialize在NT內(nèi)核中導(dǎo)入,并在系統(tǒng)初始化時(shí)調(diào)用。在初始化過(guò)程中:程序首先檢查自我的完整性并驗(yàn)證最終分配給模塊的數(shù)字簽名。如果遇到任何異常,則會(huì)返回錯(cuò)誤代碼;如果通過(guò)自檢,程序會(huì)驗(yàn)證每一個(gè)在啟動(dòng)驅(qū)動(dòng)程序列表上的驅(qū)動(dòng)程序的簽名。(2)驅(qū)動(dòng)程序簽名驗(yàn)證初始化結(jié)束后,如果代碼簽名機(jī)制中斷了驅(qū)動(dòng)程序加載的過(guò)程,可以推斷系統(tǒng)試圖加載未簽名的驅(qū)動(dòng)程序,此時(shí)將對(duì)映像頭部進(jìn)行驗(yàn)證,檢查nt!g_CiEnabled是否為TRUE,如果是,則比較nt!g_CiCallbacks[0]指針是否為空,如果不為空,則調(diào)用nt!g_CiCallbacks[0]函數(shù)并退出,否則返回0xc0000428。nt!g_CiEnabled如果不為TRUE,則在分頁(yè)池里分配一個(gè)字節(jié),把結(jié)果地址存到第一個(gè)參數(shù)指定的內(nèi)存中,返回STATUS_SUCCESS。至此,整個(gè)代碼簽名的驗(yàn)證過(guò)程結(jié)束。2檢測(cè)方法的缺陷雖然代碼簽名機(jī)制表面上設(shè)計(jì)非常完美,但還是存在一些方法可以繞過(guò),有一些還涉及到Windows的內(nèi)核缺陷。目前繞過(guò)的思路有:挖掘已簽名的但是存在安全漏洞的設(shè)備驅(qū)動(dòng)程序;利用散列值碰撞來(lái)偽造簽名或數(shù)字證書。2.1代碼簽名機(jī)制的攻擊在驅(qū)動(dòng)程序的開發(fā)階段,由于程序設(shè)計(jì)人員的疏忽,某些驅(qū)動(dòng)程序可能會(huì)存在漏洞。如果帶有漏洞的驅(qū)動(dòng)程序被簽了合法的數(shù)字簽名并且發(fā)布出來(lái),攻擊者就可以利用這些漏洞獲取計(jì)算機(jī)的內(nèi)核權(quán)限,關(guān)閉代碼簽名機(jī)制SecurStar的DriveCrypt是一個(gè)計(jì)算機(jī)數(shù)據(jù)安全保護(hù)工具,在其老版本的64位驅(qū)動(dòng)DCR.sys中存在漏洞。在一個(gè)DCR句柄中,發(fā)送一個(gè)經(jīng)過(guò)設(shè)計(jì)的IoCtl請(qǐng)求,通過(guò)此漏洞進(jìn)入內(nèi)核態(tài),注入ShellCode之后即可關(guān)閉代碼簽名機(jī)制。只要用戶安裝了DriveCrypt,攻擊者就可以利用該漏洞關(guān)閉代碼簽名機(jī)制?!伴L(zhǎng)老漏洞”自1992年就存在于Windows操作系統(tǒng)中,惡意程序通過(guò)修改注冊(cè)表獲取對(duì)電腦系統(tǒng)的控制權(quán)。經(jīng)過(guò)Win7到Win8的安全機(jī)制大幅提升之后,只有通過(guò)一些間接的方法才能利用到這個(gè)漏洞。mountmgr.sys負(fù)責(zé)管理驅(qū)動(dòng)器掛載的相關(guān)工作,Win7下的該驅(qū)動(dòng)能夠被Win8認(rèn)證通過(guò)。Win8自帶的系統(tǒng)驅(qū)動(dòng)已經(jīng)不存在觸發(fā)漏洞的條件,不過(guò)Win7下的該驅(qū)動(dòng)與Win8存在一些不當(dāng)交互。在管理員模式下,用戶可以先卸載Win8的該驅(qū)動(dòng),然后加載Win7的驅(qū)動(dòng),進(jìn)入內(nèi)核態(tài)構(gòu)造ROP鏈代碼來(lái)關(guān)閉驅(qū)動(dòng)程序強(qiáng)制簽名機(jī)制上述兩個(gè)實(shí)例都是安全研究人員發(fā)現(xiàn)的已經(jīng)存在于第三方驅(qū)動(dòng)中可以利用來(lái)關(guān)閉代碼簽名機(jī)制的漏洞。如果用戶不經(jīng)常更新驅(qū)動(dòng),計(jì)算機(jī)中存在漏洞的可能性就比較大。如果新版本的驅(qū)動(dòng)已經(jīng)不存在漏洞,則可以先卸載新驅(qū)動(dòng),手動(dòng)加載有漏洞的老版本驅(qū)動(dòng),之后再觸發(fā)漏洞進(jìn)行攻擊。由上述兩個(gè)實(shí)例可知,攻擊者可以重點(diǎn)對(duì)驅(qū)動(dòng)程序進(jìn)行漏洞的挖掘,進(jìn)而通過(guò)驅(qū)動(dòng)程序中的漏洞對(duì)計(jì)算機(jī)系統(tǒng)發(fā)動(dòng)攻擊。2.2利用散列值簽名對(duì)于軟件程序來(lái)說(shuō),保持其完整性指的是軟件程序從發(fā)布到用戶的使用過(guò)程中不被惡意篡改。一般通過(guò)互聯(lián)網(wǎng)發(fā)布的軟件程序都會(huì)發(fā)布所對(duì)應(yīng)的散列值,通常為MD5或SHA-1算法計(jì)算得到的散列值。正規(guī)的軟件開發(fā)商還對(duì)這個(gè)散列值進(jìn)行數(shù)字簽名,從而清楚地表明軟件的來(lái)源,保證在分發(fā)過(guò)程中沒有經(jīng)過(guò)惡意的篡改或偽造。在2004年,山東大學(xué)的王小云教授就已經(jīng)研究發(fā)現(xiàn)并實(shí)現(xiàn)了MD5散列算法的碰撞。之后來(lái)自荷蘭的MarcStevens和他的團(tuán)隊(duì)設(shè)計(jì)出了一種“選擇性前綴的MD5碰撞”此研究成果可以有如下實(shí)際用途:偽造程序的簽名、偽造數(shù)字證書2.2.1cdb值的比較假設(shè)某攻擊者現(xiàn)在有兩個(gè)不同的程序A和B,程序A是一個(gè)簡(jiǎn)單的計(jì)算器,而程序B是一個(gè)惡意程序。攻擊者利用“選擇性前綴MD5碰撞”方法,計(jì)算填充二進(jìn)制代碼C和D,使得A||C的MD5值與B||D的MD5值相同。此時(shí),攻擊者使用正規(guī)的數(shù)字證書對(duì)程序A(實(shí)際上是A||C的MD5值)進(jìn)行簽名,簽名值為E附在程序A之后,以表明程序A已經(jīng)經(jīng)過(guò)數(shù)字簽名。因?yàn)槌绦駼簽名值F與E相等,如果把E直接附在程序B之后,并且由MD5值判斷為程序A,而且也會(huì)誤以為B程序也是經(jīng)過(guò)簽名的程序。通過(guò)這種方法,攻擊者可以發(fā)布正常無(wú)害的簽過(guò)名的程序A給普通用戶,針對(duì)特定用戶使用惡意程序B。不過(guò),通過(guò)審計(jì)可以發(fā)現(xiàn)惡意程序B的簽名所使用的數(shù)字證書為攻擊者所持有,從而可以發(fā)現(xiàn)攻擊者的身份,如圖1所示。2.2.2填充信息的偽造和前一種方法的思路類似,攻擊者事先準(zhǔn)備好兩份數(shù)字證書,其中證書A包含填充信息C,證書B包含填充信息D,并且A||C的MD5值與B||D的MD5值相同。其中證書A的持有者信息是真實(shí)有效的,而證書B的信息是攻擊者偽造的(也可以偽造成證書授權(quán)機(jī)構(gòu)(CA,CertificationAuthority)代理)。由于簽名使用的加密算法是非對(duì)稱的3代碼簽名機(jī)制的改進(jìn)由對(duì)代碼簽名機(jī)制的介紹可以知道,該機(jī)制對(duì)于Windows的防護(hù)起到了非常大的作用。針對(duì)2.1節(jié)中的繞過(guò)方法,可以從兩方面進(jìn)行改進(jìn):1)對(duì)于設(shè)計(jì)代碼簽名機(jī)制的微軟來(lái)說(shuō),可以效仿蘋果的APP審核制度2)對(duì)于用戶來(lái)說(shuō),應(yīng)該及時(shí)進(jìn)行軟件和操作系統(tǒng)的更新,及時(shí)打補(bǔ)丁,避免攻擊者利用最新的漏洞進(jìn)行攻擊。針對(duì)2.2節(jié)中的繞過(guò)方法,其缺陷主要存在于MD5算法的碰撞性上。代碼簽名機(jī)制可以同時(shí)使用MD5和SHA-1散列算法,對(duì)兩個(gè)散列值都進(jìn)行驗(yàn)證。MD5、SHA-1算法的碰撞概率都非常小,如果要同時(shí)碰撞,可以說(shuō)概率幾乎為零。4代碼簽名機(jī)制的改進(jìn)通過(guò)對(duì)代碼簽名機(jī)制原理、繞過(guò)思路以及相應(yīng)的改進(jìn)措施和解決方案的分析,得出以下結(jié)論:1)總體來(lái)講,代碼簽名機(jī)制能夠有效地防止惡意程序在操作系統(tǒng)中運(yùn)行,在很大程度上幫助用戶抵擋了攻擊者的攻擊行為,完善了計(jì)算機(jī)操作系統(tǒng)的安全體系。2)代碼簽名機(jī)制還存在缺陷。惡意程序可以利用已經(jīng)簽名的驅(qū)動(dòng)程序的漏洞獲取內(nèi)核態(tài)權(quán)限關(guān)閉代碼簽名機(jī)制。利用MD5碰撞可以欺騙該機(jī)制,使其認(rèn)為惡意程序無(wú)害且合法,從而使惡意程序繞過(guò)該機(jī)制的檢查,對(duì)用戶計(jì)算機(jī)操作系統(tǒng)產(chǎn)生損害。3)代碼簽名機(jī)制
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 仲裁延期舉證申請(qǐng)書
- 教師困難申請(qǐng)書
- 中職退學(xué)申請(qǐng)書
- 大學(xué)生創(chuàng)業(yè)項(xiàng)目鮮花計(jì)劃書
- 土石方外運(yùn)安全施工方案
- 土建施工安全作業(yè)施工方案
- 人行便道冬季施工方案
- 專題知識(shí)與創(chuàng)作
- 廚房團(tuán)隊(duì)的溝通管理
- 藝術(shù)的奇妙世界
- 《幼兒園健康》課件
- 醫(yī)保物價(jià)培訓(xùn)課件
- 2024年國(guó)新國(guó)際投資有限公司招聘筆試參考題庫(kù)含答案解析
- 心肌梗死心律失常的機(jī)制和處置
- 塑料產(chǎn)品報(bào)價(jià)明細(xì)表
- 供應(yīng)商來(lái)料包裝運(yùn)輸存儲(chǔ)規(guī)范標(biāo)準(zhǔn)
- 化療藥物分類及不良反應(yīng)的處理課件
- 銀行職工學(xué)習(xí)違規(guī)違紀(jì)典型案例心得體會(huì)5篇
- 《思想道德與法治》第二章
- 汽輪機(jī)潤(rùn)滑油系統(tǒng)內(nèi)容-課件
- 傳感器與檢測(cè)技術(shù)(項(xiàng)目式)PPT完整全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論