對Internet Explorer的批評

Internet Explorer是一款招致了許多批評的網頁瀏覽器。大部分批評都集中在其安全架構以及對開放標準的支持程度上。

## 對其安全性的批評

Internet Explorer的安全性已被來自電腦安全研究社群全面審查，部分原因是因為市場被其獨占。Internet Explorer的安全漏洞已經使得其成為主流瀏覽器中較不安全的一個。

2005年6月20日，安全諮詢網站Secunia列出了 Internet Explorer 6 的20個無補丁的安全漏洞，在每一個安全級別中，絕大部分漏洞存在的時間都比其他瀏覽器的時間長，但其中的一些漏洞只會影響特定版本的 Windows 上的某些 Internet Explorer 或是在與某些其他應用程式結合時才會暴露。

另一安全諮詢網站SecurityFocus列出了存在於Windows XP Service Pack 2的Internet Explorer 6中27個無補丁安全漏洞。在Windows XP SP2上的早期Windows中存在更多。

2004年6月23日，一個目的在於大公司 IIS 伺服器的攻擊即是通過使用 Internet Explorer中兩個先前未發現的漏洞，藉以在不知情的大量最終使用者的瀏覽器中插入垃圾郵件發送軟體而成。該惡意軟體被定名為Download.ject，它會在使用者瀏覽網頁時偷偷電腦中安裝後門以及一個鍵盤擊鍵記錄軟體。被感染的電腦包括許多金融網站。

Art Manion 是美國電腦緊急相應小組（US-CERT）的一名代表，他指出 Internet Explorer 6 SP1 的許多設計使得 Internet Explorer 6 天生就不可能安全，他說道：

Manion隨後聲名他的講話大部分是相對於2004年發布 SP2 前的，並且其他瀏覽器也開始在上述CERT文件中面臨類似的問題。

值得注意的是XP SP2所提供的一些功能對於先前版本的Windows並不可用，它們包括 Windows 9x，NT 和 2000。

另外，一些與Internet Explorer相關的安全漏洞也令需要的Windows使用者突破安全權限。一個例子是，在Windows XP中，預設時系統是不允許普通使用者組（User使用者組）的使用者以管理員組（Administrator使用者組）權限進行特權操作的。但實際上，這種情況下駭客可以運行一個專用代碼實現對電腦作業系統的完全控制。這種破解行為也將導致任何瀏覽器以不受限的特權狀態運行。對於其他系統普通使用者的日常操作來說，使用超級用戶（Power User使用者組）進行日常操作是不明智的，但攻擊者可以依賴於Windows系統中這個處於不適當級別的瀏覽器進程。然而，也有許多Windows中的程式離開管理員特權無法運行或效果變差，所以其他系統中的正常操作可能對於Windows使用者來說是不切實際。

許多的安全分析者指出IE經常爆出嚴重漏洞是因為它獨占市場份額，所以駭客把其優先作為攻擊目標。然而，也有許多批評指出這種說法是不全面的；Apache網路伺服器的市場份額比微軟IIS要高，但Apache幾乎沒有安全漏洞，就算有也相較IIS說是很輕微 Mundie曾經承認微軟公司的產品「對常態而言是不安全的」而這是因為微軟「設計時更注重功能而非安全」

結果這樣導致許多問題，一些安全專家，包括Bruce Schneier 以及開源倡導者David A. Wheeler，推薦廣大使用者停止使用Internet Explorer作為日常瀏覽器，而轉換其他瀏覽器作為替代。一些技術專欄作家也建議過類似的話。2004年6月6日，US-CERT發布的漏洞報告建議立即停止使用IE而該用其他，尤其是訪問非信任站點時更應如此。2004年12月，賓夕法尼亞大學發布的一篇文章告誡學生和員工馬上丟棄使用IE並改用其他瀏覽器。

### 組件對象模塊

許多的IE安全問題皆與組件對象模塊（COM）相關。IE通過ActiveX或瀏覽器幫助對象（Browser Helper Object）將COM深植其中。這種功能的結合為電腦病毒、特洛依木馬程序以及間諜軟體的進入大開方便之門。

這些惡意軟體的攻擊與傳遍通常皆要利用ActiveX。微軟早已經認識到這一問題，1996年Charles Fitzgerald－微軟的Java團隊程序負責人曾說，「如果你想在『網路上』安全，請關掉你的電腦。我們從來沒有準備讓ActiveX安全。

ActiveX控制項，一旦運行，即可獲得使用者特權而非像其競爭技術（如Java與JavaScript）那樣被限制的運行。ActiveX控制項一如既往的是一個非標準的不可在非Windows平台上移植的技術。一份普林斯頓大學教授Edward Felten的文章 指出 :

ActiveX的安全依賴於安全區域的設置和數字簽名，而沒有類似沙盒以及元政策的指導

ActiveX的安全問題首次被發現是在1997年，混沌電腦俱樂部（Chaos Computer Club）這家機構展示了一個可以與使用者手持設備中Intuit的Quicken金融軟體自動進行連接的ActiveX控制項，這個程序會自動將使用者帳號上的錢轉移至CCC的銀行帳號。

美國國防部(DoD)已經將ActiveX定義為1類（最危險）的移動代碼技術，並嚴格限制ActiveX在DoD系統內的使用。

也有專家認為ActiveX的風險被過分誇張了，而其實ActiveX是有安全機制的。eWeek的Larry Seltzer指出：

已發布的Windows Defender可以監視Windows 2000，XP and Server 2003下IE中的BHO，並對欲新安裝BHO對使用者作出警告。

### 補丁

很多人批評IE常常在發現問題很長時間後才發布對應的補丁，而且發布的補丁常常不能完全修復漏洞。如微軟在2003年2月發布初始報告後200天才發布出補丁（而不是30-60天），Marc Maifrett，eEye Digital Security的Hacking部門主管說過：「如果它們真的需要花費如此長的時間來修復(以及測試)，那麼他們還有別的問題。這不是一個軟體公司的運作常態。」The Register則批評Maifrett公布的安全漏洞導致了CodeRed在那年的流行，也有人認為：「如果他們沒有發現引起公眾慌亂、ida漏洞或是他們的SecureIIS產品有能力防衛，紅色代碼蠕蟲就不會感染數千台系統。

微軟將他們的延期歸咎於區域測試。公司對Internet Explorer進行測試的軟體是複雜而完全的。IE瀏覽器以26種不同語種發布在不同的Windows平台上。因此，對每個補丁的測試估計需要進行 最少237次安裝。

雖然安全補丁持續在不同平台上發布，但現今大部分補丁只針對Windows XP發布。

### 間諜軟體·廣告軟體與Windows XP SP2

間諜軟體與廣告軟體，如同其他的惡意軟體一樣，通常把目標對準Windows/Internet Explorer為基礎的作業系統。較舊的間諜軟體對系統的危害已經因為Windows XP SP2的安全增強而有所緩解，但對IE新型的攻擊會在SP2上安裝間諜軟體。微軟不建議在已經感染間諜軟體的系統上安裝SP2，因為這可能導致不能自舉：

視已安裝的間碟軟體而定，在SP2更新準備工作中，我們可透過反間諜工具移除間碟軟體或在一些嚴重情形中，需要手動修改登錄檔（Windows Registry）。然而，保安專家普遍建議安裝Service Pack 2。

## 對其不支援開放標準的批評

在1990年代的瀏覽器戰爭時代，Internet Explorer與Netscape Navigator都不得不致力於在瀏覽器中添加非標準功能。這與近來以web標準設計的瀏覽器形成鮮明對比。在版本號5後，IE的Trident渲染引擎幾乎沒有進行過重大修改。結果在2005年，IE在支持標準上已經大大落後。

雖然每一個版本的IE都會改善基本支援，包括在版本6中引採用的「符合標準模式」，其中用來建立網頁（HTML和CSS）的核心標準卻仍然是以不完全且不正確的方式來實作的。舉例來說，它不支援`<abbr>` 元素，但這是HTML 4.01 標準的一部份，而且它對CSS1標準中的float-margin部分的實作有缺陷。Internet Explorer盒模型錯誤是Internet Explorer對CSS標準的實作中，最為人熟知的缺陷之一。

由於它在市場上的主導地位，使得某些網頁開發人員只用Internet Explorer來測試他們的網站。某些開發人員也使用Internet Explorer所提供的非標準擴充套件。這導致網頁無法被其他瀏覽器正確地解讀。最糟糕的情況下，它可能會阻擋其他瀏覽器的使用者存取這些開發人員所建立的網站。

雖然Netscape已經停止開發Netscape Navigator，微軟的Internet Explorer因而取得了非常大的市場佔有率，而後開發Netscape Navigator的程式員與一些不滿Internet Explorer的技術人員創立了Mozilla組織並以Netscape Navigator作基礎開發了Mozilla Application Suite與Mozilla Firefox。

### 圖像標準

由於IE不支援PNG圖像的Alpha通道，導致PNG圖像格式在網上使用率的減少。雖然只是一個可選的特性，Alpha通道卻是把PNG與其他像GIF或者JPEG這樣的格式相區別的一個特色。在Internet瀏覽器中，透明的部分的形象將被顯示作為灰色，白或者其他顏色。

隔行或漸進顯示對於過去大量使用的撥號上網而頻寬非常有限的使用者非常有用。不過，Internet Explorer的圖像不支持於未完成下載時開啟。但由於寬帶網際網路連接的引進，現在這問題已沒那麼重要。

### HTTP與MIME

不像其他瀏覽器，Internet Explorer不允許MIME在Content-Type信頭段中定義MIME類型。比如一個純文本格式的檔內包含了HTML樣式的標記就會被識別為HTML文檔，而不是純文本文檔。但在這種情況下，可以通過手動修改註冊表的方式強行改變執行行為。

### JavaScript與DOM

微軟擴展了原先網景的JavaScript並專稱其為JScript，JScript是Internet Explorer的預設腳本語言。與Netscape's JavaScript有相似的實現，JScript支持ECMAScript的完整規範，網際網路上唯一的標準化腳本語言。

最大的不同在於與JScript綁定的文檔對象模型（DOM）。

### Unicode

Internet Explorer對多語言文本支援Unicode標準，因此其理論上有能力顯示任何已經安裝字體的字元。但實際上，Internet Explorer不會對混和Unicode文本自動選擇字體。這種情況下字元可能會以一個空格結束或顯示為問號。

網頁設計者必須猜測在使用者電腦上顯示哪種字體最為合適，如果需要改變就需要對每個Unicode塊進行手動改變。而對其他瀏覽器卻可以自動完成這個操作。

以Unicode之中的英文的音標為例，當網頁中，欲顯示的音標字串的前後有使用`<font name="Lucida Sans Unicode">`與`</font>`所包起來時。IE6以前的版本，無法正常顯示出英文的音標。但IE7則已修正了此Bug。

## 其他批評

隨著版本的更新，Internet Explorer的下載大小也顯著增大。對於 Internet Explorer 6 Service Pack 1 （包括Outlook Express）來說，其典型安裝時的下載大小已經接近25MB。它的大小從11MB（最簡安裝）到75MB（完全安裝）不等。這大大超過了一另一些網路瀏覽套裝（Internet suites）的大小，例如（基於Windows installer）Opera 8.0（3.6MB）、Mozilla Suite 1.7.8（11MB）、Mozilla Firefox 1.5.0.6（4.9MB）和SeaMonkey 1.0.4（12MB）。

一個較小但似乎很有意思的批評是軟體名稱中Internet這個單詞的使用。嚴格地說，Internet Explorer是為全球資訊網（World Wide Web）而不是為整個包含了電郵、Usenet、telnet和IRC等的網際網路（Internet）而設計的。由於這種以網際網路（Internet）來代替全球資訊網（World Wide Web）的誤導性使用，許多對網際網路沒有足夠了解的使用者可能會認為使用Internet Explorer是進入網際網路的唯一途徑。

## 外部連結

- Secunia - Vulnerability Report - Microsoft Internet Explorer 6.x
- Explorer Exposed!
- Internet Explorer vs. the Standards
- The Door Is Ajar — An "anti-IE" article by a Sun Microsystems technology director Tim Bray.
- Why You Should Dump Internet Explorer — An "anti-IE" article by a MCSE Daniel Miessler.
- StopIE — An "anti-IE" campaign by a web developer Stephen O'Brien
- Browse Happy — An "anti-IE" campaign by the Web Standards Project
- Drip — A utility to detect and measure IE's memory leaks.