正文

Internet Explorer體系結(jié)構(gòu)(14)

IE8 & 9開(kāi)發(fā)實(shí)戰(zhàn):基于下一代IE的應(yīng)用開(kāi)發(fā) 作者:(美)克羅利


  

2. 徽章

徽章是位于地址欄組合框與地址欄導(dǎo)航控件之間的一個(gè)按鈕。它用于向用戶通知URL的安全狀態(tài)(見(jiàn)圖1-22)。

圖1-22  不安全網(wǎng)站徽章

在單擊徽章時(shí),將出現(xiàn)一個(gè)彈出窗口,提供更多信息及上下文。圖標(biāo)、標(biāo)題和彈出內(nèi)容的顏色與內(nèi)容都是變化的,具體取決于所傳遞消息的類型和緊急程度。IE的SSL、擴(kuò)展驗(yàn)證SSL、國(guó)際性域名(IDN)欺騙保護(hù),以及反釣魚(yú)功能都共用這一信息構(gòu)造。IE沒(méi)有公開(kāi)用于創(chuàng)建徽章或與徽章進(jìn)行交互的API。

2. 整頁(yè)通知

IE的安全體系結(jié)構(gòu)為特定的安全性警告顯示整頁(yè)通知。例如,如果存在證書(shū)問(wèn)題或者已知一個(gè)網(wǎng)頁(yè)是惡意內(nèi)容源,IE將會(huì)禁止顯示該網(wǎng)頁(yè)。圖1-23顯示了一個(gè)整頁(yè)通知,當(dāng)IE遇到一個(gè)過(guò)期或無(wú)效SSL證書(shū)時(shí)將會(huì)顯示該通知。

圖1-23  對(duì)一個(gè)存在問(wèn)題的安全性證書(shū)顯示整頁(yè)通知

3.  保護(hù)模式和UAC對(duì)話框

在IE內(nèi)運(yùn)行的應(yīng)用程序和擴(kuò)展需要受保護(hù)模式和UAC約束條件的限制,它們是通過(guò)完整性控制和UIPI施加的。如果有對(duì)象嘗試提升保護(hù)模式之外的進(jìn)程、嘗試拖放到保護(hù)模式之外,或者嘗試執(zhí)行任何其他危及沙盒完整性的操作,IE將會(huì)通過(guò)“保護(hù)模式”對(duì)話框征求用戶的同意。如果應(yīng)用程序嘗試提升到高完整性(包括IE的高完整性級(jí)別代理),也會(huì)觸發(fā)UAC提示。圖1-24給出了使用中的保護(hù)模式和UAC對(duì)話框。

圖1-24  Fiddler的“保護(hù)模式”對(duì)話框和ScriptX的UAC提示

除非關(guān)閉UAC系統(tǒng),否則UAC提示對(duì)所有應(yīng)用程序都是強(qiáng)制的,而“保護(hù)模式”對(duì)話框則是可以避免的:將進(jìn)程名注冊(cè)到Silent Elevation列表中即可。應(yīng)用程序安裝程序可以將進(jìn)程名添加到IE的提升列表中(這是因?yàn)樵谑状伟惭b該應(yīng)用程序時(shí),用戶做出了信任決定)。

4. 狀態(tài)欄入口點(diǎn)

IE使用一部分狀態(tài)欄向用戶傳送一些安全信息,這些信息不會(huì)阻止其瀏覽器會(huì)話,也不需要馬上執(zhí)行操作。安全區(qū)域總是顯示在狀態(tài)欄中,保護(hù)模式的狀態(tài)也是如此。除此之外,諸如“彈出窗口阻止程序”、InPrivate和“P3P cookie實(shí)現(xiàn)”等功能都使用狀態(tài)欄向用戶通知它們的操作。

1.7.2  應(yīng)用程序完整性和瀏覽器防御

瀏覽器本身面臨著受到攻擊的風(fēng)險(xiǎn),這些攻擊利用緩沖區(qū)溢出、堆棧溢出,最終采用代碼注入來(lái)危害瀏覽器與系統(tǒng)的完整性。IE針對(duì)這些場(chǎng)景實(shí)現(xiàn)了大量緩解措施,降低整體風(fēng)險(xiǎn)和攻擊的影響。

1. 保護(hù)模式和區(qū)域

在本章前面討論了保護(hù)模式與區(qū)域,以及它們?cè)谡麄€(gè)瀏覽器模型中的角色。從體系結(jié)構(gòu)之外的角度來(lái)看,這些功能主要用于保護(hù)應(yīng)用程序的安全性和數(shù)據(jù)的完整性。保護(hù)模式將不受信任的內(nèi)容放在沙盒中,在Internet數(shù)據(jù)與用戶配置文件數(shù)據(jù)之間設(shè)置一道明確的隔離帶。區(qū)域與保護(hù)模式相結(jié)合,為不同的內(nèi)容源提供經(jīng)過(guò)精心設(shè)計(jì)的不同安全設(shè)置。

2. DEP/NX和ASLR

DEP/NX(“數(shù)據(jù)執(zhí)行保護(hù)”和“不執(zhí)行”)是應(yīng)用程序的一個(gè)編譯器選項(xiàng),對(duì)于被標(biāo)記為不可執(zhí)行的內(nèi)存部分中的數(shù)據(jù),不予以執(zhí)行任何操作。ASLR(地址空間布局隨機(jī)化)強(qiáng)制一個(gè)進(jìn)程的地址空間內(nèi)容是隨機(jī)的。隨機(jī)化有助于防止攻擊者猜測(cè)地址空間中特定命令或結(jié)構(gòu)的位置,從而阻止執(zhí)行或注入嘗試。這樣,諸如緩沖區(qū)溢出和堆損壞等常見(jiàn)安全漏洞都變得難以攻擊。

所有IE的二進(jìn)制文件在編譯時(shí)都默認(rèn)啟用了ASLR;加載項(xiàng)應(yīng)當(dāng)設(shè)置/DYNAMICBASE鏈接器選項(xiàng),以便為其二進(jìn)制文件啟用這一保護(hù)。在XP SP3,Vista SP1+,Win2K8,Windows 7和Win2K8R2等系統(tǒng)中,IE都默認(rèn)選擇了DEP/NX。因?yàn)镈EP/NX是一個(gè)進(jìn)程范圍內(nèi)的設(shè)置,所以位于該IE進(jìn)程空間內(nèi)的所有擴(kuò)展在默認(rèn)情況下都啟用了DEP/NX保護(hù)。獨(dú)立的可執(zhí)行文件在編譯時(shí)應(yīng)當(dāng)使用/NXCOMPAT鏈接器選項(xiàng)。


上一章目錄下一章

Copyright ? 讀書(shū)網(wǎng) leeflamesbasketballcamps.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)