Daily Archives: 05/02/2011
Cloud (computing) on Fire!
Cloud computing is badly broken, by default. And it won’t be solved anytime soon, no matter what server-side countermeasures or architectural patterns are deployed. Blame JavaScript, or rather, blame its abusers. JavaScript sandbox and security model wasn’t designed for the current cloud-computing architectures: sure, the Same Origin Policy prevents scripts running on pages originating from one site to access to documents, methods and properties from other sites, but this same policy is not valid for the script themselves. Furthermore, JavaScript is a dynamic, global language: therefore, scripts from different sources in the same webpage have equal access rights to the webpage and to each other, opening the possibility to change each other’s functions and variables.
Attack methods and vectors are plentiful: XSS, CZS, CSRF and DNS attacks, among others. The chain is too long and too weak, the responsibilities are too distributed: cloud-computing architectures are not trading off CAPEX for OPEX, they are trading off CAPEX for OPEX AND security. The modern cloud computing movement got started when Amazon internally validated the architecture and started offering it to the public via AWS, but extending that to the browser with JavaScript from multiple sites within the same webpage is going too far.
Compromise google-analytics.com and not only the whole web are yours, but the whole privacy and documents offered through services like Google Docs and intranets all over the world.