2. 徽章
徽章是位于地址欄組合框與地址欄導(dǎo)航控件之間的一個按鈕。它用于向用戶通知URL的安全狀態(tài)(見圖1-22)。
圖1-22 不安全網(wǎng)站徽章
在單擊徽章時(shí),將出現(xiàn)一個彈出窗口,提供更多信息及上下文。圖標(biāo)、標(biāo)題和彈出內(nèi)容的顏色與內(nèi)容都是變化的,具體取決于所傳遞消息的類型和緊急程度。IE的SSL、擴(kuò)展驗(yàn)證SSL、國際性域名(IDN)欺騙保護(hù),以及反釣魚功能都共用這一信息構(gòu)造。IE沒有公開用于創(chuàng)建徽章或與徽章進(jìn)行交互的API。
2. 整頁通知
IE的安全體系結(jié)構(gòu)為特定的安全性警告顯示整頁通知。例如,如果存在證書問題或者已知一個網(wǎng)頁是惡意內(nèi)容源,IE將會禁止顯示該網(wǎng)頁。圖1-23顯示了一個整頁通知,當(dāng)IE遇到一個過期或無效SSL證書時(shí)將會顯示該通知。
圖1-23 對一個存在問題的安全性證書顯示整頁通知
3. 保護(hù)模式和UAC對話框
在IE內(nèi)運(yùn)行的應(yīng)用程序和擴(kuò)展需要受保護(hù)模式和UAC約束條件的限制,它們是通過完整性控制和UIPI施加的。如果有對象嘗試提升保護(hù)模式之外的進(jìn)程、嘗試拖放到保護(hù)模式之外,或者嘗試執(zhí)行任何其他危及沙盒完整性的操作,IE將會通過“保護(hù)模式”對話框征求用戶的同意。如果應(yīng)用程序嘗試提升到高完整性(包括IE的高完整性級別代理),也會觸發(fā)UAC提示。圖1-24給出了使用中的保護(hù)模式和UAC對話框。
圖1-24 Fiddler的“保護(hù)模式”對話框和ScriptX的UAC提示
除非關(guān)閉UAC系統(tǒng),否則UAC提示對所有應(yīng)用程序都是強(qiáng)制的,而“保護(hù)模式”對話框則是可以避免的:將進(jìn)程名注冊到Silent Elevation列表中即可。應(yīng)用程序安裝程序可以將進(jìn)程名添加到IE的提升列表中(這是因?yàn)樵谑状伟惭b該應(yīng)用程序時(shí),用戶做出了信任決定)。
4. 狀態(tài)欄入口點(diǎn)
IE使用一部分狀態(tài)欄向用戶傳送一些安全信息,這些信息不會阻止其瀏覽器會話,也不需要馬上執(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ū)溢出、堆棧溢出,最終采用代碼注入來危害瀏覽器與系統(tǒng)的完整性。IE針對這些場景實(shí)現(xiàn)了大量緩解措施,降低整體風(fēng)險(xiǎn)和攻擊的影響。
1. 保護(hù)模式和區(qū)域
在本章前面討論了保護(hù)模式與區(qū)域,以及它們在整個瀏覽器模型中的角色。從體系結(jié)構(gòu)之外的角度來看,這些功能主要用于保護(hù)應(yīng)用程序的安全性和數(shù)據(jù)的完整性。保護(hù)模式將不受信任的內(nèi)容放在沙盒中,在Internet數(shù)據(jù)與用戶配置文件數(shù)據(jù)之間設(shè)置一道明確的隔離帶。區(qū)域與保護(hù)模式相結(jié)合,為不同的內(nèi)容源提供經(jīng)過精心設(shè)計(jì)的不同安全設(shè)置。
2. DEP/NX和ASLR
DEP/NX(“數(shù)據(jù)執(zhí)行保護(hù)”和“不執(zhí)行”)是應(yīng)用程序的一個編譯器選項(xiàng),對于被標(biāo)記為不可執(zhí)行的內(nèi)存部分中的數(shù)據(jù),不予以執(zhí)行任何操作。ASLR(地址空間布局隨機(jī)化)強(qiáng)制一個進(jìn)程的地址空間內(nèi)容是隨機(jī)的。隨機(jī)化有助于防止攻擊者猜測地址空間中特定命令或結(jié)構(gòu)的位置,從而阻止執(zhí)行或注入嘗試。這樣,諸如緩沖區(qū)溢出和堆損壞等常見安全漏洞都變得難以攻擊。
所有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是一個進(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)。