<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Alik Levin's : Threat Modeling</title><link>http://blogs.msdn.com/alikl/archive/tags/Threat+Modeling/default.aspx</link><description>Tags: Threat Modeling</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Threat Model Your Strategic Planning</title><link>http://blogs.msdn.com/alikl/archive/2007/05/23/threat-model-your-strategic-planning.aspx</link><pubDate>Wed, 23 May 2007 15:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2815498</guid><dc:creator>alikl</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/alikl/comments/2815498.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=2815498</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=2815498</wfw:comment><description>I am not marketing guy, nor strategic one – I really do not know why I started to read this post - Why strategic planning fails - may be because my RSS reading technique ( How to Use Outlook 2007 RSS To Effectively Aggregate And Distill Information )...(&lt;a href="http://blogs.msdn.com/alikl/archive/2007/05/23/threat-model-your-strategic-planning.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2815498" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Practices/default.aspx">Practices</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Threat+Modeling/default.aspx">Threat Modeling</category></item><item><title>Late Threat Modeling</title><link>http://blogs.msdn.com/alikl/archive/2007/05/09/late-threat-modeling.aspx</link><pubDate>Wed, 09 May 2007 22:35:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2508677</guid><dc:creator>alikl</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/alikl/comments/2508677.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=2508677</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=2508677</wfw:comment><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;I always suggest conducting &lt;a href="http://blogs.msdn.com/alikl/archive/2007/04/27/threat-modeling-big-chunks.aspx" target="_blank"&gt;Threat Modeling&lt;/a&gt; even in advanced dev cycle stages, although it might seem absurd – why would one model threats for something that already has been completed? I often start working with projects that have advanced into their dev cycle, say started to write code, in stabilizing stage, or even in deployment phase.  &lt;p&gt;Threat Modeling takes me step back from code to design and even higher to the architecture. Code may be written perfectly, but no perfect code can save bad design or bad architecture from &lt;a href="http://www.emergentchaos.com/archives/cat_breaches.html" target="_blank"&gt;security breach&lt;/a&gt;.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2007/02/02/how-i-explain-threat-modeling-to-customers.aspx" target="_blank"&gt;How I Explain Threat Modeling to Customers&lt;/a&gt; post can give more answers to the question why. I love the idea of incremental rendering for example. I also loved the comment from &lt;a href="http://blogs.msdn.com/utility/Redirect.aspx?U=http%3a%2f%2fwww.perftestplus.com" target="_blank"&gt;Scott Barber&lt;/a&gt; who cited somebody else:  &lt;blockquote&gt; &lt;p&gt;"All models are wrong. &amp;nbsp;Some models are useful." &amp;nbsp;-- George Box, Industrial Statistician &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;So conducting late Threat Modeling can be useful in revealing bad design and architecture decisions and changes that took place during the dev lifecycle.  &lt;p&gt;Late Threat Modeling is useful to understand what risks one accepts deploying the application. Some would prefer not even know that, some would like just to know, but my favorite is to know and act applying &lt;a href="http://blogs.msdn.com/alikl/archive/2007/05/07/security-engineering-big-rocks.aspx" target="_blank"&gt;Security Engineering&lt;/a&gt;.  &lt;p&gt;Enjoy your late or on time &lt;a href="http://blogs.msdn.com/alikl/archive/2007/04/27/threat-modeling-big-chunks.aspx" target="_blank"&gt;Threat Modeling&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2508677" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Practices/default.aspx">Practices</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Threat+Modeling/default.aspx">Threat Modeling</category></item><item><title>Threat Modeling Big Chunks</title><link>http://blogs.msdn.com/alikl/archive/2007/04/27/threat-modeling-big-chunks.aspx</link><pubDate>Fri, 27 Apr 2007 21:34:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2301867</guid><dc:creator>alikl</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/alikl/comments/2301867.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=2301867</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=2301867</wfw:comment><description>&lt;p&gt;When three years ago I started to practice Threat Modeling I thought it is most boring part of security (which itself is not the most fascinating thing to most of people). I hated it since it seemed too boring - interview folks, read tones of specs, and write documents. Come on! I am .Net code guy! But fortunately to me I was motivated by good reasons to keep doing it - one cannot build good design from security perspective unless security is considered through out the design process itself. That is essentially the one and single reason to do Threat Modeling.&lt;/p&gt; &lt;p&gt;Now what approach to take? How actually to conduct Threat Modeling? Here came the confusion...&lt;/p&gt; &lt;p&gt;These are some really good sources of knowledge I tried to&amp;nbsp;adopt:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/michael_howard/" target="_blank"&gt;Michael Howard's&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/david_leblanc/" target="_blank"&gt;David LeBlanc's&lt;/a&gt; book &lt;a href="http://www.amazon.com/Writing-Secure-Second-Michael-Howard/dp/0735617228/ref=si3_rdr_bb_product/102-4802885-8482568" target="_blank"&gt;Writing Secure Code&lt;/a&gt;&amp;nbsp;has the whole chapter on this.  &lt;li&gt;Frank Swidersky's book &lt;a href="http://www.amazon.com/Threat-Modeling-Microsoft-Professional-Swiderski/dp/0735619913/ref=pd_bbs_sr_1/102-4802885-8482568?ie=UTF8&amp;amp;s=books&amp;amp;qid=1177670548&amp;amp;sr=8-1" target="_blank"&gt;Threat Modeling&lt;/a&gt;&amp;nbsp;that totally dedicated to the subject.  &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier" target="_blank"&gt;JD Meier&lt;/a&gt; from patterns&amp;amp;practices&amp;nbsp;&amp;nbsp;has &lt;a href="http://msdn2.microsoft.com/en-us/library/aa302419.aspx" target="_blank"&gt;detailed walkthrough&lt;/a&gt; in &lt;a href="http://msdn2.microsoft.com/en-us/library/ms994921.aspx" target="_blank"&gt;Improving Web Application Security: Threats and Countermeasures&lt;/a&gt;  &lt;li&gt;And then came out updated&amp;nbsp;whole guidance&amp;nbsp;form JD, totally dedicated to &lt;a href="http://msdn.com/threatmodeling" target="_blank"&gt;Threat Modeling Web Applications&lt;/a&gt;  &lt;li&gt;Also I found very cool walktrhough here - &lt;a href="http://blogs.msdn.com/ptorr/archive/2005/02/22/378510.aspx" target="_blank"&gt;Guerrilla Threat Modelling (or 'Threat Modeling' if you're American)&lt;/a&gt;  &lt;li&gt;Our team, ACE (&lt;a href="http://blogs.msdn.com/ace_team" target="_blank"&gt;Application Consulting &amp;amp; Engineering&lt;/a&gt;) has very cool tool that supports the process - Microsoft Threat Analysis &amp;amp; Modeling&amp;nbsp;(&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=59888078-9daf-4e96-b7d1-944703479451&amp;amp;displaylang=en" target="_blank"&gt;free download here&lt;/a&gt;)&amp;nbsp;loaded with goodies.  &lt;li&gt;There&amp;nbsp;is &lt;a href="http://msdn2.microsoft.com/en-us/security/aa570413.aspx" target="_blank"&gt;more...&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Seems like we are really crazy about the topic, lets do some search, hmm indeed we really like it:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://search.live.com/results.aspx?q=Threat+Modeling&amp;amp;src=IE-SearchBox" target="_blank"&gt;Live Search&lt;/a&gt;  &lt;li&gt;&lt;a href="http://www.google.com/search?source=ig&amp;amp;hl=en&amp;amp;q=Threat+Modeling&amp;amp;btnG=Google+Search" target="_blank"&gt;Google&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;So which one is the best?&lt;/p&gt; &lt;p&gt;Depends on who you are. Are you developer, architect, IT guy, security auditor, security consultant, doing line of business app, ISV guy, what is your budget, what is your dev culture? There are lot more attributes.&lt;/p&gt; &lt;p&gt;So while I cannot map each each and every&amp;nbsp;attribute to the above Threat Modeling techniques (which have a lots in common anyway), I found the big chunks of the process while conducting Threat Modeling that work for me and my customers. It is also very aligned to &lt;a href="http://blogs.msdn.com/alikl/archive/2007/03/22/security-language-that-every-one-understands.aspx" target="_blank"&gt;Security Language That Every One Understands&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Here are my &lt;strong&gt;&lt;em&gt;big chunks&lt;/em&gt;&lt;/strong&gt;:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Understand the business.&lt;/strong&gt; Find some role that understands the business and can explain the biz processes and the valuable stuff from biz perspective. Usually it is mid range managers with the customer. This big chunk helps generating Threats and Objectives&amp;nbsp;(which I use in the last big chunk).  &lt;li&gt;&lt;strong&gt;Understand application architecture and design.&lt;/strong&gt; It is totally technical information. Find app architect and dev lead to understand how the dev solution supports/implements the biz processes explained in first big chunk. The outcome of this big chunk is static view of the solution, data flows, and major usage scenarios (not use cases!).  &lt;li&gt;&lt;strong&gt;Go home and analyze.&lt;/strong&gt; Try to find gaps between the two big chunks above, i.e. how biz valuable stuff gets unwanted impact by technical implementation of the solution. This big chunk generates&amp;nbsp;Vulnerabilities that the solution must [based on severity] fix.  &lt;li&gt;&lt;strong&gt;Go back to customer and show the analysis. &lt;/strong&gt;This step must get senior management involved. I usually do not talk security stuff during this big chunk rather present to senior management threats [generated during first big chunk] that are not countered or poorly countered by the solution [vulnerabilities identified during second big chunk]. If I succeed to present it right then senior management directs development team to fix most severe threats. How? According to the fix I provide along with the vulnerability found.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;It is not my invention&amp;nbsp;rather what&amp;nbsp;I absorbed from the resources above and adjusted to my needs.&lt;/p&gt; &lt;p&gt;Today I just &lt;strong&gt;&lt;em&gt;love&lt;/em&gt;&lt;/strong&gt; Threat Modeling and the above approach works for me - I am still got paid for this :)&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Enjoy.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2301867" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Practices/default.aspx">Practices</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Planning+Phase/default.aspx">Planning Phase</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Threat+Modeling/default.aspx">Threat Modeling</category></item></channel></rss>