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.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Abel Avram on Feb 04, 2010
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.
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.
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:
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.
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.
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.
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.
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.”
SOA All-In-One Guide: KPIs & Best Practices, ESB Report
Agile Practices to Improve Project Management Organization (PMO) Effectiveness
Mobile and the New Two-Tiered Web Architecture
18 agile and lean practices for effective software development governance
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
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.
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.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
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.
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.
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.
No comments
Watch Thread Reply