<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Building a mesh versus a chain</title>
	<atom:link href="http://rdist.root.org/2007/03/26/building-a-mesh-versus-a-chain/feed/" rel="self" type="application/rss+xml" />
	<link>http://rdist.root.org/2007/03/26/building-a-mesh-versus-a-chain/</link>
	<description>Embedded security, crypto, software protection</description>
	<lastBuildDate>Mon, 08 Mar 2010 21:19:29 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Nate Lawson</title>
		<link>http://rdist.root.org/2007/03/26/building-a-mesh-versus-a-chain/#comment-11</link>
		<dc:creator>Nate Lawson</dc:creator>
		<pubDate>Fri, 30 Mar 2007 04:17:00 +0000</pubDate>
		<guid isPermaLink="false">http://rdist.root.org/2007/03/26/building-a-mesh-versus-a-chain/#comment-11</guid>
		<description>Thanks for clarifying.  I mostly agree.</description>
		<content:encoded><![CDATA[<p>Thanks for clarifying.  I mostly agree.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: e</title>
		<link>http://rdist.root.org/2007/03/26/building-a-mesh-versus-a-chain/#comment-9</link>
		<dc:creator>e</dc:creator>
		<pubDate>Thu, 29 Mar 2007 12:45:51 +0000</pubDate>
		<guid isPermaLink="false">http://rdist.root.org/2007/03/26/building-a-mesh-versus-a-chain/#comment-9</guid>
		<description>Nate, thanks for the reply.

The answer to the risk equation is really going to depend on the specifics of the system in question. In reply to your points:

* I&#039;m not assuming that the appliance will be more trustworthy. I&#039;m just pointing out that it is _possible_ that it may be harder to exploit.
  This will obviously depend on the specific implementation and is something the security architect will need to evaluate.

* I was actually assuming that the servers would be homogenous enough that if you could exploit one that you could exploit all.

* Possibly. The amount of confidential data in flight may be a small drop in the ocean compared to the data that a full application
  compromise could lead to (i.e all data that the application has access to).

* Possibly. I don&#039;t give much credence to trying to detect attacks, but the ability to detect a compromised connection could be invaluable in reducing the damage done.


I&#039;m not trying to defend the usefulness of appliances by the way.

Using an SSL appliance will likely add more risk due to the extra complexity, however it is possible that
it may reduce risk. You are very much correct in stating that it is a chain design and does not add
another layer of defence.</description>
		<content:encoded><![CDATA[<p>Nate, thanks for the reply.</p>
<p>The answer to the risk equation is really going to depend on the specifics of the system in question. In reply to your points:</p>
<p>* I&#8217;m not assuming that the appliance will be more trustworthy. I&#8217;m just pointing out that it is _possible_ that it may be harder to exploit.<br />
  This will obviously depend on the specific implementation and is something the security architect will need to evaluate.</p>
<p>* I was actually assuming that the servers would be homogenous enough that if you could exploit one that you could exploit all.</p>
<p>* Possibly. The amount of confidential data in flight may be a small drop in the ocean compared to the data that a full application<br />
  compromise could lead to (i.e all data that the application has access to).</p>
<p>* Possibly. I don&#8217;t give much credence to trying to detect attacks, but the ability to detect a compromised connection could be invaluable in reducing the damage done.</p>
<p>I&#8217;m not trying to defend the usefulness of appliances by the way.</p>
<p>Using an SSL appliance will likely add more risk due to the extra complexity, however it is possible that<br />
it may reduce risk. You are very much correct in stating that it is a chain design and does not add<br />
another layer of defence.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nate Lawson</title>
		<link>http://rdist.root.org/2007/03/26/building-a-mesh-versus-a-chain/#comment-7</link>
		<dc:creator>Nate Lawson</dc:creator>
		<pubDate>Wed, 28 Mar 2007 23:20:17 +0000</pubDate>
		<guid isPermaLink="false">http://rdist.root.org/2007/03/26/building-a-mesh-versus-a-chain/#comment-7</guid>
		<description>e, let me address each of your bullets by adding what I think is the hidden assumption.

* ... because no appliances use OpenSSL like the server does.  And appliances that use a home-grown implementation are less likely to have flaws than a publicly-reviewed codebase that is 10x older and used in 1000x more systems.

* ... because the appliance sees all the decrypted SSL traffic for all the servers behind it, but it&#039;s more valuable to see the data on a single server

* ... because other stuff on the server like the application itself is more valuable than the data that was encrypted with SSL

* ... because seeing what&#039;s going on for the few malicious connections is more important than protecting the data of the millions of legitimate connections

I can only reply with a confused &quot;huh???&quot;</description>
		<content:encoded><![CDATA[<p>e, let me address each of your bullets by adding what I think is the hidden assumption.</p>
<p>* &#8230; because no appliances use OpenSSL like the server does.  And appliances that use a home-grown implementation are less likely to have flaws than a publicly-reviewed codebase that is 10x older and used in 1000x more systems.</p>
<p>* &#8230; because the appliance sees all the decrypted SSL traffic for all the servers behind it, but it&#8217;s more valuable to see the data on a single server</p>
<p>* &#8230; because other stuff on the server like the application itself is more valuable than the data that was encrypted with SSL</p>
<p>* &#8230; because seeing what&#8217;s going on for the few malicious connections is more important than protecting the data of the millions of legitimate connections</p>
<p>I can only reply with a confused &#8220;huh???&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: e</title>
		<link>http://rdist.root.org/2007/03/26/building-a-mesh-versus-a-chain/#comment-5</link>
		<dc:creator>e</dc:creator>
		<pubDate>Wed, 28 Mar 2007 16:00:02 +0000</pubDate>
		<guid isPermaLink="false">http://rdist.root.org/2007/03/26/building-a-mesh-versus-a-chain/#comment-5</guid>
		<description>Whilst I agree with your sentiment, I don&#039;t necessarily think the example is correct.

Terminating the SSL before the final consumer of the data adds extra vulnerabilities (as listed in your post) and hence risk, however it may reduce
the risk to the overall _system_ because:

 * The risk of any SSL implementation flaws being exploited may be lower in the appliance than in the server;

 * In the event that an SSL flaw is exploited:
   * The damage done (i.e asset value) of having the SSL appliance compromised will likely be lower than the damage in having the server compromised;
   * The risk of compromise of associated assets on the server (for example: application code/logic, database, OS) will be lower with an SSL appliance.

 * Adding the SSL appliance (i.e proxy) to the design will allow security tools to inspect/alter the traffic (which may end up lowering the risk of application compromise).
  (ofcourse this can conceivably be done on the host without the need for an extra SSL layer).</description>
		<content:encoded><![CDATA[<p>Whilst I agree with your sentiment, I don&#8217;t necessarily think the example is correct.</p>
<p>Terminating the SSL before the final consumer of the data adds extra vulnerabilities (as listed in your post) and hence risk, however it may reduce<br />
the risk to the overall _system_ because:</p>
<p> * The risk of any SSL implementation flaws being exploited may be lower in the appliance than in the server;</p>
<p> * In the event that an SSL flaw is exploited:<br />
   * The damage done (i.e asset value) of having the SSL appliance compromised will likely be lower than the damage in having the server compromised;<br />
   * The risk of compromise of associated assets on the server (for example: application code/logic, database, OS) will be lower with an SSL appliance.</p>
<p> * Adding the SSL appliance (i.e proxy) to the design will allow security tools to inspect/alter the traffic (which may end up lowering the risk of application compromise).<br />
  (ofcourse this can conceivably be done on the host without the need for an extra SSL layer).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shawn F</title>
		<link>http://rdist.root.org/2007/03/26/building-a-mesh-versus-a-chain/#comment-4</link>
		<dc:creator>Shawn F</dc:creator>
		<pubDate>Tue, 27 Mar 2007 23:22:08 +0000</pubDate>
		<guid isPermaLink="false">http://rdist.root.org/2007/03/26/building-a-mesh-versus-a-chain/#comment-4</guid>
		<description>I have been thinking about these sorts of mechanisms as well although my working title of &quot;designing reinforcing security mechanisms&quot; certainly does not have the ring of &quot;mesh design&quot;. What got me started were looking at well designed hardware security mechanisms (HSMs and the like). There you often times have protection mechanisms that can individually be defeated but that work together and complement each other such that the whole is far stronger than the individual mechanisms. An example would be an accelerometer linked to a tamper alarm. By itself it pretty easy to defeat, but if you use it in conjunction with a hard encasement it becomes far more effective as an attacker would have a high probability of triggering an alarm while cutting through the device.
 
Your example of SSL makes the need for such designs very clear. In fact the modifications made to TLS to more rely on the security of SHA-1 in the key generation function in the face of the mounting discontent for MD5 is further evidence of this.
 
What would be nice is a way to model or at least formalize these relationships when designing security mechanisms and performing threat modeling.</description>
		<content:encoded><![CDATA[<p>I have been thinking about these sorts of mechanisms as well although my working title of &#8220;designing reinforcing security mechanisms&#8221; certainly does not have the ring of &#8220;mesh design&#8221;. What got me started were looking at well designed hardware security mechanisms (HSMs and the like). There you often times have protection mechanisms that can individually be defeated but that work together and complement each other such that the whole is far stronger than the individual mechanisms. An example would be an accelerometer linked to a tamper alarm. By itself it pretty easy to defeat, but if you use it in conjunction with a hard encasement it becomes far more effective as an attacker would have a high probability of triggering an alarm while cutting through the device.</p>
<p>Your example of SSL makes the need for such designs very clear. In fact the modifications made to TLS to more rely on the security of SHA-1 in the key generation function in the face of the mounting discontent for MD5 is further evidence of this.</p>
<p>What would be nice is a way to model or at least formalize these relationships when designing security mechanisms and performing threat modeling.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
