<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Social Security 102: Client-Side Code</title>
	<atom:link href="http://theharmonyguy.com/2008/02/11/social-security-102-client-side-code/feed/" rel="self" type="application/rss+xml" />
	<link>http://theharmonyguy.com/2008/02/11/social-security-102-client-side-code/</link>
	<description>Investigating privacy and security issues in online social networking</description>
	<lastBuildDate>Wed, 28 Jul 2010 21:02:56 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
	<item>
		<title>By: Alex Barrera</title>
		<link>http://theharmonyguy.com/2008/02/11/social-security-102-client-side-code/comment-page-1/#comment-97</link>
		<dc:creator>Alex Barrera</dc:creator>
		<pubDate>Wed, 13 Feb 2008 00:19:40 +0000</pubDate>
		<guid isPermaLink="false">http://theharmonyguy.com/2008/02/11/social-security-102-client-side-code/#comment-97</guid>
		<description>Hi,
You rise a very good question. Coming from the security industry myself, I know how you feel about these issues. There is a rule of thumb, and not very hard to follow, all security checks, input validations and alike MUST be done server-side, dot. Any check you do on the client is susceptible to an attack.  All inputs going to the server, even then ones generated by the client side js MUST be checked as they might be altered.

And you don&#039;t have to have Opera or a FF addon, it&#039;s as simple as downloading the website, opening the js file with a text editor and resend the form/post/ajax call.

Nice post! Keep the good work!</description>
		<content:encoded><![CDATA[<p>Hi,<br />
You rise a very good question. Coming from the security industry myself, I know how you feel about these issues. There is a rule of thumb, and not very hard to follow, all security checks, input validations and alike MUST be done server-side, dot. Any check you do on the client is susceptible to an attack.  All inputs going to the server, even then ones generated by the client side js MUST be checked as they might be altered.</p>
<p>And you don&#8217;t have to have Opera or a FF addon, it&#8217;s as simple as downloading the website, opening the js file with a text editor and resend the form/post/ajax call.</p>
<p>Nice post! Keep the good work!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: theharmonyguy</title>
		<link>http://theharmonyguy.com/2008/02/11/social-security-102-client-side-code/comment-page-1/#comment-89</link>
		<dc:creator>theharmonyguy</dc:creator>
		<pubDate>Mon, 11 Feb 2008 21:39:33 +0000</pubDate>
		<guid isPermaLink="false">http://theharmonyguy.com/2008/02/11/social-security-102-client-side-code/#comment-89</guid>
		<description>Thanks for the comment, Patrick.  My main concern with OpenSocial applications is not so much the security of OS requests made to the host social network for information (I&#039;ve noticed some of the improved security in 0.7), but rather pieces of code that send/retrieve data to/from third-party servers.

For instance, while iLike would get user credentials from Ning or Orkut, the playlist data was stored on iLike&#039;s servers.  This is precisely the nature of the Top Friends hack - I&#039;m able to retrieve data that Slide has stored about other users, and since that data isn&#039;t coming from Facebook, I don&#039;t have to spoof Facebook user credentials.

Granted, Top Friends is a Facebook application, but the point is that any JavaScript-based application is susceptible to this problem.  By mentioning my particular concern over OpenSocial applications I wasn&#039;t implying that the platform is less secure than others, simply that its reliance on JavaScript may lead to more application holes than server-side solutions, such as processed FBML applications.</description>
		<content:encoded><![CDATA[<p>Thanks for the comment, Patrick.  My main concern with OpenSocial applications is not so much the security of OS requests made to the host social network for information (I&#8217;ve noticed some of the improved security in 0.7), but rather pieces of code that send/retrieve data to/from third-party servers.</p>
<p>For instance, while iLike would get user credentials from Ning or Orkut, the playlist data was stored on iLike&#8217;s servers.  This is precisely the nature of the Top Friends hack &#8211; I&#8217;m able to retrieve data that Slide has stored about other users, and since that data isn&#8217;t coming from Facebook, I don&#8217;t have to spoof Facebook user credentials.</p>
<p>Granted, Top Friends is a Facebook application, but the point is that any JavaScript-based application is susceptible to this problem.  By mentioning my particular concern over OpenSocial applications I wasn&#8217;t implying that the platform is less secure than others, simply that its reliance on JavaScript may lead to more application holes than server-side solutions, such as processed FBML applications.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrick Chanezon</title>
		<link>http://theharmonyguy.com/2008/02/11/social-security-102-client-side-code/comment-page-1/#comment-88</link>
		<dc:creator>Patrick Chanezon</dc:creator>
		<pubDate>Mon, 11 Feb 2008 21:26:04 +0000</pubDate>
		<guid isPermaLink="false">http://theharmonyguy.com/2008/02/11/social-security-102-client-side-code/#comment-88</guid>
		<description>Thanks for testing OpenSocial security.
In OpenSocial 0.5 there was no security at all, one of the reasons why it was only a developer release.

In 0.7 which is the version that will go live there is much more security baked into in the specification.

The fact that makeRequest http://code.google.com/apis/gadgets/docs/reference/gadgets.io.html#makeRequest in OpenSocial 0.7 allows for signed and authentified calls makes these applications more secure.
Also Caja http://opensocialapis.blogspot.com/2008/01/six-apart-hackathon-wrap-up-and-caja.html will constrain the javascript executed on the client side: it is not a mandatory aspect of OpenSocial but it is recommended for containers to use, and MySpace and Orkut will use it.

Please chime in the forum if you find holes.
http://groups.google.com/group/opensocial

P@
OpenSocial API Evangelist</description>
		<content:encoded><![CDATA[<p>Thanks for testing OpenSocial security.<br />
In OpenSocial 0.5 there was no security at all, one of the reasons why it was only a developer release.</p>
<p>In 0.7 which is the version that will go live there is much more security baked into in the specification.</p>
<p>The fact that makeRequest <a href="http://code.google.com/apis/gadgets/docs/reference/gadgets.io.html#makeRequest" rel="nofollow">http://code.google.com/apis/gadgets/docs/reference/gadgets.io.html#makeRequest</a> in OpenSocial 0.7 allows for signed and authentified calls makes these applications more secure.<br />
Also Caja <a href="http://opensocialapis.blogspot.com/2008/01/six-apart-hackathon-wrap-up-and-caja.html" rel="nofollow">http://opensocialapis.blogspot.com/2008/01/six-apart-hackathon-wrap-up-and-caja.html</a> will constrain the javascript executed on the client side: it is not a mandatory aspect of OpenSocial but it is recommended for containers to use, and MySpace and Orkut will use it.</p>
<p>Please chime in the forum if you find holes.<br />
<a href="http://groups.google.com/group/opensocial" rel="nofollow">http://groups.google.com/group/opensocial</a></p>
<p>P@<br />
OpenSocial API Evangelist</p>
]]></content:encoded>
	</item>
</channel>
</rss>
