Microsoft Research Showcases New Browser Prototype, "Gazelle" 125
Ars Technica reports that Microsoft has opened up about "Gazelle," a new browser prototype of theirs that is modeled after the underlying concepts of operating system design. "A research team led by Microsoft's Helen Wang recently published a report about an experimental browser prototype called 'Gazelle' that uses processes to isolate page content elements originating from different domains. It builds on the concept of multiprocess browsing but uses more fine-grained isolation to expand on the security advantages that are already delivered by existing multiprocess browsing models. But is it an operating system, Microsoft Research's analogue to Google's Chrome OS? Not quite."
New MS browser (Score:4, Funny)
Oh boy! A more secure browser from the pros at secure browsing, Microsoft.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Yeah. I read the FA. I see ActiveX. Wonderful. We all know that ActiveX is the most secure protocol on the face of the earth. /sarcasm
Re: (Score:2)
Re: (Score:2)
DCOM is not a protocol either. It's more of a component architecture.
Re: (Score:2)
See also. [ibiblio.org]
See also. [PDF] [microsoft.com]
Re: (Score:2)
Except it isn't a browser. It is a paper, about a theoretical browser, with not even so much as a screen shot.
Re:New MS browser (Score:5, Funny)
Re: (Score:1)
New Focus (Score:5, Interesting)
Re: (Score:1)
You are wildly mischaracterizing what Microsoft Research does. This isn't a new direction or focus for the company, it is a paper about some ideas.
Re: (Score:2)
Microsoft focusing on developing a browser-based OS is directly opposed to their current business model, which involves forcing users to purchase an operating system.
But not opposed to their business model of disrupting competition by any means possible. Significant competitor comes up with browser/OS combination, so lets tell the market that we are doing just that. Should keep the builders of those pesky netbook thingies from drifting away again.
Re: (Score:2)
Uhh... what? I know of Xenix (which was a full fledged Unix) but are you sure you didn't see this on some pisspoor "geek humour" website?
Re: (Score:2)
Well there was that odd time a few years back when they had Microsoft Linux available.... Just saying... (this isn't a joke, they DID)
[Citation needed]
Re:New Focus (Score:5, Funny)
Re: (Score:1)
No, they never had any sort of Linux product ever. They had some Linux machines they used for various things but there was never a Microsoft Linux.
You may be refering to Xenix, which was most certainly around before Linus started.
If I recall correctly, Xenix was one of the things that got linus started on Linux, it was part of his drive for an alternative that didn't suck.
Nice try though, next time a clue would be more useful.
http://en.wikipedia.org/wiki/Xenix [wikipedia.org]
Re: (Score:1)
Not an improvement (Score:5, Interesting)
MS's idea is nice, but it's not going to help a lot of things very much. It'll help when plug-ins and helper apps go runaway, being in a separate process they won't be able to block the browser itself. But from a security standpoint the problem isn't that those embedded objects are in the same process, it's that they have access to the same page and the DOM elements in it and the data structures of the browser itself. And that won't be solved just by putting them in their own process, not without isolating them from the rest of the page and browser to a degree that'll break a lot of Microsoft's technologies.
Perhaps those technologies need to be broken. (Score:5, Insightful)
Re: (Score:2)
Anyone else see the irony of this comment on a page full of AJAX tech by the way?
Re: (Score:2)
Some of Microsoft's technologies... need to be broken.
Hey - you're in luck!
Re: (Score:2)
it's that they have access to the same page and the DOM elements in it and the data structures of the browser itself.
Well, if that isn't convincing enough, threads usually inherit the permissions of the process creating it. So multi-threading only manages to increase complexity, without improving security. Any exploit made in the child process/thread can use those permissions to access the parent. It's not even a privilege escalation attack, because no permissions are changed to do it. Sad. Very sad.
Color me less excited :/ (Score:5, Informative)
After reading that article, I'm much less excited than I was. I had assumed it was something similar to Google Chrome OS, but it's not even something that seems like it turned out very well for Microsoft, or something that can have yet undiscovered major issues on the horizon. The idea seems to have turned out overly complex to work around the limitations with the approach, and all that in a resource hungry .NET application. It says they're hopeful to get the per-tab RAM usage down from 16 MB, but I have to wonder by how much? This approach doesn't seem much better than running a process-separated browser written in Java. Ugh.
I have a hard time understanding the decision to use .NET, but perhaps it was a security decision? Anyway, it doesn't sound like the optimal choice, when the project all revolves around low-level features like isolating the tabs even further.
Re: (Score:2)
I actually think it's closer to the OP browser [uiuc.edu] than it is Chrome OS.
Re:Color me less excited :/ (Score:4, Insightful)
Re: (Score:2)
But sometimes, MS Research's projects do become actual products. Here's a famous example: link [youtube.com]
With a track record including successful products like this, I'm sure this MS Research project is sure to be a giant and resounding success.
Re: (Score:2)
OMG, that was horrible. Welcome to the new MS. And it took 4+ minutes to show us that.
Re:Color me less excited :/ (Score:4, Informative)
After reading that article, I'm much less excited than I was. I had assumed it was something similar to Google Chrome OS, but it's not even something that seems like it turned out very well for Microsoft, or something that can have yet undiscovered major issues on the horizon. The idea seems to have turned out overly complex to work around the limitations with the approach, and all that in a resource hungry .NET application. It says they're hopeful to get the per-tab RAM usage down from 16 MB, but I have to wonder by how much? This approach doesn't seem much better than running a process-separated browser written in Java. Ugh.
I have a hard time understanding the decision to use .NET, but perhaps it was a security decision? Anyway, it doesn't sound like the optimal choice, when the project all revolves around low-level features like isolating the tabs even further.
Read the article a bit more and you'll discover that the purpose of this project was to find the limitations of taking the separate process model to an extreme, with every element on a single page living in its own process. This was low level research, not an attempt to spark a new product.
Re: (Score:2)
How would you think it was related to Chrome OS?
I came here expecting to ask why they added this line But is it an operating system, Microsoft Research's analogue to Google's Chrome OS? Not quite. but you had already made this comment. Why would a browser prototype be like an operating system?
And.. using .NET more has always been their plan, to convince people you can write useful apps in it. I thought Vista was supposed to have large portions written in .NET - right along with the database-like filesyste
Re: (Score:1)
Exactly. Sadly some people now think an OS that can do nothing but run a browser is the holy grail of operating systems. (Chrome OS will probably do a bit more than run a browser, admittedly. And then some day a person will write a website that emulates a desktop (probably already done). Performance might be better than anything else, but the feature set will be low. From that webpage users will eventually be able to launch other webpages! And then someone may even figure out a way to launch some C++
Will this keep the browser from "stalling"? (Score:2)
I am far from an expert on browsers so I am genuinely curious to know if this will keep the browser from occasionally "stalling". Will it allow the browser to keep downloading/processing the parts of the web page that it can even when certain elements are unavailable? If so, sounds like a good advance!
Standards (Score:2, Insightful)
Re: (Score:1)
At my workplace I even removed all the IE icons I could find, only to be complained at that "I can't find the internet any more!".
Re: (Score:1)
Re: (Score:1)
This was cerntain;y true for explorere 5 , 6 and somewhat explorer 7. But for explorer 8 they were brave enough to break not compliant sites.
Wait, they did WHAT for HOW MANY COOKIES? (Score:3, Insightful)
It builds on the concept of multiprocess browsing but uses more fine-grained isolation to expand on the security advantages that are already delivered by existing multiprocess browsing models.
That's a new definition of security of which I was previously unaware. Just about anyone who's spent five minutes trying to do multi-process, multi-thread, unsyncronized accesses, cloud, spin-locks, etc., will tell you that no, there are no inherent security advantages. It'll be less secure unless you make a dedicated effort from project start just to keep it on par with single-threaded. The only "advantage" it has is that when it fails it'll crash more slowly, with a wider variety of obscure error messages, hammering the operating system as it tanks with the extra overhead as it does so. Yes, it might be slightly harder to develop an exploit because it's not using a generic flaw, but some complicated and obscure flaw -- but that's not more secure; Only badly designed.
Re: (Score:2)
It's more secure because if one browser instance gets compromised, you don't automatically compromise all of the data currently in other browser instances.
At least that's my understanding. I could just as easily be wrong.
Re: (Score:1)
Bullshit.
It is not more secure 'just because'.
It CAN be more secure, but as history shows, pretty clearly, the more code you add, the less likely it is to be secure.
You don't get automatic security when you have multiple processes unless they are completely and in every way unable to do anything to the other. Since multiprocess browsing results in using shared memory, IPC, and even sharing files on disk, there is pretty much no reason what so ever to assume that multiprocess is more secure.
Once you break o
Re: (Score:2)
Yes. There ARE inherent advantages.
You can make RPC protocols with time-outs, so a supervisor process can kill offending child tab. Of course, you'll need to design your protocol to support timeouts, but I assume that Google and Microsoft developers are not stupid.
Next, you can easily isolate a process. Operating systems are GOOD at that, especially Linux with SELinux, seccomp and other _kernel-level_ sandboxing solutions.
Empirically, Google Chrome which also uses multi-process approach works _faster_ than
Re: (Score:1, Informative)
It is true that our current abstractions for concurrency suck. However, the benefit of a multi-process (not multi-thread) abstraction is address space isolation. Namely, when your browser tab or plugin goes off scribbling in memory, every other browser tab keeps on chugging along without getting corrupted. As you pointed out, we still need good designs for exchanging data between processes. But now we can design much smaller interfaces around narrow, inter-process communication channels instead of the massi
Re: (Score:1)
Re: (Score:2)
You realize that IPC implies shared memory right?
Geeze, no, it absolutely doesn't. Shared memory is one of the possible mechanisms, but it's certainly not the only one [wikipedia.org]. You can do interprocess communication between processes running on different machines, on different architectures, on different continents, ferchrissake!
Unless you call the data itself "memory", in which case I suggest you should take up plastering, since computers are clearly too complex for you (no insult to plasterers intended, wonderful
Re: (Score:1)
For instance, the contract could still certainly allow an entity to pass arbitrary pieces of code for another entity to run or allow an entity to change an arbitrary memory loc
Confusing use of the word "security" (Score:1)
But I think calling it "security" just makes everyone assume they mean it will be harder for people to hack their system.
Surely if it takes 16MB of RAM just to
Trident? (Score:3, Insightful)
It's largely a .NET application that uses Internet Explorer's "Trident" rendering engine.
Granted, it has made significant improvements but I still haven't been that impressed by the Trident engine. Sometimes I wish they'd use someone else's engine so that they'd be kept up-to-date on standards AND you'd have the same browsing experience on multiple browsers.
I guess I can understand why they don't though... they'd be up a creek without a paddle if they used Webkit and people stopped developing for it or licensed Gecko from Firefox and they went under or yanked Microsoft's license.
Re: (Score:2)
I don't see how either of these are true.
Licensing Gecko -- is it out of the question for them to just go open source? And certainly Webkit proves you're wrong, by its very existence -- Apple adopted KHTML and started developing for it. As long as Apple continues shipping Safari, I don't see development stopping, but even in some imaginary world where Apple stopped caring, Microsoft could simply adopt the code themselves.
There is no technical or real business reason not to do it that way.
The real reason is
Re: (Score:2)
they'd be up a creek without a paddle if they used Webkit and people stopped developing for it or licensed Gecko from Firefox and they went under or yanked Microsoft's license.
Well for one thing, if it adheres to standards, there shouldn't have to be that much concerns about whether people "stop developing for" a particular rendering engine. Also, can Mozilla yank someone's license for Gecko? Isn't it open source? Why should people stop using Webkit?
There are a few real reasons that Microsoft isn't using one of the existing open source rendering engines:
Re: (Score:3, Interesting)
Wow, WTF do you think open source is for? You've managed to imply that the two most important advantages to open source don't exist for two very large open source projects.
Gecko is open source. They can't yank the license out from under you any more than they can from Webkit because the OSS license implies that you can continue to use it forever.
Second, Webkit, like Gecko can stop development right this instant and they won't be any worse off than using Trident. They'll just have to do the webkit or gec
Re: (Score:2)
Wow, WTF do you think open source is for?
The two items you're thinking of in my original post were just some rather bad assumptions on my part due mostly to being in a hurry when I was thinking about this and looking the info up.
When I looked up Gecko today I saw that it was developed by Mozilla and I assumed it was proprietary for their browser. I completed missed the following which is a few paragraphs down:
Its development is now overseen by the Mozilla Foundation. Licensed by a tri-license of the Mozilla Public License (MPL), GNU General Public License (GPL) and GNU Lesser General Public License (LGPL), Gecko is free and open source software.
My bad assumption on Webkit was due to forgetting that there are already other companies contributing back to it and that, therefore, SOMEO
Gazelle? How about Tree Sloth? (Score:3, Insightful)
Since this browser runs at half the speed of the not exactly quick IE 7, shouldn't it be given a code name more in keeping with it's actual speed? I've always thought Ubuntu had a cute naming scheme going. I hereby dub this software Turgid Tortoise
Re:Gazelle? How about Tree Sloth? (Score:5, Funny)
Re: (Score:1, Offtopic)
Ruminants have multiple chambers, period.
There is no set number and it depends on species.
There is nothing to do with safety in ruminants, and more to do with the fact that they eat foods that require far more processing to be broken down into useful components. Basically the food ferments in their 'stomachs' as other bacteria and such break the food down as the bacteria eat it, then as it makes its way along the process it becomes something useful to the animal itself.
Cows can't eat grasses. They can how
Re: (Score:2)
Re: (Score:1)
Re: (Score:2)
Well, "Fronkensteen" (stitched together from discarded rotting corpses) was already in use, and "Staggering Fat Man" was voted down by the focus groups.
Re:Gazelle? How about Tree Sloth? (Score:5, Funny)
Clearly they named it Gazelle because ultimately they expect it to be killed off by safari.
Re: (Score:2)
I *had* to think of the "safari" in Jurassic Park, when you mentioned this.
Didn't go so well, when that Mozilla arrived. ^^
I still think that Stinger is a better name. (Score:1)
Not new (Score:4, Insightful)
Unless if by new you mean:
From february at least, seems older to me: http://research.microsoft.com/apps/pubs/default.aspx?id=79655 [microsoft.com]
Has already appeared on slashdot and a hundred other tech sites.
http://tech.slashdot.org/article.pl?sid=09/02/22/1724244 [slashdot.org]
Its hard to google before you run to try and get a story submitted isn't it?
Re: (Score:1)
Oh, even better.
This isn't a article from Microsoft. Its an article from another news aggregator, like slashdot about a paper published by microsoft.
Theres something fundementally wrong when your stories consist of links to other people talking about stories they didn't even write.
Ars and slashdot are gonna get together and just circlejerk each other into their own little world.
Cool! I am totally there! (Score:2, Funny)
Sounds neat. I shall get it immediately.
Well, right after I get Windows 7, which will be after I get Vista, which will be after i get XP which will be after I decide microsoft have done anything worthwhile after Windows 2000.
Virtualize Javascript? (Score:1)
Re: (Score:2)
Why?
The DOM is a programming technique. DOM is independent of HTML and HTML doesn't require DOM. DOM is how an app interacts and deals with HTML in general in its own memory.
SAX is another common alternative.
Then you can do what companies like Google, Yahoo! and MS do right now which is completely custom and has very little in common with a DOM implementation because a DOM implementation doesn't work on the scale they deal with.
Re: (Score:1)
Why? Primarily because Javascript is an awful language. As the emergence of GWT and countless other web 2.0 Javascript API's indicate, there is a lot of work being carried out in Javascript to bring more interactive UI to web pages. There are a number of advantages that introducing other languages thru a
- Javascript is not a language that scales well to larger teams and pr
Boy, don't we miss x86 segments! (Score:3, Funny)
Well, we were so eager to get rid of segments that by the time 80386 more or less perfected them, we dumped them for flat mode. Now they are gone in x86-64, likely never to return. What a terrible mistake! If we had different segments, we could have a lightweight browser process with user space threads assigning segments to different domains on the page. Instead of trying to get protection by wrapping software sandboxes around everything like Java, C# or something else does, we could have the CPU actually doing it. If only I could go back in time and say to myself, as I fumed over the likes of ES:CX... and say, no no, this will actually turn about to be a good thing in the future!
Re: (Score:2, Informative)
Uhm ... segmenting didn't sandbox shit. It just made it annoying to get in between, not impossible as shown by the many different libraries that help programmers do exactly that.
The Virtual Memory Manager support built into processors on the other hand DOES segment blocks of ram. This is why kernel space can be protected from random attacks in user space.
Perhaps an OS that takes more advantage of the VMU would accomplish what you want, but jumping back to segmented addressing just means that the hackers
Re: (Score:2)
Uhm ... segmenting didn't sandbox shit. It just made it annoying to get in between, not impossible as shown by the many different libraries that help programmers do exactly tha
In 16 bit, it surely didn't, but you could set up a 386 to have a segmented memory model where each segment within a process got its own permissions. So basically, within a process, you could make sure that data from two different pointers, aka segments, would not overwrite each other.
Re: (Score:2, Informative)
I think you're confusing concepts. Segmented memory was a hack, and protected nothing. Then they added protected mode, giving OS' the option of acting as the cop of memory. That has been on the x86 since the 286, and is of course widely used.
Everything that any process on your machine does in user-space has to be effectively "allowed" by the operating system. It is purely due to non-granular permission structures that modern OS' don't allow you to fine-tune every permission of even "native" executables.
Re: (Score:2)
confusing concepts..
No, I'm just looking at it from an instruction set point of view. In 16 bit world, ES,DS and the other segment registers were just annoyances that you had to deal with in order to get at data over 64k in length. In C you could choose a couple of ways to handle this - there was the small and tiny memory models which locked down the segments to be the start of the program and data, the medium and large, which lets you change the segments occasionally, and then the huge, which gave you an
Re: (Score:2)
10111 (Score:1)
What year is this? (Score:2)
How long have we had browsers? How obvious is all of this? This reads like an article from 1997.
We are still debating the best way to multi-thread a browser!
One might have thought that we would be a little further along with this kind of stuff.
back to the 1970's (Score:2)
The UNIX designers were adamant about process-based isolation, to the degree that UNIX for a long time did not have kernel threads (early versions of Java had to emulate threads even in the mid-90's). Macintosh and Windows were much quicker to adopt threads.
It's kind of ironic that Microsoft now is pushing for process-based isolation. Their window system, of course, has also moved to a client/server architecture and asynchronous calls now, like X11 already did 20 years ago. Why don't they just go all the
not ironic (Score:2)
H Spencer long ago coined the razor "Those who don't understand UNIX are forced to re-invent it, badly".
Wow - multi process using IPC! (Score:1)
I guess thats an advanced concept for application programing in the world of Windows where fork() is still an alien concept.
Excuse me while I remain unimpressed. I'll wait a while longer while MS familiarise themselves with common programming techniques developed in the 1970s.
Re: (Score:2)
Err yes, and?
The point is they're talking this up as some sort of new approach to programming a browser (or any app). It isn't. At least not outside the Windows world.
Here's the truth (Score:2)
A research team led by Microsoft's Helen Wang discovered how to rebrand and skin a theme for the widely used Firefox. "Since most people already think we stole Firefox code to render webpages correctly with IE 8, we got to thinking..." Helen Wang stated in a call yesterday. "Our next IE release will be simply to rebrand and change the default skin of the latest Firefox web browser! So we can then say, finally, that Internet Explorer correctly renders web pages according to W3C published standards." This
Re: (Score:1, Troll)
Re: (Score:1)
Re: (Score:2)
The war is on! (Score:1)
Sorry, Mr. Ballmer but the horse has already left. (Score:2)
This is business at usual for the Microsoft people - but the real world has changed while they weren't looking. That "internet" thing that Bill mis-predicted has allowed news and information to be disseminated at lightning speed. Those who deal in lies and deception no longer have the cloak of secrecy to hide behind.
If Micros
More Processes are NOT Always Better (Score:2)
modeled after .... (Score:2)
the underlying concepts of operating system design...
What does that mean? Is the default home page is a blue screen?
I'm happy to slag microsofts sloppy lazy monopolistic crapware with the best of them; but microsoft research have produced some remarkable works. What is this crap? Research = repackaging with provocative, if meaningless, buzzwords? Was this from microsoft market research?
There already is a Gazelle out there. (Score:1)
Poor name choice (Score:1)
The Hound
where is this prototype browser? (Score:2)
Like how, they 'published a report', without actually producing anything like a prototype, in a Ars Technica article, the day after Google announces Chrome OS. If I didn't know any better I would suspect the whole excercise was designed to steal Google thunder.
Re: (Score:1)
Re: (Score:2)
Actually, the PP has a point, why don't they rename themselves "Bing"? After all, "Microsoft" is not only a stupid-sounding name (wow, a portmanteau of "microcomputer software", how clever. They must have found someone with a lot of imagination to come up with that. Probably the same genius that came up with the totally non-obvious name "Internet Explorer".), but it's pretty obsolete-sounding too since no one uses the term microcomputer any more.
However, Bing Crosby's spirit might take offense, if he has
Re: (Score:1)
Re: (Score:2)
It's not conceited; when Linus named it, he just thought it was going to be a little hobby project that he and maybe a handful of other students might work on for a bit. He didn't know it was going to become as big as it did. By the time its global popularity became apparent, it was a little too late to change the name.
Re: (Score:1)
Bing is a really bad name for the chinese market. If you read it as pinyin, the most common romanization system, it can mean ice, military or even illness. Not that attractive a name. Considering the importance given by Chinese to this kind of homophonous association, it won't help the marketing campaign.
Re: (Score:2)
Wow, that's interesting. First Coca-cola's "bite the wax tadpole", and then Pepsi's "Pepsi will bring your dead ancestors back to life", you'd think someone at MS would have thought of checking into this before settling on the name "Bing".
Oh well, it's not like MS has a track record of well-chosen names.
Re: (Score:2, Informative)
Beware of urban legends : http://www.snopes.com/cokelore/tadpole.asp [snopes.com]
Coca-Cola's translation in Chinese is especially good and very successful. As it is composed of very simple characters, it is also one of the first words I learned :)
Another classic urban legend is the Chevrolet Nova : http://www.snopes.com/business/misxlate/nova.asp [snopes.com]
Bing is translated with biying in Chinese (meaning roughly : "must answer", sorry I didn't manage to use sinogramms to add that little scholarly touch). Microsoft of course did
Re: (Score:2)
Just sayin'...
Re: (Score:2)
Undoing a mod-mistake.
Re: (Score:1)
Re: (Score:2)
It wasn't deleted; it was modded down as "Troll", so it's below your visibility threshold. There should be a link saying "x posts below your threshold" or similar, that you can click on to see the hidden post.
Posts are never deleted on Slashdot unless there's a problem with the system, or the Scientology lawyers threaten a lawsuit.
Re: (Score:1, Insightful)
What I want in a new browser is one that, if I tell it to go to http://www.domain_1.com/ then that's where it goes, and it makes no attempts to download anything from any other domains. No cookies sent to doubleclick.net, nothing to googleanalytics.com, etc etc. Does the new MS browser do that? If so, great. If not, then I have no incentive to look at it because firefox is adequate.
Enjoy having website developers pumping all this stuff back to the server, then dynamically creating the page for you with the ads, because it will happen. (and has happened with advertising at the moment, which is why Adblock and the like exist as they do, instead of simple blocks)
Nice tinfoil hat by the way.