Complexity is the enemy of security; the more moving parts a system has, the more difficult it is to secure them all. Unfortunately, modern online advertising and website analytics trends are creating massively complex web applications that criminals could potentially exploit – all without the average user noticing.
WatchGuard CTO Corey Nachreiner explains this issue in detail in his latest column in Dark Reading. Using the Firefox browser plugin NoScript, which blocks all active scripting on web pages, Corey examines CNN.com and counts the number of hidden domains that this popular website tries to load.
In total, CNN.com loaded content from 47 other domains. To be fair, most if not all of these other domains are legitimate advertising or website analytics tools, or part of CNN’s web application. And this isn’t a problem unique to CNN – all major website do the same thing. The issue is that these third party connections add complexity and create a wider attack surface with more potential insecurities. Here’s an excerpt from Corey’s article explaining these risks:
In this case, CNN.com isn’t compromised, but imagine if CNN did suffer some flaw that allowed attackers to inject code, like a hidden iframe. How would anyone spot one malicious domain, when normal sites typically load so much third-party content already?…Worse yet, what if one of those third parties got compromised? If an advertising network got infected by a criminal that bought ad space for malicious purposes, the hidden iframe might come from one of these other domains CNN is trusting.