Its an interesting paper, and some things like the Deferred Loading seem pretty much air-tight.
But other things such as the URL Randomisation are pretty much unworkable (object overloading, document.location watch()-ing, etc, there is lots of stuff you can do), unless implemented in technologies such as Flash or Java, as they mentioned, in which case all links would have to be Java or Flash.
Which means that attacks are still possible because you can stop the loading of any flash object that is loaded after the javascript is executed, and so can use the XMLHttpRequest object to download the flash/java objects, and then send them to an off-site flash/java decompiler which would then return the nonce from the flash or Java file.
Sure its difficult to implement such an attack, but no more difficult than implementing the actual measures they propose.
Subdomain switching is a good and interesting idea, but there are still ways to circumvent it in today's world of broken browsers:
If domains are cyclical, then all an attacker needs to do is force navigation until they get the page they want on the same subdomain. this would be difficult if you have URL Randomisation, but still possible because:
Host headers can be faked and so requests can still be made to the same domain sending different host headers, and so this protection is useless.
And so the battle continues.
[EDIT]: P.S. you can find how to watch the document.location property here: [
kuza55.blogspot.com]
It can of course be unwatched, but that's yet another implementation thing, and since we can have timers it might be possible to simply call the watch() function so many times that a single unwatch is not enough.
Edited 1 time(s). Last edit at 03/06/2007 02:08PM by kuza55.