Related topics

Google Analytics — Yes, it is a security risk

Obama’s website, Mountain View’s javascript

Analysis Judging from some of the comments responding to our story about security sloppiness on Barack Obama’s website, it’s clear a discussion about the risks of third-party javascript is in order. Contrary to what many commentators believe, widgets used by Google Analytics and similar services do represent a threat, especially if you’re a high-profile target.

To recap, Change.gov and BarackObama.com were both found exposing non-encrypted pages that Obama officials use to make post press releases and carry out other administrative tasks. The lack of IP filtering, or at the very least, use of secure sockets layer was surprising, but what was really baffling was the decision to link the admin pages to Google Analytics.

The reason: The service grants unscrupulous employees at Google — not to mention anyone who manages to penetrate Mountain View’s fortress — access to the administrative pages.

A few of the more uninformed, but more vocal, readers (less than .2 percent of those who read the story, by the way) howled in protest. Google Analytics does nothing more than aggregate page visitors, they argued. Surely, there’s no way it could give someone outside the Obama camp access to one of the more popular websites in the .gov domain.

Actually, it does. Here’s how.

To use Google Analytics, webmasters call up a javascript file hosted by Google called urchin.js. Google engineers wrote the program and they control what it does. It is granted precisely the same read and write privileges on Change.gov’s administration page as a piece of code written inhouse.

“By referring to javascript that’s hosted elsewhere, you’re basically at the mercy of that other organization, which is in this case Google, to not do evil with it,“ says David Campbell, a security consultant and a leader of the Open Web Application Security Project (OWASP). “By Change.gov pointing to javascript from somewhere else, that vulnerability is there. There’s no denying that.“

Campbell and three other website security experts interviewed for this story say it would be trivial for anyone with control of the urchin.js file to hijack authentication cookies or other session variables used to validate users accessing the Change.gov administration page. Dinis Cruz, an OWASP board member and director of advanced technologies for source code assessment firm Ounce Labs, says such exploits could prove especially effective if combined with attacks on browsers or network infrastructure.

“If that urchin.js can be controlled by somebody with malicious intent (and with the latest DNS exploits they don’t even need to control the google server), then the content of those Obama sites could be manipulated,“ he writes in an email to The Register.

Besides using a rogue urchin.js to steal session cookies or sniff data typed into forms, Cruz envisions other, more exotic attacks, among them one called a cross site script proxy, which essentially causes the attacker to control a user’s login session.

“If I wanted a backdoor into the website, this would be one of the best ways to do it,“ Cruz says. “It would allow somebody who knew about this to drop a payload in a way that almost wouldn’t be detected.“

Sponsored: Driving business with continuous operational intelligence