Google Chrome vs. FX+NS; integral sandboxing vs. 3rd-party
Posted: Sun Nov 20, 2011 7:53 pm
(This lengthy, but very interesting, discussion was split from NoScript > General, "Chrome, NoScript, and WebRequest API", as the specific questions in the OP there had been answered. The responses in this post are to the divergent issues that came up in the resolving reply to the other thread. -- Tom T.)
Hi Tom,
Thanks for the response - I don't mind waiting.
I'll respond in bits and pieces now that I've read the full post.
Furthermore, all Google ads are "by-click" and not "by-view" so even the old method of adblocking, which has been on Chrome for about 2 years now, is killing profits just as effectively as one that stop tracking/ ads simply from being viewed. It is a matter of clicks and not downloads.
So why would Google allow for this? I wouldn't really try to guess. It could simply be "If we can't beat them join them" issue or, as I suspect, it's actually a movement to have the "annoying" ads blocked - Google recently began patenting differences between what "good" and "bad" ads are and the rumor is that Chrome will outright block "bad" ads by default leaving not much to the competition.
So right there it's quite easy to see how and why a company like Google would allow for ads to be blocked in their browser.
I think it's also important to note that in 2008 we saw adblockers on ~3% of Firefox browsers. In the grand scheme of things that isn't a hell of a lot. Maybe it's doubled in the last 3 years and even still.... not a ton of people.
I myself am a student and I plan on writing a program. I have definitely wondered how public I'd be willing to go about the project. The nice thing about a project running in Javascript is that you can deobfuscate code easily and I don't believe there's anything hidden in the Google code, which can be viewed here:
http://code.google.com/p/scriptno/source/checkout
As for XSS protection I've seen Chrome's own filter bypassed but it's there.
As for HTTPS I can assume it'll be coming fairly soon as the WebRequest API continues development, it does solve the issues (you block and redirect sites rather than reloading with the https as the extensions currently do.)
WebGL does need JS to run, of course, so ScriptNo protects just fine with that (though it could block canvas specifically.) And, of course, Chrome has an about:flags to disable WebGL globally.
Can you link to WebGL being exploited? I don't think that's the case. Maybe a Proof of Concept... if even.
Also keep in mind that chromium is open source. There's definitely community devs.
So the sandbox is very much a separate mechanism from the Chrome browser though there are certainly mechanisms within the program as well (individual tab separation as opposed to file access restrictions for every process/ broker.)
And of course a fair portion of NoScripts protection is down the drain as soon as the user whitelists the site - not by any means all of it, of course, but a fair bit.
As for being equally protected from exploits? I dare you to find a single Chrome exploit that breaks out of the wild - Vupen managed to... apparently, but it was never released and I sincerely doubt it still works.
In the end NoScript + Firefox and Chrome (vanilla) are both very strong. Both are weak to social engineering (I believe Chrome has an 18% block rate and Firefox a 13%?) and that's not much to brag about for either party.
Anyways, it's a bit of a silly argument to have here.
I was really just curious how many issues with NoScript for Chrome could be solved with the latest experimental extensions APIs (most notably WebRequest.)
As to whether or not I consider Firefox as secure as Chrome it's a matter of my own basic principles - I will almost always find that the software that utilizes OS-based security is the most secure.
Hi Tom,
Thanks for the response - I don't mind waiting.
I'll respond in bits and pieces now that I've read the full post.
Google as a company makes (literally) 99% of their revenue from ads alone. And yet the WebRequest API allows for ads to not only be blocked but for the ad-requests to be blocked entirely.Why would a huge corporation that makes its living selling advertising (mostly targeted) and user data ever want its users to install an add-on that would block advertising scripts and data-mining scripts, including Google's bread-and-butter, google-analytics.com? ... which NoScript blocks *by default*, and runs a Surrogate Script in its place. This makes the page happy that the script ran, but sends no actual data to Google. Yeah, they'll really let that happen on *their* browser.
Furthermore, all Google ads are "by-click" and not "by-view" so even the old method of adblocking, which has been on Chrome for about 2 years now, is killing profits just as effectively as one that stop tracking/ ads simply from being viewed. It is a matter of clicks and not downloads.
So why would Google allow for this? I wouldn't really try to guess. It could simply be "If we can't beat them join them" issue or, as I suspect, it's actually a movement to have the "annoying" ads blocked - Google recently began patenting differences between what "good" and "bad" ads are and the rumor is that Chrome will outright block "bad" ads by default leaving not much to the competition.
So right there it's quite easy to see how and why a company like Google would allow for ads to be blocked in their browser.
I think it's also important to note that in 2008 we saw adblockers on ~3% of Firefox browsers. In the grand scheme of things that isn't a hell of a lot. Maybe it's doubled in the last 3 years and even still.... not a ton of people.
There is no obfuscated Javascript in the extension - we both know how simple it is to unpack and view them.Whereas Giorgio Maone has 20 years, not months, in developing, and freely gives his real name, e-mail address, company address and telephone number. You would trust an anonymous person to take complete control of your browser? What is he so afraid of?
I myself am a student and I plan on writing a program. I have definitely wondered how public I'd be willing to go about the project. The nice thing about a project running in Javascript is that you can deobfuscate code easily and I don't believe there's anything hidden in the Google code, which can be viewed here:
http://code.google.com/p/scriptno/source/checkout
Nope. I don't think it claims to - the main feature would certainly be the whitelisting of page elements by page and/or domain."A 'NoScript-like' extension"... Really? Aside from the name rip-off, does it have NoScript's level of:
XSS protection?
Clickjacking protecton?
CSRF protection and WAN-LAN boundary protection?
Ability to force HTTPS security on sites that should have it (your bank), but may carelessly send insecure cookies?
As for XSS protection I've seen Chrome's own filter bypassed but it's there.
As for HTTPS I can assume it'll be coming fairly soon as the WebRequest API continues development, it does solve the issues (you block and redirect sites rather than reloading with the https as the extensions currently do.)
WebGL is one of the most interesting exploitable techs to come out in a while - it's been of great interest to me.Plus many other protections, like "Forbid WebGL", a technology that has already been expoloited), and more to come, in a product that is constantly evolving and improving, thanks in part to suggestions from users through this forum, which ATM has more than 20,000 registered members + guest posting allowed, and almost 30,000 posts on almost 5,000 topics. And which was once a part of Mozilla support, but when the user base and the feature list demanded more than *ONE* thread at Mozilla, Mr. Maone chose to host this forum on his own servers, *at his own expense*.
WebGL does need JS to run, of course, so ScriptNo protects just fine with that (though it could block canvas specifically.) And, of course, Chrome has an about:flags to disable WebGL globally.
Can you link to WebGL being exploited? I don't think that's the case. Maybe a Proof of Concept... if even.
Absolutely - as I said I don't mind waiting for a proper discussion. I'm just happy that you put so much work into the response - I hate waiting only to get a "no, topic closed" =pit still slipped up in letting your post go unanswered for so long, but genuine bugs, user support, and enhancements get first priority -- I'm sure you understand.
Like I said, it's already been happening. Not only can we see Google already allowing for an API that blocks ads properly, we can see in the past how this has already done enough to hit revenue, and in the future we can see how this can be turned to their advantage.I could be mistaken, but I don't see Google letting NS rob them of the revenue from their Chrome users, nor do I see their "NoScript-like" add-on ever coming close to this one. But please browse the NoScript "Features" Page and the NoScript FAQ, and decide for yourself.
Also keep in mind that chromium is open source. There's definitely community devs.
A fair point but I'd say you misunderstand the sandboxing mechanism. Chrome does not handle the sandbox to most extents - it is based on the Windows integrity system and then only hardened from within. That's the basis of it.Regarding browser sandboxing, it might be nice for Firefox and SeaMonkey to implement this. But IMHO, letting the browser sandbox itself is like trying to lift yourself up by your bootstraps. If the browser is compromised, how can it protect its own sandbox? Much better is to let your sandboxing solution run on your operating system, *independently of the browser*. Then, if the browser is compromised, the malware cannot escape through to the hard drive. After all, much of MS' security issues with IE were based on, or worsened by, the fact that IE *is an integral part of the Windows OS*.
So the sandbox is very much a separate mechanism from the Chrome browser though there are certainly mechanisms within the program as well (individual tab separation as opposed to file access restrictions for every process/ broker.)
I had a conversation with Tzuk recently actually but I won't go into that. I will say that no third party security software will be able to compete with what's built into the kernel (in terms of security.)Nope. Let the sandboxer run on the OS, and then let the browser run in the *independent* sandbox thus created. (I have been satisfied with Sandboxie, but that's just personal experience and opinion only, not an endorsement. But it meets the above criterion of being outside the browser instead of inside it.)
This will possibly sound like I'm knocking NoScript but I would not call it enterprise-ready. I can only imagine the nightmare of deploying it at an enterprise level "Why won't my site work? How do I do this?"As for the topic there, "Safest browser?" Firefox and SeaMonkey, in their default states, ... wouldn't know. Always using NoScript. Fx and SM + NoScript (properly configured): I defy anyone to show another readily-available, mass-market browser suitable for both home and enterprise use that is equally protected from such a wide range of Web exploits, *and whose developer responds so rapidly to emergent threats*.
And of course a fair portion of NoScripts protection is down the drain as soon as the user whitelists the site - not by any means all of it, of course, but a fair bit.
As for being equally protected from exploits? I dare you to find a single Chrome exploit that breaks out of the wild - Vupen managed to... apparently, but it was never released and I sincerely doubt it still works.
In the end NoScript + Firefox and Chrome (vanilla) are both very strong. Both are weak to social engineering (I believe Chrome has an 18% block rate and Firefox a 13%?) and that's not much to brag about for either party.
Anyways, it's a bit of a silly argument to have here.
I was really just curious how many issues with NoScript for Chrome could be solved with the latest experimental extensions APIs (most notably WebRequest.)
As to whether or not I consider Firefox as secure as Chrome it's a matter of my own basic principles - I will almost always find that the software that utilizes OS-based security is the most secure.