Facebook Login Bug: Lessons Learned
Service interruption at dozens of prominent websites including CNN and Hulu reminds that third-party code integration carries risks.
Facebook's 2012 Highs And Lows(click image for larger view and for slideshow)
Several dozen high-profile websites that allow users to login with Facebook credentials became inaccessible for a short period on Thursday afternoon as a result of a bug in Facebook's code.
Around 4 p.m. Pacific Time, the websites operated by at least 35 companies, including ABC, CNN, Gawker, Hulu, Pinterest, Reddit and Yahoo, began redirecting online visitors to a Facebook error page.
Facebook has acknowledged the problem and says that everything is working again. "For a short period of time, there was a bug that redirected people from third party sites with Facebook Login to Facebook.com," a company spokeswoman said in an email. "The issue was quickly resolved."
Asked about how the bug was introduced and whether the company has taken steps to prevent the issue from recurring, Facebook did not respond.
[ Struggling to connect with customers? Read 5 Social Best Practices From Cisco. ]
Facebook Login, previously referred to as Facebook Connect, is an API that allows developers to provide website visitors and mobile app users with the ability to log in to websites and apps using their Facebook credentials. It relies on a protocol called OAuth 2.0 for authentication and authorization and is implemented in JavaScript for Web applications or via platform-specific SDKs.
Hundreds of millions of people log in to third-party websites every month using Facebook Login. The last time anyone from Facebook provided Login usage statistics appears to be in December 2010, when the figure was 250 million people per month. As of March 2012, nine million websites and apps had integrated Facebook Login, according to the company.
But relying on third-party services such as Facebook Login or Google Analytics presents a risk. Ashkan Soltani, an independent security researcher who previously served as staff technologist at the Federal Trade Commission, warns that too few people appreciate the implications of relying on third-party code.
"The browser model allows execution of code from a variety of different sources," explained Soltani in a phone interview. "When you visit a website like CNN's and they embed a third-party service like Facebook Login, you're effectively executing code served by this third party when you visit the website. That has some interesting security implications." Soltani likens the situation to using giving a speech using the Mad Libs format. You allow a third-party to supply you with words periodically and hope that those words don't alter what you meant to say or embarrass you.
"As a result of a Facebook bug, entire domains were redirected," said Soltani. "That's an incredible amount of power to have."
Facebook presumably isn't going to be introducing similar bugs on a frequent basis. But the online ad industry deals with code trust problems every day.
Websites allow ads to be injected into their webpage code in the same way that many sites allow Facebook Login code to be injected. And in the ad business, the tenuous chain of connections across multiple domains and servers makes trust much more difficult. Cyber criminals routinely attempt to subvert ad network security, through hacking and fraudulent business practices, to distribute malicious code.
Soltani said that combined with other malicious activity such as DNS hijacking, reliance on third-party injected code can be even more of a problem.
There's also the issue of performance. Until December 2009, Google Analytics -- incorporated into many websites -- wasn't asynchronous, meaning that calls to Google's servers made webpages load more slowly. Other widget code inserted into webpages often has a similar effect.
In a blog post last October, Aarron Walter, director of user experience at email marketing service MailChimp, argued that social logins aren't worth it, a position others have taken before him. The social login buttons offered by Facebook and Twitter, he said, put security in someone else's hands and present the risk of brand damage if problems occur.
Moreover, the rationale for implementing social login buttons -- user convenience and ease of use -- might not be justified. Walter found that a 66% decrease in failed logins and a 42% decrease in password resets at Mail Chimp last year were the result of user interface design improvements and better programming, or "better error handling and copywriting" as he put it. Social logins contributed to only 3.4% of the drop in login problems.
Further complicating the question of whether to use a social login is the finding that many companies have implemented Facebook Login ineffectively. Research published by marketing consultancy Social Labs in September 2012 indicates that among the top 500 online retailers, only 30 have implemented a social login -- 77% of these being Facebook Login -- and a fair number of these have done so incorrectly. For example, 30% of the 30 online retailers using a social login require a website password in tandem with a visitor's social username and password, and 15 of these online retailers don't offer a social login during the checkout process, making for an inconsistent user experience. Finally, none of online retailers surveyed have implemented Facebook's login persistence, which automatically logs users in when they return to the website.
Despite these issues, Sociable Labs expects adoption of social logins to increase over time.
About the Author
You May Also Like
DevSecOps/AWS
Oct 17, 2024Social Engineering: New Tricks, New Threats, New Defenses
Oct 23, 202410 Emerging Vulnerabilities Every Enterprise Should Know
Oct 30, 2024Simplify Data Security with Automation
Oct 31, 2024Unleashing AI to Assess Cyber Security Risk
Nov 12, 2024