<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>What is it that makes security hard?</title><link>http://blogs.msdn.com/b/michael_howard/archive/2007/02/02/what-is-it-that-makes-security-hard.aspx</link><description>I’ve been asked this question numerous times, often in the guise of a question like, “why can’t you guys simply fix the security problem?” or “reliability and scalability problems are understood and solvable, why can’t you do the same with security?”</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Microsoft pulls a Barbie</title><link>http://blogs.msdn.com/b/michael_howard/archive/2007/02/02/what-is-it-that-makes-security-hard.aspx#9248179</link><pubDate>Mon, 22 Dec 2008 23:55:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9248179</guid><dc:creator>SuperSite Blog</dc:creator><description>&lt;p&gt;Microsoft explains how it missed a serious IE bug for NINE years or, as the company chooses to title&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9248179" width="1" height="1"&gt;</description></item><item><title>MS08-078 and the SDL</title><link>http://blogs.msdn.com/b/michael_howard/archive/2007/02/02/what-is-it-that-makes-security-hard.aspx#9239668</link><pubDate>Fri, 19 Dec 2008 05:12:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9239668</guid><dc:creator>The Security Development Lifecycle</dc:creator><description>&lt;p&gt;Hi, Michael here. Every bug is an opportunity to learn, and the security update that fixed the data binding&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9239668" width="1" height="1"&gt;</description></item><item><title>re: What is it that makes security hard?</title><link>http://blogs.msdn.com/b/michael_howard/archive/2007/02/02/what-is-it-that-makes-security-hard.aspx#1788628</link><pubDate>Fri, 02 Mar 2007 19:23:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1788628</guid><dc:creator>Chris</dc:creator><description>&lt;p&gt;Good post. Yet people still think an outdated certified 'consultant' can protect them. Security IS an arms race, if your not current, your out.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1788628" width="1" height="1"&gt;</description></item><item><title>re: What is it that makes security hard?</title><link>http://blogs.msdn.com/b/michael_howard/archive/2007/02/02/what-is-it-that-makes-security-hard.aspx#1736502</link><pubDate>Wed, 21 Feb 2007 21:32:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1736502</guid><dc:creator>Rodrigo Rubira Branco (BSDaemon)</dc:creator><description>&lt;p&gt;For sure is really difficult to analyse all the possibilities, keep the backward compability and know all the performance impacts, in a generic OS.&lt;/p&gt;
&lt;p&gt;Like the analysis of your blog entry: &lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/michael_howard/archive/2006/05/26/address-space-layout-randomization-in-windows-vista.aspx"&gt;http://blogs.msdn.com/michael_howard/archive/2006/05/26/address-space-layout-randomization-in-windows-vista.aspx&lt;/a&gt;, many people try to say about other OS that have this kind of resource for a long time before microsoft tries to implement it. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;In any way the microsoft implementation is not 2^8 bits entropy in every case. &amp;nbsp;You can have some situations where the process have more than just one dll loaded with a trampoline instruction pointing to the same offset, so, the number goes down... ;)&lt;/p&gt;
&lt;p&gt;Good luck to you guys,&lt;/p&gt;
&lt;p&gt;Rodrigo (BSDaemon).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1736502" width="1" height="1"&gt;</description></item><item><title>re: What is it that makes security hard?</title><link>http://blogs.msdn.com/b/michael_howard/archive/2007/02/02/what-is-it-that-makes-security-hard.aspx#1691411</link><pubDate>Sat, 17 Feb 2007 00:08:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1691411</guid><dc:creator>Gene Naden</dc:creator><description>&lt;p&gt;Why is it hard to understand the training materials on the subject of security? Because if you explain it too well then the attacker can read it, understand it only too well, and find the vulnerabilities. So you can only include part of the story.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1691411" width="1" height="1"&gt;</description></item><item><title>Most Powerful Security Tool</title><link>http://blogs.msdn.com/b/michael_howard/archive/2007/02/02/what-is-it-that-makes-security-hard.aspx#1673731</link><pubDate>Wed, 14 Feb 2007 08:09:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1673731</guid><dc:creator>alik levin's</dc:creator><description>&lt;p&gt;It's Between Your Ears Why? Because &amp;quot;Security is man-vs-man and humans are intelligent.&amp;quot; - more about&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1673731" width="1" height="1"&gt;</description></item><item><title>re: What is it that makes security hard?</title><link>http://blogs.msdn.com/b/michael_howard/archive/2007/02/02/what-is-it-that-makes-security-hard.aspx#1603544</link><pubDate>Mon, 05 Feb 2007 14:05:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1603544</guid><dc:creator>ac</dc:creator><description>&lt;p&gt;&amp;quot;Security is man-vs-man and humans are intelligent.&amp;quot;&lt;/p&gt;
&lt;p&gt;There's also an issue of the scale: if you maintain the program, to make it 100% &amp;quot;safe&amp;quot;, you'd have to find and fix *all* security bugs. An attacker has to find only one.&lt;/p&gt;
&lt;p&gt;And then, there are the user's actions, which can be manipulated. And the UAC as it is now, in my opinion, is still done *wrong*. The confirmation dialogs pop out *too often*, enough to make people acknowlege automatically (even the people that know what they do!). For example, to know all processes which run on the machine I have to confirm UAC dialog each time I want to do that the Task manager?!?&lt;/p&gt;
&lt;p&gt;Dialogs that pop often will nobody read, and nobody will think about them.&lt;/p&gt;
&lt;p&gt;No offense, but I believe, the way you did it, you added it more to be able say &amp;quot;you're guilty yourself, you clicked yes&amp;quot; than to really enhance the security of the user.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1603544" width="1" height="1"&gt;</description></item><item><title>RE: What is it that makes security hard?</title><link>http://blogs.msdn.com/b/michael_howard/archive/2007/02/02/what-is-it-that-makes-security-hard.aspx#1594256</link><pubDate>Sun, 04 Feb 2007 06:09:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1594256</guid><dc:creator>MikeA</dc:creator><description>&lt;p&gt;&amp;gt;&amp;gt; First, there is little agreement around what constitutes a “security bug” so I’ll leave that subject for another day!&lt;/p&gt;
&lt;p&gt;Well, I'd agree, but I'll take a shot none-the-less :)&lt;/p&gt;
&lt;p&gt;The if you have to break &amp;quot;bugs&amp;quot; down, I'd say they really are in three flavors - functional bugs, performance bugs, and security bugs. &amp;nbsp;This totally side-steps the &amp;quot;bug vs flaw&amp;quot; argument - for simplicity (reduce the number of variables) I'll just assume that the developer wanted to do the right thing, and had a design that met that goal.&lt;/p&gt;
&lt;p&gt;As much as I think that it's a oversimplification, and perhaps could do with another axis, the general argument that Hugh Thompson and James Whittaker* have that security bugs are &amp;quot;side effects&amp;quot; of usually correctly functioning code is a good one - see &amp;quot;Why security testing is hard&amp;quot; - IEEE S&amp;amp;P July-August 2004 also available at [&lt;a rel="nofollow" target="_new" href="http://tinyurl.com/2jrmph"&gt;http://tinyurl.com/2jrmph&lt;/a&gt;] so you don't have to pay for it :)&lt;/p&gt;
&lt;p&gt;In my book, it's harder to find security bugs because there's no noticeable side-effect unless you specifically look for / test for it. &amp;nbsp;Which leads to what I think security is different from functional bugs - security bugs are inadvertent behavior that can be exploited for malicious gain (either directly, such as DoS, or indirectly, such as increasing privileges).&lt;/p&gt;
&lt;p&gt;&amp;gt;&amp;gt; Scalability and reliability issues are man-vs-machine and machines are stupid&lt;/p&gt;
&lt;p&gt;Now, security vs reliability/performance I believe is an easier one to address. &amp;nbsp;Software isn't like a machine - there are no moving parts that &amp;quot;wear out&amp;quot;. &amp;nbsp;All things being equal (e.g. introducing other things like service patches, 3rd party driver changes, etc, that may cause problems outside our control), reliability will increase in a system the more it's tested and used over time. &amp;nbsp;The reliability bugs will be found and fixed. &amp;nbsp;Even if new bugs are introduced by these fixes (we're human after all) they also will be found and fixed. &amp;nbsp;Performance is similar - there's a bar than needs to be met and changes can be made to make that bar. &amp;nbsp;Left alone, that bar will come down because improvements in hardware (CPU, memory, etc - thank you Dr Moore!) make it easier to meet.&lt;/p&gt;
&lt;p&gt;With security on the other hand, the bar will only go in one direction - up. We try to close off attack vectors, but without completely changing certain things (direction of stack growth, HTML+JavaScript, etc), we can only &amp;quot;patch&amp;quot; for these security bugs (either in the frameworks, or by developers knowing about them). &amp;nbsp;Attackers will inevitably look for, and find ways around them. &amp;nbsp;Also, we have in our future security bugs we aren't even considering right now.&lt;/p&gt;
&lt;p&gt;So, in the words of the NSA -- &amp;quot;Attacks always get better - they never get worse&amp;quot;. &amp;nbsp;The corollary is that to meet the security bar, it's always going up; for functional/performance, over time the bar goes down.&lt;/p&gt;
&lt;p&gt;Perhaps an over simplification, but that's my $0.02.&lt;/p&gt;
&lt;p&gt;*Disclaimer: I'm friends and an ex-collegue of Hugh and James, but I still think it's one of the better and most easily digested explanations of security vs functional bugs out there that I know of.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1594256" width="1" height="1"&gt;</description></item><item><title>re: What is it that makes security hard?</title><link>http://blogs.msdn.com/b/michael_howard/archive/2007/02/02/what-is-it-that-makes-security-hard.aspx#1592564</link><pubDate>Sun, 04 Feb 2007 00:56:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1592564</guid><dc:creator>a co-worker</dc:creator><description>&lt;p&gt;I think what makes it hard is the profusion of New Zealanders. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1592564" width="1" height="1"&gt;</description></item><item><title>re: What is it that makes security hard?</title><link>http://blogs.msdn.com/b/michael_howard/archive/2007/02/02/what-is-it-that-makes-security-hard.aspx#1588484</link><pubDate>Sat, 03 Feb 2007 10:33:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1588484</guid><dc:creator>Osama Salah</dc:creator><description>&lt;p&gt;&amp;quot;Security is man-vs-man and humans are intelligent.&amp;quot;&lt;/p&gt;
&lt;p&gt;It's not just an intelligence.&lt;/p&gt;
&lt;p&gt;The &amp;quot;evil&amp;quot; man has most probably more incentive than the &amp;quot;good&amp;quot; man (think organized cyber-crime).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1588484" width="1" height="1"&gt;</description></item></channel></rss>