The biggest mistake of Myspace
Myspace, the super-popular web site that your kid uses and you don’t, was once again hit by a worm, this time utilizing Macromedia Flash as its primary vector. This was a reminder for me of just how badly Myspace has screwed up when it comes to input filtering:
- They use a “blacklist” approach, disallowing customized markup that they know could be an issue. How confident are you that they covered all their bases, and could anticipate future problems? I don’t trust my own code that much, let alone theirs.
Even if they can plug these holes, it’s unlikely that anything short of a full rewrite/refactorization of their profile customization system can ever be considered moderately secure.
So will Myspace get their act together and modify their input filtering approaches? Very unlikely. A large portion of Myspace’s appeal relies upon the customization techniques that allow users to decorate their pages with all manner of obnoxious flashing, glittery animations and videos. Millions of users use cobbled-together hacks to twist their profiles into something fancier than the default, and a substantial cottage industry has sprung up around the subject. Doing proper input filtering means undoing much of that.
Even if relatively secure equivalent techniques are offered, Myspace would certainly find themselves with a disgruntled user base that’s more likely to bail to a competitor. That’s an incredibly risky move in the social networking market, and will likely lead Myspace to continue plugging holes rather than building a dam that works.
This is why you can’t design web applications with security as an afterthought. Myspace has, and I think it will prove to be their biggest mistake.