InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

5 Security Enhancements in Chrome

Posted by Abel Avram on Feb 04, 2010

Sections
Development,
Architecture & Design
Topics
Architecture ,
Security
Tags
IE8 ,
Firefox ,
Safari ,
Chrome ,
Browsers

Google has added five security enhancements to Chrome in order to make browsing more secure: cross-documents message posting, Strict Transport Security, Origin and X-Frame-Options header fields, and Reflective XSS Filter. Some of these features have already been or are to be implemented by other browsers.

Posting Messages

Browsers forbid documents belonging to different domains to communicate with each other for security and privacy reasons. HTML 5 introduces a new method called postMessage(), a method allowing documents in separate iFrames to communicate with each other. The method’s signature is:

window.postMessage(message, [ports,] targetOrigin)

That way browsers can retain the security provided by iFrames but can also provide cross-document communication.

Strict Transport Security

HTTPS is a secure way to connect to a web site and transfer sensitive information that needs to be protected. But HTTPS is not enforced all the way by browsers. For example, if there is a problem with a security certificate issued by a web site, the browser generates a warning on that but the user can go on with a half-secure connection. PayPal has lobbied for the introduction of an HTTP header field called Strict-Transport-Security (STS) into the HTML 5 specification. When the server returns an HTTP header containing STS, the browser implementing this feature should do the following:

  1. The UA [User Agent] terminates, without user recourse, any secure transport connection attempts upon any and all secure transport errors or warnings, including those caused by a site wielding self-signed certificates.

  2. UAs [User Agent]  transform insecure URI references to a STS Server into secure URI references before dereferencing them.

This feature forces using HTTPS when either the web server or the user agent consider that as necessary. Using a non secure HTTP connection over a wireless connection in a crowded place opens up the door to eavesdropping resulting in possible disclosure of one’s accessing credentials to a web site. STS would protect against that.

Currently PayPal implements the feature. Chrome 4 also implements STS, and NoScript, a security add-on for Firefox, can be used with the same purpose. A native implementation of STS in Firefox is under way.

Origin

Cross-site request forgery (CSRF) attacks are a known way of tricking a web site into unwittingly providing confidential information to another web site. Origin, a new HTTP header field proposed to be included in HTML 5, attempts to solve that problem by having the user agents specifying the origin of a request. When a malicious web server redirects a request toward another web server, the browser will include the origin of the redirect in the request. The destination web server will decide if the Origin can be trusted or not serving the request accordingly.

Both Google and Mozilla are working one implementing the feature in their respective browsers. The W3C specification provides more details.

X-Frame-Options

Another HTTP header field, X-Frame-Options can be used to defend against ClickJacking attacks. Such an attack is orchestrated by overlaying an invisible frame on top of another and while the user thinks he clicks on controls of a web page, he actually enters input in another. Web sites can protect themselves against ClickJacking by specifying “X-Frame-Option: deny” and supporting browsers will refuse to render the page in frames thus preventing a ClickJacking attack.

IE 8 was the first to implement this feature followed by Chrome and Safari.

Reflective XSS Filter

Cross-site scripting (XSS) is yet another method of exploiting security vulnerabilities, and one of the most difficult to deal with. IE 8 and Firefox’ NoScript  add-on have a reflective XSS filter, feature that has been added by Google to WebKit and used by Chrome 4. The filter verifies if “a script that's about to run on a web page is also present in the request that fetched that web page. If the script is present in the request, that's a strong indication that the web server might have been tricked into reflecting the script.”

No comments

Watch Thread Reply

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.