<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.codesecurely.info/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 : Microsoft</title><link>http://www.codesecurely.info/archive/tags/Microsoft/default.aspx</link><description>Tags: Microsoft</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Securing ActiveX Controls</title><link>http://www.codesecurely.info/archive/2007/10/17/securing-activex-controls.aspx</link><pubDate>Wed, 17 Oct 2007 04:20:03 GMT</pubDate><guid isPermaLink="false">39ae98e9-4854-4bce-87c0-4727b915c95c:4646</guid><dc:creator>rudolph</dc:creator><slash:comments>2</slash:comments><comments>http://www.codesecurely.info/comments/4646.aspx</comments><wfw:commentRss>http://www.codesecurely.info/commentrss.aspx?PostID=4646</wfw:commentRss><wfw:comment>http://www.codesecurely.info/rsscomments.aspx?PostID=4646</wfw:comment><description>&lt;p style="text-align:justify;"&gt;I was reading my buddy &lt;a href="http://keepitlocked.net"&gt;Alex Smolen's&lt;/a&gt; post the other day on &lt;a href="http://keepitlocked.net/archive/2007/10/10/a-brief-history-of-applet-security.aspx"&gt;Java Applet Security&lt;/a&gt; and figured I would see his post and raise it with a post on ActiveX control security. Actually, as you can probably see I have been slacking on the posting front so figured it is about time and this specific issue – ActiveX control security has been something I have been seeing a lot of in assessments but it doesn't seem to be covered enough in both the testing literature out there or indeed in secure development guides.
&lt;/p&gt;&lt;p style="text-align:justify;"&gt;As it turns out, ActiveX controls are at the end of the day C++ or C# or (pick your favorite language) code so much of the guidance on secure application development continue to apply as you would expect. However, ActiveX controls obviously add another interesting dimension – they are mobile code and execute not on the server like typical web applications do but on the client machine. That means any vulnerabilities in this control place each and every one of your customers at risk. In fact with some popular ActiveX controls this is such a rampant problem given that they are installed on hundreds of thousands if not millions of computers across the globe. What perhaps exacerbates the risk even more is these ActiveX controls typically provide very powerful functionality by leveraging deep access into the client computer. This in turn can mean you are putting your users at risk even if you have no stereotypical vulnerabilities in your control code. Let me explain, why just not having buffer overflows and the like is not enough to protect your customers.
&lt;/p&gt;&lt;p style="text-align:justify;"&gt;Well it all really comes down to the trust model and the sandbox built for ActiveX controls in the browser – Internet Explorer for the most part. Enter the notion as being "safe for initialization and / or scripting". The relevant &lt;a href="http://msdn2.microsoft.com/en-us/library/Aa751977.aspx"&gt;MSDN documentation&lt;/a&gt; on this is shown here:
&lt;/p&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;"&gt;&lt;tr&gt;&lt;td style="padding-left:7px;padding-right:7px;border-top:solid black 0.5pt;border-left:solid black 0.5pt;border-bottom:solid black 0.5pt;border-right:solid black 0.5pt;"&gt;&lt;p&gt;&lt;h2&gt;&lt;span style="font-size:10pt;"&gt;Initialization Security
&lt;/span&gt;&lt;/h2&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana;font-size:8pt;"&gt;When a control is initialized, it can receive data from an arbitrary &lt;a href="http://msdn.microsoft.com/library/en-us/oledb/htm/oledbipersist_objects.asp" target="_top"&gt;IPersist*&lt;/a&gt; &lt;img src="http://www.codesecurely.org/blogs/images/my_blog/101707_0418_SecuringAct1.gif" alt="" /&gt; interface (from either a local or a remote URL) for initializing its state. This is a potential security hazard because the data could come from an untrusted source. Controls that guarantee no security breach regardless of the data source are considered safe for initialization. 
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana;font-size:8pt;"&gt;There are two methods for indicating that your control is safe for initialization. The first method uses the Component Categories Manager to create the appropriate entries in the system registry. Internet Explorer examines the registry prior to loading your control to determine whether these entries appear. The second method implements an interface named IObjectSafety on your control. If Internet Explorer determines that your control supports &lt;strong&gt;IObjectSafety&lt;/strong&gt;, it calls the IObjectSafety::SetInterfaceSafetyOptions method prior to loading your control in order to determine whether your control is safe for initialization. 
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;h2&gt;&lt;span style="font-size:10pt;"&gt;&lt;a name="ov_script" /&gt;Scripting Security&lt;span style="font-family:Verdana;"&gt;
									&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana;font-size:8pt;"&gt;Code signing can guarantee a user that code is trusted. However, allowing ActiveX Controls to be accessed from scripts raises several new security issues. Even if a control is known to be safe in the hands of a user, it is not necessarily safe when automated by an untrusted script. For example, Microsoft Word is a trusted tool from a reputable source, but a malicious script can use its automation model to delete files on the user's computer, install macro viruses, and worse. 
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana;font-size:8pt;"&gt;There are two methods for indicating that your control is safe for scripting. The first method uses the Component Categories Manager to create the appropriate entries in the system registry (when your control is loaded). Internet Explorer examines the registry prior to loading your control to determine whether these entries appear. The second method implements the &lt;strong&gt;IObjectSafety&lt;/strong&gt; interface on your control. If Internet Explorer determines that your control supports &lt;strong&gt;IObjectSafety&lt;/strong&gt;, it calls the &lt;strong&gt;IObjectSafety::SetInterfaceSafetyOptions&lt;/strong&gt; method prior to loading your control in order to determine whether your control is safe for scripting. &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style="text-align:justify;"&gt;
 &lt;/p&gt;&lt;p style="text-align:justify;"&gt;When it comes to ActiveX controls designed for the browser, it is more likely than not that these are marked as safe for scripting. 
&lt;/p&gt;&lt;p style="text-align:justify;"&gt;The problem is this approach is very binary – or in other words you can either mark an ActiveX control as never safe for scripting or always safe. Like we just said most developers will mark the object safe for scripting and all seems well. This is where it begins to get really interesting from a security perspective. A control marked as safe for scripting can be loaded by any and every web page developer whether they work for your organization or are the teenage, blackhat hackers down the street or in some dark basement half way across the globe. 
&lt;/p&gt;&lt;p style="text-align:justify;"&gt;Consider, now a familiar use case for an ActiveX controls – a control that lets you browse your local file system and add or delete files from / to the server. Developing this control just gave your company the award for most usable site on the entire World Wide Web and as they say business is good. Joe Hacker down the street is an avid user of your site and hence your ActiveX control realizes he might have a way to create a nice little botnet for himself through your ActiveX control. So here is what he does:
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;div style="text-align:justify;"&gt;Creates a phishing site that looks perhaps just like yours or indeed anything else.
&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="text-align:justify;"&gt;Within this site he loads your ActiveX control using the object tag he noticed in the HTML source of your website
&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="text-align:justify;"&gt;Uses the interfaces, methods, events exposed by your ActiveX control within his fake website
&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="text-align:justify;"&gt;You see where this is going, the more powerful your control the more power Joe Hacker has in his evil, evil hands …. Sigh &lt;span style="font-family:Wingdings;"&gt;L&lt;/span&gt;
			&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="text-align:justify;"&gt;So what is the solution you ask? As tempted as I am to leave that for another day and build on the suspense … I shall not &lt;span style="font-family:Wingdings;"&gt;J&lt;/span&gt;.
&lt;/p&gt;&lt;p style="text-align:justify;"&gt;This is where the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=43cd7e1e-5719-45c0-88d9-ec9ea7fefbcb&amp;amp;displaylang=en"&gt;SiteLock template&lt;/a&gt; comes in. From the download page:
&lt;/p&gt;&lt;p style="text-align:justify;"&gt;&lt;em&gt;"The SiteLock ATL template enables an ActiveX developer to restrict access so that a control is only deemed safe when used in a predetermined list of domains. This limits the ability of Web page authors to reuse the control for malicious purposes."
&lt;/em&gt;&lt;/p&gt;&lt;p style="text-align:justify;"&gt;Essentially SiteLock allows the developer to define a set of website domains (or &lt;a href="http://www.microsoft.com/technet/prodtechnol/ie/reskit/6/part2/c04ie6rk.mspx"&gt;Internet Explorer Zones&lt;/a&gt;) that are allowed to load this control. This information is built into the control itself and each time the control is loaded, it checks the site that is loading it to make sure it is part of the white list defined by the original developer. If not it will refuse to load. In fact SiteLock can also support "expiring" an ActiveX control after a certain time period. The idea being here is that functionality present in the ActiveX control can be disabled after a certain date. Both of these measures provide risk mitigation both against malicious (innocent as well actually) repurposing of your control as well as possibly lowers risk if the control were to have an unpatched vulnerability such as a buffer overflow. It is thus an excellent example of defense in depth and risk mitigation which is easy enough to code into the system and thus there is little reason for not doing so.
&lt;/p&gt;&lt;p style="text-align:justify;"&gt;For the technically inclined the SiteLock template functions by providing its own custom implementation for the aforementioned &lt;span style="font-family:Consolas;"&gt;IObjectSafety&lt;/span&gt; – &lt;span style="font-family:Consolas;"&gt;IobjectSafetySiteLockImpl&lt;/span&gt;. This implementation provides the magic security sauce which does all the checking described in the previous paragraph.
&lt;/p&gt;&lt;p style="text-align:justify;"&gt;References: 
&lt;/p&gt;&lt;p style="text-align:justify;"&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/Aa752035.aspx"&gt;Designing Secure ActiveX Controls&lt;/a&gt;
	&lt;/p&gt;&lt;p style="text-align:justify;"&gt;&lt;a href="http://blogs.msdn.com/ie/archive/2007/08/13/good-practices-for-activex-updates.aspx"&gt;Best Practices for ActiveX Control Updates&lt;/a&gt;
	&lt;/p&gt;&lt;p style="text-align:justify;"&gt;&lt;a href="http://blogs.msdn.com/ie/archive/2007/09/18/developing-safer-activex-controls-using-the-sitelock-template.aspx"&gt;New Version of SiteLock Template&lt;/a&gt;
	&lt;/p&gt;&lt;p style="text-align:justify;"&gt;P.S. It is important to note that what has been discussed here bears no relation to whether the control is signed or unsigned which is what &lt;a href="http://keepitlocked.net"&gt;Alex's&lt;/a&gt;
		&lt;a href="http://keepitlocked.net/archive/2007/10/10/a-brief-history-of-applet-security.aspx"&gt;post&lt;/a&gt; talked about. Instead it focuses on the properties of a legitimate ActiveX control. The browser will still show the regular warnings whether the control is signed or unsigned depending on how your browsing security policy is defined. It will however NOT let you know if the site attempting to use an ActiveX control is legitimate or malicious – it really has no way of doing that. So as a developer your action item is to make sure all your controls that will be hosted in a browser are protected using SiteLock. If your controls are never intended to run in a browser do not mark them as safe for scripting. Internet Explorer does not load such controls so problem solved!
&lt;/p&gt;&lt;p style="text-align:justify;"&gt;If you are a end user then make sure the controls you use have this protection or hound the developers if you can until they provide this protection. In the meantime, refuse to load ActiveX controls whether signed or unsigned from untrusted websites!
&lt;/p&gt;&lt;p style="text-align:justify;"&gt;
 &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.info/archive/2007/10/17/securing-activex-controls.aspx&amp;amp;;subject=Securing+ActiveX+Controls" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/10/17/securing-activex-controls.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.codesecurely.info/archive/2007/10/17/securing-activex-controls.aspx&amp;amp;;title=Securing+ActiveX+Controls" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/10/17/securing-activex-controls.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.codesecurely.info/archive/2007/10/17/securing-activex-controls.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/10/17/securing-activex-controls.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.codesecurely.info/archive/2007/10/17/securing-activex-controls.aspx&amp;amp;title=Securing+ActiveX+Controls" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/10/17/securing-activex-controls.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.codesecurely.info/archive/2007/10/17/securing-activex-controls.aspx&amp;amp;;title=Securing+ActiveX+Controls" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/10/17/securing-activex-controls.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.info/archive/2007/10/17/securing-activex-controls.aspx&amp;amp;;title=Securing+ActiveX+Controls&amp;amp;;top=1" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/10/17/securing-activex-controls.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.codesecurely.info/aggbug.aspx?PostID=4646" width="1" height="1"&gt;</description><category domain="http://www.codesecurely.info/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.codesecurely.info/archive/tags/Software+Security/default.aspx">Software Security</category></item><item><title>OT: Passes for the Halo 3 Launch Party</title><link>http://www.codesecurely.info/archive/2007/09/14/ot-passes-for-the-halo-3-launch-party.aspx</link><pubDate>Fri, 14 Sep 2007 23:18:02 GMT</pubDate><guid isPermaLink="false">39ae98e9-4854-4bce-87c0-4727b915c95c:3398</guid><dc:creator>rudolph</dc:creator><slash:comments>0</slash:comments><comments>http://www.codesecurely.info/comments/3398.aspx</comments><wfw:commentRss>http://www.codesecurely.info/commentrss.aspx?PostID=3398</wfw:commentRss><wfw:comment>http://www.codesecurely.info/rsscomments.aspx?PostID=3398</wfw:comment><description>&lt;p style="text-align:center;"&gt;&lt;img src="http://www.codesecurely.org/blogs/images/my_blog/091407_2317_OTPassesfor1.png" alt="" /&gt;
	&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.info/archive/2007/09/14/ot-passes-for-the-halo-3-launch-party.aspx&amp;amp;;subject=OT%3a+Passes+for+the+Halo+3+Launch+Party" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/09/14/ot-passes-for-the-halo-3-launch-party.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.codesecurely.info/archive/2007/09/14/ot-passes-for-the-halo-3-launch-party.aspx&amp;amp;;title=OT%3a+Passes+for+the+Halo+3+Launch+Party" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/09/14/ot-passes-for-the-halo-3-launch-party.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.codesecurely.info/archive/2007/09/14/ot-passes-for-the-halo-3-launch-party.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/09/14/ot-passes-for-the-halo-3-launch-party.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.codesecurely.info/archive/2007/09/14/ot-passes-for-the-halo-3-launch-party.aspx&amp;amp;title=OT%3a+Passes+for+the+Halo+3+Launch+Party" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/09/14/ot-passes-for-the-halo-3-launch-party.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.codesecurely.info/archive/2007/09/14/ot-passes-for-the-halo-3-launch-party.aspx&amp;amp;;title=OT%3a+Passes+for+the+Halo+3+Launch+Party" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/09/14/ot-passes-for-the-halo-3-launch-party.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.info/archive/2007/09/14/ot-passes-for-the-halo-3-launch-party.aspx&amp;amp;;title=OT%3a+Passes+for+the+Halo+3+Launch+Party&amp;amp;;top=1" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/09/14/ot-passes-for-the-halo-3-launch-party.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.codesecurely.info/aggbug.aspx?PostID=3398" width="1" height="1"&gt;</description><category domain="http://www.codesecurely.info/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.codesecurely.info/archive/tags/Offtopic/default.aspx">Offtopic</category></item><item><title>TechEd 2007</title><link>http://www.codesecurely.info/archive/2007/07/11/teched-2007.aspx</link><pubDate>Wed, 11 Jul 2007 20:42:00 GMT</pubDate><guid isPermaLink="false">39ae98e9-4854-4bce-87c0-4727b915c95c:2032</guid><dc:creator>rudolph</dc:creator><slash:comments>0</slash:comments><comments>http://www.codesecurely.info/comments/2032.aspx</comments><wfw:commentRss>http://www.codesecurely.info/commentrss.aspx?PostID=2032</wfw:commentRss><wfw:comment>http://www.codesecurely.info/rsscomments.aspx?PostID=2032</wfw:comment><description>&lt;P style="TEXT-ALIGN:justify;"&gt;My Virtual &lt;A href="http://www.msteched.com/"&gt;TechEd&lt;/A&gt; conversation with &lt;A href="http://blogs.msdn.com/mikehow"&gt;Mike Howard&lt;/A&gt; just went up on the &lt;A href="http://www.virtualteched.com/pages/videos.aspx"&gt;Virtual TechEd site&lt;/A&gt;. Come &lt;A href="http://www.virtualteched.com/Videos/Michael%20Howard-Rudolph%20Araujo_small.asx"&gt;watch&lt;/A&gt; a couple of software security practitioners chat about the state of the industry and where we go from here. &lt;/P&gt;
&lt;P style="TEXT-ALIGN:justify;"&gt;Some of the key things we talk about include how to sell security internally in your organization, what to expect in terms of overheads when you do integrate security into the SDLC. All in all pretty interesting IMHO.&lt;/P&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=0 align=center&gt;

&lt;TR&gt;
&lt;TD class="" align=middle colSpan=2&gt;
&lt;P style="TEXT-ALIGN:center;"&gt;&lt;IFRAME style="WIDTH:512px;HEIGHT:256px;" marginWidth=0 marginHeight=0 src="http://www.codesecurely.org/videos/vte/default.html" frameBorder=0 width=512 height=256 mce_src="http://www.codesecurely.org/videos/vte/default.html"&gt;&lt;/IFRAME&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;IMG alt="Silverlight Beta" src="http://www.virtualteched.com/images/Silverlight_h2.gif"&gt;&lt;/TD&gt;
&lt;TD class=""&gt;&lt;BR&gt;
&lt;P style="FONT-SIZE:9px;"&gt;&lt;A style="COLOR:#003399;TEXT-DECORATION:none;" href="http://silverlight.net/forums/13.aspx"&gt;&lt;B&gt;Silverlight Beta&lt;/B&gt;&lt;BR&gt;Installation and Setup&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;
&lt;P style="TEXT-ALIGN:justify;"&gt;This is my first dabble in &lt;A class="" title="Microsoft Silverlight" href="http://silverlight.net/" target=_blank&gt;Silverlight&lt;/A&gt; too - embedding this video was pretty cool using &lt;A class="" title="Microsoft Expression Media Encoder" href="http://www.microsoft.com/expression/products/overview.aspx?key=media" target=_blank&gt;Expression Media Encoder&lt;/A&gt; and the instructions &lt;A class="" title="Using Silverlight in Community Server" href="http://simonguest.com/blogs/smguest/archive/2007/05/23/Embedding-Silverlight-Videos-in-Community-Server.aspx" target=_blank&gt;here&lt;/A&gt;. If you dont have Sliverlight installed you probably just get a dummy screenshot above so follow the&amp;nbsp;Silverlight links above&amp;nbsp;to get to the video.&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.info/archive/2007/07/11/teched-2007.aspx&amp;amp;;subject=TechEd+2007" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/07/11/teched-2007.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.codesecurely.info/archive/2007/07/11/teched-2007.aspx&amp;amp;;title=TechEd+2007" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/07/11/teched-2007.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.codesecurely.info/archive/2007/07/11/teched-2007.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/07/11/teched-2007.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.codesecurely.info/archive/2007/07/11/teched-2007.aspx&amp;amp;title=TechEd+2007" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/07/11/teched-2007.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.codesecurely.info/archive/2007/07/11/teched-2007.aspx&amp;amp;;title=TechEd+2007" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/07/11/teched-2007.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.info/archive/2007/07/11/teched-2007.aspx&amp;amp;;title=TechEd+2007&amp;amp;;top=1" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/07/11/teched-2007.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.codesecurely.info/aggbug.aspx?PostID=2032" width="1" height="1"&gt;</description><category domain="http://www.codesecurely.info/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.codesecurely.info/archive/tags/Software+Security/default.aspx">Software Security</category></item><item><title>Marketing Security</title><link>http://www.codesecurely.info/archive/2007/04/01/marketing-security.aspx</link><pubDate>Sun, 01 Apr 2007 18:27:57 GMT</pubDate><guid isPermaLink="false">39ae98e9-4854-4bce-87c0-4727b915c95c:92</guid><dc:creator>rudolph</dc:creator><slash:comments>0</slash:comments><comments>http://www.codesecurely.info/comments/92.aspx</comments><wfw:commentRss>http://www.codesecurely.info/commentrss.aspx?PostID=92</wfw:commentRss><wfw:comment>http://www.codesecurely.info/rsscomments.aspx?PostID=92</wfw:comment><description>&lt;p&gt;Well it's been a while since I &lt;a href="http://www.codesecurely.org/archive/2007/03/03/security-evolved.aspx"&gt;last posted&lt;/a&gt; – no excuses but it has been a few stressful weeks – end of quarters, travel across the world and all. In any case I wanted to follow up with the general theme of &lt;a href="http://www.codesecurely.org/archive/2007/03/03/security-evolved.aspx"&gt;security evolved&lt;/a&gt; that I got started last time. One of the interesting things that has happened in the last year or so is that security for some has changed from something to be ashamed of and a pain point to an advantage of sorts. Case in point is &lt;a href="http://www.apple.com"&gt;Apple&lt;/a&gt; which through its &lt;a href="http://www.apple.com/getamac/"&gt;Mac-PC commercials&lt;/a&gt; appears to trump its security (among other attributes) over the competition. This is interesting for a couple of reasons in my mind. Firstly, it shows that security has stepped out of the technical echelons and made its way all the way to the marketing department (which if you believe the stereotypes is meant to be one of the clueless departments competing hard for the most clueless with the sales guys ;)). This in turn leads to the second reason. One thing a good marketing department (and whether you like them or not or whether you believe the commercials or not, you have to agree Apple has one of the best) is good at is at coming up with important reasons why customers should buy their product. This in turn implies that whatever this competitive advantage is, it is only an advantage if it makes a difference to the consumer. Now in my little mind what that means is in Apple's wisdom security is something that end users care about – and remember they are talking about primarily consumers not enterprises. From my perspective this is pretty big and it would be interesting to see or hear about the research that went into coming up with this marketing strategy i.e. how much do users care about security as an attribute, how does it compare to performance or usability etc. I would think someone at Apple has these answers and these could help answer the ever pertinent "What's the ROI for security?" or even the more basic "Why security?".
&lt;/p&gt;&lt;p&gt;The other kind of related phenomenon is what has happened at the security conferences over the last few years. Almost every security conference that I attended or was interested in or that someone I knew attended or was interested was dominated by pretty much company – &lt;a href="http://www.microsoft.com"&gt;Microsoft&lt;/a&gt;. Microsoft was not only a major sponsor but also had employees presenting and not just one or two presentations – heck at Blackhat 2006 they had an entire track. In my humble opinion a lot of this was marketing around the release of Vista and the security advances that it brings to the table as compared to prior versions of Windows. The interesting I learned is that the Security Technology Business Unit (or whatever it is called now – given all the reorganizations) which is responsible for Windows security actually has a Marketing person. I would guess this person is tasked to a large extent with PR associated with the Patch Tuesday releases, but it wouldn't surprise me if part of the focus is also on marketing security as a competitive advantage for the Windows platform and the other Microsoft products.
&lt;/p&gt;&lt;p&gt;Anyways just theories obviously since I have no insider information but I do think it is a interesting transition from defensive security to offensive security if I may call it that. On the other hand maybe I am reading too much into this trend…&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.info/archive/2007/04/01/marketing-security.aspx&amp;amp;;subject=Marketing+Security" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/04/01/marketing-security.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.codesecurely.info/archive/2007/04/01/marketing-security.aspx&amp;amp;;title=Marketing+Security" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/04/01/marketing-security.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.codesecurely.info/archive/2007/04/01/marketing-security.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/04/01/marketing-security.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.codesecurely.info/archive/2007/04/01/marketing-security.aspx&amp;amp;title=Marketing+Security" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/04/01/marketing-security.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.codesecurely.info/archive/2007/04/01/marketing-security.aspx&amp;amp;;title=Marketing+Security" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/04/01/marketing-security.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.info/archive/2007/04/01/marketing-security.aspx&amp;amp;;title=Marketing+Security&amp;amp;;top=1" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/04/01/marketing-security.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.codesecurely.info/aggbug.aspx?PostID=92" width="1" height="1"&gt;</description><category domain="http://www.codesecurely.info/archive/tags/Apple/default.aspx">Apple</category><category domain="http://www.codesecurely.info/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.codesecurely.info/archive/tags/Marketing/default.aspx">Marketing</category></item><item><title>Security Evolved</title><link>http://www.codesecurely.info/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.info/comments/33.aspx</comments><wfw:commentRss>http://www.codesecurely.info/commentrss.aspx?PostID=33</wfw:commentRss><wfw:comment>http://www.codesecurely.info/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.info/archive/2007/03/03/security-evolved.aspx&amp;amp;;subject=Security+Evolved" target="_blank" title = "Post http://www.codesecurely.info/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.info/archive/2007/03/03/security-evolved.aspx&amp;amp;;title=Security+Evolved" target="_blank" title = "Post http://www.codesecurely.info/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.info/archive/2007/03/03/security-evolved.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/03/03/security-evolved.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.codesecurely.info/archive/2007/03/03/security-evolved.aspx&amp;amp;title=Security+Evolved" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/03/03/security-evolved.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.codesecurely.info/archive/2007/03/03/security-evolved.aspx&amp;amp;;title=Security+Evolved" target="_blank" title = "Post http://www.codesecurely.info/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.info/archive/2007/03/03/security-evolved.aspx&amp;amp;;title=Security+Evolved&amp;amp;;top=1" target="_blank" title = "Post http://www.codesecurely.info/archive/2007/03/03/security-evolved.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.codesecurely.info/aggbug.aspx?PostID=33" width="1" height="1"&gt;</description><category domain="http://www.codesecurely.info/archive/tags/Apple/default.aspx">Apple</category><category domain="http://www.codesecurely.info/archive/tags/Security/default.aspx">Security</category><category domain="http://www.codesecurely.info/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.codesecurely.info/archive/tags/Marketing/default.aspx">Marketing</category><category domain="http://www.codesecurely.info/archive/tags/Securability/default.aspx">Securability</category><category domain="http://www.codesecurely.info/archive/tags/History+of+Security/default.aspx">History of Security</category></item><item><title>Mirror, mirror on the wall which is the securest of them all?</title><link>http://www.codesecurely.info/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.info/comments/18.aspx</comments><wfw:commentRss>http://www.codesecurely.info/commentrss.aspx?PostID=18</wfw:commentRss><wfw:comment>http://www.codesecurely.info/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.info/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.info/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.info/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.info/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.info/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.info/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.info/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.info/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.info/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.info/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.info/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.info/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.info/aggbug.aspx?PostID=18" width="1" height="1"&gt;</description><category domain="http://www.codesecurely.info/archive/tags/Apple/default.aspx">Apple</category><category domain="http://www.codesecurely.info/archive/tags/Security/default.aspx">Security</category><category domain="http://www.codesecurely.info/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.codesecurely.info/archive/tags/Operating+System+Security/default.aspx">Operating System Security</category></item></channel></rss>