Criticism of Internet Explorer

From Wikipedia, the free encyclopedia

Internet Explorer is a web browser that is subjected to many criticisms. Most of the criticism concerns its security architecture and its degree of support of open standards.

Contents

[edit] Criticisms regarding security

Internet Explorer comes under heavy scrutiny from the computer security research community, in part due to its sheer ubiquity. Exploitation of Internet Explorer's security holes has earned IE the reputation as the least secure of the major web browsers.

As of April 7, 2006, security advisory site Secunia counted 22 unpatched security flaws for Internet Explorer 6, many more and older than for any other browser, even in each individual criticality-level, although some of these flaws only affect Internet Explorer when running on certain versions of Windows or when running in conjunction with certain other applications.[1]

See computer security for more details about the importance of unpatched known flaws.

On June 23, 2004, an attacker using compromised Internet Information Services 5.0 Web servers on major corporate sites used two previously undiscovered security holes in Internet Explorer to insert spam-sending software on an unknown number of end-user computers.[2] This malware became known as Download.ject and it caused users to infect their computers with a back door and key logger merely by viewing a web page. Infected sites included several financial sites.

Art Manion, a representative of the United States Computer Emergency Readiness Team (US-CERT) noted in a vulnerability report that the design of Internet Explorer 6 Service Pack 1 made it difficult to secure. He stated that:

   
“
There are a number of significant vulnerabilities in technologies relating to the IE domain/zone security model, local file system (Local Machine Zone) trust, the Dynamic HTML (DHTML) document object model (in particular, proprietary DHTML features), the HTML Help system, MIME type determination, the graphical user interface (GUI), and ActiveX. … IE is integrated into Windows to such an extent that vulnerabilities in IE frequently provide an attacker significant access to the operating system.[3]
   
”

Manion later clarified that most of these concerns were addressed in 2004 with the release of Windows XP Service Pack 2, and other browsers have now begun to suffer the same vulnerabilities he identified in the above CERT report.[4]

Microsoft has addressed this problem in two distinct ways with Windows Vista: User Account Control, which forces a user to confirm any action that could affect the stability or security of the system even when logged in as an administrator, and "Protected-mode IE", which runs the web browser process with much lower permissions than the user.[5]

Many security analysts attribute Internet Explorer's frequency of exploitation in part to its ubiquity, since its market dominance makes it the most obvious target. However, some critics argue that this is not the full story; the Apache HTTP Server, for example, had a much larger market share than Microsoft IIS, yet Apache has traditionally had fewer (and generally less serious) security vulnerabilities than IIS.[6] In an October 2002 interview, Microsoft's Craig Mundie admitted that Microsoft's products were "less secure than they could have been" because it was "designing with features in mind rather than security."[7] IIS 6 has changed this, however; Secunia has only two vulnerabilities listed for the first three years since its release,[8] compared with 15 for Apache 2.0 in the same time period.[9]

As a result of its many problems, some security experts, including Bruce Schneier, recommend that users stop using Internet Explorer for normal browsing, and switch to a different browser instead.[10] Several notable technology columnists have suggested the same, including the Wall Street Journal's Walt Mossberg,[11] and eWeek's Steven Vaughan-Nichols.[12] On July 6, 2004, US-CERT released an exploit report in which the last of seven workarounds was to use a different browser, especially when visiting untrusted sites.[13] In December 2004, Pennsylvania State University issued an alert to students and staff telling them to drop IE and use an alternative.[14]

[edit] Component Object Model

A number of IE's security issues are related to components based on Component Object Model (COM). The embedding of COM into the Internet Explorer via ActiveX or Browser Helper Objects (BHO) created a combination of functions that provided a gateway for computer virus, trojan and spyware infections.

More recently, other experts have noted that the dangers of ActiveX have been overstated and there are safeguards in place. In an April 2005 eWeek opinions column, Larry Seltzer stated:

   
“
While there has been a striking lack of actual evidence that ActiveX is unsafe, there has been no shortage of baseless assertions and cheap shots against it. My favorite was the "Internet Exploder" incident in which Sun actually paid someone to write a malicious ActiveX control. The test system brought up all the warning dialogs about the program that you usually get and the Sun employee actually had the nerve to keep whacking on the enter key quickly so they would close as quickly as possible and didn't mention that there were any such warnings. Meanwhile, they also didn't mention that a signed Java applet could also perform dangerous privileged operations and would provide similar warnings. Most ActiveX criticism is simply uninformed, but this example was hypocritical and dishonest.[15]
   
”

The forthcoming Windows Defender, which is currently in beta, monitors Browser Helper Objects in Internet Explorer on Windows 2000, XP Server 2003, and Vista and will warn the user before a new BHO is installed.

[edit] Patches

Another common criticism related to the security of Internet Explorer is the speed at which fixes are released after discovery of the problems, and that in some circumstances, the problems were not always completely fixed. For example, after Microsoft released patches to close holes in its Windows NT line of operating systems on February 2, 2004, 200 days after their initial report, Marc Maifrett, Chief Hacking Officer of eEye Digital Security, is quoted in a cNet article as saying:

   
“
If it really took them that long technically to make (and test) the fix, then they have other problems. That's not a way to run a software company.[16]
   
”

The same article quoted @stake's Chris Wysopal, vice president of research and development as saying:

   
“
Whatever time frame it takes to fix something, you could always argue that it could have been made somewhat shorter. It is definitely in the multimonth category because of how many versions of the operating system and the big applications that they had to test.
   
”

The Register criticized Maifrett for publicizing a security hole leading to the creation of the Code Red worm, arguing that:

   
“
had they not made such a grand public fuss over their .ida hole discovery and their SecureIIS product's ability to defeat it, it's a safe bet that Code Red would not have infected thousands of systems. … When we speak in favor of full disclosure, we're talking about something more narrowly targeted than eEye's usual media blitz whenever they discover a hole that their products can fix.[17]
   
”

Microsoft attributes the perceived delays to rigorous testing. The testing matrix for Internet Explorer demonstrates the complexity and thoroughness of corporate testing procedures. A posting to the Internet Explorer team blog on August 17, 2004 explained that there are, at minimum, 234 distinct releases of Internet Explorer that Microsoft supports (covering more than two dozen languages, and several different revisions of the operating system and browser level for each language), and that every combination is tested before a patch is released.[18]

[edit] Spyware, adware and Windows XP SP2

Spyware and adware, like other malware, generally target Windows / Internet Explorer based systems. Older spyware attacks based on ActiveX have largely been mitigated by the security improvements in Windows XP SP2, but newer attacks against Internet Explorer allow the installation of spyware on SP2. Microsoft advises users to clean their machines of malware before attempting to install SP2 on a system, as it can cause the system to become unbootable:

   
“
Failure to clean up spyware and adware on your computer before installing SP2 can cause issues and in some cases make your computer difficult to restart. You may not even know that spyware or adware programs are installed on your system. And some spyware or adware programs may not cause serious issues with SP2, but it's a good idea to run spyware and adware removal programs before installing SP2.[19]
   
”

[edit] Criticisms regarding support of open standards

The Internet Explorer box model bug in quirks mode

During the browser wars of the late 1990s, modifications of Internet Explorer and Netscape Navigator were focused on the addition of non-standard features. This is in contrast to more recent browsers which have been designed with web standards in mind. Since version 5, there have been no significant changes in IE's Trident rendering engine. As a result, as of 2005, IE lags behind in support for standards.

Although each version of IE has improved standards support, including the introduction of a "standards-compliant mode" in version 6, the core standards that are used to build web pages (HTML and CSS) are still implemented in an incomplete and incorrect fashion. For example, there is no support for the <abbr> element which is part of the HTML 4.01 standard, and there are bugs in the implementation of float-margins for the CSS1 standard. The Internet Explorer box model bug is one of the best-known discrepancies between Internet Explorer's implementation of CSS and the "standards" put forth by the World Wide Web Consortium.

Because of its market dominance, some web developers only test their websites with Internet Explorer. Some developers also use non-standard extensions offered by Internet Explorer. This can cause pages to be rendered incorrectly in other browsers. In the worst case, it could block the users of other browsers from accessing the sites created by such developers. Critics feel that this is the execution of the final step of embrace, extend and extinguish (EEE): the extinguish stage.

[edit] Graphics standards

The lack of support of PNG alpha channel prior to 7.0
Enlarge
The lack of support of PNG alpha channel prior to 7.0

The lack of support for PNG alpha channel results in a reduced usage of the PNG image format on web pages. Alpha channel is a feature that, although being an optional part of the specification, distinguishes PNG from other formats like GIF or JPEG. In Internet Explorer, the transparent part of the image will be displayed as gray, white or other colors, depending on the image editor in which the PNG image was created. Microsoft documented a workaround on its support website [1], and the IE developers are aware of the missing functionality, as evidenced by a posting on IE developer Dave Massey's weblog [2]. This issue is fixed in Internet Explorer 7. Another less known bug is that when the PNG file is either 4097 or 4098 bytes in size, the image will be ignored and only the picture placeholder image will appear [3].

Other than PNG, Internet Explorer also does not support progressive display of progressive JPEG [4]. Progressive JPEG divides the file into a series of scans. The user agent should display progressive JPEG from lower quality scans to higher quality scans during transmission of the file. The user should see a gradual improvement of the quality of the image. Similar interlacing problem happens on PNG, where the 2D interlaced PNG is rendered as 1D interlacing.

Interlacing or progressive display was quite useful in the past since many users (especially home users) were on dial-up access where the bandwidth is very limiting. However, in Internet Explorer the image was not rendered until the completion of download. Fortunately (for some users) this problem is less significant now due to the introduction of Broadband Internet access.

[edit] XHTML

Internet Explorer does not support native XHTML (the successor to the standard document markup language HTML), and when encountering a document being served with XHTML's MIME type (application/xhtml+xml), a file download prompt will be presented to the user.

Workarounds exist which instruct Internet Explorer to process XHTML.

The most common workaround involves simply delivering the XHTML document as HTML. This workaround takes advantage of the fact that, by following certain authoring guidelines, XHTML 1.0 documents are backwards-compatible with HTML 4. However, this workaround has significant drawbacks, not the least of which is the loss of support for any features unique to XHTML such as its robust error checking. This is achieved by serving it to the browser with a MIME type of text/html, or by giving it a file name extension of .html or .htm where the document may be read from a local filesystem. The cost of this approach is that all compatible browsers will treat the document as HTML, ignoring any new features of XHTML such as well-formedness checking and namespace support. If the author of a document doesn't also validate and test it as if it is delivered as application/xhtml+xml, XML errors may still exist in the file. Some consider this practice as harmful as it could result in a proliferation of malformed XHTML documents [5]. Also, serving XHTML higher than 1.0 as “text/html” violates the recommendations of the W3C. It is useless to web developers wishing to serve XHTML, and errors may occur where any XHTML features incompatible with HTML 4 are encountered.

Another workaround involves manually editing the Windows registry[6] to instruct Internet Explorer to render application/xhtml+xml as XML. As this technique can only be performed by knowledgeable computer owners to their own computers,

A third workaround allows web developers to serve XHTML as MIME types “application/xml” or “text/xml” and then make a small transform[20] with an XSLT stylesheet in the header of an XHTML document, which then results in Internet Explorer processing the document as XHTML with the XML parser.[7]. This demonstrates that the full support is there, but it has been buried.

[edit] HTTP and MIME

Unlike other browsers, Internet Explorer does not obey MIME types specified in the MIME Content-Type header. For example, a document sent as text/plain containing HTML-like tags will be interpreted as a HTML document, while it was intended to be displayed as a plain text document. For this example, it is possible to change this behavior by manually editing the registry, a thing that most regular users will not or cannot do.

Internet Explorer does not fully support HTTP/1.1 content negotiation, because the browser does not specify, in its requests, what MIME type and character encodings it can accept. Content negotiation is a technique whereby an HTTP server uses the browser's—ultimately, the user's—preferences for media (MIME) type, languages, character encoding, and transfer encoding (for example, compression) in order to determine the best representation of a resource to send to a user agent, when multiple representations are available. An example would be the negotiation of image format (such as SVG, PNG, or GIF), and document format (WML, XHTML, or HTML, for instance).

[edit] CSS

The neutrality of this article or section may be compromised by weasel words.
You can help Wikipedia by improving weasel-worded statements.

Some argue [citation needed] that CSS support in Internet Explorer is far less adequate than feature checklists suggest. While Internet Explorer recognizes many of the CSS Level 1 features, it routinely misinterprets them. Therefore, Internet Explorer's support of CSS Level 1 is considered partial and inadequate. Internet Explorer offers virtually no support for new features of CSS Level 2 (inline-block and vertical-align: middle being the notable exceptions).

One of Internet Explorer's most infamous CSS oddities is the Internet Explorer box model bug, where the width of a box as defined by Internet Explorer is different from the one specified by the W3C. As a result, webmasters have had to design webpages separately for Internet Explorer and other browsers or otherwise implement workarounds to ensure the appearance of their webpages are rendered consistently in all web browsers. In MSIE version 6, Microsoft addressed this issue by implementing the W3C box model, if "standards mode" was enabled, which is done by defining a supported DOCTYPE on the first line of the HTML output. Also noteworthy is the addition of Microsoft's original box model implementation to the CSS3 spec.

[edit] JavaScript and DOM

Microsoft has extended Netscape's original JavaScript specification to create an implementation called JScript, which is the default scripting language interpreted in Internet Explorer. Like Netscape's JavaScript implementation, JScript supports the full specification of ECMAScript, the only standardised scripting language on the Web.

What is more different is the Document Object Model (DOM) bound with JScript. While all browsers have their own implementation of DOM Level 0 (vendor-specific), Internet Explorer implemented only some of the W3C recommended DOM Levels (1, 2 and 3). In addition, before DOM Level 2 was finalized, IE implemented some proprietary extensions to DOM which are similar, but not identical, to those in DOM Level 2. Most of these proprietary extensions are not accepted by the W3C. As the corresponding (finalized) DOM Level 2 objects and methods are not implemented in Internet Explorer due to the slowdown of development since version 6, problems arise when trying to write scripts that work on any browser. Web developers often need to write extra code so that the scripts will work on both Internet Explorer and on browsers that correctly implement the W3C standards. This duplication increases development effort, results in code bloat, and makes code maintenance harder.

[edit] Plugin API

It did for a time support Netscape's NPAPI. Plugins that functioned in the Netscape browser also functioned in Internet Explorer, but the support was dropped in version 5.5 SP2 in favor of Microsoft's own proprietary ActiveX technology, which unnecessarily increased the workload of vendors of helper applications like QuickTime.

[edit] Unicode

Main article: Unicode and HTML

Internet Explorer supports the Unicode standard for multilingual text, and is therefore theoretically capable of displaying any character which is present in an installed font. In practice, Internet Explorer does not automatically choose fonts for blocks of mixed Unicode text. Characters can end up displayed as blank squares or question marks.

Web designers must guess which appropriate fonts may be present on users' computers, and manually specify them for every change of Unicode block. In contrast, most other browsers do this automatically.

[edit] Workarounds

To get around these problems, many web designers build websites compliant to W3C standards, and then implement workarounds or hacks to account for Internet Explorer's rendering inadequacies, or to hide advanced website features from IE. The CSS hacks are often very complicated, as they need to deal with different versions of IE on different platforms (mostly Windows and Mac). The hacks utilize not just Internet Explorer-specific features, but also some rendering-engine bugs that are well known. Some of the more common hacks:

One of the most popular IE hack collections is known as IE7 [8], written by Dean Edwards. It is an attempt to make Internet Explorer more compliant when it comes to web standards. In addition to the support of some CSS2 selectors, it also fixes some of the IE bugs. However, as many client-side scripts need to be loaded and run before displaying the page properly, there is a considerable amount of loading time needed for every single page.

With the release of Internet Explorer 7, Microsoft addressed many shortcomings of previous versions, including a notable improvement of IE's support for the CSS2.1 standard. Some might find it ironic that the browser's new, improved CSS engine was so confounded by the hacks commonly utilized to mitigate deficiencies of its predecessors that Microsoft urged developers to remove CSS hacks in an article posted on its IEBlog[9]. In order to support IE7 without compromising compatibility with previous versions, many web designers employ conditional comments.

[edit] Other criticisms

[edit] Increased Download Size

Over the versions, the download size of Internet Explorer has increased significantly. As of Internet Explorer 6 Service Pack 1 (including Outlook Express), the total download size for a typical installation was approximately 25 megabytes. The size varied between 11 (minimal install) and 75 MB (full install). This was much larger than that of some Internet suites, for example (based on Windows installer) Opera 8.0 (3.6MB), and Mozilla Suite 1.7.8 (11MB).

[edit] Unclear Error Messages

Obfuscated error message
Enlarge
Obfuscated error message

Internet Explorer also obfuscates error messages. "Page could not be displayed" is produced in many situations, and may indicate an HTTP 404 error, a DNS lookup failure, TCP error, SSL problem and probably many more. Although the actual problem is described in small type at the bottom, the prominence of "Page could not be displayed" means that it is typically the only text that will be reported to webmasters, leaving unsure what the problem was and unclear whether or not they need to take corrective action. This problem is exacerbated by the fact that Microsoft's IIS Web server software uses very similar error pages for server-side errors as well, introducing yet another type of error which, to the user, looks identical to all the rest. Error messages in Internet Explorer 7 have, however, been improved to be more informative and to offer more support to help the user identify and fix any possible problems that may be causing the error to be displayed.

[edit] Lack of Development 2001-2005

The release of Windows XP Service Pack 2 in August 2004 was the only time Microsoft released any significant changes to Internet Explorer between the release of Windows XP and the recent release of IE 7.0. Although Microsoft has released numerous updates to Internet Explorer during this time period, until Service Pack 2, those updates were primarily security updates.

Before Service Pack 2 was released, some users began to suspect that IE development (in terms of potential enhancements to the product) had been abandoned once Microsoft had 'won the browser wars'. IE Product Manager Brian Countryman added to the fears of these users when he announced in an interview in 2003 that "IE6 SP1 is the final standalone installation," indicating that its far-off (in 2003) Codename Longhorn operating system would be the sole platform for which any further enhancements would be released.

Microsoft has since reversed that decision, and announced that version 7, like several other features originally intended for Windows Vista, would be available freely to all Windows XP users as well. Microsoft also re-committed itself to supporting and enhancing IE 6 for Windows XP users, by releasing Service Pack 2. It added several new features intended to enhance security, including a pop-up blocker.

[edit] Footnotes

  1.   PNG Files Do Not Show Transparency in Internet Explorer, February 13, 2005.
  2.   Transparent PNG Support, May 12, 2005.
  3.   Cannot View Some PNG Images, May 12, 2005.
  4.   PHP: imageinterlace, May 12, 2005.
  5.   Forcing IE to Show Application/xhtml+xml pages, May 12, 2005.
  6.   Does Microsoft Internet Explorer accept the media type application/xhtml+xml?, July 21, 2004.
  7.   Sending XHTML as text/html Considered Harmful, February 13, 2005.
  8.   /IE7/, May 12, 2005.
  9.   Call to action: The demise of CSS hacks and broken pages, October 12, 2005.
  10.   How to Protect Yourself From Vandals, Viruses If You Use Windows, May 12, 2005.
  11.   Internet Explorer Is Too Dangerous to Keep Using, May 12, 2005.

[edit] See also

[edit] References

  1. ^ Vulnerability Report - Microsoft Internet Explorer 6.x. Secunia. Retrieved on 2006-04-07.
  2. ^ Researchers warn of infectious Web sites (June 25, 2004). Retrieved on 2006-04-07.
  3. ^ Vulnerability Note VU#713878. US-CERT (June 9, 2004). Retrieved on 2006-04-07.
  4. ^ Perspective: A safe browser? No longer in the lexicon. CNet (July 7, 2005). Retrieved on 2006-04-07.
  5. ^ Protected Mode in Vista IE7. Internet Explorer team blog. Microsoft (February 9, 2006). Retrieved on 2006-04-07.
  6. ^ Wheeler, David (November 14, 2005). Why Open Source Software / Free Software (OSS/FS, FLOSS, or FOSS)? Look at the Numbers!.
  7. ^ Thomson, Iain (October 9, 2002). Microsoft outlines security strategy. vnunet.com. Retrieved on 2006-04-07.
  8. ^ Vulnerability Report - Microsoft Internet Information Services (IIS) 6. Secunia. Retrieved on 2006-04-07.
  9. ^ Vulnerability Report - Apache 2.0.x. Secunia. Retrieved on 2006-04-07.
  10. ^ Safe Personal Computing (December 12, 2004). Retrieved on 2006-04-07.
  11. ^ Mossberg, Walt (September 16, 2004). How to Protect Yourself From Vandals, Viruses If You Use Windows. Personal Technology. Wall Street Journal. Retrieved on 2006-04-07.
  12. ^ Vaughan-Nichols, Steven (June 28, 2004). Internet Explorer Is Too Dangerous to Keep Using. Linux & Open Source – Opinions. eWeek. Retrieved on 2006-04-07.
  13. ^ Vulnerability Note VU#713878. US-CERT (June 9, 2004). Retrieved on 2006-04-07.
  14. ^ Penn State Tells 80,000 Students To Chuck IE. InformationWeek (December 10, 2004). Retrieved on 2006-04-07.
  15. ^ Seltzer, Larry (April 14, 2005). The Lame Blame of ActiveX. Security — Opinions. eWeek. Retrieved on 2006-04-07.
  16. ^ Lemos, Robert (February 13, 2004). 200 days to fix a broken Windows. cNet. Retrieved on 2006-04-07.
  17. ^ Greene, Thomas (July 20, 2001). Internet survives Code Red. The Register. Retrieved on 2006-04-07.
  18. ^ The Basics of the IE Testing Matrix. Internet Explorer team blog. Microsoft (August 17, 2004). Retrieved on 2006-04-07.
  19. ^ Russel, Charlie (September 22, 2004). Getting and Installing Windows XP Service Pack 2. Microsoft. Retrieved on 2006-04-07.
  20. ^ See Anne”s Weblog for details. The XSL transform is quite minor to re-enable the XHTML support.

[edit] External links

In other languages