<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Social Hacking &#187; Facebook</title>
	<atom:link href="http://theharmonyguy.com/category/facebook/feed/" rel="self" type="application/rss+xml" />
	<link>http://theharmonyguy.com</link>
	<description>Investigating privacy and security issues in online social networking</description>
	<lastBuildDate>Thu, 21 Apr 2011 19:37:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Recent Facebook XSS Attacks Show Increasing Sophistication</title>
		<link>http://theharmonyguy.com/2011/04/21/recent-facebook-xss-attacks-show-increasing-sophistication/</link>
		<comments>http://theharmonyguy.com/2011/04/21/recent-facebook-xss-attacks-show-increasing-sophistication/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 19:37:22 +0000</pubDate>
		<dc:creator>theharmonyguy</dc:creator>
				<category><![CDATA[Facebook]]></category>

		<guid isPermaLink="false">http://theharmonyguy.com/?p=1066</guid>
		<description><![CDATA[A few weeks ago, three separate cross-site scripting (XSS) vulnerabilities on Facebook sites were uncovered within a period of about 10 days. At least two of these holes were used to launch viral links or attacks on users &#8211; and it&#8217;s clear that attacks against Facebook users are becoming increasingly sophisticated. The first issue came [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago, three separate cross-site scripting (XSS) vulnerabilities on Facebook sites were uncovered within a period of about 10 days. At least two of these holes were used to launch viral links or attacks on users &#8211; and it&#8217;s clear that attacks against Facebook users are becoming increasingly sophisticated.</p>
<p>The first issue came from a page on the mobile version of Facebook&#8217;s site. The interface was a prompt for posting stories to a user&#8217;s wall, and the parameter for the text of the prompt did not properly escape output. On March 28, a blogger identifying themselves as &#8220;Joy CrazyDaVinci&#8221; <a title="Autopost Spamming using Facebook Mobile XSS" href="http://blog.crazydavinci.net/2011/03/autopost-spamming-using-facebook-mobile-xss/">posted code</a> that demonstrated how the vulnerability could be used to spread viral links:<span id="more-1066"></span></p>
<blockquote><p>&lt;iframe id=&#8221;CrazyDaVinci&#8221; style=&#8221;display:none;&#8221;<br />
src=&#8221;http://m.facebook.com/connect/prompt_feed.php?display=wap&amp;user_message_prompt=&#8217;&lt;script&gt;window.onload=function(){document.forms[0].message.value=&#8217;<span style="color: red;">Just visited http://y.ahoo.it/gajeBA Wow.. cool! nice page dude!!!</span>&#8216;;document.forms[0].submit();}&lt;/script&gt;&#8221;&gt;&lt;/iframe&gt;</p></blockquote>
<p>This bit of HTML would be included in a viral page. The code sets the content of the wall post to a message that includes a link to a viral page, then submits the prompt automatically. Anyone clicking the link would get the same code executed on their account. The viral page could be used for malware distribution or phishing attacks, but in most cases where I saw this trick used, the page simply loaded advertisements or &#8220;offer spam&#8221;.</p>
<p>By the next day, several links were spreading virally and <a title="New XSS Facebook Worm Allows Automatic Wall Posts" href="http://www.symantec.com/connect/blogs/new-xss-facebook-worm-allows-automatic-wall-posts">caught the attention</a> of security researchers. Facebook moved quickly to patch the issue, and Crazy DaVinci issued <a title="Statement of Apology" href="http://blog.crazydavinci.net/2011/03/statement-of-apology/">an apology</a> for the example code, explaining that versions of it had actually been circulating for several days prior and that the demonstration was intended to push Facebook for a fix.</p>
<p>On April 3, another XSS problem <a title="Channel.facebook.com cross-site-scripting (XSS) vulnerability by Edgard Chammas" href="http://www.thehackernews.com/2011/04/channelfacebookcom-cross-site-scripting.html">came to light</a>, this time with a Facebook &#8220;channel&#8221; page used for session management. Both another security researcher and I had previously looked at this interface and found it properly escaped, so it&#8217;s likely a code update mistakenly changed the page&#8217;s behavior. Facebook again patched the problem soon after news of it spread.</p>
<p>I didn&#8217;t observe any viral exploitation of the second vulnerability in the wild, but after the first problem came to light, I noted that it was mostly used to submit a form already on the page for posting links. The payload made use of functionality within the vulnerable page, but XSS allows an attacker to do far more. I wondered when we might see a Facebook attack that made greater use of cross-site scripting&#8217;s potential.</p>
<h3>What a Difference a Space Makes</h3>
<p>I didn&#8217;t have to wait long. On April 7, I got word via Twitter of a Facebook app that had live XSS, but the app had disappeared before I got to see it in action. At first, I thought this was yet another case of XSS within the context of a Facebook app. But I soon found other version of the app which were still online, and I quickly realized this was actually an XSS problem with the Facebook Platform. Also, the XSS payload being used did much more than submit a form.</p>
<p>The attack used FBML-based Facebook apps, which render in the context of an apps.facebook.com page. Normally, Facebook filters code to prevent any scripts from directly modifying the page&#8217;s DOM, but the XSS problem gave attackers a bypass. When a user visited the app page, they would see what appeared to be a fairly benign page with a popular video.</p>
<p><a href="http://theharmonyguy.com/wp-content/uploads/2011/04/bullypalxss.jpg"><img class="aligncenter size-medium wp-image-1067" title="Screenshot of XSS-based attack page." src="http://theharmonyguy.com/wp-content/uploads/2011/04/bullypalxss-471x400.jpg" alt="" width="471" height="400" /></a></p>
<p>Unlike many Facebook page scams, the promised video actually works &#8211; if you click play, the video will load and nothing unusual seems to happen. But as the code screenshot below reveals, that click does much more than load the video.</p>
<p><a href="http://theharmonyguy.com/wp-content/uploads/2011/04/bullypalxss2.jpg"><img class="aligncenter size-full wp-image-1069" title="Screenshot of Facebook XSS code." src="http://theharmonyguy.com/wp-content/uploads/2011/04/bullypalxss2.jpg" alt="" width="471" height="176" /></a></p>
<p>When the page first loads, the &#8220;video&#8221; is actually just an image placeholder with a link. Part of the href parameter for that link is shown above. Note the space after the opening quotation mark &#8211; that&#8217;s where the XSS comes in. Normally, Facebook would block a link to a javascript: URL. Adding the space worked around Facebook&#8217;s filters, but the browser would still execute the rest of parameter.</p>
<p>According to Facebook, it turned out that some older code was using PHP&#8217;s built-in parse_url function to determine allowable URLs. For example, while parse_url(&#8220;javascript:alert(1)&#8221;) yields a scheme of &#8220;javascript&#8221; and a path of &#8220;alert(1)&#8221;, adding whitespace gives a different result: parse_url(&#8221; javascript:alert(1)&#8221;) does not return a scheme and has a path of &#8220;javascript:alert(1)&#8221;. Other PHP developers should take note of the difference if parse_url is being used in security-related code.</p>
<h3>A More Advanced Attack</h3>
<p>Clicking the link executed an inline script that in turn added a script element to the page. This loaded more code from a remote address and included several parameters in the GET request. The parameters set variables within the remote code that specified what video to load, what URLs to use for viral posts, and so on. Multiple Facebook apps and domains were used for the viral links, but the main script always came from the same host. This helped the attack persist, since blocking one site would not stop it and the central code was loaded dynamically.</p>
<p>The remote code handled actually loading the video, but also included a number of functions which make use of having script access in a facebook.com context. The script would set the user as attending spam events, invite friends to those events, &#8220;like&#8221; a viral link, and even send IMs to friends using Facebook Chat.</p>
<p>When I came across the attack, one block of code had been commented out, but one blogger <a title="Preliminary analysis of Facebook clickjacking (aprilfoolsprank)" href="http://ashishb.net/uncategorized/a-preliminary-analysis-of-facebook-clickjacking-aprilfoolsprank/">discovered a version of the attack</a> a few days prior and saw it in action. This part loaded a fake login form which actually sent the entered username and password to a log interface on the attacker&#8217;s server. (Remember, this phishing form would appear in the context of a page with typical Facebook chrome.) Since the attack page would load even if a user was not logged in to Facebook, this could have also been a way to make sure a session was available before launching the other functions.</p>
<p>Fake videos and viral links are nothing new on Facebook, but most of these scams tend to be fairly simple. In fact, it&#8217;s not hard to find forums where people offer boilerplate code for launching such schemes &#8211; much like the first XSS worm above which simply submitted a form. But the April XSS attack involved multiple domains, multiple user accounts, and multiple methods for spreading and hijacking user accounts. And it still only scratched the surface of what&#8217;s possible with an XSS vulnerability. I expect we&#8217;ll see more XSS-based attacks and more powerful payloads in the future.</p>
<h3>Postscript on Real-Time Research</h3>
<p>I came across the April attack late one afternoon as I was preparing to leave work&#8230; so I could present on XSS at a local OWASP meeting! Those following me on Twitter saw a somewhat frantic stream of tweets as I tried to find live examples of the attack and sorted through the code while closely watching the clock and wrapping up last-minute presentation details. Earlier this week, I did some searching to review information for this post, and I came across this article from eWEEK: &#8220;<a title="Facebook Bully Video Actually an XSS Exploit" href="http://www.eweek.com/c/a/Security/Facebook-Bully-Video-Actually-a-XSS-Exploit-121829/">Facebook Bully Video Actually an XSS Exploit</a>&#8220;.</p>
<p>I was a bit surprised by it, as I hadn&#8217;t known about it before and saw that it quoted me. I then realized it was quoting my tweets! I then read that I had &#8220;confirmed to eWEEK on Twitter&#8221; one aspect of the story. At first I was confused, but then remembered that during my flood of tweeting, another user had sent an @ reply asking about the very detail the story talked about. Checking that tweet again, I found out the question had come from the article&#8217;s author.</p>
<p>I relate all this not because any of it bothered me, simply because (1) I found it somewhat fascinating that a few quick Twitter updates could become the primary source for a news article and (2) I was humbled to realize that a few quick Twitter updates could become the primary source for a news article! While it&#8217;s great that a story can spread so fast, it was certainly gave me a reminder to be careful when discussing topics of interest on a public forum. But I&#8217;m glad I can do my part in helping raise awareness of online dangers, particular the implications of XSS.</p>
]]></content:encoded>
			<wfw:commentRss>http://theharmonyguy.com/2011/04/21/recent-facebook-xss-attacks-show-increasing-sophistication/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Looking at Facebook&#8217;s Strategy and Possible New Directions</title>
		<link>http://theharmonyguy.com/2010/11/15/looking-at-facebooks-strategy-and-possible-new-directions/</link>
		<comments>http://theharmonyguy.com/2010/11/15/looking-at-facebooks-strategy-and-possible-new-directions/#comments</comments>
		<pubDate>Mon, 15 Nov 2010 09:48:57 +0000</pubDate>
		<dc:creator>theharmonyguy</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://theharmonyguy.com/?p=1049</guid>
		<description><![CDATA[Over the last few months, Facebook has rolled out several significant new features, such as Places and the updated Groups. On Monday, Facebook is holding another event to announce what many expect to be an improved messaging feature. As I&#8217;ve watched these changes, I&#8217;ve been thinking about where Facebook might be headed. At first, I [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last few months, Facebook has rolled out several significant new features, such as Places and the updated Groups. On Monday, Facebook is holding another event to announce what many expect to be an improved messaging feature. As I&#8217;ve watched these changes, I&#8217;ve been thinking about where Facebook might be headed.</p>
<p>At first, I started to think Facebook was simply looking to extend its reach by acting as an invisible layer of sorts. Anil Dash once talked about Facebook melting into the larger Web, but perhaps Facebook would end up becoming part of the underlying fabric of the Internet. In past public appearances, Facebook CEO Mark Zuckerberg seemed to be the kind of person who was content to remain in the background, and the company&#8217;s strategy seemed to reflect a similar style. I&#8217;ve mentioned before the idea of Facebook becoming and identity layer on the Internet, and innovations such as their Graph API have made it easier than ever for sites to integrate with Facebook.</p>
<p><span id="more-1049"></span>But Facebook&#8217;s updated Groups feature changed my perspective, since it added functionality that would drive users back to facebook.com. Of course, the upgrade did enable e-mail as a way of interacting with groups. In some ways, Facebook&#8217;s overall strategy could be compared to Google&#8217;s. Years ago, many sites focused on &#8220;stickiness,&#8221; trying to keep users hooked. By contrast, Google drove users away by providing relevant links to other sites. But to see Google as non-sticky would be an oversimplification. In fact, the company built a successful ad network that extended its reach across the web. Also, Google has created a number of other products that many people stay logged into, such as Gmail.</p>
<p>And now, people are expecting Facebook to announce a web-based e-mail client that will compete with Gmail. I&#8217;m predicting that Facebook will roll out a new messaging system, but it won&#8217;t be a Gmail clone or simply another client for managing traditional POP/IMAP e-mail. That&#8217;s not to say there won&#8217;t be any e-mail gateway, but I think Facebook&#8217;s plans will go much further. I&#8217;m guessing that at least part of the new system will involve somehow extending private messaging features across Facebook-integrated websites.</p>
<p>In any event, I think Facebook&#8217;s announcement will include at least a few surprises for those who have been discussing the possibilities. Facebook has a history of introducing features that aren&#8217;t quite what people expected &#8211; and often end up leading to practical implementations of ideas that were previously niche experiments. Personally, I think it&#8217;s a bit short-sighted to think that Facebook would simply join the market for web-based e-mail without trying to reinvent it, especially given the service&#8217;s cautiousness about past features that allowed or potentially allowed spam-like behaviors.</p>
<p>Facebook has also been accused many times of somehow standing in opposition to &#8220;openness.&#8221; Personally, I think the term has become a buzzword that&#8217;s often used without much specificity. And even though I&#8217;ve often been a critic of Facebook, I do think many of the accusations aren&#8217;t entirely fair. From RSS feeds to developer APIs, Facebook has opened up data in ways that many other sites can&#8217;t claim. Today&#8217;s Facebook is certainly far more &#8220;open&#8221; that years ago &#8211; in fact, I would argue that the site has at times been too open lately, such as when some user data became reclassified as &#8220;publicly available&#8221; last fall. But regardless of Facebook&#8217;s degree of openness, the company has always been careful to maintain a high degree of control over information and features on the site. This can be positive, such as quickly removing malware links, or negative, such as controversial decisions to bar users or certain content.</p>
<p>Either way, that control has helped the site build a powerful database of profiles that generally reflects real people and real relationships. That&#8217;s part of what fascinated me about the site&#8217;s recent spat with Google over contact information. In the past, a list of e-mail addresses was about the only semi-reliable way to identify a group of people across the Internet. Now, many sites rely on Facebook&#8217;s social graph for that function. In terms of identity, the value of e-mail addresses has declined, and I don&#8217;t think exporting them from Facebook would provide as much value as Google might think. On the other hand, Google may realize this and be so concerned about the shift that they&#8217;re trying to curb Facebook&#8217;s influence. This would especially make sense if Google intends to introduce a more comprehensive social networking product that would need e-mail addresses as a starting point. Regardless, I&#8217;m sure Google feels threatened by the prospect of Facebook providing a better alternative to traditional e-mail &#8211; a change that would only bolster the value of a Facebook profile as the primary way to identify a typical Internet user.</p>
]]></content:encoded>
			<wfw:commentRss>http://theharmonyguy.com/2010/11/15/looking-at-facebooks-strategy-and-possible-new-directions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Export Your Facebook Friends&#8217; E-mail Addresses</title>
		<link>http://theharmonyguy.com/2010/11/05/how-to-export-your-facebook-friends-e-mail-addresses/</link>
		<comments>http://theharmonyguy.com/2010/11/05/how-to-export-your-facebook-friends-e-mail-addresses/#comments</comments>
		<pubDate>Fri, 05 Nov 2010 18:02:56 +0000</pubDate>
		<dc:creator>theharmonyguy</dc:creator>
				<category><![CDATA[Facebook]]></category>

		<guid isPermaLink="false">http://theharmonyguy.com/?p=1037</guid>
		<description><![CDATA[Last night, TechCrunch reported that Google will now require sites that import e-mail addresses from Gmail to also allow export of their data. The move was clearly aimed at Facebook, which has kept Google from accessing their users&#8217; data. In response, many people have mentioned that while Facebook lets users download some data, they&#8217;re still [...]]]></description>
			<content:encoded><![CDATA[<p>Last night, TechCrunch reported that Google <a title="Google To Facebook: You Can’t Import Our User Data Without Reciprocity" href="http://techcrunch.com/2010/11/04/facebook-google-contacts/">will now require</a> sites that import e-mail addresses from Gmail to also allow export of their data. The move was clearly aimed at Facebook, which has kept Google from accessing their users&#8217; data. In response, many people have mentioned that while Facebook lets users download some data, they&#8217;re still not able to download an e-mail address book of their Facebook contacts.</p>
<p>However, that&#8217;s not quite the case. Back in March, I published a <a title="An Updated Guide to Backing Up or Exporting Your Facebook" href="http://theharmonyguy.com/2010/03/13/updated-guide-to-backing-up-or-exporting-your-facebook/">guide to exporting data</a> from Facebook using various tricks and FQL queries. Facebook has since made changes and added tools which have made the post a bit outdated, but much of the information still applies. In particular, I described using Yahoo&#8217;s contact import tool to download an e-mail address book for all your Facebook friends. This technique relies on a Facebook-approved feature and should not violate the site&#8217;s terms of service. A few specific steps have changed a bit, so I&#8217;ll recap the process here.</p>
<p><span id="more-1037"></span>First, you need to have a <a title="Yahoo! Mail" href="http://mail.yahoo.com/">Yahoo! Mail</a> account. If you don&#8217;t already have one, you can create one for free. In fact, I&#8217;d advise creating a new account to avoid your Facebook friends&#8217; e-mail addresses getting mixed up with any others already in your address book.</p>
<ol>
<li>To add your friends&#8217; e-mail addresses to your Yahoo! Address Book, follow the steps given on <a title="Facebook Friends: Meet Yahoo! Contacts" href="http://www.ymailblog.com/blog/2010/03/facebook-friends-meet-yahoo-contacts/">this page at the Yahoo! Mail blog</a>. Essentially, you open Contacts, click on &#8220;Tools,&#8221; then &#8220;Import,&#8221; choose &#8220;Facebook,&#8221; and follow the steps. You will have to authorize a Facebook application built by Yahoo! for this purpose.</li>
<li>To save a local copy of these addresses, you can use the export tools in Yahoo! Address Book. Return to your Contacts, once again click &#8220;Tools,&#8221; and this time select &#8220;Export.&#8221; You&#8217;ll be presented with a list of programs, each with an &#8220;Export Now&#8221; button.</li>
<li>If you&#8217;re not sure which you should choose, I would recommend clicking the button next to Microsoft Outlook. You may have to enter a code a CAPTCHA code, but you&#8217;ll then be prompted to save a file in CSV format. This is a fairly standard way of saving contact information.</li>
<li>Once you&#8217;ve downloaded the file, you can use it to import your contacts into other places, including Outlook. You can also open the file in Microsoft Excel to view the contact list or make changes.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://theharmonyguy.com/2010/11/05/how-to-export-your-facebook-friends-e-mail-addresses/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Thoughts on the Wall Street Journal&#8217;s Facebook Investigation</title>
		<link>http://theharmonyguy.com/2010/10/25/thoughts-on-the-wall-street-journals-facebook-investigation/</link>
		<comments>http://theharmonyguy.com/2010/10/25/thoughts-on-the-wall-street-journals-facebook-investigation/#comments</comments>
		<pubDate>Mon, 25 Oct 2010 11:56:45 +0000</pubDate>
		<dc:creator>theharmonyguy</dc:creator>
				<category><![CDATA[Facebook]]></category>

		<guid isPermaLink="false">http://theharmonyguy.com/?p=1023</guid>
		<description><![CDATA[A front-page story in last Monday&#8217;s Wall Street Journal declared a &#8220;privacy breach&#8221; of Facebook information based on an investigation conducted by the paper. The Journal found that third-party applications using the Facebook Platform were leaking users&#8217; Facebook IDs to other companies, such as advertising networks. The report generated controversy across the Web, and some [...]]]></description>
			<content:encoded><![CDATA[<p>A <a title="Facebook in Privacy Breach" href="http://online.wsj.com/article/SB10001424052702304772804575558484075236968.html">front-page story</a> in last Monday&#8217;s Wall Street Journal declared a &#8220;privacy breach&#8221; of Facebook information based on an investigation conducted by the paper. The Journal found that third-party applications using the Facebook Platform were leaking users&#8217; Facebook IDs to other companies, such as advertising networks.</p>
<p>The report generated controversy across the Web, and some reactions were strongly negative. On TechCrunch, Michael Arrington <a title="Fear And Loathing At The Wall Street Journal" href="http://techcrunch.com/2010/10/18/fear-and-loathing-at-the-wall-street-journal/">dismissed the article</a> as alarmist and overblown. Forbes&#8217; Kashmir Hill <a title="Did the Wall Street Journal Overreact to Facebook Privacy ‘Breach’?" href="http://blogs.forbes.com/kashmirhill/2010/10/18/did-the-wall-street-journal-overreact-to-facebook-privacy-concern/">surveyed other responses</a>, including a conversation on Twitter between Jeff Jarvis and Henry Blodget, and expressed skepticism over the Journal&#8217;s tone.</p>
<p>I&#8217;ve been a bit surprised by the degree to which some have written off the Journal&#8217;s coverage. Some may disagree with the label of &#8220;privacy breach,&#8221; but I thought the report laid out the issues well and did not paint the problem as a conspiracy on the part of Facebook or application developers. Either way, I&#8217;m glad to see that the article has sparked renewed conversation about shortcomings of web applications and databases of information about web users. Also, many may not realize that information leakage on the Facebook Platform has historically been even worse.</p>
<p><span id="more-1023"></span>Information leakage via a referrer is not a new problem and can certainly affect other websites. But that doesn&#8217;t lessen the significance of the behavior observed in the WSJ investigation. Privacy policies are nearly always careful to note that a service does not transfer personally identifiable information to third parties without consent. Online advertising networks often stress the anonymity of their tracking and data collection. The behavior of Facebook applications, even if unintentional, violated the spirit of such statements and the letter of Facebook&#8217;s own policies.</p>
<p>Some people downplayed the repercussions of such a scenario on the basis that it did not lead to any &#8220;private&#8221; profile information being transferred to advertisers &#8211; a point Facebook was quick to stress. Yet when did that become the bar for our concept of acceptable online privacy? Should other services stop worrying about anonymizing data or identifying users, since now we should only be concerned about &#8220;private&#8221; content instead of personally identifiable information? Furthermore, keep in mind that Facebook gets to define what&#8217;s considered private information in this situation &#8211; and that definition has changed over the last few years. At one time in the not-too-distant past, even a user&#8217;s name and picture could be classified as private.</p>
<p>Many reactions have noted that a Facebook user&#8217;s name and picture are already considered public information, easily accessed via Facebook&#8217;s APIs. Or as a Facebook spokesmen <a title="Facebook privacy: was there really a breach?" href="http://www.thedailybeast.com/blogs-and-stories/2010-10-19/facebook-privacy-was-there-really-a-breach/">put it</a>, &#8220;I don&#8217;t see from a logic standpoint how information available to anyone in the world with an Internet connection can even be &#8216;breached.&#8217;&#8221; But this argument fails to address the real problem with leaked IDs in the referrer. The issue was not simply what data applications were leaking, but when and how that data was leaked. The problem was not that advertisers could theoretically figure out your name given an ID number &#8211; it&#8217;s that they were given a specific ID number at the moment a user accessed a particular page. Essentially, advertisers and tracking networks were able to act as if they were part of Facebook&#8217;s instant personalization program. Ads could have theoretically greeted users by name &#8211; the provider could connect a specific visit with a specific person.</p>
<p>Interestingly enough, many past advertisements in Facebook applications did greet users by name. Some ads also including names and pictures of friends. Facebook took steps several times to quell controversies that arose from such tactics, but I&#8217;m not sure many people understood the technical details that enabled such ads. Rather than simply leak a user&#8217;s ID, applications were actually passing a value called the session secret to scripts for third-party ad networks.</p>
<p>With a session secret, such networks could (and often did) make requests to the Facebook API for private profile information of both the user and their friends, or even private content, such as photos. Typically, this information was processed client-side and used to dynamically generate advertisements. But no technical limitations prevented ad networks from modifying their code to retrieve the information. In fact, a number of advertisements did send back certain details, such as age or gender.</p>
<p>Change to the Facebook Platform, such as the introduction of OAuth earlier this year, have led to the deprecation of session secrets and removed this particular problem. I&#8217;m not sure how much this sort of information leakage or similar security problems motivated the changes, but problems with session secrets certainly persisted quite a while prior to them. If the WSJ had conducted their study a year ago, the results could have been even more worrying.</p>
<p>Still, I&#8217;m glad that the Journal&#8217;s research has led many to look more closely at the issues they raised. First, the story has drawn attention to more general problems with web applications. Remember, the Web was originally designed for accessing static pages of primarily textual information, not the sort of complex programs found in browsers today. (HTML 2.0 didn&#8217;t even have a script tag.) Data leaking via referrers or a page&#8217;s scripts all having the same scope are problems that go beyond Facebook apps and will likely lead to more difficulties in the future if not addressed.</p>
<p>Second, people are now investigating silos of information collected about website visitors, such as RapLeaf&#8217;s extensive database. Several responses to the Journal piece noted that many such collections of data provide far more detail on web users and are worthy of greater attention. I agree that they deserve scrutiny, and now reporters at the Journal seem to be helping in that regard as well.</p>
<p>We&#8217;ve entered an age where we can do things never previously possible. Such opportunities can be exciting and clearly positive, but others could bring unintended consequences. I think the availability and depth of information about people now being gathered and analyzed falls into the latter category. Perhaps we will soon live in a world where hardly any bit of data is truly private, or perhaps we will reach a more open world through increased sharing of content. But I think it well worth our time to stop and think about the ramifications of technological developments before we simply forge ahead with them.</p>
<p>Over the last few years, I&#8217;ve tried to bring attention to some of the issues relating to the information Facebook collects and uses. They&#8217;re certainly not the only privacy issues relevant to today&#8217;s Internet users, and they may not be the most important. But I think they do matter, and as Facebook grows, their importance may increase. Similarly, I think it wrong to dismiss the Journal&#8217;s investigation as &#8220;complete rubbish,&#8221; and I look forward to the rest of the dialogue they&#8217;ve now generated.</p>
]]></content:encoded>
			<wfw:commentRss>http://theharmonyguy.com/2010/10/25/thoughts-on-the-wall-street-journals-facebook-investigation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instant Personalization Program Gets New Partner, Security Issue</title>
		<link>http://theharmonyguy.com/2010/09/21/instant-personalization-program-gets-new-partner-security-issue/</link>
		<comments>http://theharmonyguy.com/2010/09/21/instant-personalization-program-gets-new-partner-security-issue/#comments</comments>
		<pubDate>Tue, 21 Sep 2010 16:46:27 +0000</pubDate>
		<dc:creator>theharmonyguy</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://theharmonyguy.com/?p=991</guid>
		<description><![CDATA[Facebook announced last week that movie information site Rotten Tomatoes would join Docs.com, Pandora, and Yelp as a partner in the social networking service&#8217;s &#8220;instant personalization&#8221; program. Rotten Tomatoes will now be able to automatically identify and access public information for visitors logged in to Facebook, unless those users have opted out of the program. [...]]]></description>
			<content:encoded><![CDATA[<p>Facebook announced last week that movie information site Rotten Tomatoes would join Docs.com, Pandora, and Yelp as a partner in the social networking service&#8217;s &#8220;instant personalization&#8221; program. Rotten Tomatoes will now be able to automatically identify and access public information for visitors logged in to Facebook, unless those users have opted out of the program. This marks the first new partner since Facebook launched the feature earlier this year.</p>
<p>Soon after that initial roll-out, security researchers noted vulnerabilities on Yelp&#8217;s website that allowed an attacker to craft pages which would hijack Yelp&#8217;s credentials and gain the same level of access to user data. TechCrunch writer Jason Kincaid <a title="Yelp Security Hole Puts Facebook User Data At Risk, Underscores Problems With ‘Instant Personalization’" href="http://techcrunch.com/2010/05/11/yelp-security-hole-puts-facebook-user-data-at-risk-underscores-problems-with-instant-personalization/">reported</a> on the cross-site scripting (XSS) holes, and made <a title="Another Security Hole Found On Yelp, Facebook Data Once Again Put At Risk" href="http://techcrunch.com/2010/05/11/another-security-hole-found-on-yelp-facebook-data-once-again-put-at-risk/">this prediction</a>: &#8220;I suspect we’ll see similar exploits on Facebook partner sites in the future.&#8221;</p>
<p>Kincaid&#8217;s suspicions have now been confirmed, as the latest site with instant personalization also had an exploitable XSS vulnerability, which has now been patched. I&#8217;ll quickly add that Flixster, the company behind Rotten Tomatoes, has always been very responsive when I&#8217;ve contacted them about security issues. They have assured me that they have done XSS testing and prevention, which is more than could be said for many web developers. In posting about this issue, I primarily want to illustrate a larger point about web security.</p>
<p><span id="more-991"></span>When I heard about the expansion of instant personalization, I took a look at Rotten Tomatoes to see if any XSS problems might arise. I found one report of an old hole, but it appeared to be patched. After browsing around for a bit, though, I discovered a way I could insert some text into certain pages. At first it appeared that the site properly escaped any characters which could lead to an exploit. But ironically enough, certain unfiltered characters affected a third-party script used by the site in such a way that one could then execute arbitrary scripts. Since I had not seen this hole documented anywhere, I reported it to Rotten Tomatoes, and they promptly worked to fix it.</p>
<p>I&#8217;ve long argued that as more sites integrate with Facebook in more ways, we&#8217;ll see this type of problem become more common. Vulnerable applications built on the Facebook Platform provided new avenues for accessing and hijacking user accounts; now external websites that connect to Facebook open more possible security issues. As Kincaid noted in May, &#8220;Given how common XSS vulnerabilities are, if Facebook expands the program we can likely expect similar exploits. It’s also worth pointing out that some large sites with many Facebook Connect users &#8211; like Farmville.com or CNN &#8211; could also be susceptible to similar security problems. In short, the system just isn’t very secure.&#8221;</p>
<p>Overcoming such weaknesses is not a trivial matter, though, especially given the current architecture of how scripts are handled in a web page. Currently, any included script has essentially the same level of access and control as any other script on the page, including malicious code injected via an XSS vulnerability. If a site uses instant personalization, injected scripts can access the data used by Facebook&#8217;s code to enable social features. That&#8217;s not Facebook&#8217;s fault, and it would be difficult to avoid in any single sign-on infrastructure.</p>
<p>Of course, all of this applies to scripts intentionally included in the page as well, such as ad networks. With the Rotten Tomatoes roll-out, Facebook <a title="Facebook Expands Instant Personalization Program, Adds Rotten Tomatoes As Partner" href="http://techcrunch.com/2010/09/17/facebook-expands-instant-personalization-program-adds-rotten-tomatoes-as-partner/">made clear</a> that &#8220;User data is never transferred to ad networks.&#8221; Also, &#8220;Partner sites follow clear product/security/privacy guidelines,&#8221; and I assume Facebook is monitoring their usage. I&#8217;m not disputing any of these claims &#8211; Facebook is quite correct that advertisers are not getting user data.</p>
<p>But that&#8217;s due to policy limitations, not technical restrictions. Rotten Tomatoes includes a number of scripts from external sources for displaying ads or providing various functions. Any of these scripts could theoretically access a Facebook user&#8217;s information, though it would almost certainly be removed in short order. I did find it interesting that an external link-sharing widget on the site builds an array of links on the page, including the link to a user&#8217;s Facebook profile. This happens client-side, though, and the data is never actually transferred to another server.</p>
<p>I bring up these aspects simply to note the technical challenges involved in this sort of federated system. I think it&#8217;s very possible that we will eventually see ad network code on a Facebook-integrated site that tries to load available user data. After all, I&#8217;ve observed that behavior in many Facebook applications over the last few years &#8211; even after Facebook issued explicit policies against such hijacking.</p>
<p>These dangers are part of the reason why JavaScript guru Douglas Crockford has declared security to be the number one problem with the World Wide Web today. Crockford has even advocated that we halt HTML5 development and focus on improving security in the browser first. While that won&#8217;t likely happen, I think Crockford&#8217;s concerns are justified and that many web developers have yet to realize how dangerous cross-site scripting can be. Perhaps these issues with instant personalization sites will help increase awareness and understanding of the threat.</p>
<p><strong>Postscript:</strong> This morning, an XSS vulnerability on Twitter led to script-based worms (somewhat reminiscent of &#8220;samy is my hero&#8221;) and general havoc across the site. This particular incident was not related to any mashups, but once again emphasizes the real-world security ramifications of cross-site scripting in a world of mainstream web applications.</p>
<p><strong>Update (Sep. 27):</strong> Today news broke that Scribd had also become part of Facebook&#8217;s Instant Personalization program. I took a look at the site and discovered within minutes that it has a quite trivial XSS vulnerability. This particular issue should have been obvious given even a basic understanding of application security. It also indicates that Facebook is not doing much to evaluate the security of new instant personalization partners. <strong>Update 2:</strong> Scribd patched the most obvious XSS issue right about the time I updated this post: entering HTML into the search box brought up a page that loaded it unfiltered. Another search issue remained, however: starting with a closing script tag would still affect code later in the results page. After about half an hour, that problem was also patched. I&#8217;m glad Scribd moved so quickly to fix these problems, but I still find it disconcerting they were there to start with. I&#8217;ve not done any further checking for other XSS issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://theharmonyguy.com/2010/09/21/instant-personalization-program-gets-new-partner-security-issue/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Facebook Places Brings Simple Location Sharing to the Masses</title>
		<link>http://theharmonyguy.com/2010/08/19/facebook-places-brings-simple-location-sharing-to-the-masses/</link>
		<comments>http://theharmonyguy.com/2010/08/19/facebook-places-brings-simple-location-sharing-to-the-masses/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 21:11:02 +0000</pubDate>
		<dc:creator>theharmonyguy</dc:creator>
				<category><![CDATA[Facebook]]></category>

		<guid isPermaLink="false">http://theharmonyguy.com/?p=975</guid>
		<description><![CDATA[Yesterday, Facebook announced a much-anticipated feature that allows users to easily post their current location on the site. The new setup, known as Facebook Places, works much like other location-based services, such as Foursquare or Gowalla, by letting users &#8220;check in&#8221; at nearby places. Geolocation providers, such as a mobile phone&#8217;s GPS, pinpoint the user, [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, Facebook announced a much-anticipated feature that allows users to easily post their current location on the site. The new setup, known as Facebook Places, works much like other location-based services, such as Foursquare or Gowalla, by letting users &#8220;check in&#8221; at nearby places. Geolocation providers, such as a mobile phone&#8217;s GPS, pinpoint the user, and Localeze provides the initial database of places. Eventually, users will be able to add their own locations to the Facebook map. <a title="Facebook Places: A Guided Tour of Features and Privacy Settings" href="http://www.insidefacebook.com/2010/08/19/facebook-places-a-guided-tour-of-features-and-privacy-settings/">Inside Facebook has a run-down</a> of the overall functionality.</p>
<p>Facebook also allows your friends to check you in at locations, and these check-ins are indistinguishable from ones you made for yourself. In typical opt-out fashion, you can disable these check-ins via your privacy settings, and you&#8217;ll be asked about allowing them the first time a friend checks you in somewhere.</p>
<p>Even if you stop friends from checking you in to places, however, they can still tag you with their check-ins, similar to how friends can tag you in photos or status updates. Such tags will appear on your wall, as tagged status updates do now. You&#8217;ll be able to remove tags after the fact, but it doesn&#8217;t seem that you&#8217;ll be able to prevent friends from tagging you altogether.</p>
<p><span id="more-975"></span>Applications have two new permissions related to places. One gives access to your check-ins, the other gives access to your friends&#8217; check-ins as well. Both will appear in the list of requested permissions when you authorize an application, and they are required for API access to check-ins. If your friends grant an application access to friends&#8217; check-ins, you can prevent yours from appearing via &#8220;Applications and Websites&#8221; privacy controls.</p>
<p>API access is currently read-only &#8211; authorized applications can access your check-ins, but can&#8217;t submit check-ins to Facebook. That sort of functionality is currently in closed testing, though.</p>
<p><a title="How To Disable Facebook Places" href="http://www.readwriteweb.com/archives/how_to_disable_facebook_places.php">ReadWriteWeb has a nice guide</a> to applicable privacy settings. When these controls first appeared on my profile, Facebook set the visibility for all my check-ins to &#8220;Friends Only&#8221; by default and disabled API access to my check-ins via friends by default. But they also enabled by default another setting which makes individual check-ins visible to anyone nearby at the time, whether friends or not. The option for letting friends check me in was not specifically set, but apparently I would have been prompted the first time a friend checked me in.</p>
<p>According to Facebook, you will only be able to check-in at locations near where you are, as determined by the geolocation feature of your browser (or your phone&#8217;s GPS for the iPhone app). I&#8217;m a bit suspicious on how difficult faking a check-in will be, but I don&#8217;t yet have the ability to test that out.</p>
<p>Facebook&#8217;s initial geolocation rollout brings a fairly modest feature set, but when integrated with Facebook Pages and made available to a network of 500 million people, the service offers great potential. As with other recent changes, adding check-ins reduces friction for users to share their location and provides Facebook with another valuable set of data about people&#8217;s daily activities. It remains to be seen whether users will react with discomfort over the potential for an entirely new meaning of &#8220;Facebook stalking&#8221; or with excitement over potential new product offerings. Either way, the amount and variety of information under Facebook&#8217;s control continues to expand rapidly.</p>
]]></content:encoded>
			<wfw:commentRss>http://theharmonyguy.com/2010/08/19/facebook-places-brings-simple-location-sharing-to-the-masses/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Spam via Facebook Events Highlights Ongoing Challenges</title>
		<link>http://theharmonyguy.com/2010/07/26/spam-via-facebook-events-highlights-ongoing-challenges/</link>
		<comments>http://theharmonyguy.com/2010/07/26/spam-via-facebook-events-highlights-ongoing-challenges/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 16:37:10 +0000</pubDate>
		<dc:creator>theharmonyguy</dc:creator>
				<category><![CDATA[Facebook]]></category>

		<guid isPermaLink="false">http://theharmonyguy.com/?p=963</guid>
		<description><![CDATA[Earlier today, I received an invitation to a Facebook event from &#8220;Giovanna&#8221; &#8211; someone I&#8217;d never heard of and certainly never added as a friend. The invite came as a bit of a surprise, since my profile was fairly locked down. While anyone could search for it, all profile information was set to &#8220;Friends Only,&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Earlier today, I received an invitation to a Facebook event from &#8220;Giovanna&#8221; &#8211; someone I&#8217;d never heard of and certainly never added as a friend. The invite came as a bit of a surprise, since my profile was fairly locked down. While anyone could search for it, all profile information was set to &#8220;Friends Only,&#8221; and sending messages or making friend requests was limited to &#8220;Friends of Friends.&#8221; None of my friends seem to know Giovanna, and her profile is probably fake anyway.</p>
<p>The event title proclaimed &#8220;iPhone Testers Needed!&#8221; and might be enticing to users who want an iPhone. While the event page included more information on the supposed testing program, the invite was followed by a message from the event creator. Once you&#8217;re on the guest list for a Facebook event, the event administrators can send out Facebook messages you&#8217;ll receive, regardless of privacy settings. This particular message (which also arrived in my e-mail inbox due to notifications settings) included a link to the iPhone opportunity, which unsurprisingly was a typical &#8220;offer&#8221; page that required me to submit personal information and try out some service before I could get my fancy new phone.<span id="more-963"></span></p>
<p>I began investigating how this all happened. When you create a Facebook event and try to invite people, you&#8217;ll only see a list of your friends to choose from. But it turns out that on the backend, nothing prevents you from submitting requests directly to Facebook with other people&#8217;s Facebook IDs. In my testing, I&#8217;ve been able to send event invitations to other users even if we&#8217;re not friends and they have tight privacy settings. I&#8217;m guessing that using this technique to invite more than a few people could raise a spam alert, but I&#8217;m not sure. Also, an event invitation does not give the event creator increased access to any profile information of guests, but as already noted, it does let event administrators send messages to people they might otherwise not be able to contact.</p>
<p>I&#8217;m sure Facebook will take action soon to clamp down on this particular loophole, so I think it unlikely we&#8217;ll see it exploited too widely. (The iPhone testing event currently has around 1800 guests &#8211; significant, but tiny compared to other Facebook scams.) But it does demonstrate the sort of challenges Facebook is having to handle as their network and power expand. Several years ago, when the site was used for little besides keeping in touch with college classmates and other offline friends, Facebook was seen as mostly spam-free, in contrast to services like Myspace. Now that applications, social gaming friends, and corporate brands have all become integral parts of the Facebook experience, black hat marketers keep finding new ways to spread links among users. And worse, those tricks can often be used to spread malware as well.</p>
<p>I do think that Facebook wants to avoid annoying users with spam, and works to prevent your inbox on the site from becoming as flooded as a typical e-mail account. But a network of 500 million people presents a very enticing target, and we&#8217;ll keep seeing new scam ideas pop up as Facebook expands and adds features. In the mean time, continue to be wary of any links  promising a glamorous reward for free.</p>
]]></content:encoded>
			<wfw:commentRss>http://theharmonyguy.com/2010/07/26/spam-via-facebook-events-highlights-ongoing-challenges/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Facebook Backtracks on Privacy Controls and Public Information</title>
		<link>http://theharmonyguy.com/2010/05/26/facebook-backtracks-on-privacy-controls-and-public-information/</link>
		<comments>http://theharmonyguy.com/2010/05/26/facebook-backtracks-on-privacy-controls-and-public-information/#comments</comments>
		<pubDate>Wed, 26 May 2010 19:35:47 +0000</pubDate>
		<dc:creator>theharmonyguy</dc:creator>
				<category><![CDATA[Facebook]]></category>

		<guid isPermaLink="false">http://theharmonyguy.com/?p=927</guid>
		<description><![CDATA[Facebook CEO Mark Zuckerberg held a press conference today announcing significant changes to the site&#8217;s privacy settings. The latest updates come after weeks of debate and criticism over Facebook&#8217;s handling of user information. Though it may take several days or weeks to roll out the new controls, an official privacy guide provides a summary of [...]]]></description>
			<content:encoded><![CDATA[<p>Facebook CEO Mark Zuckerberg held a <a title="Facebook event will outline 'simpler' privacy controls | Politics and Law - CNET News" href="http://news.cnet.com/8301-13578_3-20005976-38.html?tag=newsEditorsPicksArea.0">press conference</a> today announcing <a title="Facebook | Making Control Simple" href="http://blog.facebook.com/blog.php?post=391922327130">significant changes</a> to the site&#8217;s privacy settings. The latest updates come after weeks of debate and criticism over Facebook&#8217;s handling of user information. Though it may take several days or weeks to roll out the new controls, an <a title="Facebook | Privacy Guide" href="http://www.facebook.com/privacy/explanation.php">official privacy guide</a> provides a summary of how they work. Full details are still rolling in, but certain aspects are already clear.</p>
<p>First, the new interface for making many changes appears to be much more streamlined. This should be a welcome change to those confused by the previous <a title="Facebook Privacy: A Bewildering Tangle of Options" href="http://www.nytimes.com/interactive/2010/05/12/business/facebook-privacy.html">litany of options</a>. The primary privacy page displays a table with columns for &#8220;Everyone,&#8221; &#8220;Friends of Friends,&#8221; and &#8220;Friends Only,&#8221; with rows for several categories of content. This table not only establishes settings for certain bits of profile information; it also lets users set defaults for new content shared.</p>
<p><span id="more-927"></span>Second, Facebook has removed the requirement that &#8220;connections,&#8221; such as your list of friends and the pages you &#8220;like,&#8221; always be publicly available information. A secondary page will provide access controls for certain groups of these connections, as well as who can friend you, send you messages, or see your profile in search results.</p>
<p>Third, users will have new options related to third-party applications that integrate with Facebook. The company had <a title="Pros and Cons of Today’s Facebook Announcements" href="http://theharmonyguy.com/2010/04/21/pros-and-cons-of-todays-facebook-announcements/">previously announced</a> a granular permissions model for applications, and developers are in the process of transitioning to the new setup. Those permissions will now be reflected in the privacy settings, though how that will look is not yet clear. (Also, Facebook&#8217;s privacy guide assures users that applications can only request &#8220;information that&#8217;s needed for them to work,&#8221; but that&#8217;s up to developers.) Facebook is also re-instating an option to completely opt-out from the Facebook Platform. This setting had been available prior to changes last fall. However, it now appears that this opt-out will also be the only way to avoid public content being indexed by search engines.</p>
<p>Zuckerberg promised an &#8220;easy&#8221; way to opt-out of the controversial instant personalization program, which lets certain third-party websites automatically identify Facebook visitors, but the feature remains opt-out. Many of the other privacy settings are also still opt-out in that the site defaults appear to remain the same, presented as &#8220;Recommended&#8221; when a new user checks them.</p>
<p>I&#8217;ve been concerned about the tone of some Facebook responses to recent privacy concerns, and today&#8217;s presentation by Zuckerberg was no exception. He noted that the company had not seen any noticeable impact on site usage lately, and according to one report commented, &#8220;Perhaps the personal privacy preferences of liberal advocacy groups and DC politicians don&#8217;t match with those of the general public.&#8221; That may be true, though I think politicians or privacy advocates have a deeper understanding of recent changes than the general public. Still, this sort of remark comes across as at best somewhat irritated and at worst rather arrogant. It also probably won&#8217;t win over any liberal advocacy groups or DC politicians. (For the record, I don&#8217;t fall into either category.)</p>
<p>Other aspects of the announcements lead me to wonder how much Facebook truly understands the rising worries over the site&#8217;s handling of privacy issues.  Zuckerberg emphasized the site&#8217;s focus on sharing, that users want to share, and his belief that people want to share more openly. The default privacy options clearly reflect this belief, positioning Facebook as a site generally intended for public sharing.</p>
<p>But I think Zuckerberg is confusing the desire to share easily or freely and the desire to share publicly. Several researchers have explored how people approach privacy, and people constantly use services such as Facebook to post content they would not want distributed to the entire Internet. We&#8217;ve become accustomed to the idea of being private in public, since our offline conversations in public settings are not recorded and indexed for <a title="Openbook - Connect and share whether you want to or not" href="http://youropenbook.org/">anyone to search</a>. What would be the harm to users if content was private by default, but could be opened to the public if the author wanted that? After all, this is how Facebook operated for the first few years of its existence &#8211; and it likely played a significant role in the site&#8217;s growth.</p>
<p>Of course, while an opt-in approach may help many users, <a title="4 things Facebook doesn't tell you about your privacy and security" href="http://www.csoonline.com/article/593371/4_things_Facebook_doesn_t_tell_you_about_your_privacy_and_security">Facebook wants</a> users to share more openly. More public content provides more value for other services that might integrate with Facebook, extending the site&#8217;s reach and influence. That&#8217;s part of why I find it difficult to simply accept Zuckerberg&#8217;s notion that most people are moving towards public sharing on their own: regardless of what individuals think, Facebook itself certainly has an opinion on how much you should share.</p>
<p>And that&#8217;s the real question &#8211; how much you share, not whether you share. I&#8217;ve never been opposed to making it easier for users to share content. But I do have a problem when a site that was built on sharing with a limited audience reorganizes to make that same type of sharing <a title="Should Government Take On Facebook?" href="http://roomfordebate.blogs.nytimes.com/2010/05/25/should-government-take-on-facebook/#clay">more difficult</a> than fully public sharing &#8211; an activity that carries far more potential dangers, both social and otherwise.</p>
<p>Facebook has built an unprecedented audience of users who give it significant trust. I&#8217;m glad to see the company making welcome changes which assist users who actively care about privacy controls. But I remain concerned that the company&#8217;s overall perspective still reflects questionable ideas, such as the notion most people are not concerned about privacy, and either fails to recognize the company&#8217;s role as a trend-setter or ingenuously downplays it. That&#8217;s not a personal attack on Zuckerberg, whom I&#8217;ve never met, or anyone else at Facebook. It&#8217;s simply my evaluation of the service&#8217;s direction based on recent features and public relations. And I think Facebook owes its users much better.</p>
]]></content:encoded>
			<wfw:commentRss>http://theharmonyguy.com/2010/05/26/facebook-backtracks-on-privacy-controls-and-public-information/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Why the Current Facebook Privacy Debate Matters</title>
		<link>http://theharmonyguy.com/2010/05/19/why-the-current-facebook-privacy-debate-matters/</link>
		<comments>http://theharmonyguy.com/2010/05/19/why-the-current-facebook-privacy-debate-matters/#comments</comments>
		<pubDate>Wed, 19 May 2010 06:06:03 +0000</pubDate>
		<dc:creator>theharmonyguy</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://theharmonyguy.com/?p=918</guid>
		<description><![CDATA[Privacy has been a hot topic of discussion among all sorts of technology-minded people lately. But take a moment to consider why this debate is even happening. One could list several events involving several companies that have all influenced the controversy, but generally, much of the talk stems from changes made by Facebook over the [...]]]></description>
			<content:encoded><![CDATA[<p>Privacy has been a hot topic of discussion among all sorts of technology-minded people lately. But take a moment to consider why this debate is even happening. One could list several events involving several companies that have all influenced the controversy, but generally, much of the talk stems from changes made by Facebook over the past year.</p>
<h3>Why the Change?</h3>
<p>And why did Facebook make those changes? There&#8217;s no technological reason for many of them. Nothing about liking pages or using social plug-ins forced the company to remove old access controls or make &#8220;instant personalization&#8221; an opt-out feature. Facebook&#8217;s executives made a policy and business decision to push users into more public sharing. In many ways, we&#8217;re having this debate because Facebook chose to make it an issue.</p>
<p><span id="more-918"></span>That&#8217;s not a criticism, simply an observation. In fact, many would probably say that Facebook was right to challenge ideas on privacy. Popular tech blogger Robert Scoble has <a title="An inch closer to the end of privacy (thanks Facebook!)" href="http://scobleizer.com/2010/04/25/an-inch-closer-to-the-end-of-privacy-thanks-facebook/">repeatedly</a> <a title="Privacy Reboot Needed" href="http://scobleizer.com/2010/05/15/privacy-reboot-needed/">argued</a> that Facebook&#8217;s changes bring many benefits to users. One writer at Fortune <a title="What backlash? Facebook is growing like mad" href="http://tech.fortune.cnn.com/2010/05/17/what-backlash-facebook-is-growing-like-mad/">questioned any backlash</a> and gave this response to Pandora&#8217;s new social setup: &#8220;My first reaction? Creepy! My second reaction: Cool!&#8221; Is it wrong to force users into a new situation that&#8217;s uncomfortable at first if it ultimately brings significant value?</p>
<p>In this case, however, the ultimate value to users remains unclear. Many users will certainly find advantages to a freer flow of information. But does Facebook really have the right to decide whether content people had previously restricted should now be available publicly? How can any of us judge whether the benefits outweigh the downsides for each user? Many users chose to put information in their profiles that they did not want shared beyond certain limits. If exposing that information seems trivial, are you certain you understand why the profile owner thought limits so important to begin with?</p>
<p>I would argue that by pushing the envelope on our understanding of privacy, Facebook&#8217;s leadership made changes that benefit the company, partly by also benefiting developers and partners. That&#8217;s not necessarily a bad thing &#8211; Facebook is a business and has to make money. But while those changes do benefit some users, perhaps even a majority of users, they also harm the trust of many other users who had shared private content on Facebook.</p>
<h3>Where&#8217;s the Backlash?</h3>
<p>In the short term, the benefits outweighed the downsides for Facebook. Several high-profile users have deleted their accounts, and others are following suit. But keep in mind that even if 10 million people stopped using the site, that would only be a 2% reduction in user base.</p>
<p>As the company faces widespread criticism and possible regulatory changes, you might expect Facebook to back down on some of their changes. I doubt it. Facebook&#8217;s executives know the company enjoys a very strong position in the market right now. They can afford losing 2% of users without breaking a sweat. And if people do leave, where will they go?</p>
<p>Given that level of security, why bother talking about Facebook privacy? Why does it matter if techie types bail on the service? Should we simply get used to having less control and move on?</p>
<p>To put it another way, should we let Facebook dictate our understanding of online privacy?</p>
<p>I realize Facebook will probably never go back to the way it once was and that there&#8217;s essentially no hope of meaningful competition in the short term. Yet Facebook didn&#8217;t reach this place overnight. Industry shifts take time. And many influential people in technology are often on the bleeding edge of such shifts.</p>
<h3>Is Privacy Dead?</h3>
<p>For the time being, though, Facebook users will likely react in one of three ways. First, they may not understand the implications of updates and keep using the site as before. Second, they might embrace the new capabilities and voluntarily unleash more content. Third, they will decide that they derive too much value from Facebook to let it go, and thus will, perhaps begrudgingly, keep their account &#8211; but they&#8217;ll be far more careful about what they post in the future.</p>
<p>I suspect that as awareness grows of <a title="New Site Exposes Embarrassing Facebook Updates" href="http://abcnews.go.com/Technology/site-exposes-embarrassing-facebook-updates/story?id=10669091">how much data</a> Facebook now distributes, many people will take more precautions in using the site. That&#8217;s not necessarily a bad thing &#8211; I&#8217;ve long argued for increased education of online dangers. People need to be careful online, regardless of how &#8220;private&#8221; a service seems. But care is not the same as paranoia or having to manage your identity the way a celebrity might. If Facebook wanted to increase intimacy and authenticity among online friends, they may find they&#8217;ve actually done the opposite.</p>
<p>Some people, such as Scoble or perhaps Mark Zuckerberg, have chosen to live their lives with &#8220;<a title="Facebook and “radical transparency” (a rant)" href="http://www.zephoria.org/thoughts/archives/2010/05/14/facebook-and-radical-transparency-a-rant.html">radical transparency</a>.&#8221; Most of us probably still want to keep certain information private, and yet we routinely share that information with parties we trust &#8211; even online. I use my credit card number when shopping at Amazon, but I&#8217;d prefer they keep it to themselves. When I filled out web-based job applications last year, I often had to disclose my social security number &#8211; a small bit of data I would not want <a title="LifeLock CEO’s Identity Stolen 13 Times" href="http://www.wired.com/threatlevel/2010/05/lifelock-identity-theft">passed around</a>. In a more offline example, I&#8217;ve often shared personal struggles with close friends in other states by talking with them on my mobile phone.</p>
<p>I realize that a determined hacker could possibly steal my payment info or even my SSN when I send that data to websites. I also know that my phone can be tapped or that my friends could repeat our conversations to others. But based on a wealth of factors, I make a decision to take those risks, since I judge the likelihood of these scenarios (especially given certain precautions I take) to be minimal.</p>
<p>The idea that any data you transmit to another computer should be considered public has significant merit. In practice, though, much of our offline lives face the same technical threat of publicity, and channels have long existed to share electronic data with only a limited audience. Most of us would not want the entire world to see all of our e-mails, and a range of businesses let only certain people access certain servers.</p>
<p>Which brings me back to one of my original points: nothing forced Facebook in a direction away from privacy. They chose it. I doubt whether they would have around 500 million users today if they had chosen that direction years ago. But even if Facebook now thinks I should share all of my content with everyone, I still find value in keeping some information limited. For me, that&#8217;s the essence of online privacy. And while one website with a very large audience may have reduced privacy by keeping me from using their features in a limited way, I will continue to exercise control over my data in other ways.</p>
<h3>What Now?</h3>
<p>The current debate about Facebook and privacy may seem confusing, futile, or even pointless. But it&#8217;s important to evaluate the background and ramifications of Facebook changes, especially given the company&#8217;s influence on industry trends. It&#8217;s important to realize that visible competition and meaningful alternatives to Facebook will require months or even years of development. And it&#8217;s important to understand how much privacy still plays a role in the way people manage and share information, whether online or offline.</p>
<p>Perhaps Facebook will end up right, and most people will move away from old ideas about privacy. But I&#8217;d rather see companies educate users on new features and empower them to choose more public sharing rather than expose previously private content and encumber such a change with illusory settings. Facebook may try to say most people don&#8217;t mind their new take on privacy, but I think they&#8217;ll find this debate is far from over.</p>
]]></content:encoded>
			<wfw:commentRss>http://theharmonyguy.com/2010/05/19/why-the-current-facebook-privacy-debate-matters/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>More Recent Security Problems with the Facebook Platform</title>
		<link>http://theharmonyguy.com/2010/05/16/more-recent-security-problems-with-the-facebook-platform/</link>
		<comments>http://theharmonyguy.com/2010/05/16/more-recent-security-problems-with-the-facebook-platform/#comments</comments>
		<pubDate>Mon, 17 May 2010 03:47:06 +0000</pubDate>
		<dc:creator>theharmonyguy</dc:creator>
				<category><![CDATA[Facebook]]></category>

		<guid isPermaLink="false">http://theharmonyguy.com/?p=906</guid>
		<description><![CDATA[I want to preface this post by noting that I have plenty of respect for the engineers at Facebook, and I realize they face many challenges maintaining the security of such a complex website. However, given Facebook&#8217;s current status and reach, I also think it important to keep the site accountable when it comes to [...]]]></description>
			<content:encoded><![CDATA[<p>I want to preface this post by noting that I have plenty of respect for the engineers at Facebook, and I realize they face many challenges maintaining the security of such a complex website. However, given Facebook&#8217;s current status and reach, I also think it important to keep the site accountable when it comes to issues that risk unwanted information disclosure or other problems for end users.</p>
<p>Facebook&#8217;s faced criticism for several security issues over the last few weeks. In April I reported on a vulnerability that <a title="Researcher Uncovers (Another) Major Facebook Security Exploit" href="http://techcrunch.com/2010/04/10/researcher-uncovers-another-major-facebook-security-exploit/">allowed applications to be hijacked</a> for stealing data or spreading malware. More recently, a glitch allowed users to <a title="Video: Major Facebook security hole lets you view your friends’ live chats" href="http://eu.techcrunch.com/2010/05/05/video-major-facebook-security-hole-lets-you-view-your-friends-live-chats/">spy on Facebook Chat sessions</a> and problems with Yelp showed the risks of <a title="Another Security Hole Found On Yelp, Facebook Data Once Again Put At Risk" href="http://techcrunch.com/2010/05/11/another-security-hole-found-on-yelp-facebook-data-once-again-put-at-risk/">cross-site scripting in &#8220;instant personalization&#8221;</a> sites.</p>
<p>Unfortunately, I have a few other holes to report. I first notified Facebook of these new issues last month, but I wanted to give time for patches before I published details on the problems. Facebook has since made several changes that address some of the issues I raised. However, some of the problems appear to remain. Given the updates and length of time since my reports, I decided to go ahead and post about these issues, but I&#8217;m withholding technical details on issues that are still active.<br />
<span id="more-906"></span><br />
<h3>Weak Session Secrets</h3>
<p>On April 19, I notified Facebook of a behavior I was observing in applications and Facebook Connect websites. Prior to the new OAuth 2.0 model, the required parameters for a Facebook API request included a session key (identifying the user&#8217;s session with the application) and a session secret (a code to verify the authenticity of the request&#8217;s source). If an application used an &lt;fb:iframe&gt; or &lt;fb:swf&gt; tag to load content from another domain (such as an advertisement), the request to the other site would include the session key, but not the session secret.</p>
<p>The problem I saw, however, was that the session secrets being issued were part of the session key. For example, suppose Facebook issued this session key: 2.sNXhV4G1ILRKkvdBHoIbTg__.3600.1271682500-00000000. The session secret would then simply be the first set of characters between periods: sNXhV4G1ILRKkvdBHoIbTg__. This meant that any site which acquired a valid session key could extract the session secret and make API requests. While harvesting the session key is not necessarily trivial, the code is passed around more freely than a session secret (such as the advertising example noted above) and vulnerabilities listed below could be combined with this behavior.</p>
<p>I&#8217;m not sure exactly when Facebook started issuing weak session secrets, but when I made the report I had observed several of them and tested that I could extract session secrets from session keys. After about a week, I once again saw session secrets issued that bore no relation to the session key, and I could no longer extract a string from the session key and use it to issue API requests.</p>
<h3>Arbitrary FBML/FBJS on Facebook.com</h3>
<p>On April 14, I noted an even more worrisome issue, and on April 29 I sent a similar problem using a different URI. In both cases, I&#8217;d uncovered a way to render arbitrary FBML/FBJS in the context of a facebook.com page without any typical UI chrome. Such a vulnerability presents a range of possible attacks.</p>
<p>First, this could enable the same sort of data harvesting I had demonstrated with the Facebook Platform vulnerability published last month. I could load a Facebook page that included inline frames pulling content from other websites. While &lt;fb:iframe&gt; did not appear to include the session secret in requests, it did include enough information to identify the current user, as well as the session key. Also, the &lt;fb:swf&gt; tag for loading Flash content did include the session secret as a parameter when loading content, even from other domains.</p>
<p>One could also combine the new OAuth 2.0 flow with this issue to harvest a user&#8217;s Facebook ID and access public information about them. Essentially, you could imitate the behavior of an &#8220;instant personalization&#8221; partner on any website, with or without notice. This happened because the OAuth redirect parameters allows facebook.com URIs.</p>
<p>Second, since the page would render on facebook.com, I could load other Facebook pages in iframes and they would not have clickjacking protection enabled. This would allow <a title="The Dangers of Clickjacking with Facebook" href="http://theharmonyguy.com/2009/10/14/the-dangers-of-clickjacking-with-facebook/">previously described clickjacking attacks</a> to be launched once again.</p>
<p>Third, it was unclear to me if the vulnerability enabled some further application hijacking by a failure to check a parameter for cross-domain communications. This aspect could have been nothing, but I&#8217;ve not done enough testing to make sure.</p>
<p>Finally, the problem presents a dream situation for phishing. Once could easily load a convincing Facebook login form that sends the information to another server &#8211; and the URI for the page would appear to be on facebook.com.</p>
<p>Over the last few weeks, Facebook has altered these pages so that they no longer render all FBML or FBJS code. Specifically, iframes and Flash content will no longer work. This prevents many of the attacks described above, especially those that allow automatic data harvesting.</p>
<p>However, one can still render a range of code using these pages, including form elements. That means the phishing scenario described above is still an active possibility. To make matters worse, the parameters necessary to render code can be included in a POST request, meaning the URI in the user&#8217;s address bar for an attack page could be a short facebook.com address.</p>
<p>Below is a screenshot of this website loaded in the context of a facebook.com page using the original vulnerability reported on April 14. The second method uses a www.facebook.com page, resulting in an even shorter URI on the address bar.</p>
<div id="attachment_910" class="wp-caption aligncenter" style="width: 610px"><a href="http://theharmonyguy.com/wp-content/uploads/2010/05/thgonfb.jpg"><img class="size-medium wp-image-910" title="Example of recent Facebook vulnerability" src="http://theharmonyguy.com/wp-content/uploads/2010/05/thgonfb-600x400.jpg" alt="" width="600" height="400" /></a><p class="wp-caption-text">Social Hacking (theharmonyguy.com) loaded on a facebook.com page</p></div>
<p>This particular issue actually came from a Facebook feature that was implemented without much security. I knew that fixing it might take some time, since a number of developers depended on the feature involved. I&#8217;m glad that some of the threats have been removed, but more still needs to be done before this feature can be considered secure.</p>
<p><strong>Update:</strong> Since this post I&#8217;ve found a third implementation of the feature, and this method provides an even shorter URI.</p>
<p><strong>Update 2:</strong> It appears the feature involved in this FBML/FBJS issue was deployed in July 2008, so it&#8217;s quite possible the problems I noted in April have been active for almost two years.</p>
]]></content:encoded>
			<wfw:commentRss>http://theharmonyguy.com/2010/05/16/more-recent-security-problems-with-the-facebook-platform/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

