<?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"
	>
<channel>
	<title>Comments on: For Once, I Support MS Deviating From Spec</title>
	<atom:link href="http://www.analyticalengine.net/archives/19/feed" rel="self" type="application/rss+xml" />
	<link>http://www.analyticalengine.net/archives/19</link>
	<description>Application Security, General Technology, and Geek Ramblings</description>
	<pubDate>Tue, 06 Jan 2009 12:35:36 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
		<item>
		<title>By: Joshbw</title>
		<link>http://www.analyticalengine.net/archives/19#comment-14</link>
		<dc:creator>Joshbw</dc:creator>
		<pubDate>Sat, 08 Mar 2008 14:34:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.analyticalengine.net/archives/19#comment-14</guid>
		<description>&lt;blockquote&gt;Part of the concerns are actually that not sending cookies will make some things less secure because it encourages that the requesting party will ask the user for authentication data of the site being targeted&lt;/blockquote&gt;

I can understand that but I actually think that number would be reasonably small.  I think even the most security ingorant site developers can realize that a logon on an external system isn't a great idea, and the need to explicetly send either credientials or a retrieved session identifier with each request as a post (or god forbid, get) paramater would be enough of a pain that many sites would be too lazy to implement it. At the same time if cookies are enabled and the API exposes getAllResponseHeaders() or getResponseHeader(), which would make sense from a functionality standpoint (the feature would be much more handicapped if you couldn't query the server response than it would not sending cookies), then I can get at the cookies as the script author.  I can already do that to get past the HttpOnly flag in an XSS attack.

I do think the browser should strip the cookie from the response header before handing the response to the script, even in the current XMLHttpRequest, to protect against this. (as an aside I think document.cookie should also be disabled except for sites running in some trusted context, if even then.  The situations where the client is the better entity to edit or examine cookies rather than the server are very few and far between.  In almost every legitimate use the server should be doing that work, even if a design makes it easier to do on the client).  Doing so would make me a good deal less wary, and rereading the spec I see I missed that in the user agent section the first time.

Furthermore, the primary reason to pass session or authentication information in the request is to get at a user specific protected portion of the website.  Certain well designed websites will expose this to external request in a very well thought out manner, but I think the number of websites that will expose information in a poorly thought out manner will be many.  Companies have already proven with their various Web APIs that even if they think about security with their website they often forget it when they implement the other means of accessing their data.  I think this is opening the door to enable much more dangerous designs than leaving it out and hoping companies don't pass credentials in another fashion. 

I also think that we already have a safer method of doing cross site requests using web services.  There are a wealth of things I can do to ensure my exposed data is only going to trusted sources when the external entity is another server (requiring digital certs, IP filters if only a limited number of external entities, source authentication credentials, etc) that I either can't do on the client, or would be really dumb (the source authentication credentials, since anyone could view source for static credentials, or drop in with a debugger if the creds are dynamically retrieved).  With the client side request, I as the host ultimately cannot trust the real source of the request.

I'll properly collect my thoughts and post something to the mailing list monday or tuesday (and admittedly do a better job rereading the spec, since I missed the User Agent is supposed to strip cookies from the response the first read through).</description>
		<content:encoded><![CDATA[<blockquote><p>Part of the concerns are actually that not sending cookies will make some things less secure because it encourages that the requesting party will ask the user for authentication data of the site being targeted</p></blockquote>
<p>I can understand that but I actually think that number would be reasonably small.  I think even the most security ingorant site developers can realize that a logon on an external system isn&#8217;t a great idea, and the need to explicetly send either credientials or a retrieved session identifier with each request as a post (or god forbid, get) paramater would be enough of a pain that many sites would be too lazy to implement it. At the same time if cookies are enabled and the API exposes getAllResponseHeaders() or getResponseHeader(), which would make sense from a functionality standpoint (the feature would be much more handicapped if you couldn&#8217;t query the server response than it would not sending cookies), then I can get at the cookies as the script author.  I can already do that to get past the HttpOnly flag in an XSS attack.</p>
<p>I do think the browser should strip the cookie from the response header before handing the response to the script, even in the current XMLHttpRequest, to protect against this. (as an aside I think document.cookie should also be disabled except for sites running in some trusted context, if even then.  The situations where the client is the better entity to edit or examine cookies rather than the server are very few and far between.  In almost every legitimate use the server should be doing that work, even if a design makes it easier to do on the client).  Doing so would make me a good deal less wary, and rereading the spec I see I missed that in the user agent section the first time.</p>
<p>Furthermore, the primary reason to pass session or authentication information in the request is to get at a user specific protected portion of the website.  Certain well designed websites will expose this to external request in a very well thought out manner, but I think the number of websites that will expose information in a poorly thought out manner will be many.  Companies have already proven with their various Web APIs that even if they think about security with their website they often forget it when they implement the other means of accessing their data.  I think this is opening the door to enable much more dangerous designs than leaving it out and hoping companies don&#8217;t pass credentials in another fashion. </p>
<p>I also think that we already have a safer method of doing cross site requests using web services.  There are a wealth of things I can do to ensure my exposed data is only going to trusted sources when the external entity is another server (requiring digital certs, IP filters if only a limited number of external entities, source authentication credentials, etc) that I either can&#8217;t do on the client, or would be really dumb (the source authentication credentials, since anyone could view source for static credentials, or drop in with a debugger if the creds are dynamically retrieved).  With the client side request, I as the host ultimately cannot trust the real source of the request.</p>
<p>I&#8217;ll properly collect my thoughts and post something to the mailing list monday or tuesday (and admittedly do a better job rereading the spec, since I missed the User Agent is supposed to strip cookies from the response the first read through).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anne van Kesteren</title>
		<link>http://www.analyticalengine.net/archives/19#comment-13</link>
		<dc:creator>Anne van Kesteren</dc:creator>
		<pubDate>Sat, 08 Mar 2008 10:43:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.analyticalengine.net/archives/19#comment-13</guid>
		<description>Your analysis of the specification are incorrect. The requesting party will not have access to the cookie data. If you could send your comments to public-appformats@w3.org that would be much appreciated.

(Part of the concerns are actually that not sending cookies will make some things less secure because it encourages that the requesting party will ask the user for authentication data of the site being targeted.)</description>
		<content:encoded><![CDATA[<p>Your analysis of the specification are incorrect. The requesting party will not have access to the cookie data. If you could send your comments to <a href="mailto:public-appformats@w3.org">public-appformats@w3.org</a> that would be much appreciated.</p>
<p>(Part of the concerns are actually that not sending cookies will make some things less secure because it encourages that the requesting party will ask the user for authentication data of the site being targeted.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshbw</title>
		<link>http://www.analyticalengine.net/archives/19#comment-12</link>
		<dc:creator>Joshbw</dc:creator>
		<pubDate>Sat, 08 Mar 2008 00:16:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.analyticalengine.net/archives/19#comment-12</guid>
		<description>Wait, isn't Chris Wilson one of the chairs of the HTML WG? He is a platform architect on the IE team.  He isn't active in the group he chairs?

If they really didn't chime up, despite chairing the WG, then by all means, you are right.  I don't have issue with them deviating from the spec in this case, but if they didn't notify their peers in the W3C that they were doing so, or why, then you are justified in having issue with it (you would be more in the know than I, which will teach me for mouthing off without doing my research about who I was mouthing off about, though I hope I didn't come across as too rude).

Would you agree that there are some serious security implications with the proposal as it stands though?</description>
		<content:encoded><![CDATA[<p>Wait, isn&#8217;t Chris Wilson one of the chairs of the HTML WG? He is a platform architect on the IE team.  He isn&#8217;t active in the group he chairs?</p>
<p>If they really didn&#8217;t chime up, despite chairing the WG, then by all means, you are right.  I don&#8217;t have issue with them deviating from the spec in this case, but if they didn&#8217;t notify their peers in the W3C that they were doing so, or why, then you are justified in having issue with it (you would be more in the know than I, which will teach me for mouthing off without doing my research about who I was mouthing off about, though I hope I didn&#8217;t come across as too rude).</p>
<p>Would you agree that there are some serious security implications with the proposal as it stands though?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anne van Kesteren</title>
		<link>http://www.analyticalengine.net/archives/19#comment-11</link>
		<dc:creator>Anne van Kesteren</dc:creator>
		<pubDate>Fri, 07 Mar 2008 23:14:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.analyticalengine.net/archives/19#comment-11</guid>
		<description>I'm speaking from personal experience in the HTML WG, Web API WG, and WAF WG. I agree they're active elsewhere, such as in the CSS WG. Dunno really about other WGs.</description>
		<content:encoded><![CDATA[<p>I&#8217;m speaking from personal experience in the HTML WG, Web API WG, and WAF WG. I agree they&#8217;re active elsewhere, such as in the CSS WG. Dunno really about other WGs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshbw</title>
		<link>http://www.analyticalengine.net/archives/19#comment-10</link>
		<dc:creator>Joshbw</dc:creator>
		<pubDate>Fri, 07 Mar 2008 19:38:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.analyticalengine.net/archives/19#comment-10</guid>
		<description>Microsoft is actually very active in the W3C, they chair several of the subcommittees, and so forth.  Unless you are speaking from personal experience I don't think you can rule out them communicating with W3C or the browser companies with a stake in implementing said functionality (considering Window Snyder, chief security something or other at Mozilla, is a former Microserf I would also not rule out her being in the loop).

It is true that they haven't communicated details to the public until the first public developer beta, but when would be a better time to make the decision public?  When the public cannot actually play with the implementation and is left to base any feedback entirely on speculation or when the public can actually see the implementation in action.  The public developer beta is largely for the purpose of getting the general public to send feedback while the product can still be changed reflecting the feedback.  If that isn't a good time to inform others, I am not sure when a good time would be.</description>
		<content:encoded><![CDATA[<p>Microsoft is actually very active in the W3C, they chair several of the subcommittees, and so forth.  Unless you are speaking from personal experience I don&#8217;t think you can rule out them communicating with W3C or the browser companies with a stake in implementing said functionality (considering Window Snyder, chief security something or other at Mozilla, is a former Microserf I would also not rule out her being in the loop).</p>
<p>It is true that they haven&#8217;t communicated details to the public until the first public developer beta, but when would be a better time to make the decision public?  When the public cannot actually play with the implementation and is left to base any feedback entirely on speculation or when the public can actually see the implementation in action.  The public developer beta is largely for the purpose of getting the general public to send feedback while the product can still be changed reflecting the feedback.  If that isn&#8217;t a good time to inform others, I am not sure when a good time would be.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anne van Kesteren</title>
		<link>http://www.analyticalengine.net/archives/19#comment-9</link>
		<dc:creator>Anne van Kesteren</dc:creator>
		<pubDate>Fri, 07 Mar 2008 19:26:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.analyticalengine.net/archives/19#comment-9</guid>
		<description>It still doesn't explain why they did not communicate and did their own thing without informing others. That was my point. Not that they did not implement the specification you refer to.</description>
		<content:encoded><![CDATA[<p>It still doesn&#8217;t explain why they did not communicate and did their own thing without informing others. That was my point. Not that they did not implement the specification you refer to.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aaron Wakling</title>
		<link>http://www.analyticalengine.net/archives/19#comment-8</link>
		<dc:creator>Aaron Wakling</dc:creator>
		<pubDate>Fri, 07 Mar 2008 16:30:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.analyticalengine.net/archives/19#comment-8</guid>
		<description>I found your site on technorati and read a few of your other posts.  Keep up the good work.  I just added your RSS feed to my Google News Reader.  Looking forward to reading more from you.

Aaron Wakling</description>
		<content:encoded><![CDATA[<p>I found your site on technorati and read a few of your other posts.  Keep up the good work.  I just added your RSS feed to my Google News Reader.  Looking forward to reading more from you.</p>
<p>Aaron Wakling</p>
]]></content:encoded>
	</item>
</channel>
</rss>
