<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.codesecurely.org/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>codesecurely.org : Security</title><link>http://www.codesecurely.org/archive/tags/Security/default.aspx</link><description>Tags: Security</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Security Threat Level Down to Fuchsia?</title><link>http://www.codesecurely.org/archive/2007/07/07/security-threat-level-down-to-fuchsia.aspx</link><pubDate>Sat, 07 Jul 2007 18:18:24 GMT</pubDate><guid isPermaLink="false">39ae98e9-4854-4bce-87c0-4727b915c95c:1992</guid><dc:creator>rudolph</dc:creator><slash:comments>0</slash:comments><comments>http://www.codesecurely.org/comments/1992.aspx</comments><wfw:commentRss>http://www.codesecurely.org/commentrss.aspx?PostID=1992</wfw:commentRss><wfw:comment>http://www.codesecurely.org/rsscomments.aspx?PostID=1992</wfw:comment><description>&lt;p&gt;Last few trips I have flown I noticed the airlines (multiple) have started using metal silverware again – so metal knives etc? Did I miss some memo about the little knife on board not being a security threat no more? :P
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;P.S. Or did it dawn on the wise ones that seemingly make these rules that this security theatre was not really making anyone more secure?&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.codesecurely.org/archive/2007/07/07/security-threat-level-down-to-fuchsia.aspx&amp;amp;;subject=Security+Threat+Level+Down+to+Fuchsia%3f" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/07/07/security-threat-level-down-to-fuchsia.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.codesecurely.org/archive/2007/07/07/security-threat-level-down-to-fuchsia.aspx&amp;amp;;title=Security+Threat+Level+Down+to+Fuchsia%3f" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/07/07/security-threat-level-down-to-fuchsia.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.codesecurely.org/archive/2007/07/07/security-threat-level-down-to-fuchsia.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/07/07/security-threat-level-down-to-fuchsia.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.codesecurely.org/archive/2007/07/07/security-threat-level-down-to-fuchsia.aspx&amp;amp;title=Security+Threat+Level+Down+to+Fuchsia%3f" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/07/07/security-threat-level-down-to-fuchsia.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.codesecurely.org/archive/2007/07/07/security-threat-level-down-to-fuchsia.aspx&amp;amp;;title=Security+Threat+Level+Down+to+Fuchsia%3f" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/07/07/security-threat-level-down-to-fuchsia.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.codesecurely.org/archive/2007/07/07/security-threat-level-down-to-fuchsia.aspx&amp;amp;;title=Security+Threat+Level+Down+to+Fuchsia%3f&amp;amp;;top=1" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/07/07/security-threat-level-down-to-fuchsia.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.codesecurely.org/aggbug.aspx?PostID=1992" width="1" height="1"&gt;</description><category domain="http://www.codesecurely.org/archive/tags/Security/default.aspx">Security</category><category domain="http://www.codesecurely.org/archive/tags/Rants/default.aspx">Rants</category></item><item><title>Security Evolved</title><link>http://www.codesecurely.org/archive/2007/03/03/security-evolved.aspx</link><pubDate>Sat, 03 Mar 2007 22:50:12 GMT</pubDate><guid isPermaLink="false">39ae98e9-4854-4bce-87c0-4727b915c95c:33</guid><dc:creator>rudolph</dc:creator><slash:comments>3</slash:comments><comments>http://www.codesecurely.org/comments/33.aspx</comments><wfw:commentRss>http://www.codesecurely.org/commentrss.aspx?PostID=33</wfw:commentRss><wfw:comment>http://www.codesecurely.org/rsscomments.aspx?PostID=33</wfw:comment><description>&lt;p&gt;It is interesting to see how security has transformed over the years. Back in the 80s it was pretty much that no one cared about it. Or more appropriately the only people that cared about it were the true technologists and the geeks – case in point being the &lt;a href="http://en.wikipedia.org/wiki/Morris_worm"&gt;Morris Worm&lt;/a&gt; which was primarily intended not to be a security attack but an experiment (gone horribly wrong) to measure the size of the Internet but more specifically the academic networks of the time. Then came the late 80s and 90s and suddenly security was on everyone's mind but in a weird kind of way – essentially we got caught with our pants down and this led to significant amounts of innovation (if you can call it that) and productizing that saw the birth of &lt;a href="http://www.cert.org"&gt;CERT&lt;/a&gt;, the first &lt;a href="http://www.ciac.org/ciac/bulletins/f-20.shtml"&gt;network based vulnerability assessment tool&lt;/a&gt;, the &lt;a href="http://en.wikipedia.org/wiki/Antivirus_software"&gt;first anti virus software&lt;/a&gt; and the &lt;a href="http://en.wikipedia.org/wiki/Firewall_(networking)"&gt;first network security devices&lt;/a&gt;. Essentially though this was as an era of a lack of knowledge i.e. there were very few "good" guys available who knew what it took to secure computer systems. It was also an era of increasing reliance on computer systems in general from health care to online banking, ecommerce, egovernment and so on… The primary reason for this lack of knowledge in my humble opinion was that it is generally regarded as a bad thing to talk about "bad" stuff. So the knowledge was thus left only in the hands of the "bad" guys! 
&lt;/p&gt;&lt;p&gt;The next era of security in my mind started with researchers and attackers alike beginning to look for vulnerabilities in released software. From &lt;a href="http://immunix.com/~crispin/discex00.pdf"&gt;buffer overflows&lt;/a&gt; in the 90s to SQL injection and Cross Site * today, this trend has continued. In the late 90s when people had begun to get their act together with regards to securing their networks with firewalls and intrusion detection systems, people starting exploiting vulnerabilities in accessible systems – primarily your web or FTP servers. This in turn gave birth to another slew of products – patch management! We saw first vendors arbitrarily releasing patches in response to exploits released or sometimes if you were lucky enough the exploit was released after the patch. Thus was born the entire paradigm of &lt;a href="http://www.schneier.com/crypto-gram-0111.html"&gt;full disclosure&lt;/a&gt; – over the years this in my opinion has kept everyone honest and we have improved as community to a better system where we now see monthly patch schedules and such. This was also most likely the era when an entire career path of "information security" was created. Knowledge was now beginning to spread and in through &lt;a href="http://en.wikipedia.org/wiki/The_Art_of_War"&gt;Art of War&lt;/a&gt; style, it became important to understand the ways of the enemy if you were going to defend yourself. &lt;a href="http://www.hackingexposed.com/"&gt;Hacking Exposed&lt;/a&gt; (the series but in many ways the original book) in many ways changed a lot of minds (created an entire genre I might add!) and it is probably one the biggest reasons for us at &lt;a href="http://www.foundstone.com"&gt;Foundstone&lt;/a&gt; to feel proud of the company and the people that are and have been there in the past.
&lt;/p&gt;&lt;p&gt;At about this point vulnerability disclosures were going through the roof and vendors were truly being troubled with the lack of security in their products and applications. Releasing patches had a number of costs:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Reengineering and redoing work that was not done right the first time
&lt;/li&gt;&lt;li&gt;Reputational costs of looking bad in public – being made fun of by your competitors etc.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;This was probably one of the earliest points when simply going out and buying a piece of technology or tools (no matter what the marketing department tells you!) would not solve or eliminate the problem. It needed genuine commitment and effort from the inside in. We needed a concentrated on the people, process and technology of systems development. It took a while but companies such as &lt;a href="http://msdn.microsoft.com/security"&gt;Microsoft&lt;/a&gt; among others began investing in security throughout their SDLC processes and again if you put your biases aside for a few minutes you can see that this investment is paying off with fewer vulnerabilities and better security features in their products. Unfortunately however, this attitude was not universal and part of the reason in my opinion is that you often don't think you need something until it comes to bite you in the rear. A number of large software and hardware makers chose to completely ignore security and paid the price as focus shifted to them. Most importantly it was the companies developing line of business software and custom software that were perhaps the most lacking. But if you think about it these are also the makers of the your online backing software, your payroll system and your credit card processing systems.
&lt;/p&gt;&lt;p&gt;Enter legislation such as &lt;a href="http://www.ftc.gov/privacy/glbact/"&gt;GLBA&lt;/a&gt; and &lt;a href="http://www.sb-1386.com/"&gt;California SB 1386&lt;/a&gt; and now suddenly companies had to invest into security or people got thrown into jail – important high ranking people at that! Again the tendency was to look for quick fixes – cheap and dirty. Unfortunately, such solutions rarely work for the specific purpose they are intended for but perhaps most importantly they treat the symptom and not the root cause of the disease. No effort was made to go after the systemic problems – in fact I would even venture to say people didn't see this as a systemic problem. Its only after paying the price of failing audits time and again or worse still being hacked time and again did organizations begin to turn around and see the light so to speak. However, the sad thing is many people are still looking for the quick and dirty fix – hoping a series of band-aids will cure the disease!
&lt;/p&gt;&lt;p&gt;Fast forward to today and what are the security issues – identity theft, phishing, social engineering. Back in the 90s when you were hacked, I the attacker wanted you (and indeed the world) to know – I wanted my 15 minutes or 2 days or month of fame. Damn it! I had earned it by using my packet flooding skills! Web defacements were the ultimate rush. Today, in all my experience, attackers no longer want you to know, they want to quietly sit there and steal information, personal information, corporate secrets and national secrets – redirecting these to their databases. 
&lt;/p&gt;&lt;p&gt;What's the one common trend through all of this? We have always been reactive – following the attackers and their techniques. What are we doing to defend ourselves against this next wave of attacks? Are we truly anticipating and getting prepared? Do we even know what the next type of security issues are going to be? Are we building securable systems? Or are we waiting to evolve and innovate? Someone once said those that don't learn from history are doomed to repeat it – perhaps we in the security community should learn something from our pasts and security in general (outside of information systems) so that we are one step ahead next time instead of hundreds of steps behind.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.codesecurely.org/archive/2007/03/03/security-evolved.aspx&amp;amp;;subject=Security+Evolved" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/03/03/security-evolved.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.codesecurely.org/archive/2007/03/03/security-evolved.aspx&amp;amp;;title=Security+Evolved" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/03/03/security-evolved.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.codesecurely.org/archive/2007/03/03/security-evolved.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/03/03/security-evolved.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.codesecurely.org/archive/2007/03/03/security-evolved.aspx&amp;amp;title=Security+Evolved" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/03/03/security-evolved.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.codesecurely.org/archive/2007/03/03/security-evolved.aspx&amp;amp;;title=Security+Evolved" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/03/03/security-evolved.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.codesecurely.org/archive/2007/03/03/security-evolved.aspx&amp;amp;;title=Security+Evolved&amp;amp;;top=1" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/03/03/security-evolved.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.codesecurely.org/aggbug.aspx?PostID=33" width="1" height="1"&gt;</description><category domain="http://www.codesecurely.org/archive/tags/Apple/default.aspx">Apple</category><category domain="http://www.codesecurely.org/archive/tags/Security/default.aspx">Security</category><category domain="http://www.codesecurely.org/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.codesecurely.org/archive/tags/Marketing/default.aspx">Marketing</category><category domain="http://www.codesecurely.org/archive/tags/Securability/default.aspx">Securability</category><category domain="http://www.codesecurely.org/archive/tags/History+of+Security/default.aspx">History of Security</category></item><item><title>Administriva: Wiki Updated</title><link>http://www.codesecurely.org/archive/2007/02/26/administriva-wiki-updated.aspx</link><pubDate>Mon, 26 Feb 2007 06:55:07 GMT</pubDate><guid isPermaLink="false">39ae98e9-4854-4bce-87c0-4727b915c95c:32</guid><dc:creator>rudolph</dc:creator><slash:comments>0</slash:comments><comments>http://www.codesecurely.org/comments/32.aspx</comments><wfw:commentRss>http://www.codesecurely.org/commentrss.aspx?PostID=32</wfw:commentRss><wfw:comment>http://www.codesecurely.org/rsscomments.aspx?PostID=32</wfw:comment><description>&lt;p style="text-align:justify;"&gt;Just a quick note that over the weekend I got a bunch of stuff over onto the &lt;a href="http://www.codesecurely.org/Wiki/view.aspx"&gt;Wiki&lt;/a&gt;. So far this is mostly stuff I wrote for &lt;a href="http://www.softwaremag.com/S_FocusAreas.cfm?Doc=focusareas/Security.html"&gt;Software Magazine&lt;/a&gt;. Main article is one &lt;a href="http://www.codesecurely.org/Wiki/view.aspx/Security_Code_Reviews"&gt;Security Code Reviews&lt;/a&gt; which it turns out has been pretty popular – its usually in the &lt;a href="http://www.google.com/search?hl=en&amp;amp;q=security+code+reviews"&gt;top 5 Google hits&lt;/a&gt; when you search for &lt;a href="http://www.google.com/search?hl=en&amp;amp;q=security+code+reviews"&gt;security code reviews&lt;/a&gt;. More will be coming up on the Wiki soon. Again anyone else with the time or inclination to contribute contact me &lt;span style="font-family:Wingdings;"&gt;J&lt;/span&gt; - like I said I want to eventually have this site dedicated to being a Software Security Knowledge Base (Wiki) and move my personal stuff and thoughts elsewhere. All of this content is licensed under &lt;a href="http://creativecommons.org/licenses/by-sa/2.5/"&gt;Creative Commons&lt;/a&gt;.
&lt;/p&gt;&lt;p style="text-align:justify;"&gt;P.S. The &lt;a href="http://en.wikipedia.org/wiki/Wiki"&gt;Wiki&lt;/a&gt; software I am using is &lt;a href="http://www.codeplex.com/cswiki"&gt;CS-Wiki&lt;/a&gt; which is really cool – especially going from Word to Wiki (probably one of the best I have seen when it comes to this and just adding content without learning special syntax) but bear in mind it is still in beta (and hence &lt;a href="http://www.codesecurely.org/Wiki/view.aspx/Security_Code_Reviews"&gt;this wiki&lt;/a&gt; is in beta) so forgive any hick ups. Also I have already found a couple of security issues with the Wiki (nothing major – luckily its designed pretty simply and this site is running in partial trust!) but if you do run into anything else (while I complete my security review) please let me know.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.codesecurely.org/archive/2007/02/26/administriva-wiki-updated.aspx&amp;amp;;subject=Administriva%3a+Wiki+Updated" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/02/26/administriva-wiki-updated.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.codesecurely.org/archive/2007/02/26/administriva-wiki-updated.aspx&amp;amp;;title=Administriva%3a+Wiki+Updated" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/02/26/administriva-wiki-updated.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.codesecurely.org/archive/2007/02/26/administriva-wiki-updated.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/02/26/administriva-wiki-updated.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.codesecurely.org/archive/2007/02/26/administriva-wiki-updated.aspx&amp;amp;title=Administriva%3a+Wiki+Updated" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/02/26/administriva-wiki-updated.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.codesecurely.org/archive/2007/02/26/administriva-wiki-updated.aspx&amp;amp;;title=Administriva%3a+Wiki+Updated" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/02/26/administriva-wiki-updated.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.codesecurely.org/archive/2007/02/26/administriva-wiki-updated.aspx&amp;amp;;title=Administriva%3a+Wiki+Updated&amp;amp;;top=1" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/02/26/administriva-wiki-updated.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.codesecurely.org/aggbug.aspx?PostID=32" width="1" height="1"&gt;</description><category domain="http://www.codesecurely.org/archive/tags/Security/default.aspx">Security</category><category domain="http://www.codesecurely.org/archive/tags/Software+Security/default.aspx">Software Security</category><category domain="http://www.codesecurely.org/archive/tags/Wiki/default.aspx">Wiki</category></item><item><title>Mirror, mirror on the wall which is the securest of them all? Part Deux</title><link>http://www.codesecurely.org/archive/2007/02/21/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all-part-deux.aspx</link><pubDate>Wed, 21 Feb 2007 08:04:05 GMT</pubDate><guid isPermaLink="false">39ae98e9-4854-4bce-87c0-4727b915c95c:21</guid><dc:creator>rudolph</dc:creator><slash:comments>0</slash:comments><comments>http://www.codesecurely.org/comments/21.aspx</comments><wfw:commentRss>http://www.codesecurely.org/commentrss.aspx?PostID=21</wfw:commentRss><wfw:comment>http://www.codesecurely.org/rsscomments.aspx?PostID=21</wfw:comment><description>&lt;p&gt;&lt;a href="http://www.codesecurely.org/archive/2007/02/07/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all.aspx"&gt;The story so far …&lt;/a&gt;  And now for more of the adventures of Jack Bauer! ;).
&lt;/p&gt;&lt;p&gt;So since I posted the first of this series I have to come to realize a number of key things:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;There's seemingly people that agree with me at least partly that if nothing else "Securability" must be a first class player
&lt;/li&gt;&lt;li&gt;All this who is more secure than who doesn't always make sense
&lt;/li&gt;&lt;li&gt;The word securability is actually and surprisingly so not a word! (&lt;a href="http://www3.merriam-webster.com/opendictionary/guide.php"&gt;not if I have anything to do with it though&lt;/a&gt;
			&lt;span style="font-family:Wingdings;"&gt;J&lt;/span&gt;)
&lt;/li&gt;&lt;li&gt;Lastly but perhaps most importantly I got pointed to a very interesting read by my co-worker Roman Hustad and that's where we will start this post.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The &lt;a href="http://www.laptop.org"&gt;OLPC (One Laptop Per Child)&lt;/a&gt; is an endeavor to provide (every?) child a laptop – each costing about a 100 bucks. Now this is an effort in itself involving hardware engineering to what operating system will run on the machine and so on. One of the things this team has taken up on to itself is &lt;a href="http://wiki.laptop.org/go/Bitfrost"&gt;building security into the system from the ground up&lt;/a&gt;. None of this patch work and design augmentation etc. I believe these guys really get it. While I did post my &lt;a href="http://www.codesecurely.org/archive/2007/02/07/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all.aspx"&gt;Securabilty&lt;/a&gt; post a week or so before I ran into this I must say I couldn't &lt;a href="http://dev.laptop.org/git.do?p=security;a=blob;hb=HEAD;f=bitfrost.txt"&gt;say it any better&lt;/a&gt;:
&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;lt;quote&amp;gt;
&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-left:36pt;"&gt;To provide an example, consider the Solitaire game shipped with most versions of Microsoft Windows. This program needs: 
&lt;/p&gt;&lt;p style="margin-left:36pt;"&gt;* no network access whatsoever
&lt;/p&gt;&lt;p style="margin-left:36pt;"&gt;* no ability to read the user's documents
&lt;/p&gt;&lt;p style="margin-left:36pt;"&gt;* no ability to utilize the built-in camera or microphone
&lt;/p&gt;&lt;p style="margin-left:36pt;"&gt;* no ability to look at, or modify, other programs
&lt;/p&gt;&lt;p style="margin-left:36pt;"&gt;Yet if somehow compromised by an attacker, Solitaire is free to do whatever the attacker wishes, including:
&lt;/p&gt;&lt;p style="margin-left:36pt;"&gt;* read, corrupt or delete the user's documents, spreadsheets, music, photos and any other files
&lt;/p&gt;&lt;p style="margin-left:36pt;"&gt;* eavesdrop on the user via the camera or microphone
&lt;/p&gt;&lt;p style="margin-left:36pt;"&gt;* replace the user's wallpaper
&lt;/p&gt;&lt;p style="margin-left:36pt;"&gt;* access the user's website passwords
&lt;/p&gt;&lt;p style="margin-left:36pt;"&gt;* infect other programs on the hard drive with a virus
&lt;/p&gt;&lt;p style="margin-left:36pt;"&gt;* download files to the user's machine
&lt;/p&gt;&lt;p style="margin-left:36pt;"&gt;* receive or send e-mail on behalf of the user
&lt;/p&gt;&lt;p style="margin-left:36pt;"&gt;* play loud or embarrassing sounds on the speakers
&lt;/p&gt;&lt;p style="margin-left:36pt;"&gt;The critical observation here is not that Solitaire should never have the ability to do any of the above (which it clearly shouldn't), but that its creators _know_ it should never do any of the above. It follows that if the system implemented a facility for Solitaire to indicate this at installation time, Solitaire could irreversibly shed various privileges the moment it's installed, which severely limits or simply destroys its usefulness to an attacker were it taken over.
&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;lt;/quote&amp;gt;
&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;They go on to describe their threat model and cover how one by one they have attempted to mitigate the threats uncovered as part of this model. They warn you that this does not mean their system is going to be completely infallible – heck they have even considered what would and should happen in the event of failure. In many ways these smart folks stole my thunder – my follow on blog post was meant to be a case study on how to build a securable system folks – but I will gladly give it up since these guys have actually gone much further and built a real world system. Only time will tell if they will be successful but if I were a betting man I wouldn't bet against it.
&lt;/p&gt;&lt;p&gt;So to recap then what are some of the key aspects for you to take away as you consider building securable systems:
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Document your security requirements. Understand what it is that you are trying to protect. What is the attacker persona? Who are you up against? Bring back all of the &lt;a href="http://en.wikipedia.org/wiki/The_Art_of_War"&gt;The Art of War&lt;/a&gt; books you've read.
&lt;/li&gt;&lt;li&gt;Use these security requirements to build a deep and detailed threat model – one that covers the requirements from above but also what the threats are to your system, what countermeasures you have (or will have) in place to prevent those threats from being realized and finally where are you vulnerable – what are those weak spots?
&lt;/li&gt;&lt;li&gt;&lt;div&gt;Use the threat model to govern your system development effort from a security perspective:
&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Do the countermeasures you have or thought you had in place adequately protect you against the threats you thought they were going to protect you against? Have these been tested and exercised?
&lt;/li&gt;&lt;li&gt;How about the vulnerabilities you are left with? Have you made a conscious risk management decision to live with these vulnerabilities. What is the long term plan to deal with them? What happens if one of them get exploited? Do you have an incident management plan in place?
&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Plan for failure and hence engage in defensive design and development. One of those vulnerabilities above might come back to bite you or worse still an entire new class of vulnerabilities that we might have never considered before might suddenly be discovered and guess what you are vulnerable as hell – what happens next? This in turn comes down to a number of basic principles which are age old:
&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Do you run with the least privileges needed to execute? Do you implement patterns such as privilege separation and compartmentalization?
&lt;/li&gt;&lt;li&gt;Even with least privileges do you explicitly turn off or refuse those you don't and will never need? Think Solitaire from the example above or iTunes (which should have access to my music folder and perhaps some registry keys at most! – more on that in a future post). If you run within the .NET environment do you run in &lt;a href="http://msdn.microsoft.com/msdnmag/issues/04/04/SecurityBriefs/"&gt;partial trust&lt;/a&gt;, do you use features such as &lt;a href="http://blogs.msdn.com/shawnfa/archive/2005/09/09/462975.aspx"&gt;Security Transparency&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx"&gt;&lt;span style="font-family:Courier New;"&gt;RequestRefuse&lt;/span&gt;&lt;/a&gt;?, if you run as a Java application have you configured the &lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/SecurityManager.html"&gt;security manager&lt;/a&gt;? If you are running on Unix are you creating a &lt;a href="http://www.onlamp.com/pub/a/bsd/2003/01/23/chroot.html"&gt;&lt;span style="font-family:Courier New;"&gt;chroot&lt;/span&gt; jail&lt;/a&gt;? Are you setting your effective user ID to a low privileged user account and leaving all the high privileged stuff for the parent process?
&lt;/li&gt;&lt;li&gt;Have you tested your implementation and design against your threat model and security requirements? Does the "stuff" really work as expected? Have you looked through code to detect issues? Have you opened bugs for the stuff that doesn't work? Do you have a plan to fix those bugs?
&lt;/li&gt;&lt;li&gt;Will you fail securely if failure is inevitable? Have you even defined what failing securely means?
&lt;/li&gt;&lt;li&gt;Do you have the right amount of auditing and logging? Do you have an incident management and response plan in place? Has this planned been tested and proven to work or will get caught out when failure strikes the first time? Would you know whether to cut the red wire or the black one when something threatens to explode?
&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;These last few bullet point is a good segway into the concept of &lt;a href="http://www.cert.org/nav/index_purple.html"&gt;Survivability&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;lt;quote&amp;gt;
&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-left:36pt;"&gt;&lt;span style="color:black;"&gt;Survivability is the ability of a network computing system to provide essential services in the presence of attacks and failures, and recover full services in a timely manner.&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;lt;/quote&amp;gt; 
&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;That's where the red and black wires come in – which are your most essential services? What can be turned off and the business will still survive? What does it mean to fail securely?
&lt;/p&gt;&lt;p&gt;Finally, again the reason I believe this is important is because the true threats moving forward are not going to be to the web server running on your machine, they are going to be through the applications you use every day (think your email client, your word processor, your media player, your instant messaging client) to you and your identity, your social security number, your credit card information, your privacy! That's where I believe the &lt;a href="http://wiki.laptop.org/go/Bitfrost"&gt;OLPC&lt;/a&gt; folks have been truly innovative, have grabbed the opportunity and get it!&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.codesecurely.org/archive/2007/02/21/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all-part-deux.aspx&amp;amp;;subject=Mirror%2c+mirror+on+the+wall+which+is+the+securest+of+them+all%3f+Part+Deux" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/02/21/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all-part-deux.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.codesecurely.org/archive/2007/02/21/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all-part-deux.aspx&amp;amp;;title=Mirror%2c+mirror+on+the+wall+which+is+the+securest+of+them+all%3f+Part+Deux" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/02/21/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all-part-deux.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.codesecurely.org/archive/2007/02/21/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all-part-deux.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/02/21/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all-part-deux.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.codesecurely.org/archive/2007/02/21/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all-part-deux.aspx&amp;amp;title=Mirror%2c+mirror+on+the+wall+which+is+the+securest+of+them+all%3f+Part+Deux" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/02/21/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all-part-deux.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.codesecurely.org/archive/2007/02/21/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all-part-deux.aspx&amp;amp;;title=Mirror%2c+mirror+on+the+wall+which+is+the+securest+of+them+all%3f+Part+Deux" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/02/21/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all-part-deux.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.codesecurely.org/archive/2007/02/21/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all-part-deux.aspx&amp;amp;;title=Mirror%2c+mirror+on+the+wall+which+is+the+securest+of+them+all%3f+Part+Deux&amp;amp;;top=1" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/02/21/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all-part-deux.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.codesecurely.org/aggbug.aspx?PostID=21" width="1" height="1"&gt;</description><category domain="http://www.codesecurely.org/archive/tags/Security/default.aspx">Security</category><category domain="http://www.codesecurely.org/archive/tags/Operating+System+Security/default.aspx">Operating System Security</category><category domain="http://www.codesecurely.org/archive/tags/Threat+Modeling/default.aspx">Threat Modeling</category></item><item><title>Mirror, mirror on the wall which is the securest of them all?</title><link>http://www.codesecurely.org/archive/2007/02/07/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all.aspx</link><pubDate>Wed, 07 Feb 2007 06:50:30 GMT</pubDate><guid isPermaLink="false">39ae98e9-4854-4bce-87c0-4727b915c95c:18</guid><dc:creator>rudolph</dc:creator><slash:comments>5</slash:comments><comments>http://www.codesecurely.org/comments/18.aspx</comments><wfw:commentRss>http://www.codesecurely.org/commentrss.aspx?PostID=18</wfw:commentRss><wfw:comment>http://www.codesecurely.org/rsscomments.aspx?PostID=18</wfw:comment><description>&lt;p&gt;All too often I get asked questions such as:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Which is more secure Microsoft Windows &amp;lt;Put your version of choice here&amp;gt; or Apple Mac OS &amp;lt;Pick your version here&amp;gt;?
&lt;/li&gt;&lt;li&gt;Which is more secure Internet Explorer or Firefox?
&lt;/li&gt;&lt;li&gt;Are two tier architectures – where my database is accessible from my web server in the DMZ less secure than a three tier architecture where all database access goes through a middle tier?
&lt;/li&gt;&lt;li&gt;…
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Much debate along these lines has been seen recently with the public consumer release of Microsoft's latest OS offering in the form of Vista. The Microsoft bashers will point to the fact that &lt;a href="http://secunia.com/product/13223/?task=advisories"&gt;Vista already has unpatched vulnerabilities&lt;/a&gt; and it has barely been released. On the other side of the spectrum, a lot of Microsoft marketing and a &lt;a href="http://news.com.com/Experts+Dont+buy+Vista+for+the+security/2100-1016_3-6154448.html"&gt;number of security experts&lt;/a&gt; will tell you that security was the number one feature in this release and that is precisely why you should upgrade. I would almost be willing to bet that for all the experts you will find that would be willing to put themselves on a life support system hooked up to a public wireless network and running on Windows Vista, you would just as many that would refuse to do so unless the operating system is Apple Mac OS X. 
&lt;/p&gt;&lt;p&gt;So what is the correct answer? Which "experts" does one as a consumer believe? Well I decided to look at some of the statistics that people like to throw around as backing data for their arguments. &lt;a href="http://www.secunia.com"&gt;Secunia.com&lt;/a&gt; is a wonderful site at times like these – and if I assume (and perhaps wrongly so – but I think we can for argument's sake) that they are the one and only definitive source of vulnerability tracking on the planet, then the numbers below can be trested as absolute.  Before I go further though, I want to extract a promise from you the reader, irrespective of what side of the fence you sit on – don't assume I am on one side or the other at least until you get to the end of this blog post (I promise there is a method to my madness and the wait will be worth it &lt;span style="font-family:Wingdings;"&gt;J&lt;/span&gt;).
&lt;/p&gt;&lt;p&gt;Ok let's talk about pure numbers since numbers don't lie some would say. Consider this:
&lt;/p&gt;&lt;p&gt;&lt;img src="http://www.codesecurely.org/blogs/images/my_blog/020707_0648_Mirrormirro1.png" alt="" /&gt; or perhaps this &lt;img src="http://www.codesecurely.org/blogs/images/my_blog/020707_0648_Mirrormirro2.png" alt="" /&gt;
	&lt;/p&gt;&lt;p&gt;From the looks of these statistics it would appear that Microsoft has had 43% more vulnerabilities in their Windows XP Professional offering as compared to Apple Mac OS X. And you can take that number and write article after article and post after post claiming Microsoft is a lot less secure than Apple. But then someone will turn around and say Microsoft has got their act together in recent times and have invested a ton of money into security (which they have) and offer something like the following as evidence:
&lt;/p&gt;&lt;p&gt;&lt;img src="http://www.codesecurely.org/blogs/images/my_blog/020707_0648_Mirrormirro3.png" alt="" /&gt; vs. this &lt;img src="http://www.codesecurely.org/blogs/images/my_blog/020707_0648_Mirrormirro4.png" alt="" /&gt;
	&lt;/p&gt;&lt;p&gt;But I wonder if the &lt;a href="http://projects.info-pull.com/moab/"&gt;Month of Apple Bugs&lt;/a&gt; had something to do with this?
&lt;/p&gt;&lt;p&gt;And then off course you have those that say well this isn't even an argument worth getting in to because I run on IBM OS/400 which is by far the most secure operating system on the planet while offering something like this as evidence.
&lt;/p&gt;&lt;p&gt;&lt;img src="http://www.codesecurely.org/blogs/images/my_blog/020707_0648_Mirrormirro5.png" alt="" /&gt;
	&lt;/p&gt;&lt;p&gt;Well, try telling to that to the one administrator of an AS/400 machine that fell victim to the one vulnerability that was patched in November of 2006.
&lt;/p&gt;&lt;p&gt;Hopefully you see my point now, numbers by themselves are meaningless as are how many patches are released on Patch Tuesday. The reason this is so because each vendor (Microsoft and Apple in this case) has their own risk assessment methodology and patch release process. While Microsoft tends to fix single issues per patch / advisory, Apple on the other hand will tend to bunch up a number of fixes into a single "patch". While one can argue for a more standardized approach, at a high level I don't have too much of a problem with either approach. What I care about is that patches get issued, and vulnerabilities get fixed.
&lt;/p&gt;&lt;p&gt;So that really brings me to the main point of this post which is whether it even makes sense to talk about numbers like these and get into heated debates about whether X is more Y? In my opinion the main problem with numbers is that unless they are taken in context they can be made to say whatever the presenter wants them to say. Hopefully the examples above have provided some evidence of this.
&lt;/p&gt;&lt;p&gt;I think the question we should be really arguing about is which of X or Y is more securable. There is a huge difference in my opinion about someone saying their operating system or application or browser is more secure and saying it is more securable. If you look at the most common types of attacks these days that go after end-consumers if it is things like phishing and identity theft. In light of this what I as a consumer care about is what operating system / application / browser makes it the easiest for me to protect myself and the hardest for me to shoot myself in the foot which I will inevitably do. That is my definition of securability.
&lt;/p&gt;&lt;p&gt;So with that said let's talk about securability – I think Mac OS X and now Vista both have capabilities and features that make them far easier to secure than their predecessors – an example being not running everything as an administrator or user account control (UAC). I think by itself will help alleviate the "I shot myself in the foot" problem to a large extent. Off course I think there will be vulnerabilities and I absolutely do not think that a year from now the graphs for either operating system on Secunia will be empty. The reason for that is it is not an easy task to get rid of every buffer overflow or every format string vulnerability. What you can do is mitigate the risk – compile your code with stack protection, run with least privilege, use default deny and so on. I think to a large extent the major software vendors and certainly from what I can see – both Microsoft and Apple have seen the value in doing this and will continue to do this. But in code bases with that many lines of code (50 -60 million from what I hear but who's counting &lt;span style="font-family:Wingdings;"&gt;J&lt;/span&gt;) there are bound to be mistakes that have been made, oversights and just things done which at the time they were done were completely correct but security research has evolved and will evolve to prove those very things to be huge vulnerabilities. 
&lt;/p&gt;&lt;p&gt;So are we all done then – we cannot get any better? Well not really, I think the next thing to get right is to chop privileges down even further. Sure we have made it harder for malware to install a kernel mode key stroke logger on our machines but how about that phishing site or that JavaScript which runs in the background or that email client which receives an email containing a malicious script that reads my confidential files. I think that is where the next evolution of software security should be going. How can we create true application sandboxes (and I know this word has been used and misused multiple times) which restrict what an application can and cannot do based on only what they need to do. We have attempted to solve the security problem of an attacker damaging the underlying machine and the infrastructure (operating system, applications etc) but how about preventing an attacker from hurting the user him / herself. How about preventing my email client or my browser (even if these are running min my context or heck in the context of the administrator himself) from accessing my Microsoft Money or Quicken files unless I the user explicitly allow that access?
&lt;/p&gt;&lt;p&gt;Well for my thoughts on a more concrete basis – stay tuned. To be continued ….
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Full disclosure: I am a Microsoft Developer Security MVP and receive a number of benefits from Microsoft as a consequence. However, this post has nothing to do with that relationship or the benefits. I would like to think I was and am completely unbiased. I should also mention that I also am an owner of both a Mac and a PC laptop on personal level but do use primarily Windows for work.
&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.codesecurely.org/archive/2007/02/07/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all.aspx&amp;amp;;subject=Mirror%2c+mirror+on+the+wall+which+is+the+securest+of+them+all%3f" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/02/07/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.codesecurely.org/archive/2007/02/07/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all.aspx&amp;amp;;title=Mirror%2c+mirror+on+the+wall+which+is+the+securest+of+them+all%3f" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/02/07/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.codesecurely.org/archive/2007/02/07/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/02/07/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.codesecurely.org/archive/2007/02/07/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all.aspx&amp;amp;title=Mirror%2c+mirror+on+the+wall+which+is+the+securest+of+them+all%3f" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/02/07/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.codesecurely.org/archive/2007/02/07/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all.aspx&amp;amp;;title=Mirror%2c+mirror+on+the+wall+which+is+the+securest+of+them+all%3f" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/02/07/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.codesecurely.org/archive/2007/02/07/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all.aspx&amp;amp;;title=Mirror%2c+mirror+on+the+wall+which+is+the+securest+of+them+all%3f&amp;amp;;top=1" target="_blank" title = "Post http://www.codesecurely.org/archive/2007/02/07/mirror-mirror-on-the-wall-which-is-the-securest-of-them-all.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.codesecurely.org/aggbug.aspx?PostID=18" width="1" height="1"&gt;</description><category domain="http://www.codesecurely.org/archive/tags/Apple/default.aspx">Apple</category><category domain="http://www.codesecurely.org/archive/tags/Security/default.aspx">Security</category><category domain="http://www.codesecurely.org/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.codesecurely.org/archive/tags/Operating+System+Security/default.aspx">Operating System Security</category></item></channel></rss>