1.6 聯(lián)網(wǎng)和區(qū)域
IE使用大量的庫(kù)和Windows API來(lái)處理聯(lián)網(wǎng)、對(duì)象下載和安全性基礎(chǔ)結(jié)構(gòu)。Windows本身提供了大量界面和服務(wù),IE不需要再重復(fù)這些界面和服務(wù);例如,Windows向很多不同應(yīng)用程序提供了緩存和cookie服務(wù),諸如憑據(jù)用戶界面之類的API和提升清單提供了與系統(tǒng)安全性基礎(chǔ)結(jié)構(gòu)進(jìn)行交互的機(jī)制。
1.6.1 URLMon
URLMon(URL Moniker的縮寫(xiě))是一個(gè)COM庫(kù),它采用一種方式包裝WinINET庫(kù),與IE的操作緊密結(jié)合在一起作為一個(gè)Web瀏覽器。URLMon還為可插入?yún)f(xié)議提供了擴(kuò)展層,使IE能夠使用由WinINET提供支持的協(xié)議來(lái)請(qǐng)求內(nèi)容,這些協(xié)議不限于HTTP,HTTPS和FTP協(xié)議。URLMon還控制“區(qū)域”和一般性內(nèi)容安全性、代碼下載和下載管理。
1. 區(qū)域與安全性管理器
IE使用安全區(qū)域?qū)?shù)據(jù)源進(jìn)行分組,并對(duì)這些群組應(yīng)用不同限制。默認(rèn)情況下,IE包括5個(gè)不同區(qū)域:
● 本地計(jì)算機(jī):源于本地計(jì)算機(jī)的頁(yè)面
● Intranet:源于本地網(wǎng)絡(luò)服務(wù)器的頁(yè)面
● 可信站點(diǎn):明確列為可信的域
● Internet:源于遠(yuǎn)程服務(wù)器的頁(yè)面
● 受限:特別列為受限的域
對(duì)從每種區(qū)域上下文中加載的對(duì)象,都賦予針對(duì)IE功能的不同權(quán)限;例如,在Internet區(qū)域可以運(yùn)行腳本,但在“受限區(qū)域”中會(huì)阻止其運(yùn)行。微軟已經(jīng)定義了一些由低至高、代表默認(rèn)設(shè)置的模板。
URLMon通過(guò)IInternetSecurityManager公開(kāi)了精細(xì)的安全性管理函數(shù)。這個(gè)界面允許IE和其他已安裝應(yīng)用程序參與瀏覽器中所加載內(nèi)容的信任決定鏈。如果應(yīng)用程序注冊(cè)為安全管理器,則允許這些應(yīng)用程序查看和修改對(duì)一個(gè)頁(yè)面應(yīng)用的默認(rèn)URL操作,這些操作來(lái)自該頁(yè)面的適當(dāng)區(qū)域。
2. 可插入?yún)f(xié)議處理程序
URLMon為應(yīng)用程序提供了大量方法,可通過(guò)注冊(cè)協(xié)議處理程序來(lái)處理協(xié)議請(qǐng)求。在請(qǐng)求一個(gè)URL時(shí),IE檢查是否為該URL的協(xié)議注冊(cè)了任何關(guān)聯(lián);這種關(guān)聯(lián)的形式可能是應(yīng)用程序,也可能是實(shí)現(xiàn)異步可插入?yún)f(xié)議(APP) API的庫(kù)。
1.6.2 WinINET
WinINET是用于聯(lián)網(wǎng)和處理常見(jiàn)Web協(xié)議的Windows API。它被廣泛應(yīng)用于HTTP(S)和FTP下載、緩存界面和cookie管理。WinINET還控制了(聲名不佳的)index.dat文件——這些文件是存儲(chǔ)容器,用于保存緩存的內(nèi)容、cookie、鏈接等。
1.7 安全性、信任和隱私體系結(jié)構(gòu)
IE在很多方面都成為針對(duì)其平臺(tái)的攻擊目標(biāo),而其中的原因則各有不同,爭(zhēng)論也很多。從IE退一步來(lái)說(shuō),終端用戶不僅會(huì)被那些針對(duì)網(wǎng)站發(fā)起的更廣泛攻擊所波及,甚至還會(huì)面臨通過(guò)社會(huì)工程和隱藏窺探對(duì)其本身發(fā)起的攻擊。無(wú)論是哪一種方式,現(xiàn)代瀏覽器通常都包含了大量預(yù)防此類攻擊的安全功能。IE也不例外,提供了內(nèi)置的安全性體系結(jié)構(gòu)以減少潛在的安全漏洞。
1.7.1 安全性用戶界面和反饋機(jī)制
安全功能是非常重要的:它們幫助保護(hù)用戶、數(shù)據(jù)和系統(tǒng)。在加載潛在的危險(xiǎn)內(nèi)容或者來(lái)自可疑來(lái)源的內(nèi)容時(shí),這一點(diǎn)顯得尤為重要。而與此同時(shí),這些瀏覽器的確存在,所以用戶可能打開(kāi)潛在的危險(xiǎn)內(nèi)容和來(lái)自可疑來(lái)源的內(nèi)容。非常讓人驚訝的是,用戶希望能夠?yàn)g覽這些網(wǎng)頁(yè)!
考慮到這兩個(gè)相互沖突又非常必要的目標(biāo),就出現(xiàn)了安全性用戶界面和反饋機(jī)制,用于向用戶傳達(dá)瀏覽過(guò)程中的安全隱患信息。這些方法和媒體是不同的,但它們的目標(biāo)都是描述一個(gè)網(wǎng)頁(yè)、一次下載和一個(gè)通信信道的當(dāng)前狀態(tài),使用戶知道為什么這些內(nèi)容可能是危險(xiǎn)的,為什么它受到了限制,或者為什么受到了阻止。
1. 信息欄
信息欄(IE團(tuán)隊(duì)稱之為GoldBar)是在一個(gè)存在于IDocHostUIHandler中的用戶界面元素,它嘗試向用戶通告重大的瀏覽器事件,在某些情況下,要求用戶做出信任決定(見(jiàn)圖1-21)。
圖1-21 ActiveX安裝信息欄
信息欄中的文本向用戶通知有關(guān)該事件的任意必要操作,如果需要執(zhí)行操作,會(huì)提供一個(gè)帶有決定流的快捷菜單。很多IE功能都使用了信息欄,包括“彈出窗口阻止程序”、XSS篩選器和ActiveX安裝程序。