Wednesday, February 16, 2005

Will Windows and IE 7 be like Windows and IE6(I'd put money on it being so)

What is the basic underlying problem with running IE on windows?

This is how real operating systems run an application:







KernelNetworkGUI (Windows)Application (Firefox)


If you attack the Applications security holes(which tend to be minimal as it is fully self contained), you can crash it. If you get the application to take up too much memory they system will slow down. You cannot attack the application and get access to the Kernel or Network level. The most common holes are buffer overruns. IE I tell you I am sending you 1MB of data and then send you 2MB of data. In that extra 1MB I have a program to run. Firefox doesn't run programmes so it might crash, but nothing else happens.

You are right that Firefox does run programmes, will it gets helper files and plugins to run them( Flash, Real Player, Shockwave(unless you are on Linux) etc ) it also runs java applets(via the installed java runtime). The helper files might have security holes, but they will exist under IE too. java applets can only access its own sandpit, ie it will not be able to touch the your machine.


This is how Microsoft runs applications (This might change in longhorn, but I doubt it)






KeNetrnwoeGrkUIlApplication (Firefox)


This is how Microsoft runs Internet Explorer (This also might change in longhorn, but I doubt it)




KeNeIntertrnwoneteGExplrkUorerIl


If you attack an Internet Explorer security hole, which are numerous as it is relying on large parts of the kernel to protect it and to interpret the incoming information, you then have access to the kernel and Network layers. Imagine I have done the buffer overrun thing mentioned above, I have now placed the programme in the kernel memory space. The kernels job is to run programmes, so it will happily run my code.


On top of all this we have the .NET principle, in which Internet Explorer will download programmes and run them. Oh it asks you if you trust the sender, but you might need to trust the sender to get your free iPod, so you say yes, and down comes the free iPod .NET application and the free "I'll format you hard disk" .NET application. Nicely set up so that whenever you visit a certain site it formats your hard drive. If someone wrote a Java Applet to format a hard drive, whenever you visited their site you would format their hard drive, yours would still be intact.


I doubt if Microsoft will change this practice, as it is part of their core ideal where everything is integrated into the kernel, so it runs seamlessly and fast. Microsoft are attempting to deliver and entire computer based solution for everyone which is easy to use. It might be a fine goal, but it is impossible, particularly with the speed of innovation in the computer industry and the large range of hardware available.

There is really only two choices in this environment:


  1. Deliver discrete independent packages that can be bundled together in any way.(linux)

  2. Restrict the environment, integrate a lot, offer a minimal series of APIs (access to the kernel)that run the rest. The application needs to be pretty independent.(Apple)

0 Comments:

Post a Comment

<< Home