<?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: Complexity, virtualization, security, and an old approach</title>
	<atom:link href="http://www.cerias.purdue.edu/weblogs/spaf/general/post-108/complexity-virtualization-security-and-an-old-approach/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cerias.purdue.edu/weblogs/spaf/general/post-108/complexity-virtualization-security-and-an-old-approach/</link>
	<description>Privacy, Security and Information Assurance issues</description>
	<pubDate>Fri, 16 May 2008 06:56:02 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Spaf</title>
		<link>http://www.cerias.purdue.edu/weblogs/spaf/general/post-108/complexity-virtualization-security-and-an-old-approach/#comment-90815</link>
		<dc:creator>Spaf</dc:creator>
		<pubDate>Tue, 17 Jul 2007 20:23:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.cerias.purdue.edu/weblogs/spaf/kudos-opinions-rants/post-108/complexity-virtualization-security-and-an-old-approach/#comment-90815</guid>
		<description>Pascal,
There is effort involved in creating any system.  The use of existing systems simply "hides" the effort that has been involved in development over the years.

The Poly^2 nodes are small, so the effort is less.  Furthermore, because they are small, they will undergo far few patches and upgrades than current systems do, so the lifetime cost is less.

The "big picture" view here is where the value occurs.</description>
		<content:encoded><![CDATA[<p>Pascal,<br />
There is effort involved in creating any system.  The use of existing systems simply &#8220;hides&#8221; the effort that has been involved in development over the years.</p>
<p>The Poly^2 nodes are small, so the effort is less.  Furthermore, because they are small, they will undergo far few patches and upgrades than current systems do, so the lifetime cost is less.</p>
<p>The &#8220;big picture&#8221; view here is where the value occurs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pascal Meunier</title>
		<link>http://www.cerias.purdue.edu/weblogs/spaf/general/post-108/complexity-virtualization-security-and-an-old-approach/#comment-90707</link>
		<dc:creator>Pascal Meunier</dc:creator>
		<pubDate>Tue, 17 Jul 2007 13:16:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.cerias.purdue.edu/weblogs/spaf/kudos-opinions-rants/post-108/complexity-virtualization-security-and-an-old-approach/#comment-90707</guid>
		<description>Is it really better to have a multitude of simple items that are possibly proven correct according to their design, but designed separately and interacting together, leading to emergent behavior problems, or a few well-studied complex ones?  Isn't there a point where a high cardinality of simpler but interacting items isn't really less complex?  

What if the "simple" items are really difficult to get right?  In your POLY(2) project, you try to assemble a system from "simple" parts with minimalistic functions.  However, getting each part minimalized and simplified is quite difficult and time-consuming, requiring highly-skilled labor;  I hear you even need to make kernel patches.  Many mistakes and bugs can be created while doing so.  Therefore, I submit to you that your approach is paradoxical:  it is quite difficult and complex to create the simple parts in your system, so the reduction in complexity may not be so advantageous as it would seem.  

How can complexity be assessed and compared?  How can someone know if (and I'm not saying you do, I'm just considering it as an abstract case) they are spending a lot of energy just trading and moving complexity around instead of reducing it?</description>
		<content:encoded><![CDATA[<p>Is it really better to have a multitude of simple items that are possibly proven correct according to their design, but designed separately and interacting together, leading to emergent behavior problems, or a few well-studied complex ones?  Isn&#8217;t there a point where a high cardinality of simpler but interacting items isn&#8217;t really less complex?  </p>
<p>What if the &#8220;simple&#8221; items are really difficult to get right?  In your POLY(2) project, you try to assemble a system from &#8220;simple&#8221; parts with minimalistic functions.  However, getting each part minimalized and simplified is quite difficult and time-consuming, requiring highly-skilled labor;  I hear you even need to make kernel patches.  Many mistakes and bugs can be created while doing so.  Therefore, I submit to you that your approach is paradoxical:  it is quite difficult and complex to create the simple parts in your system, so the reduction in complexity may not be so advantageous as it would seem.  </p>
<p>How can complexity be assessed and compared?  How can someone know if (and I&#8217;m not saying you do, I&#8217;m just considering it as an abstract case) they are spending a lot of energy just trading and moving complexity around instead of reducing it?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Spaf</title>
		<link>http://www.cerias.purdue.edu/weblogs/spaf/general/post-108/complexity-virtualization-security-and-an-old-approach/#comment-86967</link>
		<dc:creator>Spaf</dc:creator>
		<pubDate>Mon, 09 Jul 2007 16:01:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.cerias.purdue.edu/weblogs/spaf/kudos-opinions-rants/post-108/complexity-virtualization-security-and-an-old-approach/#comment-86967</guid>
		<description>I'm assuming that you are proposing a revision to the protocols so that IP addresses can't be faked, because they certainly can (and are) faked now in many different kinds of attack.

Assuming we could get everyone to switch to using that protocol -- which is extremely unlikely in even a near term -- there are still problems with people using "victim" sites as relays and bots.  There is also the problem of using intermediary sites where logs are not kept, and/or controlling interests (national or commercial) refuse to provide log details to investigators.

Knowing a source IP address might help some, but it is not a complete solution.</description>
		<content:encoded><![CDATA[<p>I&#8217;m assuming that you are proposing a revision to the protocols so that IP addresses can&#8217;t be faked, because they certainly can (and are) faked now in many different kinds of attack.</p>
<p>Assuming we could get everyone to switch to using that protocol &#8212; which is extremely unlikely in even a near term &#8212; there are still problems with people using &#8220;victim&#8221; sites as relays and bots.  There is also the problem of using intermediary sites where logs are not kept, and/or controlling interests (national or commercial) refuse to provide log details to investigators.</p>
<p>Knowing a source IP address might help some, but it is not a complete solution.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Chien</title>
		<link>http://www.cerias.purdue.edu/weblogs/spaf/general/post-108/complexity-virtualization-security-and-an-old-approach/#comment-86375</link>
		<dc:creator>Daniel Chien</dc:creator>
		<pubDate>Sun, 08 Jul 2007 03:57:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.cerias.purdue.edu/weblogs/spaf/kudos-opinions-rants/post-108/complexity-virtualization-security-and-an-old-approach/#comment-86375</guid>
		<description>I have a very simple way to enhance Internet security.  On the Internet, everyone has IP address which can not be faked due to the Internet Routing.  You can hide but can not fake. Based on the IP address, lots thing can be done.  For example, phishing website has it own IP address, and can not use the same IP address as legitimate financial institutions.  So when visiting a website, we can check its IP address and know for sure if it is a phishing site.  This is just one of the many security enhancements we can do based on IP address.  It is very simple.</description>
		<content:encoded><![CDATA[<p>I have a very simple way to enhance Internet security.  On the Internet, everyone has IP address which can not be faked due to the Internet Routing.  You can hide but can not fake. Based on the IP address, lots thing can be done.  For example, phishing website has it own IP address, and can not use the same IP address as legitimate financial institutions.  So when visiting a website, we can check its IP address and know for sure if it is a phishing site.  This is just one of the many security enhancements we can do based on IP address.  It is very simple.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pascal Meunier</title>
		<link>http://www.cerias.purdue.edu/weblogs/spaf/general/post-108/complexity-virtualization-security-and-an-old-approach/#comment-82074</link>
		<dc:creator>Pascal Meunier</dc:creator>
		<pubDate>Thu, 28 Jun 2007 13:32:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.cerias.purdue.edu/weblogs/spaf/kudos-opinions-rants/post-108/complexity-virtualization-security-and-an-old-approach/#comment-82074</guid>
		<description>The Intel Core 2 Duo bugs show that complexity in the hardware is bad too...  I think I'd rather have virtualization done the VMWare way, in software, because it can be patched.  Even though we say patching doesn't work (well), it's still better than being stuck with a useless piece of hardware.  It's not the first time either:  see the previous Intel processor Pentium instruction that could crash the CPU: see Sun Security Bulletin #00161 (1997).  RISC processors may be better for security too.</description>
		<content:encoded><![CDATA[<p>The Intel Core 2 Duo bugs show that complexity in the hardware is bad too&#8230;  I think I&#8217;d rather have virtualization done the VMWare way, in software, because it can be patched.  Even though we say patching doesn&#8217;t work (well), it&#8217;s still better than being stuck with a useless piece of hardware.  It&#8217;s not the first time either:  see the previous Intel processor Pentium instruction that could crash the CPU: see Sun Security Bulletin #00161 (1997).  RISC processors may be better for security too.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Liudvikas Bukys</title>
		<link>http://www.cerias.purdue.edu/weblogs/spaf/general/post-108/complexity-virtualization-security-and-an-old-approach/#comment-81718</link>
		<dc:creator>Liudvikas Bukys</dc:creator>
		<pubDate>Wed, 27 Jun 2007 14:28:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.cerias.purdue.edu/weblogs/spaf/kudos-opinions-rants/post-108/complexity-virtualization-security-and-an-old-approach/#comment-81718</guid>
		<description>The IBM Blue Gene supercomputer adopts the "processor per process" strategy, not for security but for raw speed.  (At the high end, speed, packaging and architectural simplicity all intersect.)</description>
		<content:encoded><![CDATA[<p>The IBM Blue Gene supercomputer adopts the &#8220;processor per process&#8221; strategy, not for security but for raw speed.  (At the high end, speed, packaging and architectural simplicity all intersect.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Spaf</title>
		<link>http://www.cerias.purdue.edu/weblogs/spaf/general/post-108/complexity-virtualization-security-and-an-old-approach/#comment-81521</link>
		<dc:creator>Spaf</dc:creator>
		<pubDate>Wed, 27 Jun 2007 04:32:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.cerias.purdue.edu/weblogs/spaf/kudos-opinions-rants/post-108/complexity-virtualization-security-and-an-old-approach/#comment-81521</guid>
		<description>Thanks for the feedback, Pascal.

Even if the hardware has some support for the virtualization, there is still added complexity that needs to be managed to set up registers, map memory, and fire up processes.  The whole process of virtualization is complex, and putting some of it in hardware makes it safer, but not safe!

And yes, WWW browsers and Web X.0 (for x &#62; 1) are indeed fine examples of both the complexity creep I described, and the security/maintenace complications that result.</description>
		<content:encoded><![CDATA[<p>Thanks for the feedback, Pascal.</p>
<p>Even if the hardware has some support for the virtualization, there is still added complexity that needs to be managed to set up registers, map memory, and fire up processes.  The whole process of virtualization is complex, and putting some of it in hardware makes it safer, but not safe!</p>
<p>And yes, WWW browsers and Web X.0 (for x &gt; 1) are indeed fine examples of both the complexity creep I described, and the security/maintenace complications that result.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pascal Meunier</title>
		<link>http://www.cerias.purdue.edu/weblogs/spaf/general/post-108/complexity-virtualization-security-and-an-old-approach/#comment-81296</link>
		<dc:creator>Pascal Meunier</dc:creator>
		<pubDate>Tue, 26 Jun 2007 17:44:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.cerias.purdue.edu/weblogs/spaf/kudos-opinions-rants/post-108/complexity-virtualization-security-and-an-old-approach/#comment-81296</guid>
		<description>Thinking some more about it, I'd like to point out that you consider a single software security principle in isolation.  Virtualization offers both compartmentalization and defense in depth.  In addition, it enables simplicity and the usage of community resources through the use of virtual appliances.  That's 4 software security principles out of 10 with a single technology -- not bad!

I am surprised that your discussion of complexity doesn't mention web browsers.     I believe that it is an important battle -- there seems to be no upper bound to the growth of their complexity and fragility.  Web 2.0 apps resemble in my mind a juggler's act, likely to come crashing down at the slightest tremor.  Google apps are like spinning tops, twirling adamantly but unsteady.  To answer your question about minimalism, I'd love to see browsers support a "restricted", "safe" or "simple" JavaScript that wouldn't be able to invoke ActiveX, for example, but would be able to support basic events and functions, such as changing the class of HTML tags.  Such a simple JavaScript would enable people to use most websites that require JavaScript, but without exposing dangerous APIs and plugins, and restricting JavaScript functionality to just that needed to make the sites work.  Also, current web browsers would greatly benefit from an internal organization (architecture) that would compartmentalize plugins, pages, tabs, cookies, etc... -- but I've already discussed that in one of my posts.</description>
		<content:encoded><![CDATA[<p>Thinking some more about it, I&#8217;d like to point out that you consider a single software security principle in isolation.  Virtualization offers both compartmentalization and defense in depth.  In addition, it enables simplicity and the usage of community resources through the use of virtual appliances.  That&#8217;s 4 software security principles out of 10 with a single technology &#8212; not bad!</p>
<p>I am surprised that your discussion of complexity doesn&#8217;t mention web browsers.     I believe that it is an important battle &#8212; there seems to be no upper bound to the growth of their complexity and fragility.  Web 2.0 apps resemble in my mind a juggler&#8217;s act, likely to come crashing down at the slightest tremor.  Google apps are like spinning tops, twirling adamantly but unsteady.  To answer your question about minimalism, I&#8217;d love to see browsers support a &#8220;restricted&#8221;, &#8220;safe&#8221; or &#8220;simple&#8221; JavaScript that wouldn&#8217;t be able to invoke ActiveX, for example, but would be able to support basic events and functions, such as changing the class of HTML tags.  Such a simple JavaScript would enable people to use most websites that require JavaScript, but without exposing dangerous APIs and plugins, and restricting JavaScript functionality to just that needed to make the sites work.  Also, current web browsers would greatly benefit from an internal organization (architecture) that would compartmentalize plugins, pages, tabs, cookies, etc&#8230; &#8212; but I&#8217;ve already discussed that in one of my posts.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pascal Meunier</title>
		<link>http://www.cerias.purdue.edu/weblogs/spaf/general/post-108/complexity-virtualization-security-and-an-old-approach/#comment-81287</link>
		<dc:creator>Pascal Meunier</dc:creator>
		<pubDate>Tue, 26 Jun 2007 17:05:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.cerias.purdue.edu/weblogs/spaf/kudos-opinions-rants/post-108/complexity-virtualization-security-and-an-old-approach/#comment-81287</guid>
		<description>I think that virtualization, and instruction sets in the hardware to support it, have the potential to "transfer complexity" (as in "transfer risk").  It replaces some and isolates other complexities instead of simply making things worse, by contrast to pure "featuritis".  I don't know anyone who would argue that protected memory and pre-emptive multitasking decrease security due to their complexity (if you disagree, go back to using MacOS 9 :-P).  I believe that virtualization can provide additional or better security guarantees, and I think that it's a plus.  Virtualization resembles more security in depth instead of just adding more attack surface, although it currently does a mix of both.  It's a tool -- just don't poke your eye out with it, and don't think it will solve everything.</description>
		<content:encoded><![CDATA[<p>I think that virtualization, and instruction sets in the hardware to support it, have the potential to &#8220;transfer complexity&#8221; (as in &#8220;transfer risk&#8221;).  It replaces some and isolates other complexities instead of simply making things worse, by contrast to pure &#8220;featuritis&#8221;.  I don&#8217;t know anyone who would argue that protected memory and pre-emptive multitasking decrease security due to their complexity (if you disagree, go back to using MacOS 9 :-P).  I believe that virtualization can provide additional or better security guarantees, and I think that it&#8217;s a plus.  Virtualization resembles more security in depth instead of just adding more attack surface, although it currently does a mix of both.  It&#8217;s a tool &#8212; just don&#8217;t poke your eye out with it, and don&#8217;t think it will solve everything.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: George Jones</title>
		<link>http://www.cerias.purdue.edu/weblogs/spaf/general/post-108/complexity-virtualization-security-and-an-old-approach/#comment-80805</link>
		<dc:creator>George Jones</dc:creator>
		<pubDate>Mon, 25 Jun 2007 18:41:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.cerias.purdue.edu/weblogs/spaf/kudos-opinions-rants/post-108/complexity-virtualization-security-and-an-old-approach/#comment-80805</guid>
		<description>&#62; So, I challenge my (few) readers to think about &#62; minimalism. If we reduce the complexity of our
&#62; systems what might we accomplish? What might we 
&#62; achieve if we threw out the current designs and 
&#62; started over from a new beginning and with our
&#62; current knowledge and capabilities?
&#62;
&#62; 
&#62; Copyright © 2007 by E. H. Spafford
&#62; 
&#62; [posted with ecto]

So, do you think you could give up your
fancy, complex Mac/blogging software
and do blog posts with telnet ?  :-)

BTW, I am in full agreement with your 
basic premise.  complexity == insecurity.
I just doubt we'll ever get people to choose
security over functionality.  

---George Jones</description>
		<content:encoded><![CDATA[<p>&gt; So, I challenge my (few) readers to think about &gt; minimalism. If we reduce the complexity of our<br />
&gt; systems what might we accomplish? What might we<br />
&gt; achieve if we threw out the current designs and<br />
&gt; started over from a new beginning and with our<br />
&gt; current knowledge and capabilities?<br />
&gt;<br />
&gt;<br />
&gt; Copyright © 2007 by E. H. Spafford<br />
&gt;<br />
&gt; [posted with ecto]</p>
<p>So, do you think you could give up your<br />
fancy, complex Mac/blogging software<br />
and do blog posts with telnet ?  <img src='http://www.cerias.purdue.edu/weblogs/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>BTW, I am in full agreement with your<br />
basic premise.  complexity == insecurity.<br />
I just doubt we&#8217;ll ever get people to choose<br />
security over functionality.  </p>
<p>&#8212;George Jones</p>
]]></content:encoded>
	</item>
</channel>
</rss>
