Original URL: http://www.theregister.co.uk/2008/11/22/google_analytics_as_security_risk/

Google Analytics — Yes, it is a security risk

Obama’s website, Mountain View’s javascript

By Dan Goodin

Posted in Security, 22nd November 2008 00:44 GMT

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.“

Easy identification?

Where the four disagree is how easy it would be for Obama insiders or others to identify a plot as sinister as a rogue urchin.js that steals session details from Change.gov. Because the code would be pushed to anyone using Google Analytics, the malicious payload would surely be noticed by millions of people and quickly reported, Campbell says.

Cruz, along with Jeremiah Grossman, CTO of White Hat Security, a firm that does web application security assessments, isn’t so sure. That’s because execution of the urchin file is automatic and seamless, and there is no easy way to view its source code.

“When and if the code behind urchin changes, I don’t think anybody notices,“ he says. “It will probably change regularly to fix bugs and add features and I don’t think anybody notices.“

Naysayers also pointed out — correctly as far as we can tell — that Google is a highly trusted company that millions of people rely on every day for quick, reliable analytical information about their website traffic, email and other services. What reason do we have to think anyone inside the company would do something as nefarious as this?

The real question should be: Why is the future President of the United States building a .gov website that makes such a scenario possible? Ask 10 security auditors if it’s a good idea to put any third-party company’s javascript on an administrative panel to a website where security is paramount and they’ll all say no. And yet this is exactly what Obama’s webmaster appears to have done.

“They’re making bad security mistakes,“ says Jeff Williams, CEO of web application security firm Aspect Security and chair of OWASP. “There’s no reason for them to be that careless. They have a bazillion dollars in the bank and it’s not that hard to get a login form right.“

It’s hard to see exactly what benefit comes from adding Google Analytics to a page the presumably only a few hundred people at most will access. Certainly, there’s more to lose from this than there is to gain. Remember, too, that computers from Obama’s campaign were already breached once by sophisticated overseas attackers who made off with large amounts of data. What makes us think malicious hackers aren’t more determined than ever to penetrate his site now that he won the election?

(We reached out again to Blue State Digital, the firm that built the content management system for Change.gov, but they turned down our request for an interview. The company still hasn’t said whether the system has been audited by an outside security firm.)

“They’re creating additional vulnerability surface and there’s no clear business case for why they’re doing it,“ says Campbell. “I think it was an oversight on their part.“ ®