<?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>The Security Development Lifecycle</title><link>http://blogs.msdn.com/b/sdl/</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 5.6.583.20496 (Build: 5.6.583.20496)</generator><item><title>Financial Services Industry Publishes Software Assurance Framework</title><link>http://blogs.msdn.com/b/sdl/archive/2012/02/01/financial-services-industry-publishes-software-assurance-framework.aspx</link><pubDate>Wed, 01 Feb 2012 23:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10262905</guid><dc:creator>SDL Team</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10262905</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2012/02/01/financial-services-industry-publishes-software-assurance-framework.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" face="Calibri" size="3"&gt;More and more enterprises are realizing the importance of proactive security practices and those involved in critical infrastructure are no exception. One of the most effective ways to drive security improvements in critical infrastructure is through industry consensus. Microsoft has been deeply involved in collaborating with several critical infrastructure sectors to better understand their needs and to help improve their secure software development practices.&amp;nbsp; A critical sector is financial services where Microsoft has had long term collaboration with &lt;/span&gt;&lt;a href="http://www.bits.org/"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff"&gt;BITS&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: small;" face="Calibri" size="3"&gt;, a part of the &lt;/span&gt;&lt;a href="http://www.fsround.org/"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff"&gt;Financial Services Roundtable&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;, made up of major US financial institutions that are responsible for almost 93 trillion in managed assets.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" face="Calibri" size="3"&gt;Today, BITS &lt;/span&gt;&lt;a href="http://www.bits.org/publications/pr/BITSSoftwareAssurance020112.pdf"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff"&gt;announced&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: small;" face="Calibri" size="3"&gt; the release of their &lt;b&gt;&lt;a href="http://go.microsoft.com/?linkid=9798304"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;Software Assurance Framework&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;.&amp;nbsp; The purpose of this framework is to document the importance of secure development and to provide guidelines that financial services organizations can use to implement these practices more fully.&amp;nbsp; The framework is rooted in education, integration of security in design using standards and threat modeling, best practices for coding, focused and comprehensive testing and followed with important implementation and response practices.&amp;nbsp; This type of holistic, prescriptive, risk-based approach has been a hallmark of Microsoft&amp;rsquo;s SDL since inception back in 2004.&amp;nbsp; The BITS Framework goes on to further cite the &lt;/span&gt;&lt;a href="http://blogs.msdn.com/b/sdl/archive/2011/02/15/return-on-investment-roi-and-secure-application-development-can-a-holistic-approach-save-money-and-increase-productivity.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff"&gt;Forrester Consulting study&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt; which details the compelling economic (ROI) reasons to invest in a SDL program.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The framework was also designed to provide guidelines to software suppliers of the financial services industry in writing better, more secure software.&amp;nbsp; BITS recognized the importance of making this an industry-wide effort which is why we are extremely pleased to see it was made available to the public.&amp;nbsp; Microsoft has been a strong advocate for improving secure development practices with free information and tools for many years now.&amp;nbsp; The BITS framework is another great example on the importance of prescriptive security versus descriptive security practices such as checklists.&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" face="Calibri" size="3"&gt;Of note, this &lt;/span&gt;&lt;a href="http://go.microsoft.com/?linkid=9798304"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff"&gt;Framework&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt; was a collaborative effort that involved several financial services companies in conjunction with Microsoft.&amp;nbsp; The BITS group contains some of the most experienced security people in the financial services industry working together to define clear guidance on the most critical software development best practices for financial services.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" face="Calibri" size="3"&gt;We encourage you to take a look at this &lt;/span&gt;&lt;a href="http://go.microsoft.com/?linkid=9798304"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff"&gt;important document&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt; and see how practices from Microsoft&amp;rsquo;s SDL have helped to make a difference in improving software security within the financial services industry&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" face="Calibri" size="3"&gt;-&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-family: Calibri; font-size: small;" face="Calibri" size="3"&gt;Doug Cavit&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10262905" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Security+Assurance/">Security Assurance</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Application+Security/">Application Security</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Forrester/">Forrester</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/BITS/">BITS</category></item><item><title>Evolving Secure Code at Microsoft and Beyond</title><link>http://blogs.msdn.com/b/sdl/archive/2012/02/01/evolving-secure-code-at-microsoft-and-beyond.aspx</link><pubDate>Wed, 01 Feb 2012 17:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10262540</guid><dc:creator>SDL Team</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10262540</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2012/02/01/evolving-secure-code-at-microsoft-and-beyond.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://aka.ms/twcnext"&gt;&lt;img style="margin: 0px 10px; border: 0px currentColor; float: left; display: inline;" title="TwC Next" alt="TwC Next" src="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-43-twcnext/1488.TwC_2D00_Tile_5F00_148x148_2D00_wShadow.png" width="148" height="148" /&gt;&lt;/a&gt;&lt;span style="font-size: x-small;" size="2"&gt;Steve Lipner here&amp;hellip;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: x-small;" size="2"&gt;Over the past few weeks, Microsoft has been reflecting on the ten year anniversary of the Trustworthy Computing initiative; thinking about the things that have led us to this point in our history and speculating about the future.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: x-small;" size="2"&gt;Obviously a big part of our work has been the creation and evolution of the Microsoft Security Development Lifecycle (SDL). In our case, security has evolved in large part because of the issues that we faced early on.&amp;nbsp; As referenced in my previous &lt;a href="http://blogs.msdn.com/b/sdl/archive/2012/01/12/trustworthy-computing-s-10-year-milestone-reflecting-on-humble-beginnings.aspx"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;post&lt;/span&gt;&lt;/a&gt;, the uphill battle we fought in the early years put a negative spotlight on our products and our ability to keep customers safe. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: x-small;" size="2"&gt;By learning from our weaknesses and from close observation of the evolving threat landscape, we were able to make progress against the challenges by employing an effective approach to developing more secure software. &lt;b&gt;&lt;i&gt;The most prominent and arguably the most important attribute of our evolution lies in our commitment to the SDL &amp;ndash; a comprehensive approach for writing more secure code.&lt;/i&gt;&lt;/b&gt; Under the Microsoft Trustworthy Computing umbrella, the SDL is considered the most battle-tested and effective software security assurance process in the industry. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: x-small;" size="2"&gt;Clearly Microsoft products are not the only ones being targeted by cybercriminals. Today there is an industry dedicated to finding security vulnerabilities; motivated security researchers are in a race to discover the next big vulnerability in hopes of selling them on the open market.&amp;nbsp; So how does Microsoft work with the industry to help build a safer, more trusted computing ecosystem? &amp;nbsp;One way is by freely sharing our prescriptive guidance around the &lt;/span&gt;&lt;a href="http://go.microsoft.com/?linkid=9798409"&gt;&lt;span style="color: #0000ff; font-size: x-small;" size="2" color="#0000ff"&gt;SDL methodology&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: x-small;" size="2"&gt; and &lt;/span&gt;&lt;a href="http://www.microsoft.com/security/sdl/adopt/tools.aspx"&gt;&lt;span style="color: #0000ff; font-size: x-small;" size="2" color="#0000ff"&gt;tools&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: x-small;" size="2"&gt; so that other organizations can build more secure software. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: x-small;" size="2"&gt;We&amp;rsquo;ve noticed that IT dependent organizations are no longer satisfied with the latest &amp;ldquo;Top n list&amp;rdquo; of security practices; instead they are demanding prescriptive practices like the SDL that make deliberate value judgments on security practices based on real world effectiveness.&amp;nbsp; We&amp;rsquo;re proud of our efforts here &amp;ndash; no other software vendor shares their tools and resources to the extent that we have. We feel strongly that by sharing our best practices and tools, we can help organizations implement a version of the SDL that makes sense for them &amp;ndash; regardless of what platform they use.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: x-small;" size="2"&gt;This insistence on effective security development processes can be found in the recent release of the &lt;a href="http://go.microsoft.com/?linkid=9798304"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;BITS Software Assurance Framework&lt;/span&gt;&lt;/a&gt;. For those readers unfamiliar with BITS, it is the technology arm of the &lt;a href="http://www.fsround.org/"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;Financial Services Roundtable&lt;/span&gt;&lt;/a&gt; &amp;ndash; an organization that includes members from major US financial services organizations. BITS is chartered with finding collaborative solutions to challenges in cybersecurity, fraud reduction and critical infrastructure protection for its member companies. &lt;b&gt;&lt;i&gt;Today, BITS will publicly announce that they have successfully incorporated many of the key elements contained within Microsoft&amp;rsquo;s SDL into the guidance they provide to their member institutions and their software vendors.&lt;/i&gt;&lt;/b&gt; Their recommendation of many of our security development practices is gratifying and a strong testament to how far we have come with software development security. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: x-small;" size="2"&gt;We&amp;rsquo;re also pleased to see a growing community of individuals and enterprises that are implementing secure development best practices; we feel there should be a venue where those ideas and methodologies can be shared.&amp;nbsp; In an effort to make that venue a reality and sustain the momentum behind secure development processes, we are pleased to announce the first annual Security Development Conference in Washington D.C., May 15th &amp;ndash; 16th, 2012. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: x-small;" size="2"&gt;This event will bring together experts from a variety of industries to Washington, D.C. for a two day conference that centers on the theme &lt;b&gt;&lt;i&gt;&amp;ldquo;Evolving from Principles to Practices&amp;rdquo;&lt;/i&gt;&lt;/b&gt; and will serve as a focal point for education and collaboration for security development professionals.&amp;nbsp; By holding this conference we intend to emphasize the importance of more secure code as the critical first step to protecting against criminal activity. The conference will provide in-depth sessions, panel discussions, and professional networking opportunities that will help organizations develop and accelerate their own security development lifecycle processes. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: x-small;" size="2"&gt;For more information and registration details, I&amp;rsquo;d strongly encourage a visit to the conference website at &lt;a href="http://www.securitydevelopmentconference.com/"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;www.securitydevelopmentconference.com&lt;/span&gt;&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10262540" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Security+Assurance/">Security Assurance</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Simplified+SDL/">Simplified SDL</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Application+Security/">Application Security</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/TwCNext/">TwCNext</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/SDC+2012/">SDC 2012</category></item><item><title>Enhancements to /GS in Visual Studio 11 </title><link>http://blogs.msdn.com/b/sdl/archive/2012/01/26/enhancements-to-gs-in-visual-studio-11.aspx</link><pubDate>Thu, 26 Jan 2012 21:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10260978</guid><dc:creator>SDL Team</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10260978</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2012/01/26/enhancements-to-gs-in-visual-studio-11.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Hello all &amp;ndash; Dave here&amp;hellip;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;As mentioned in previous posts, there are some interesting changes afoot regarding security in Visual Studio 11.&amp;nbsp;Here is the next installment of the series by Tim Burrell outlining more of the work done by Security Science and the talented folks on the Visual Studio team&amp;hellip;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;Microsoft is actively developing Visual Studio 11 and continually looking for ways to improve security-related functionality in the software. We &lt;/span&gt;&lt;a href="http://blogs.msdn.com/b/sdl/archive/2011/12/02/security.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;previously noted&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt; that we are updating the on-by-default /GS compiler switch, which provides protection against some memory safety bugs such as buffer overflows. This post will provide additional information on those changes.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;You may recall that /GS buffer overrun protection places a cookie on the stack between local variables and critical security-critical metadata such as the return address.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/2133.Capture_5F00_2.PNG"&gt;&lt;img style="margin-right: auto; margin-left: auto; display: block;" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/2133.Capture_5F00_2.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The integrity of the GS cookie is checked at the end of the function, prior to the return address being used to return to the caller; if the cookie has been corrupted then execution is terminated rather than carrying on and transferring control to a now suspect return address in memory.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Note that this kind of protection is designed to catch the traditional overflow scenario &amp;ndash; i.e. modification of consecutive bytes &amp;ndash; and this is indeed by far the most common type of stack corruption bug. However it does not protect a scenario such as:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/8105.Scenario.png"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/8105.Scenario.png" width="223" height="105" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;If the attacker can control the value of &amp;lsquo;n&amp;rsquo; above then he can corrupt a single TCHAR character, leaving any GS cookie untouched:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/5241.Capture_5F00_1.PNG"&gt;&lt;img style="margin-right: auto; margin-left: auto; display: block;" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/5241.Capture_5F00_1.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;In reviewing those Microsoft Security Response Center (MSRC) cases due to stack-based corruption that were not covered by the existing /GS mechanism, we noted one error that stood out as being more common than others: misplaced null terminators. A typical code sequence might be something like:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/6237.Code-sequence.png"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/6237.Code-sequence.png" width="261" height="86" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;The &lt;/span&gt;ManipulateString()&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt; function correctly writes data within the bounds of the string &amp;lsquo;&lt;/span&gt;buf&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;&amp;rsquo;&amp;ndash; but fails to keep track of the final length &amp;lsquo;&lt;/span&gt;cch&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&amp;rsquo; of the resulting string. The instruction that null-terminates the string could therefore write outside the bounds of the string buffer without corrupting the GS cookie.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Compile the code above using the Visual Studio 11 Developer Preview tools and you will see that the generated code includes an extra check:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/7331.Code_5F00_extra-check.png"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/7331.Code_5F00_extra-check.png" width="416" height="170" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The compiler has inserted range validation code for the null-terminating instruction to guard against an out-of-bounds write to memory, roughly equivalent to: &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/8688.picture3_2D00_1.png"&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/8053.picture3_2D00_2.png"&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/4341.Capture_5F00_3.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/4341.Capture_5F00_3.PNG" width="610" height="83" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;A couple of questions arising from this are:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;1.&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;&amp;ldquo;What is the &lt;/span&gt;__report_rangecheckfailure()&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt; function?&amp;rdquo;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;2.&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&amp;ldquo;When/how often does this range validation happen?&amp;rdquo;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;The &lt;/span&gt;__report_rangecheckfailure()&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt; is similar to the existing &lt;/span&gt;__report_gsfailure()&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt; function; it just terminates the program to prevent further execution in a state that we know is about to become untrustworthy. We will come back to this in more detail in a later post.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;With respect to how often such range validation happens, it is targeted precisely at the code pattern for which there is historical data indicating the highest risk of a bug being present, namely an assignment to a single array element where:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;-&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The array element size is 1 or 2 bytes, i.e. typically a string. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;-&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The value being written is zero, i.e. to catch the null terminator case.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;-&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The array is declared to be of fixed known size (note that this could be a local or global array so not restricted to the stack).&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;In addition, for the compiler to be able to insert the instruction guarding against a range violation, it needs to know the size of the array. So an additional requirement in Visual Studio 11 Developer Preview is that the array assignment instruction involves an array of locally and statically declared size. By means of illustration, the following would not lead to a range check being inserted:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/0312.Capture_5F00_4.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/0312.Capture_5F00_4.PNG" /&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/7120.Capture_5F00_4.PNG"&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/4214.Capture_5F00_4.PNG"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;As always this is a trade-off. By targeting these extra checks as described above, Visual Studio 11 by default provides extra protection for a limited set of bugs that history tells us are the most common kind of stack-corruption bugs not covered previously by /GS, while minimizing performance and codesize impact by keeping the number of such checks low overall. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;And of course /GS continues to provide the familiar cookie-based protection against traditional stack overflows.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;The /GS compiler switch is one of many security enhancements being looked at for Visual Studio 11 and is but one small part of the Security Development Lifecycle (SDL) process and methodology for developing secure software, which includes much more than just using specific compiler switches &amp;ndash; &lt;/span&gt;&lt;a href="http://www.microsoft.com/security/sdl/"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;read more and find additional resources related to SDL here&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Tim Burrell, MSEC Security Science.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10260978" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Visual+Studio+11/">Visual Studio 11</category></item><item><title>Secure Credential Storage</title><link>http://blogs.msdn.com/b/sdl/archive/2012/01/16/secure-credential-storage.aspx</link><pubDate>Mon, 16 Jan 2012 19:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10257227</guid><dc:creator>SDL Team</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10257227</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2012/01/16/secure-credential-storage.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Pop security quiz: What&amp;rsquo;s the most secure way to store a secret?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;a)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Encrypt it with a strong symmetric cryptographic algorithm such as AES, using a 256-bit key.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;b)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Encrypt it with a strong asymmetric cryptographic algorithm such as RSA, using a 4096-bit key. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;c)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Encrypt it using a cryptographic system built into your platform, like the Data Protection API (DPAPI) for Windows.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Have you made your choice? The correct answer is actually:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;d)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Don&amp;rsquo;t store the secret at all!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;Ok, it was a trick question. But the answer is valid: thieves can&amp;rsquo;t steal what you don&amp;rsquo;t store. Let&amp;rsquo;s apply this principle to the action of authentication &amp;ndash; that is, logging into a web site. If a site never stores its users&amp;rsquo; passwords, then even if the site is breached, those passwords can&amp;rsquo;t be stolen. But how can a site authenticate users without storing their passwords? The answer is for the site to store (and subsequently compare) cryptographic hashes of the passwords instead of the plaintext passwords themselves. (If you&amp;rsquo;re unfamiliar with the concept of hashes, we recommend reading &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/92f9ye3s.aspx#hash_values"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;http://msdn.microsoft.com/en-us/library/92f9ye3s.aspx#hash_values&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt; before continuing.) By comparing hashes rather than plaintext, the site can still validate that the user does indeed know his or her password &amp;ndash; otherwise, the hashes wouldn&amp;rsquo;t match &amp;ndash; but it has no need to ever actually store that password. It&amp;rsquo;s an elegant solution, but there are a few design considerations you&amp;rsquo;ll need to implement to ensure you don&amp;rsquo;t inadvertently weaken the strength of the system.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The first design issue is that simply hashing the passwords alone isn&amp;rsquo;t enough protection: you also need to add a random salt to each password before you compute its hash value. Remember that for a given hash function, an input value will always hash to the same output value. With enough time, an attacker could compute a table of plaintext strings and their corresponding hash values. In fact, many of these tables (known as &amp;ldquo;rainbow tables&amp;rdquo;) already exist and are freely downloadable on the Internet. Armed with a rainbow table, if an attacker could manage to gain access to the list of password hashes on the web site by any means, he could use that table to easily determine the original plaintext passwords. When you salt hashes, you take this weapon out of the attackers&amp;rsquo; hands. It&amp;rsquo;s also important to generate (and store) a unique salt for every user &amp;ndash; don&amp;rsquo;t just use the same salt for everyone. If you did always use the same salt, an attacker could build a new rainbow table using that single salt value, and eventually extract out the passwords.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/7563.adam_5F00_autentication.png"&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/4762.adam_5F00_autentication.png"&gt;&lt;/a&gt;&lt;/span&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/2806.adam_5F00_autentication.png"&gt;&lt;img style="border: 0px currentColor; vertical-align: middle;" title="Comparing salted hashes" alt="Comparing salted hashes" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/2806.adam_5F00_autentication.png" width="472" height="533" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Figure 1: Comparing salted hashes&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The next important design issue to take is to be sure to use a strong cryptographic hash algorithm. MD5 may be a popular choice, but cryptographers have demonstrated weaknesses in it and it&amp;rsquo;s been considered an unsafe, &amp;ldquo;broken&amp;rdquo; algorithm for years. SHA-1 is stronger, but is beginning to show cracks and now cryptographers recommend avoiding SHA-1 as well. The SHA-2 family of hash algorithms is currently considered the strongest, and is the only family of hash algorithms approved for use in Microsoft products per the Microsoft Security Development Lifecycle (SDL) cryptographic standards policy.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;Instead of hardcoding your application to use SHA-2, an even better approach would be to implement a &amp;ldquo;cryptographic agility&amp;rdquo; that would allow you to change the hash algorithm even after the application has been deployed into production. After all, cryptographic algorithms go stale over time; cryptographers find weaknesses and computing power increases to the point where brute force approaches become feasible. Someday SHA-2 may be considered just as weak as MD5, so planning for this eventuality early may save you a lot of trouble down the road. An in-depth look at hashing agility is beyond the scope of this post, but you can read more about a proposed solution in the &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/ee321570.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;MSDN Magazine article Cryptographic Agility&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;. And just as the SDL mandates the use of strong cryptographic algorithms in Microsoft products, it also encourages product teams to use crypto agility where feasible so that teams can more nimbly migrate to new algorithms in the event that a current strong algorithm is broken.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;So far, we&amp;rsquo;ve talked about &lt;i&gt;what&lt;/i&gt; to hash (the password and a random unique salt value) and &lt;i&gt;how&lt;/i&gt; to hash (using a cryptographically strong hash algorithm in the SHA-2 family, and preferably configurable to allow for future change), but we haven&amp;rsquo;t talked about &lt;i&gt;where&lt;/i&gt; to hash. You might think that performing the hashing on the client tier would be a significant improvement in security, since you&amp;rsquo;d only need to send the hash over the wire to the server and never the plaintext password itself. However, this doesn&amp;rsquo;t buy you as much benefit as you&amp;rsquo;d think. If an attacker has a means of sniffing network traffic, he could still intercept the call and pass the hash to the server himself, thus spoofing the user and taking over his session. At this point, the hash essentially becomes the plaintext password. The only real benefit to this approach is that if the victim is using the same password on multiple web sites, the attacker won&amp;rsquo;t be able to compromise the victim&amp;rsquo;s account on those other sites as well, since knowing the hash of a password tells you nothing about the password itself. A better way of defending against this attack is just to perform the hashing on the server side, but to ensure that the password and all credential tokens such as session cookies are always transmitted over SSL/TLS. We&amp;rsquo;ll explore the topic of secure credential transmission (and other aspects of password management such as password complexity and expiration) in future blog posts.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;span style="font-size: small;" size="3"&gt;By following a few simple guidelines, you can help to ensure that your application&amp;rsquo;s users&amp;rsquo; credentials remain secure, even if your database is compromised:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Always store and compare hashes of passwords, never the plaintext passwords themselves.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Apply a random, unique salt value to each password before hashing.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Use a cryptographically strong hash algorithm such as one from the SHA-2 family.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Allow for potential future algorithm changes by implementing a cryptographically agile design.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Hash on the server tier and be sure to transmit all passwords and credential tokens over HTTPS.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10257227" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Authentication/">Authentication</category></item><item><title>What a Journey It Has Been</title><link>http://blogs.msdn.com/b/sdl/archive/2012/01/12/ten-years-since-the-billg-memo-a-personal-view.aspx</link><pubDate>Thu, 12 Jan 2012 23:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10256123</guid><dc:creator>SDL Team</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10256123</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2012/01/12/ten-years-since-the-billg-memo-a-personal-view.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://aka.ms/twcnext"&gt;&lt;img style="margin: 0px 10px; border: 0px currentColor; float: left; display: inline;" title="TwC Next" alt="TwC Next" src="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-43-twcnext/1488.TwC_2D00_Tile_5F00_148x148_2D00_wShadow.png" width="148" height="148" /&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;I remember the security situation at Microsoft in 2001 and 2002 like it was yesterday. Perhaps no other couple of years will be so indelibly etched into my brain as those two. 2001 was not so good, but 2002 was a heck of a lot better! Given 2001, this was not a difficult achievement for 2002! So, let me start at the beginning&amp;hellip;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;In late 1999, a small band of us formed a small security team (as in &amp;ldquo;threats,&amp;rdquo; not as in &amp;ldquo;features&amp;rdquo;) to help raise software security awareness across the company. We had no name for a long time, until the vice president in Windows at the time, Dave Thompson, decided to call us the Secure Windows Initiative (SWI). Our charter was to start reviewing Windows code in depth looking for security bugs, but having a small number of people reviewing something the size of Windows was clearly not going to work. So, we moved to a &amp;ldquo;Security Bug Bashes&amp;rdquo; model where we would deliver security education in the morning to a small development group within Windows (e.g., networking, terminal services, IIS, IE, etc.), and then for the rest of the day we would have the engineering team go look for security bugs. It was fun and we found bugs. But the most important point was raising awareness. It really didn&amp;rsquo;t matter how many bugs were found&amp;mdash;the key was to make people aware of the security issues and reduce the chance that mistakes would be made in the future. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The downside of the bug bashes was that even though they were more effective than the original SWI charter, they still didn&amp;rsquo;t scale very well and they were very labor-intensive. Still, the security bug bashes continued for about another eighteen months.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;2001 was not a good year for Microsoft security because of CodeRed and Nimda, two worms that affected Internet Information Server 4.0 and 5.0. CodeRed was the result of a one-line error in some code running by default in IIS4 and 5. In hindsight, the code should not have been installed by default. Nimda was the more sophisticated of the two worms because it used more than one vulnerability to compromise systems.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;While all this was happening, David LeBlanc and I were mid-way through creating the first edition of &lt;/span&gt;&lt;a href="http://www.microsoft.com/mspress/books/5612.aspx"&gt;&lt;i&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;Writing Secure Code&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;. We had written the book because the same security-related questions were being asked time and time again and we wanted a reference we could point people to. Little did we realize that &lt;i&gt;Writing Secure Code&lt;/i&gt; would later become a runaway bestseller.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;As 2001 wound down and &lt;i&gt;Writing Secure Code&lt;/i&gt; was finally sent to the printers, I got an email from Loren Kohnfelder, who was one of the security leads in the .NET Framework. Loren is best-known for defining what is now commonly referred to as Public Key Infrastructure (PKI). You can read his 1978 thesis on the topic &lt;/span&gt;&lt;a href="http://groups.csail.mit.edu/cis/theses/kohnfelder-bs.pdf"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;. Loren was also one of the protagonists behind the &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163519.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;STRIDE&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt; threat modeling mnemonic. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Loren told me that the .NET Common Language Runtime (CLR) team had uncovered a small number of security bugs during the final development phase of the project, and he was really concerned. We decided to do a bigger version of a bug bash; but rather than lasting only one day, it would be done when it was done. &amp;ldquo;Done&amp;rdquo; meant the rate of incoming security bugs approached zero. This became known as the &amp;ldquo;.NET Security Standdown,&amp;rdquo; and we even had T-Shirts made with the date of the start of the event. On the day the event was to start, the Pacific Northwest got a huge snow storm and the Microsoft Redmond campus was closed, so we started the standdown a few days later. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;The standdown was a great success, thanks to Brian Harry and his team, who managed the process brilliantly. We reeducated the .NET engineering team, we found and fixed bugs, but most important, in my mind, we introduced the concept of reducing attack surface (i.e., limiting the amount of code exposed to untrusted users). That&amp;rsquo;s where the concept of AllowParticallyTrustedCallersAttribute (&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.allowpartiallytrustedcallersattribute.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;APTCA&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;) came from and why we flipped ASP.NET to run in much lower privilege.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;December 2001 saw the release of &lt;i&gt;Writing Secure Code&lt;/i&gt;, and Doug Bayer and I had a lengthy meeting with Bill Gates to explain security vulnerabilities in detail. Clearly he was concerned by the worms of 2001 and wanted to learn more. At the end of the meeting I gave Bill a copy of &lt;i&gt;Writing Secure Code&lt;/i&gt;. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;At the end of December 2001, the .NET Standdown was over and we had learned a great deal about rallying the troops to a common security cause. But there was much more work to do!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;In light of the success of the .NET work, we decided to aim our sights at Windows .NET Server (as it was called back then). Following the .NET model, we started in February and would be done when we were done. For the most part, that ended up being late March for most teams within Windows.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;This became known as the &amp;ldquo;Windows Security Push.&amp;rdquo;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;As everyone knows by now, Bill sent his famous Trustworthy Computing (TwC) memo to the company in January 2002, right as we were planning the security work for Windows. His memos are rare, and this one signaled the start of something big within the company.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;During the push, we had three streams of education: I handled all the Windows developers, Jason Garms worked with all the program managers and architects, and Chris Walker trained all the testers. Steve Lipner and Glenn Pittaway led much of the day-to-day process management, keeping in constant communication with upper management. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;One practice we borrowed from the security bug bashes was that we always had a senior person from management kick off the training. At one of my sessions, I had Rob Short, VP of Windows Base (Kernel down to the metal) open the day. Rob&amp;rsquo;s a tall, lean Irishman with a thick Irish accent, and there&amp;rsquo;s something he said that has stuck with me forever. He said, &amp;ldquo;There is nothing special about security; it&amp;rsquo;s just part of getting the job done.&amp;rdquo; Whenever I deliver a security talk to new engineers within Microsoft or am onsite with a customer, I always recite Rob&amp;rsquo;s words, because they are so incredibly true.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The Windows Security Push begat the SQL Server Security Push, the Exchange Security Push, and the Office Security Push. Slowly but surely things started to change across the company. Engineers and managers &amp;ldquo;got it.&amp;rdquo;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;A key element of all the pushes was to reduce the default attack surface of the products. That&amp;rsquo;s why Windows Server 2003 (note the name change) had a reduced functionality browser, no Web server installed by default, and much more. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;One thing that is not commonly known about the pushes is that a lot of documentation was written about the security implications of various technologies. Much of that learning ended up in the second edition of &lt;/span&gt;&lt;a href="http://www.microsoft.com/learning/en/us/book.aspx?ID=5957&amp;amp;locale=en-us"&gt;&lt;i&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;Writing Secure Code&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;; the book ballooned from 500 pages to over 800 pages, and much of that was detail we learned and fine-tuned throughout 2002. A great example is the chapter concerning the security implications of internationalization and globalization. The text in the book is derived from a whitepaper written by the globalization team within Windows after they had gone through the push process and had looked at their important corner of Windows with a fresh security perspective.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The pushes were just the start, however. Real change came only when we implemented the Security Development Lifecycle (SDL). As I have said many times, you can&amp;rsquo;t build some software and then have a security push. It just doesn&amp;rsquo;t scale and, frankly, having a push at the end is too late. We needed something that was &amp;ldquo;part of the process,&amp;rdquo; and that is how the SDL was born.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;There was a wrinkle along the way, however. In 2003 we saw Slammer affect SQL Server and Blaster affect Windows. Because one of the effects of Blaster was blue-screened computers, product support saw a huge increase in support calls. Many of us manned the phones to help out. Raymond Chen, a lead developer on the Windows shell team, and I were seated next to each other, and he wrote about it in his &lt;/span&gt;&lt;a href="http://blogs.msdn.com/b/oldnewthing/archive/2003/08/16/54648.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Blaster led to a lengthy and intense effort known as &amp;ldquo;Springboard,&amp;rdquo; led by Rebecca Norlander, Matt Thomlinson, and John Lambert. The end result of the process was Windows XP SP2, in which we not only found and fixed security bugs but also added numerous critical defenses to Internet Explorer, DCOM, and RPC. We also enhanced and enabled the Windows Firewall and added data execution prevention (DEP),&amp;nbsp;and we&amp;nbsp;made it easier for users to enable automatic updates by prompting them right after setup.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Microsoft has come a long way in the last ten years, and I am incredibly proud to have been a part of this watershed time. Much has changed. The SDL is now seen as industry-leading and is in use by many software developers outside of Microsoft. My role has changed too: I now work with our customers and partners as part of the Microsoft Americas Services Cybersecurity team to help them adopt SDL practices as they recognize the need for an increased focus on security.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;It&amp;rsquo;s been an amazing ten years. We still have much to do, however. And no one knows that more than the incredibly talented people across Microsoft helping bake security into our products and our partners&amp;rsquo; and customers&amp;rsquo; products every day.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Michael Howard&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Principal Cybersecurity Architect&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10256123" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/sdl/archive/tags/SDL/">SDL</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/TwCNext/">TwCNext</category></item><item><title>Trustworthy Computing’s 10 Year Milestone – Reflecting on Humble Beginnings</title><link>http://blogs.msdn.com/b/sdl/archive/2012/01/12/trustworthy-computing-s-10-year-milestone-reflecting-on-humble-beginnings.aspx</link><pubDate>Thu, 12 Jan 2012 17:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10256006</guid><dc:creator>SDL Team</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10256006</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2012/01/12/trustworthy-computing-s-10-year-milestone-reflecting-on-humble-beginnings.aspx#comments</comments><description>&lt;p style="text-align: justify;"&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/2477.IMG_5F00_0224.jpg"&gt;&lt;img style="margin: 5px; border: 0px currentColor; float: right;" title="Steve Lipner and Glenn Pittaway" alt="Steve Lipner and Glenn Pittaway" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/2477.IMG_5F00_0224.jpg" width="251" height="307" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;January marks the ten year milestone of &lt;/span&gt;&lt;a href="http://www.microsoft.com/Presspass/Features/2012/jan12/GatesMemo.mspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;Bill Gates' memo on Trustworthy Computing&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;.&amp;nbsp; When I think about &amp;ldquo;where was I when&amp;hellip;&amp;rdquo; the email hit my inbox, several memories come to mind that I thought I&amp;rsquo;d share.&amp;nbsp; Back then I was the Director of Security Assurance, a position that encompassed both the Microsoft Security Response Center (MSRC) and the Secure Windows Initiative that focused on improving the security of Microsoft&amp;rsquo;s products before they shipped.&amp;nbsp; We had had our share of problems in those days as attackers had released worms &amp;ndash; Code Red, Nimda &amp;ndash; against our products and customers. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;On January 12&lt;sup&gt;th&lt;/sup&gt; 2002, Michael Howard, Jason Garms, Glenn Pittaway and I were working long days and nights preparing for the February start of the Windows Server 2003 security push.&amp;nbsp; We were prioritizing component development groups, identifying tools that we&amp;rsquo;d tell groups to run, and working to finalize the four-hour security training class that we planned to present to a total of about 8500 people during the week of January 28, 2002.&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;One of our big concerns was how the employees would react.&amp;nbsp; We knew that our managers up to senior and group vice president had approved our idea of conducting the security push, and we knew that the team commitments were on the calendar.&amp;nbsp; But if the individual employees and lower-level managers weren&amp;rsquo;t on board with the idea, the process could crater badly.&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Bill&amp;rsquo;s Trustworthy Computing mail appeared in the midst of this hard preparatory work.&amp;nbsp; I won&amp;rsquo;t say we would have failed to get the employee engagement we needed if Bill hadn&amp;rsquo;t sent his mail &amp;ndash; after all, we&amp;rsquo;d lived through Code Red, NIMDA, and some very embarrassing vulnerability reports against Windows XP, and developers and managers were aware of the negative customer perception.&amp;nbsp; But I do know that Bill&amp;rsquo;s mail made a difference.&amp;nbsp; We told developers, program managers, and testers to sit through four hours of training in a cramped (950-person) meeting room and pay attention, and they paid attention.&amp;nbsp; We told them to review code and find security bugs rather than working on features, and they found and fixed security bugs.&amp;nbsp; We gave them, what I know with ten years hindsight were, immature and flaky tools and processes, and they swallowed hard and used them effectively to find more security bugs.&amp;nbsp; And to this day, I believe a lot of their willingness to do those things was not only because their managers said to do them, but because Bill and Craig Mundie (then Microsoft&amp;rsquo;s Chief Technology Officer and today Microsoft&amp;rsquo;s Chief Research and Strategy Officer) had said they were important to do &amp;ndash; important for our customers and important for Microsoft.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;We&amp;rsquo;ve done a lot to make our software and services more secure in the last ten years.&amp;nbsp; The Security Development Lifecycle (SDL) evolved from the security push and today we&amp;rsquo;re recognized for our leadership because we share SDL process and tools with the broader software development community. But the security pushes of 2002 were the beginning.&amp;nbsp; And Bill&amp;rsquo;s commitment and the way it mobilized the company were the key to that beginning.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Steve Lipner&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Senior Director of Security Engineering Strategy&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Trustworthy Computing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://aka.ms/twcnext"&gt;&lt;img style="margin: 0px 10px; border: 0px currentColor; float: left; display: inline;" title="TwC Next" alt="TwC Next" src="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-43-twcnext/1488.TwC_2D00_Tile_5F00_148x148_2D00_wShadow.png" width="130" height="130" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10256006" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/sdl/archive/tags/SDL/">SDL</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/TwCNext/">TwCNext</category></item><item><title>Compiler Security Enhancements in Visual Studio 11</title><link>http://blogs.msdn.com/b/sdl/archive/2011/12/02/security.aspx</link><pubDate>Fri, 02 Dec 2011 17:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10243781</guid><dc:creator>SDL Team</dc:creator><slash:comments>11</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10243781</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2011/12/02/security.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Hello all &amp;ndash; Dave here&amp;hellip;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;In chatting with our colleagues in the MSEC Security Science Team, there were a number of interesting topics that weren&amp;rsquo;t covered in our previous &lt;/span&gt;&lt;a href="http://blogs.msdn.com/b/sdl/archive/2011/10/19/code-analysis-for-all.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;Code Analysis&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt; blog post &amp;ndash; information that would help contribute to the understanding of security features and functionality in Visual Studio 11.&amp;nbsp; So after some discussion, we have decided to release a series of posts covering this important work &amp;ndash; everyone benefits from a better understanding of future technology offerings.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;So with that, I again turn the blog over to Tim Burrell to elaborate!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;_______________________________________&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;(Note &amp;ndash; this blog post describes a feature in an unreleased product; this feature may be changed prior to final product release.)&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Microsoft is actively developing Visual Studio 11 and continually looking for ways to improve security-related functionality. As part of this we are updating the /GS compiler switch, which is on-by-default and enables a basic level of code generation security features, with some enhancements beyond the now familiar cookie-based stack overflow protection. We&amp;rsquo;ll provide some more detail on these in a later post.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;The &lt;/span&gt;&lt;a href="http://www.microsoft.com/security/sdl/discover/implementation.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;Security Development Lifecycle&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt; (SDL) includes a number of recommendations beyond the scope of /GS where the compiler is able to assist secure software development. These range from specific code generation features such as using &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb507721.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;strict_gs_check&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt; to security-related compiler warnings and more general recommendations to initialize or sanitize pointers appropriately.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;For the first time we intend to provide a central mechanism for enabling such &lt;i&gt;additional&lt;/i&gt; security support via a new /sdl switch. The impact of /sdl is twofold:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;-&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;/sdl causes SDL mandatory compiler warnings to be treated as errors during compilation. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;-&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;/sdl&lt;b&gt; &lt;/b&gt;enables additional code generation features such as increasing the scope of stack buffer overrun protection and initialization or sanitization of pointers in a limited set of well-defined scenarios. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;This dual approach reflects our conviction that secure software is best achieved by the combination of detecting and fixing code bugs during the development process together with &lt;/span&gt;&lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=26788"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;the deployment of security mitigations&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt; that will significantly increase the difficulty of exploiting any residual bugs.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The /sdl compiler switch is disabled by default, and can be enabled easily in the Visual Studio UI by opening the Property Pages for the current project, and accessing the Configuration Properties -&amp;gt; C/C++ -&amp;gt; General options. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/3124.picture1.png"&gt;&lt;img style="margin-right: auto; margin-left: auto; display: block;" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/3124.picture1.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;&lt;span style="color: #365f91;" color="#365f91"&gt;&lt;span style="font-family: Cambria;" face="Cambria"&gt;So what does the /sdl switch do?&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The features enabled by the /sdl switch are a superset of those enabled by /GS&lt;b&gt; &lt;/b&gt;i.e.&lt;b&gt; &lt;/b&gt;enabling /sdl enables everything included in /GS. We will be providing more background and in-depth details of the additional /GS and /sdl features in future posts. For now we note that they include: &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The following SDL mandatory compiler warnings are enabled and treated as errors:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div align="center"&gt;
&lt;table border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="66"&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Warning&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="96"&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Command line switch&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="413"&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Description&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="66"&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/4kh09110.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;C4146&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="96"&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;/we4146 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="413"&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;A unary minus operator was applied to an unsigned type, resulting in an unsigned result&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="66"&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/5ft2cz8d.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;C4308&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="96"&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;/we4308 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="413"&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;A negative integral constant converted to unsigned type, resulting in a possibly meaningless result&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="66"&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/h6b9te7b.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;C4532&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="96"&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;/we4532 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="413"&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Use of &amp;ldquo;continue&amp;rdquo;, &amp;ldquo;break&amp;rdquo; or &amp;ldquo;goto&amp;rdquo; keywords in a __finally/finally block has undefined behavior during abnormal termination&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="66"&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/f7687yks.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;C4533&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="96"&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;/we4533&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="413"&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Code initializing a variable will not be executed&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="66"&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/axhfhh6x.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;C4700&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="96"&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;/we4700 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="413"&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Use of an uninitialized local variable&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="66"&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/w0c0bww3.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;C4789&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="96"&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;/we4789&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="413"&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Buffer overrun when specific C run-time (CRT) functions are used&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="66"&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/8wsycdzs.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;C4995&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="96"&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;/we4995 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="413"&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;Use of a function marked with pragma &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/c8xdzzhh.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;deprecated&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="66"&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ttcz0bys.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;C4996&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="96"&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;/we4996 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="413"&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;Use of a function marked as &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/044swk7y.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;deprecated&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;span style="font-size: small;" size="3"&gt;If a developer wishes to opt in to most of the /sdl functionality but exclude a given warning ID (suppose C4146 for example) then this can be achieved by using the /wd switch to disable that specific warning under C/C++ -&amp;gt; Command Line -&amp;gt; Additional Options in the Visual Studio UI:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/4382.picture2.png"&gt;&lt;img style="margin-right: auto; margin-left: auto; display: block;" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/4382.picture2.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;The &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb507721.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;strict_gs_check&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt; pragma&amp;nbsp; is applied to all C/C++ code compiled with /sdl. This instructs the compiler to consider more functions as potential candidates for stack buffer overflow protection. The GS optimization introduced in Visual Studio 2010 has been improved to work better in conjunction with strict_gs_check, specifically enabling many of the extra security checks resulting from strict_gs_check to be proven unnecessary and removed.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Additional /sdl&lt;b&gt; &lt;/b&gt;code generation features will be covered in more detail in later posts.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Microsoft strongly recommends using the /GS switch as in previous Visual Studio releases; the new /sdl switch in Visual Studio 11 presents an opportunity for greater security coverage both during and after development: stay tuned for more details on specific security benefits of using /GS and /sdl in Visual Studio 11.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;Of course the Security Development Lifecycle (SDL) is an entire process and methodology for developing secure software and as such includes much more than just using specific compiler switches &amp;ndash; &lt;/span&gt;&lt;a href="http://www.microsoft.com/security/sdl/"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" size="3" face="Calibri" color="#0000ff"&gt;read more and find additional resources related to SDL here&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Tim Burrell, MSEC security science.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10243781" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Code+Analysis/">Code Analysis</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Visual+Studio+11/">Visual Studio 11</category></item><item><title>Welcoming Siemens to SAFECode</title><link>http://blogs.msdn.com/b/sdl/archive/2011/11/08/welcoming-siemens-to-safecode.aspx</link><pubDate>Tue, 08 Nov 2011 23:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10235161</guid><dc:creator>SDL Team</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10235161</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2011/11/08/welcoming-siemens-to-safecode.aspx#comments</comments><description>&lt;p&gt;We&amp;rsquo;ve &lt;a href="http://blogs.msdn.com/b/sdl/archive/2011/02/18/updated-safecode-development-practices-paper.aspx"&gt;talked before&lt;/a&gt; on this blog about SAFECode &amp;ndash; an organization of IT vendors who have come together to share and document best practices in software security.&amp;nbsp;&lt;br /&gt;SAFECode has published a number of papers on best practices in software and supply chain security &amp;ndash; most recently an update to &amp;ldquo;&lt;a href="http://www.safecode.org/publications/SAFECode_Dev_Practices0211.pdf"&gt;Fundamental Practices for Secure Software Development&lt;/a&gt;&amp;rdquo; released earlier this year.&amp;nbsp;The &lt;a href="http://www.safecode.org/"&gt;SAFECode web site&lt;/a&gt; is a great resource for vendor-independent guidance on software security.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Today, SAFECode &lt;a href="http://www.safecode.org/news.php#press_release_siemens"&gt;announced&lt;/a&gt;&amp;nbsp;that Siemens has become the eighth SAFECode member joining Adobe, EMC, Juniper, Microsoft, Nokia, SAP, and Symantec.&amp;nbsp;Siemens, headquartered in Berlin and Munich Germany, is a supplier of products for use in industry, healthcare, energy and infrastructure.&amp;nbsp; Software security is an important matter for Siemens, and they will bring SAFECode great expertise in control systems&amp;nbsp;often used in critical infrastructure.&lt;/p&gt;
&lt;p&gt;As the Microsoft representative to the SAFECode board and the board&amp;rsquo;s chair, I&amp;rsquo;m delighted to welcome Siemens to SAFECode.&amp;nbsp; I&amp;rsquo;m looking forward to SAFECode releasing new products that take advantage of the expertise Siemens brings.&lt;/p&gt;
&lt;p&gt;Steve Lipner&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10235161" width="1" height="1"&gt;</description></item><item><title>New SDL Industry Talk Wall Launched</title><link>http://blogs.msdn.com/b/sdl/archive/2011/11/02/industry-talk.aspx</link><pubDate>Wed, 02 Nov 2011 17:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10232560</guid><dc:creator>SDL Team</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10232560</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2011/11/02/industry-talk.aspx#comments</comments><description>&lt;p&gt;&lt;span style="color: black; font-family: 'Arial','sans-serif'; font-size: 9pt;"&gt;George Pulikkathara here.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: black; font-family: 'Arial','sans-serif'; font-size: 9pt;"&gt;Every now and then we get asked by conference attendees or someone at a company who is evaluating the SDL for adoption at their company, &amp;ldquo;How well known is the SDL within the IT industry?&amp;rdquo; or &amp;ldquo;Where can I find video summaries of your SDL tools or whitepapers?&amp;rdquo;, or my favorite, &amp;ldquo;Who else is using the Microsoft SDL?&amp;rdquo; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: black; font-family: 'Arial','sans-serif'; font-size: 9pt;"&gt;Well, today, Microsoft launched a new SDL &amp;ldquo;&lt;a href="http://go.microsoft.com/?linkid=9788844"&gt;Industry Talk&lt;/a&gt;&amp;rdquo; wall on the Security Development Lifecycle (SDL) website. This wall was designed to publically share some of the great evidence Microsoft has generated and continues to generate surrounding awareness and adoption of the SDL.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: black; font-family: 'Arial','sans-serif'; font-size: 9pt;"&gt;So if you are considering adopting the Microsoft SDL or know of someone who is looking for a single resource for what the Industry is saying about the SDL, look no further.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: black; font-family: 'Arial','sans-serif'; font-size: 9pt;"&gt;By the way, the &amp;ldquo;&lt;a href="http://go.microsoft.com/?linkid=9788844"&gt;Industry Talk&lt;/a&gt;&amp;rdquo; wall was built using HTML5 technology which gives users an exciting new way of experiencing and consuming SDL information. This means you&amp;rsquo;ll need an HTML5 compliant browser such as Internet Explorer 9 or any of the latest browsers to view the content. Enjoy.&lt;/span&gt;&lt;span style="color: black; font-family: 'Arial','sans-serif'; font-size: 9pt;"&gt;&lt;span style="color: #1f497d; font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"&gt;&lt;v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;br /&gt;&amp;nbsp;&lt;v:formulas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/6371.11_2D00_2_2D00_2011-10_2D00_07_2D00_43-AM.png"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-43/6371.11_2D00_2_2D00_2011-10_2D00_07_2D00_43-AM.png" /&gt;&lt;/a&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;/v:stroke&gt;&lt;/v:shapetype&gt;&lt;v:shape style="width: 387pt; height: 323.25pt;" id="Picture_x0020_1" type="#_x0000_t75" alt="Description: cid:image014.jpg@01CC98B7.5D78D9A0" o:spid="_x0000_i1025"&gt;&lt;v:imagedata o:href="cid:image001.jpg@01CC9944.C197D200" src="file:///C:\Users\v-mabonv\AppData\Local\Temp\msohtmlclip1\01\clip_image001.jpg"&gt;&lt;br /&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10232560" width="1" height="1"&gt;</description></item><item><title>Code Analysis for All</title><link>http://blogs.msdn.com/b/sdl/archive/2011/10/19/code-analysis-for-all.aspx</link><pubDate>Wed, 19 Oct 2011 18:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10227716</guid><dc:creator>SDL Team</dc:creator><slash:comments>9</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10227716</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2011/10/19/code-analysis-for-all.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: small;"&gt;&lt;span size="3" face="Calibri"&gt;Hello All - &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: small;"&gt;&lt;span size="3" face="Calibri"&gt;As many of you already know, the SDL team at Microsoft has a strong&amp;nbsp;relationship with our colleagues in the MSEC Security Science team - these guys are on the front line of tool development for the SDL, and are always looking for new ways to take the security technologies they produce and make them broadly available.&amp;nbsp; With that in mind, I am&amp;nbsp;quite pleased&amp;nbsp;to turn over the blog to Tim Burrell to let you know about some new developments on the code analysis front.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: small;"&gt;&lt;span size="3" face="Calibri"&gt;- Dave&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: small;"&gt;&lt;span size="3" face="Calibri"&gt;___________________________&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: small;"&gt;&lt;span size="3" face="Calibri"&gt;At the recent &lt;/span&gt;&lt;a href="http://channel9.msdn.com/Events/BUILD/BUILD2011"&gt;&lt;span style="color: #0000ff;" size="3" face="Calibri" color="#0000ff"&gt;BUILD Conference&lt;/span&gt;&lt;/a&gt;&lt;span size="3" face="Calibri"&gt;, the Visual Studio Code Analysis team presented &lt;/span&gt;&lt;a href="http://channel9.msdn.com/events/BUILD/BUILD2011/TOOL-100T"&gt;&lt;span style="color: #0000ff;" size="3" face="Calibri" color="#0000ff"&gt;some great new features of Microsoft Visual Studio 11 C++ Code Analysis&lt;/span&gt;&lt;/a&gt;&lt;span size="3"&gt;&lt;span face="Calibri"&gt;. We thought we&amp;rsquo;d highlight a couple of the security aspects.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: small;" size="3"&gt;&lt;span face="Calibri"&gt;This is the first time that Code Analysis has been made available in an Express edition of Visual Studio &amp;ndash; a reflection of Microsoft&amp;rsquo;s commitment to helping secure the software ecosystem beyond just our own software. It is also testament to the value that we believe such static analysis tools have to offer to every developer today. This value comes in many forms, mainly deriving from the fact that it&amp;rsquo;s way cheaper to fix a bug early on during development:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: small;" size="3"&gt;&lt;span face="Calibri"&gt;Fixing a bug early avoids wasted time debugging strange crashes or reliability issues later on.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: small;" size="3"&gt;&lt;span face="Calibri"&gt;Fixing a bug early avoids resetting/repeating testing after a bug is fixed late in the development cycle.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: small;"&gt;&lt;span size="3"&gt;&lt;span face="Calibri"&gt;Fixing a bug early avoids the complexities associated with fixing it if it is exposed after the application ships.&lt;/span&gt;&lt;/span&gt;&lt;span size="3"&gt;&lt;span face="Calibri"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: small;" size="3"&gt;&lt;span face="Calibri"&gt;The Security Science team with the Microsoft Security Engineering Centre (MSEC) worked closely with the Visual Studio Code Analysis team to ensure that the Visual Studio Developer Preview includes as many of the SDL mandatory C/C++ Code Analysis warnings as possible. These are the security-related warnings that Microsoft considers critical to fix for internal C/C++ software development. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: small;"&gt;&lt;span size="3"&gt;&lt;span face="Calibri"&gt;Choosing which warnings to include in Microsoft Visual Studio 11 Express&lt;/span&gt;&lt;/span&gt; &lt;span size="3"&gt;&lt;span face="Calibri"&gt;is a balancing act between giving all developers access to these warnings and not overloading people with so many warnings that they just ignore them. We&amp;rsquo;ve tried to select the best combination of high severity / low noise. We are keen to hear your feedback on your experience of using Code Analysis in Express.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: small;"&gt;&lt;span size="3" face="Calibri"&gt;Of course the Security Development Lifecycle (SDL) is an entire process and methodology for developing secure software and as such includes much more than just fixing a given set of warnings &amp;ndash; you can &lt;/span&gt;&lt;a href="http://www.microsoft.com/security/sdl/"&gt;&lt;span style="color: #0000ff;" size="3" face="Calibri" color="#0000ff"&gt;read more and find additional resources related to SDL here&lt;/span&gt;&lt;/a&gt;&lt;span size="3"&gt;&lt;span face="Calibri"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: small;" size="3"&gt;&lt;span face="Calibri"&gt;As we alluded to at the start, code analysis covers more than just security bugs &amp;ndash; indeed the distinction between security and reliability can sometimes be a subtle one: the bug that manifests as a crash today (a reliability issue?) could turn out to be controllable by an attacker tomorrow (a security issue). We highly recommend running Visual Studio Code Analysis to help develop secure and reliable applications.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: small;"&gt;Tim Burrell, MSEC Security Science&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10227716" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Code+Analysis/">Code Analysis</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Visual+Studio+11/">Visual Studio 11</category></item><item><title>Updated SDL Tools Available</title><link>http://blogs.msdn.com/b/sdl/archive/2011/08/25/updates-to-sdl-tools-are-now-available.aspx</link><pubDate>Thu, 25 Aug 2011 16:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10200399</guid><dc:creator>SDL Team</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10200399</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2011/08/25/updates-to-sdl-tools-are-now-available.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-size: small;"&gt;Hello all,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Today we are excited to announce that some enhancements have been made to three of our free Security Development Lifecycle (SDL) tools - Threat Modeling, MiniFuzz, and RegExFuzz.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;As many of you know, tools can be an invaluable asset when it comes to implementing a Security Development Lifecycle process in any organization.&amp;nbsp; Over the years, Microsoft has made many of its security development tools available for free &lt;a href="http://www.microsoft.com/security/sdl/adopt/tools.aspx"&gt;here&lt;/a&gt;. We hope these new enhancements will provide greater flexibility and enable you to effectively implement an SDL process in your organization.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Threat Modeling Tool v3.1.8&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;The Threat Modeling Tool is used in the SDL Design Phase to find security problems before coding begins.&amp;nbsp; Through beta testing we obtained valuable input on what changes could be made to improve the tool.&amp;nbsp; In this new version, we focused on stabilization of the Visio 2010 and Team Foundation Server (TFS) 2010 support that was provided as part of the beta release, and fixed bugs that were discovered.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Thank you to all of our beta testers who reported issues in the forum as well as through the select beta program.&amp;nbsp; Your input was critical to improving the tool and customer experience.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: x-small;"&gt;&amp;gt; &lt;a href="http://go.microsoft.com/?linkid=9706808"&gt;Learn more or download the tool&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;MiniFuzz Tool v1.5.5&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;The MinFuzz Tool provides basic file fuzzing capabilities that can be applied by developers, testers and even those with limited experience with fuzz testing as part of the SDL Verification phase. In this new version of the tool, we have included support for Team Foundation Server (TFS) 2010, fixed stability bugs and made it easier to control target application shutdown.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;gt; &lt;a href="http://go.microsoft.com/?linkid=9757781"&gt;Learn more or download the tool&lt;/a&gt;&lt;/span&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;RegExFuzz Tool v1.1.0&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;The RegExFuzz Tool provides regular expression fuzzing capabilities that can be applied during the SDL Verification phase to check that regular expression evaluation times are &lt;span style="text-decoration: underline;"&gt;not&lt;/span&gt; exponential. Regular expressions with very long evaluation times can lead to &lt;a href="http://msdn.microsoft.com/en-us/site/ff646973"&gt;DoS attacks&lt;/a&gt;. In this new version, we focused on bug fixes requested from field use of the tool.&amp;nbsp; A readme document has been added to the download which documents the fixes, remaining known issues, and planned future enhancements.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: x-small;"&gt;&amp;gt; &lt;a href="http://go.microsoft.com/?linkid=9751929"&gt;Learn more or download the tool&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;As the threat landscape continues to evolve, we remain committed to freely sharing our secure engineering best practices and security tools with the broader community. We hope you find our tools useful and, as always, we welcome any comments or feedback you may have.&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Monty LaRue&amp;nbsp; [SDL Team]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10200399" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/sdl/archive/tags/threat+modeling/">threat modeling</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/SDL/">SDL</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/SDL+Fuzzing/">SDL Fuzzing</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Application+Security/">Application Security</category></item><item><title>Application Security: 2011 &amp; Beyond – A Forrester Research Report</title><link>http://blogs.msdn.com/b/sdl/archive/2011/07/12/application-security-2011-amp-beyond-a-forrester-research-report.aspx</link><pubDate>Tue, 12 Jul 2011 22:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10185800</guid><dc:creator>SDL Team</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10185800</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2011/07/12/application-security-2011-amp-beyond-a-forrester-research-report.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" face="Calibri" size="3"&gt;Hi All.&amp;nbsp; Doug here,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" face="Calibri" size="3"&gt;In April 2011 Forrester Research wrote a new study on Application Security.&amp;nbsp; This study, titled &lt;/span&gt;&lt;a href="http://go.microsoft.com/?linkid=9777219"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff"&gt;Application Security: 2011 &amp;amp; Beyond&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;b&gt; &lt;/b&gt;led by Dr Chenxi Wang, Lead Analyst at Forrester Research, provides valuable research, insights and recommendations for security and risk professionals.&amp;nbsp; We have since made this study publically available in hopes of creating greater awareness around the importance of secure application development.&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The report observes that sufficient resource allocation to address application security remains a significant issue for businesses - Even though secure application development is considered a top priority by IT professionals and web application hacking continues to be the number one source of data breach incidents.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" face="Calibri" size="3"&gt;Part of the challenge is getting development organizations to undergo the culture shift required to making risk management and mitigation in application development a priority.&amp;nbsp; Dr Wang&amp;rsquo;s report shows that organizations who do make the investment in secure application development are realizing positive returns.&amp;nbsp; (More information about return on investment can be found in our recent &lt;/span&gt;&lt;a href="http://blogs.msdn.com/b/sdl/archive/2011/02/15/return-on-investment-roi-and-secure-application-development-can-a-holistic-approach-save-money-and-increase-productivity.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff"&gt;blog post&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: small;" face="Calibri" size="3"&gt; and in the &lt;/span&gt;&lt;a href="http://go.microsoft.com/?linkid=9768047"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff"&gt;MidAmerican&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&amp;nbsp;case study).&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;There are several great recommendations in the paper which provide cost effective and incremental steps towards better application security.&amp;nbsp; They include demanding better quality and security from vendors, acceptance testing for 3&lt;sup&gt;rd&lt;/sup&gt; party software, disabling unused default accounts, building a secure operational environment around the application, and effective bug reporting and handling.&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" face="Calibri" size="3"&gt;Additionally, one of the key recommendations identified in the paper is to implement a secure application development program, such as &lt;/span&gt;&lt;a href="http://www.microsoft.com/sdl"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff"&gt;Microsoft&amp;rsquo;s Security Development Lifecycle&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;.&amp;nbsp; Take a look to see the latest information and tools that Microsoft makes freely available.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;We encourage you to read this study and use it to think about how you can leverage the changing IT environment, such as the introduction of mobile technology and applications, to help provide the catalyst to enable change in your application development culture to improve application security.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10185800" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/sdl/archive/tags/threat+modeling/">threat modeling</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/SDL/">SDL</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Security+Assurance/">Security Assurance</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/SDL_2D00_Agile/">SDL-Agile</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/usable+security/">usable security</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Application+Security/">Application Security</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Forrester/">Forrester</category></item><item><title>Updated Banned API Documentation Available</title><link>http://blogs.msdn.com/b/sdl/archive/2011/06/23/updated-banned-api-documentation-available.aspx</link><pubDate>Fri, 24 Jun 2011 00:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10178398</guid><dc:creator>Michael Howard</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10178398</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2011/06/23/updated-banned-api-documentation-available.aspx#comments</comments><description>&lt;p&gt;Hi, Michael Howard here.&lt;/p&gt;
&lt;p&gt;One very low-cost and low-friction SDL task that has high impact is removing (and not adding) banned functionality. The most common examples of banned functionality include various C runtime functions, such as strcpy(), strcat(), strncpy(), sprint(), gets() and their evil brethren; and weak crypto algorithms, such as DES, MD4 and SHA-1.&lt;/p&gt;
&lt;p&gt;Over the years, I have shepherded the banned API requirement through the SDL, making updates along the way. One of the biggest changes in recent years (other than adding memcpy() to the list) is a separation of &amp;lsquo;required banned&amp;rsquo; functions and &amp;lsquo;recommended banned&amp;rsquo; functions. The reason for this change is some functions are a &amp;lsquo;clear and present danger&amp;rsquo; and should never be used in any code. Ever. E.V.E.R! This is the SDL &amp;lsquo;required banned&amp;rsquo; list.&lt;/p&gt;
&lt;p&gt;Other C runtime functions pose less of a risk; but in high-risk code, or code with a very high attack surface, they should be considered for removal, and certainly not added to new code in the first place. This is the SDL &amp;lsquo;recommended banned&amp;rsquo; list.&lt;/p&gt;
&lt;p&gt;We have created an update to the original banned API and recommended replacements list. That updated text is &lt;a href="http://go.microsoft.com/?linkid=9776895" target="_blank"&gt;here &lt;/a&gt;and the header file is &lt;a href="http://go.microsoft.com/?linkid=9776896" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Feel free to leave a note if you have a question of comment&lt;/p&gt;
&lt;p&gt;- Michael&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10178398" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/sdl/archive/tags/SDL/">SDL</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Simplified+SDL/">Simplified SDL</category></item><item><title>Tooling News: Web Application Configuration Analyzer Released</title><link>http://blogs.msdn.com/b/sdl/archive/2011/06/08/sdl-tooling-web-application-configuration-analyzer-released.aspx</link><pubDate>Wed, 08 Jun 2011 22:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10172624</guid><dc:creator>SDL Team</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10172624</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2011/06/08/sdl-tooling-web-application-configuration-analyzer-released.aspx#comments</comments><description>&lt;p&gt;Hello all, this is Monty LaRue posting with some SDL related tools news. Microsoft has recently released an updated version of the Web Application Configuration Analyzer (WACA). While this tool isn't intended to satisfy specific SDL requirements, it is valuable for performing best practices checks on your web application&amp;rsquo;s configuration. The checks span the Windows, IIS, ASP.NET, and SQL Server aspects of a deployment and are derived from standards that Microsoft uses to harden production servers. WACA is a good complement to the Attack Surface Analyzer tool which is applicable within the SDL Verification Phase. &lt;/p&gt;
&lt;p&gt;You can find more details about each of these tools on the Microsoft Download Center: &lt;a href="http://go.microsoft.com/?linkid=9775454" title="Web Application Configuration Analyzer"&gt;Web Application Configuration Analyzer&lt;/a&gt;&amp;nbsp;and &lt;span style="color: #0000ff;"&gt;&lt;a href="http://go.microsoft.com/?linkid=9775455" title="Attack Surface Analyzer Beta"&gt;Attack Surface Analyzer Beta&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10172624" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/sdl/archive/tags/SDL/">SDL</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Simplified+SDL/">Simplified SDL</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/neat/">neat</category></item><item><title>State of Application Security: Key Findings – A Forrester &amp; Microsoft Webcast</title><link>http://blogs.msdn.com/b/sdl/archive/2011/05/20/state-of-application-security-key-findings-a-forrester-amp-microsoft-webcast.aspx</link><pubDate>Fri, 20 May 2011 21:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10166852</guid><dc:creator>SDL Team</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10166852</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2011/05/20/state-of-application-security-key-findings-a-forrester-amp-microsoft-webcast.aspx#comments</comments><description>&lt;p&gt;Hi All &amp;ndash; Doug here&amp;hellip;&lt;/p&gt;
&lt;p&gt;Earlier this year, Microsoft worked with Forrester Consulting and Dr. Chenxi Wang, Lead Analyst on secure application development,&amp;nbsp; to survey the current state of application security amongst 150 of the largest corporations in the US and Canada.&amp;nbsp; I talked about it in February when we first published it on this &lt;a href="http://blogs.msdn.com/b/sdl/archive/2011/02/15/return-on-investment-roi-and-secure-application-development-can-a-holistic-approach-save-money-and-increase-productivity.aspx"&gt;blog&lt;/a&gt;. The report turned out to have a lot of very interesting data, some of which we&amp;rsquo;ve discussed previously when we published &lt;a href="http://go.microsoft.com/?linkid=9762577"&gt;State of Application Security - A Forrester Consulting Thought Leadership Paper Commissioned by Microsoft&lt;/a&gt; on our website.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Microsoft is hosting a webcast on Monday, May 23 at 11 am PDT with Dr. Wang talking about the results and her recommendations based on the information in the study.&lt;/b&gt;&amp;nbsp; I will be following her presentation with a brief presentation of my own discussing similar benefits that we&amp;rsquo;ve seen in our interactions with other organizations. The two presentations will demonstrate that the SDL, as an end to end process that engages all the relevant parties within an organization, can have a significant impact.&lt;/p&gt;
&lt;p&gt;The current security and compliance environment is driving many organizations to look at their own secure application development practices.&amp;nbsp; The results from this study and the information in the webcast can help provide key parts of the business rationale for starting a secure application development program that is about more than just compliance.&amp;nbsp; The findings of this study are very clear that there is a business benefit in not only doing better application security but also in the ROI of changing the corporate culture around software development.&amp;nbsp; This is a great opportunity to get your business decision makers to hear the facts and to help you make your case.&lt;/p&gt;
&lt;p&gt;Come listen and have an opportunity to ask questions.&amp;nbsp; You can sign up here, &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032485796&amp;amp;Culture=en-US"&gt;Business Insights Webcast: State of Application Security: Key Findings&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10166852" width="1" height="1"&gt;</description></item><item><title>Adding Usable Security to the SDL</title><link>http://blogs.msdn.com/b/sdl/archive/2011/05/04/adding-usable-security-to-the-sdl.aspx</link><pubDate>Wed, 04 May 2011 17:53:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10161050</guid><dc:creator>SDL Team</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10161050</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2011/05/04/adding-usable-security-to-the-sdl.aspx#comments</comments><description>&lt;p&gt;Adam Shostack here. &amp;nbsp;&amp;nbsp;Lately, I&amp;rsquo;ve been focused on how we bring the engineering of usable security into the SDL.&amp;nbsp; When I say usable security, I mean that for those times when we need to ask a user for input on something only they know.&amp;nbsp; (For example, are you connecting to a coffee shop network or your work network?&amp;nbsp; Are you trying to print to a printer you&amp;rsquo;ve never used before?)&amp;nbsp; We want to ensure that those questions enable users to make security decisions in accordance with their preferences and goals.&amp;nbsp; So if you&amp;rsquo;re coming here to read about what&amp;rsquo;s made it into the SDL, stop now.&amp;nbsp; But if you&amp;rsquo;d like some insight into how we update and improve the SDL, and some insight into something we might add, read on.&lt;/p&gt;
&lt;p&gt;Remember that, at Microsoft, the SDL is a collection of proven practices that integrate effectively into the software engineering process.&amp;nbsp;&amp;nbsp; One of the key elements there is that the practices are proven to be effective without an expert in the room.&amp;nbsp;&amp;nbsp; We know from our &lt;a href="http://blogs.msdn.com/b/sdl/archive/2008/10/08/experiences-threat-modeling-at-microsoft.aspx"&gt;Experiences Threat Modeling at Microsoft&lt;/a&gt; that &lt;/p&gt;
&lt;p&gt;rolling out a mandate too early can have unfortunate consequences, and we dread the idea of doing that again.&lt;/p&gt;
&lt;p&gt;So as we think about usable security engineering, we&amp;rsquo;ve made some great steps forward.&amp;nbsp;&amp;nbsp; We have guidance that&amp;rsquo;s in use in some of our product teams.&amp;nbsp; We&amp;rsquo;ve surveyed the engineers who are using it and they find it effective at producing better interfaces with less debate or churn.&amp;nbsp; What we don&amp;rsquo;t (yet) have is really crisp entry and exit criteria or tool support, and those are important gates to bring something into the SDL. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;All of that is background and context for some work that we&amp;rsquo;d like to share for your use and feedback.&amp;nbsp; It&amp;rsquo;s a pair of new mnemonics for important things to consider as you&amp;rsquo;re building security user experiences.&amp;nbsp; We hope you&amp;rsquo;ll agree that user interfaces should be NEAT:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Necessary to get the user&amp;rsquo;s input&lt;/li&gt;
&lt;li&gt;Explained in a way that the target audience will understand&lt;/li&gt;
&lt;li&gt;Actionable in that the user can realistically make a decision on what you&amp;rsquo;re asking of them&lt;/li&gt;
&lt;li&gt;Tested in both benign and malicious scenarios&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more details, and even a second mnemonic, we suggest you look in the attached two pager by myself and my colleagues Rob Reeder and Ellen Cram Kowalczyk.&lt;/p&gt;
&lt;p&gt;All that said, we think this is pretty NEAT, and we wanted to share it and ask for your opinion and feedback.&amp;nbsp; Please give us your thoughts in the comments, or by email to tux@microsoft.com&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10161050" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-16-10-50/NEATandSPRUCEatMicrosoft_2D00_final.docx" length="70328" type="application/vnd.openxmlformats-officedocument.word" /><category domain="http://blogs.msdn.com/b/sdl/archive/tags/neat/">neat</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/usable+security/">usable security</category></item><item><title>I’m starting to use the SDL, but how do I…?</title><link>http://blogs.msdn.com/b/sdl/archive/2011/04/27/i-m-starting-to-use-the-sdl-but-how-do-i.aspx</link><pubDate>Wed, 27 Apr 2011 20:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10158793</guid><dc:creator>SDL Team</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10158793</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2011/04/27/i-m-starting-to-use-the-sdl-but-how-do-i.aspx#comments</comments><description>&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;Jeremy Dallman here with another release of free SDL documents. Today we are making available a library of templates to help you get started with the more thought-based SDL practices or activities.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;One of the big questions we faced early at Microsoft and are now hearing again as more companies of all sizes start to adopt the SDL in their own organizations is &lt;i style="mso-bidi-font-style: normal;"&gt;&amp;ldquo;How do I [insert SDL practice or process activity].&amp;rdquo;&lt;/i&gt; &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;Most frequently, these questions are specifically talking about the SDL practices that cannot be addressed with tools and are more process-oriented or thought-based. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;As these questions started coming in from other companies, we started digging into some of our internal archives for the documents we used early-on at Microsoft. Most of these documents have since been incorporated into web forms or our internal SDL management dashboards. However, we discovered that they served as very useful templates for other companies. Now we want to let other SDL organizations look at them and put them to good use as well!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;Today, we are releasing a small&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://go.microsoft.com/?linkid=9769703"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;library of templates for SDL practices&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt; that can help you address:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div class="MsoNoSpacing" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;Defining Security Requirements&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoNoSpacing" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;Creating a Security Bug Bar&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoNoSpacing" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;Performing a Security Risk Assessment&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoNoSpacing" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;Conducting a basic threat model (when not using the &lt;a href="http://www.microsoft.com/security/sdl/adopt/threatmodeling.aspx"&gt;SDL Threat Modeling Tool or EOP game&lt;/a&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoNoSpacing" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;Managing SDL Exception Requests&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoNoSpacing" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;Performing a Final Security Review&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&amp;hellip; as well as a .ZIP that contains all of the templates in a single package.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;These documents are published under the same Creative Commons license as our other SDL documents. Please put them to use in their default form (without edits), as templates to modify/customize for your unique needs, or simply as a catalyst for brainstorming and creating your own documents. The goal is to help you accelerate implementation of the SDL practices and gather valuable security information about your projects.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;We are glad to share these pieces of the Microsoft SDL with the ecosystem and look forward to hearing about how they were used in your own SDL projects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;o:p&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10158793" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/sdl/archive/tags/SDL/">SDL</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Crawl+Walk+Run/">Crawl Walk Run</category></item><item><title>Now available: Microsoft SDL Process Guidance updates – version 5.1</title><link>http://blogs.msdn.com/b/sdl/archive/2011/04/14/now-available-microsoft-sdl-process-guidance-updates-version-5-1.aspx</link><pubDate>Thu, 14 Apr 2011 21:08:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10154165</guid><dc:creator>SDL Team</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10154165</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2011/04/14/now-available-microsoft-sdl-process-guidance-updates-version-5-1.aspx#comments</comments><description>&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-family: 'Tahoma','sans-serif'; font-size: 10pt;"&gt;Jeremy Dallman here to let you know we have released our annual update to the &lt;span style="mso-bidi-font-weight: bold;"&gt;Microsoft Security Development Lifecycle Process Guidance &amp;ndash; version 5.1 (SDL 5.1)&lt;/span&gt;. SDL 5.1 is now &lt;a href="http://go.microsoft.com/?linkid=9769715"&gt;&lt;b&gt;&lt;span style="color: #0066dd;"&gt;available for download&lt;/span&gt;&lt;/b&gt;&lt;/a&gt; (.docx format) as well as updated online in the &lt;a href="http://go.microsoft.com/?linkid=9769716"&gt;&lt;b&gt;&lt;span style="color: #0066dd;"&gt;MSDN library&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-family: 'Tahoma','sans-serif'; font-size: 10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-family: 'Tahoma','sans-serif'; font-size: 10pt;"&gt;This public update of our internal SDL process guidance documentation is intended to &lt;span style="color: #333333;"&gt;provide transparency into how we implement the SDL at Microsoft. The changes in SDL 5.1 continue to demonstrate that the Microsoft SDL is continuously evolving to address new attacks, implement new protections, and improve the security of Microsoft products early in the software development lifecycle. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-family: 'Tahoma','sans-serif'; color: #333333; font-size: 10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-family: 'Tahoma','sans-serif'; color: #333333; font-size: 10pt;"&gt;If you are just beginning your investigation or implementation of the SDL, we encourage you to first read the &lt;/span&gt;&lt;span style="font-family: 'Tahoma','sans-serif'; font-size: 10pt;"&gt;&lt;a href="http://go.microsoft.com/?linkid=9708425"&gt;&lt;b&gt;&lt;span style="color: #0066dd;"&gt;Simplified Implementation of the SDL&lt;/span&gt;&lt;/b&gt;&lt;/a&gt; &lt;span style="color: #333333;"&gt;paper and some of the additional resources we make available on the &lt;/span&gt;&lt;a href="http://www.microsoft.com/sdl"&gt;&lt;b&gt;&lt;span style="color: #0066dd;"&gt;Microsoft SDL website&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;span style="color: #333333;"&gt;. The SDL 5.1 guidance may be a useful resource for organizations whose processes align with Microsoft&amp;rsquo;s processes or are looking for detailed information on how Microsoft implements the SDL practices. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-family: 'Tahoma','sans-serif'; color: #333333; font-size: 10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-family: 'Tahoma','sans-serif'; color: #333333; font-size: 10pt;"&gt;What is new in the SDL 5.1 documentation?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-family: 'Tahoma','sans-serif'; color: #333333; font-size: 10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-family: 'Tahoma','sans-serif'; color: #333333; font-size: 10pt;"&gt;Since this is a &amp;ldquo;dot&amp;rdquo; release, the number of updates is smaller. We have tagged each change within the paper so they can be easy discovered by &lt;i style="mso-bidi-font-style: normal;"&gt;searching in document for &amp;ldquo;New for SDL 5.1&amp;rdquo;, &amp;ldquo;Promoted requirement for SDL 5.1&amp;rdquo;or &amp;ldquo;Updated for SDL 5.1&amp;rdquo;)&lt;/i&gt;. &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;The updated content in the MSDN library includes all updates automatically.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-family: 'Tahoma','sans-serif'; color: #333333; font-size: 10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-family: 'Tahoma','sans-serif'; color: #333333; font-size: 10pt;"&gt;Comments or questions? You can either leave them in the Comments section below or &lt;/span&gt;&lt;span style="font-family: 'Tahoma','sans-serif'; font-size: 10pt;"&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/sdlprocess/threads"&gt;&lt;b&gt;&lt;span style="color: #0066dd;"&gt;visit the SDL Process Forum&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;span style="color: #333333;"&gt; to ask questions and discuss your own implementation of SDL security practices in your organization.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10154165" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/sdl/archive/tags/SDL/">SDL</category></item><item><title>The SDL Chronicles – How an Engineering Culture Change Driven by Security Needs Paid Off</title><link>http://blogs.msdn.com/b/sdl/archive/2011/04/01/the-sdl-chronicles-how-an-engineering-culture-change-driven-by-security-needs-paid-off.aspx</link><pubDate>Fri, 01 Apr 2011 20:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10148958</guid><dc:creator>SDL Team</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10148958</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2011/04/01/the-sdl-chronicles-how-an-engineering-culture-change-driven-by-security-needs-paid-off.aspx#comments</comments><description>&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Hi All &amp;ndash; Doug here&amp;hellip;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;We recently had the opportunity to get an inside look into a large company&amp;rsquo;s journey addressing a web application security incident that led to a deep analysis and change in how a development organization builds security into their software development process.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;a href="http://www.midamerican.com/"&gt;&lt;span style="color: blue; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;MidAmerican Energy Holdings Company&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt; &lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;is a global leader producing energy from diversified fuel sources for the U.S. and U.K. consumer markets with approximately 6.9 million electricity and gas customers worldwide. In mid-May 2008, the MidAmerican Energy website was under attack from a botnet titled banner82. &lt;/span&gt;&lt;span lang="EN" style="mso-ansi-language: EN; mso-fareast-font-family: 'Times New Roman';"&gt;Botnets are networks of compromised computers controlled by hackers known as &amp;ldquo;bot-herders&amp;rdquo; and have become a serious problem in cyberspace.&lt;/span&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;The company has a long tradition of customer service so this was a very important issue to them. They surveyed industry best practices and chose the Microsoft Security Development Lifecycle (SDL) as their preferred process for developing secure software and changing their engineering practices.&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;This story is captured in a new &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://go.microsoft.com/?linkid=9768202"&gt;&lt;span style="color: blue;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;case study&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt; that takes you through the entire story of the cyber-attack and steps to resolution. Important issues show up like the need for executive support and how to get everyone onboard as MidAmerican raised security development as a central focus for their internal development group moving forward. The case study validates the need to make deep changes when necessary within the software development culture versus performing &amp;ldquo;security around the edges&amp;rdquo;. Other important insights detail how an aggressive timeline created focus and gave everyone a clear goal. The case study reports on how the company was able to significantly reduce the number of vulnerabilities and meet their security goals while setting the company up for long term success.&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;What we found particularly interesting was that after they went through this experience, MidAmerican was not only creating more secure applications but they also found something they hadn&amp;rsquo;t counted on. The SDL&amp;rsquo;s process requirements and the resultant engineering culture shift had brought together the entire development organization with QA in a way they hadn&amp;rsquo;t seen previously. Together they engaged in the SDL process and as a result there were fewer security bugs that were found and needed to be fixed late in the process &amp;ndash; when it is most &lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;a href="http://www.microsoft.com/security/sdl/learn/costeffective.aspx"&gt;&lt;span style="color: blue; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;"&gt;expensive&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;. MidAmerican saw a real productivity gain out of their development organization, not just better application &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name="_GoBack"&gt;&lt;/a&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;security. These ROI results mirror the key findings from the recent Forrester Consulting thought leadership &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://go.microsoft.com/?linkid=9762577"&gt;&lt;span style="color: blue;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;paper&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt; as well as the Aberdeen Group research &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://go.microsoft.com/?linkid=9768094"&gt;&lt;span style="color: blue;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;report&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;. You might also want to take a look at &lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;a href="http://go.microsoft.com/?linkid=9768093"&gt;&lt;span style="color: blue; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;"&gt;the SDL Progress Report&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; as it provides much of the same information that MidAmerican used to make their decision to implement the SDL.&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNoSpacing"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Check out this fascinating real life &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://go.microsoft.com/?linkid=9768202"&gt;&lt;span style="color: blue;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;story&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt; that we often don&amp;rsquo;t get to hear.&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10148958" width="1" height="1"&gt;</description></item><item><title>For your consideration: The SDL Progress Report</title><link>http://blogs.msdn.com/b/sdl/archive/2011/03/30/for-your-consideration-the-sdl-progress-report.aspx</link><pubDate>Wed, 30 Mar 2011 18:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10147875</guid><dc:creator>SDL Team</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10147875</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2011/03/30/for-your-consideration-the-sdl-progress-report.aspx#comments</comments><description>&lt;p&gt;Hello all - Dave here...&lt;/p&gt;
&lt;p&gt;I wanted to take a few moments to alert you to a new publication from Trustworthy Computing entitled &lt;a href="http://go.microsoft.com/?linkid=9768093"&gt;"The SDL Progress Report."&lt;/a&gt;&amp;nbsp; This work has been in progress for a number of months and incorporates data and analysis from various groups in our organization. We hope you find valuable information on secure development lessons learned at Microsoft, how we've applied security science, and the correlation between holistic security processes, risk reduction, and organizational efficiency. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;If we have learned one prevailing truth over the years, it's that security threats aren't static - as a result, our work developing secure software and evolving the SDL to stay ahead of complex attacks will never be done.&lt;/i&gt;&lt;/b&gt; We believe our SDL tools and processes add value and should be shared broadly with the security ecosystem - a collective effort is needed to meet the threat to computer users worldwide.&lt;i&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;The first section of the document focuses on the history of the Microsoft SDL from its earliest days -highlighting important milestones in the development of the SDL process.&amp;nbsp; As we collated material for this section of the document, it wound up being an interesting history lesson; starting with Bill Gates' original TwC memo in 2002, it pinpoints the inclusion of many of the processes and technologies over time that make up the SDL as it is practiced today.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;For example, some of the theoretical underpinnings of the threat modeling process (most notably STRIDE), are based on a paper written by Praerit Garg and Loren Kohnfelder in 1999. We would be remiss if we failed to include a "tip of the hat" to the security researcher community. We noticed increased use of fuzzing techniques to find vulnerabilities starting in the late '90's. In keeping with the "use what works" philosophy here, we integrated fuzzing in the early days of the SDL - we remain aggressive advocates of fuzz testing to this day.&lt;/p&gt;
&lt;p&gt;In the second section of the document, Matt Miller did an excellent job at illustrating our ongoing commitment to security science.&amp;nbsp; In addition to going into detail on some of the mitigation techniques required by the SDL, the security science section exposes some interesting data about the adoption of these techniques by a section of the ISV community.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;We surveyed 41 popular applications in use worldwide to assess the use of technologies like ASLR and DEP.&amp;nbsp; In addition, we did a further analysis to look at the use of these technologies in four European countries - France, Germany, Russia and the UK. &amp;nbsp;&lt;b&gt;&lt;i&gt;I'd encourage you blog readers to take a look - the results are eye-opening.&amp;nbsp; For example, ASLR usage across the sample set of 41 apps is mixed - 34% enabled full support, 46% partially enabled support and (unfortunately) 20% did not enable ASLR support in their applications.&lt;/i&gt;&lt;/b&gt;&amp;nbsp; Lots of great data, lots of insightful analysis...&lt;/p&gt;
&lt;p&gt;As mentioned above, one of the goals in writing this paper was to illustrate the point that using a holistic development process is more than just a good idea - application of security process in a holistic fashion leads not only to risk reduction, but also leads to increased organizational efficiency.&amp;nbsp; Two recent studies published by Forrester Research and the Aberdeen Group lend credence to that assertion.&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;The Forrester Consulting thought leadership &lt;a href="http://go.microsoft.com/?linkid=9762577"&gt;paper&lt;/a&gt; (Full Disclosure: a Microsoft sponsored study) concludes that end to end approaches to security reduce risk and increase ROI; and &lt;b&gt;&lt;i&gt;those using SDL (or SDL-like processes) report notable ROI gains relative to those organizations who don't take a coordinated approach.&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;In addition, Aberdeen Group (independent research) &lt;a href="http://go.microsoft.com/?linkid=9768094"&gt;found&lt;/a&gt; that the average investment in holistic security processes is $400k - while the average cost to fix a critical vulnerability after application deployment, hovers around $300k per vulnerability.&amp;nbsp; &lt;b&gt;&lt;i&gt;It requires no great intellectual feat to conclude that a deliberate approach to finding and fixing vulns pays for itself very shortly after the first critical vulnerability in a development project is found and fixed, prior to release.&lt;/i&gt;&lt;/b&gt; Finally, the companies Aberdeen surveyed reported a 4x return on annual investment for those that take a deliberate approach to achieving application security. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Two things struck me as I worked with Matt and others on the creation of this report. &lt;/p&gt;
&lt;p&gt;First, from a defender standpoint, I believe that the days of "easy find" vulnerabilities are over.&amp;nbsp; Mind you, I am not saying that there are no easy vulns still out there - I know the security researcher community will continue to find problems based on some failure of process, tooling or human error. That said, Microsoft is seeing an uptick in the number of attacks that are unique and complex. For example, the attack against IE8 at the CanSecWest "Pwn2Own" competition required exploitation of three individual vulnerabilities - and two of those had already been fixed using the SDL for IE9.&amp;nbsp; It was a very innovative approach - that helps to illustrate my point.&amp;nbsp; &lt;strong&gt;&lt;em&gt;We're seeing more complex "edge cases" - not the traditional stack overflows that we were seeing five years ago.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Second, I remain convinced that "list based" approaches to security (while initially helpful) are not a good long term bet for development orgs concerned about security. Until recently, claims about the effectiveness of holistic approaches were based on anecdotal data and gut feel.&amp;nbsp; &lt;b&gt;&lt;i&gt;I think over time, IT orgs will be confronted with the need for something more than the typical "How do I stack up against Process X?" or the latest security popularity contest.&lt;/i&gt;&lt;/b&gt; Consequently, the adoption of dynamic end to end security processes - like the SDL - that track the threat environment and adjust process and technology accordingly, will increase.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Thanks for reading - download the report and sound off about what you think!&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Dave&lt;/p&gt;
&lt;p&gt;P.S. Stay tuned for more details on how the SDL is helping real organizations with IT security challenges. &lt;/p&gt;
&lt;p&gt;P.P.S. Follow our Twitter feed &lt;a href="http://twitter.com/msdl"&gt;http://twitter.com/msdl&lt;/a&gt; for more information on SDL related releases, events and news!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10147875" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/sdl/archive/tags/SDL/">SDL</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/Simplified+SDL/">Simplified SDL</category><category domain="http://blogs.msdn.com/b/sdl/archive/tags/SDL+Progress+Report/">SDL Progress Report</category></item><item><title>Updated SAFEcode Development Practices Paper</title><link>http://blogs.msdn.com/b/sdl/archive/2011/02/18/updated-safecode-development-practices-paper.aspx</link><pubDate>Fri, 18 Feb 2011 21:28:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10131600</guid><dc:creator>SDL Team</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10131600</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2011/02/18/updated-safecode-development-practices-paper.aspx#comments</comments><description>&lt;p&gt;&lt;font size="2"&gt;Hi, Michael here.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Last week, &lt;/font&gt;&lt;a href="http://www.safecode.org/"&gt;&lt;font size="2"&gt;SAFECode&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; released a large update to the “&lt;/font&gt;&lt;a href="http://www.safecode.org/publications/SAFECode_Dev_Practices0211.pdf"&gt;&lt;font size="2"&gt;Fundamental Practices for Secure Software Development&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;” paper. The paper helps software development teams create more secure software. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Not only did SAFECode members overhaul the paper’s technical content, the group also added &lt;/font&gt;&lt;a href="http://cwe.mitre.org/"&gt;&lt;font size="2"&gt;Common Weakness Enumeration&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; (CWE) references and details about verification tools and techniques to determine if a development team is adhering to the practices.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;In my opinion, the paper is unique and important in that it describes what SAFECode members are &lt;i&gt;doing in practice&lt;/i&gt; to raise the security bar; it’s deeply pragmatic and not a theoretical or academic document. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;SAFECode is also actively seeking &lt;/font&gt;&lt;a href="http://www.safecode.org/comments2nd.php"&gt;&lt;font size="2"&gt;public comment&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; on the paper, especially in the verification sections. If you know of specific tools or techniques to help determine if a software development team is adhering to the practices, please let us know. &lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10131600" width="1" height="1"&gt;</description></item><item><title>Attack Surface Analyzer demonstration and Q&amp;A session: Noon Thursday @ RSA</title><link>http://blogs.msdn.com/b/sdl/archive/2011/02/16/attack-surface-analyzer-demonstration-and-q-amp-a-session-noon-thursday-rsa.aspx</link><pubDate>Thu, 17 Feb 2011 00:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10130698</guid><dc:creator>SDL Team</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10130698</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2011/02/16/attack-surface-analyzer-demonstration-and-q-amp-a-session-noon-thursday-rsa.aspx#comments</comments><description>&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;Solomon Lukie here, blogging from the &lt;/span&gt;&lt;a href="https://cm.rsaconference.com/US11/catalog/exhibitorCatalog.do?showAll=&amp;amp;orderBy=&amp;amp;name=microsoft"&gt;&lt;span style="font-family: Calibri; color: #0000ff; font-size: small;"&gt;Microsoft booth&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt; at &lt;/span&gt;&lt;a href="http://www.rsaconference.com/2011/usa/"&gt;&lt;span style="font-family: Calibri; color: #0000ff; font-size: small;"&gt;RSA 2011&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;a href="http://blogs.msdn.com/b/sdl/archive/2011/01/17/announcing-attack-surface-analyzer.aspx"&gt;&lt;span style="font-family: Calibri; color: #0000ff; font-size: small;"&gt;Last month&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt; we released a new tool, &lt;/span&gt;&lt;a href="http://go.microsoft.com/?linkid=9758398"&gt;&lt;span style="font-family: Calibri; color: #0000ff; font-size: small;"&gt;Attack Surface Analyzer BETA&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;, for use by IT Developers during the &lt;/span&gt;&lt;a href="http://www.microsoft.com/security/sdl/adopt/tools.aspx"&gt;&lt;span style="font-family: Calibri; color: #0000ff; font-size: small;"&gt;verification phase&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt; of the SDL and for IT Departments to profile the aggregate attack surface change when deploying applications within their organization.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;I&amp;rsquo;m the owner of the tool and currently at the &lt;/span&gt;&lt;a href="https://cm.rsaconference.com/US11/catalog/exhibitorCatalog.do?showAll=&amp;amp;orderBy=&amp;amp;name=microsoft"&gt;&lt;span style="font-family: Calibri; color: #0000ff; font-size: small;"&gt;Microsoft booth&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt; giving demonstrations and discussing usage scenarios for &lt;/span&gt;&lt;a href="http://go.microsoft.com/?linkid=9758398"&gt;&lt;span style="font-family: Calibri; color: #0000ff; font-size: small;"&gt;Attack Surface Analyzer BETA&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;.&amp;nbsp; The response has been overwhelming so I&amp;rsquo;ll be hosting a quick intro to the tool and Q&amp;amp;A session in the Microsoft Theatre at noon tomorrow.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;If you&amp;rsquo;re in the exposition hall tomorrow drop past the Microsoft theatre, which is adjacent to the Microsoft booth and if you have your badge scanned you&amp;rsquo;ll be entered in a raffle for a &lt;/span&gt;&lt;a href="http://www.zune.net/"&gt;&lt;span style="font-family: Calibri; color: #0000ff; font-size: small;"&gt;Microsoft Zune&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt; or &lt;/span&gt;&lt;a href="http://www.xbox.com/"&gt;&lt;span style="font-family: Calibri; color: #0000ff; font-size: small;"&gt;XBOX 360 Kinect bundle&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10130698" width="1" height="1"&gt;</description></item><item><title>Return on Investment (ROI) and Secure Application Development: Can a holistic approach save money and increase productivity?</title><link>http://blogs.msdn.com/b/sdl/archive/2011/02/15/return-on-investment-roi-and-secure-application-development-can-a-holistic-approach-save-money-and-increase-productivity.aspx</link><pubDate>Tue, 15 Feb 2011 21:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10129814</guid><dc:creator>SDL Team</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10129814</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2011/02/15/return-on-investment-roi-and-secure-application-development-can-a-holistic-approach-save-money-and-increase-productivity.aspx#comments</comments><description>&lt;p&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;&lt;span style="font-size: small;"&gt;Doug Cavit here to talk about a presentation I&amp;rsquo;m giving at the RSA Conference featuring findings from a Forrester Consulting thought leadership paper we recently released.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;&lt;span style="font-size: small;"&gt;We&amp;rsquo;re often asked, &lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&amp;ldquo;What is the real return on investment for putting a secure application development program in place?&amp;rdquo;&lt;/i&gt;&lt;/b&gt; &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;The conventional wisdom is that doing secure application development is more expensive than not doing it, the probability of getting hacked is low and most organizations really don&amp;rsquo;t have the time or resources to do it right. &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;In other organizations secure development is recognized as important; but in practice, corners are cut and only a few of the activities called for in holistic security processes are actually completed. There are many examples of the failure of these philosophies in the news.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;&lt;span style="font-size: small;"&gt;We have thought about this for quite a while now; and we&amp;rsquo;ve concluded that&amp;nbsp;the Microsoft&amp;nbsp;SDL process does in fact provide return on investment beyond the costs of implementation. To date though, we haven&amp;rsquo;t systematically looked outside the company to confirm our belief that holistic processes do benefit an organization&amp;rsquo;s bottom line. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;&lt;span style="font-size: small;"&gt;We worked with Forrester Research to refine our thoughts and to test our premises with 150 Fortune 1000 companies.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Forrester found that most of the companies in the study do not use a holistic security development process.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;However, of those that did have a process (such as the Microsoft SDL), many saw improvements in overall ROI &amp;ndash; especially when compared with those using ad hoc solutions or &amp;ldquo;checklist&amp;rdquo; approaches.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;This report gives insight into current application security development practices, exposes gaps in common processes and discusses the issues that can arise from not using a comprehensive approach to secure software development.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Additionally, the report provides guidance on potential process improvements and suggests ways to measure development security ROI. &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;The report can be found here:&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; mso-ansi-language: EN;"&gt;&lt;a href="http://go.microsoft.com/?linkid=9762577"&gt;&lt;span style="color: #0066dd;"&gt;Forrester Consulting State of Application Security Thought Leadership Whitepaper&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;.&lt;a name="_GoBack"&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;&lt;span style="font-size: small;"&gt;At 4:10 pm on Tuesday, February 15, I&amp;rsquo;ll be exploring this topic area more in depth in the Microsoft booth at RSA.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;If you&amp;rsquo;re at the RSA Conference, stop by and let us know what you think!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10129814" width="1" height="1"&gt;</description></item><item><title>Back to the Future: Attack Surface Analysis and Reduction</title><link>http://blogs.msdn.com/b/sdl/archive/2011/02/14/back-to-the-future-attack-surface-analysis-and-reduction.aspx</link><pubDate>Mon, 14 Feb 2011 19:07:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10129141</guid><dc:creator>SDL Team</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10129141</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2011/02/14/back-to-the-future-attack-surface-analysis-and-reduction.aspx#comments</comments><description>&lt;p&gt;&lt;font size="2"&gt;Hi, Michael here.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;A couple weeks back we released a beta version of the &lt;/font&gt;&lt;a href="http://go.microsoft.com/?linkid=9758398"&gt;&lt;font size="2"&gt;Attack Surface Analyzer tool&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;. Hopefully, you’ve downloaded and looked at it by now!&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;This tool is one of many tools we use as part of the SDL to help software developers make their products more secure. But we didn’t always have a tool like this; we used a collection of tools to measure various attack surface elements, such as open ports or services running by default. Clearly running lots of little tools is tedious, so we created the attack surface analyzer tool.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;In the rest of this article, I’d like to spend some time explaining how we’ve refined the attack surface analysis process at Microsoft over the years.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Prior to working on the SDL, I worked on the IIS4, 5 and 6 teams and one of the items I created in 2000 was a simple &lt;/font&gt;&lt;a href="http://www.bing.com/search?q=iis+checklist+howard&amp;amp;src=IE-SearchBox&amp;amp;FORM=IE8SRC"&gt;&lt;font size="2"&gt;checklist&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; for web server administrators to use to lock down IIS4 and IIS5 servers. The checklist was not required for IIS6, but more on this later.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;In 2002, Steve Lipner asked me how I would measure security progress in Windows .NET Server (it later became Windows Server 2003.) His question was totally open-ended, so I thought about it for a while. After a couple of days, I told him I thought that designing products as securely as possible and writing code that’s as secure as possible were lofty goals and we need to also think about not exposing features to attackers that are not commonly used. I had created some metrics that became known as the Relative Attack Surface Quotient or “RASQ.” Yes, many people tried to find ways of deriving RASCAL or RASQAL acronyms, but none succeeded! &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;The data elements we measured included:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;· Open ports&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;· Named pipes&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;· RPC endpoints&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;· Null Sessions&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;· Installed Services&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;· Services running default&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;· Services running as SYSTEM&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;· IIS web directories (including sample apps)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;· Users&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;· Etc.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Enumerating all these elements took about a dozen tools. The output of each tool was tallied to create a graph like this that showed the RASQ for each version of Windows since Windows NT4 through Windows XP. Smaller is better.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-43-metablogapi/3441.clip_5F00_image002_5F00_14FB23B9.png"&gt;&lt;font size="2"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-43-metablogapi/6518.clip_5F00_image002_5F00_thumb_5F00_5E096D7D.png" width="626" height="328" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Notice the delta from “Windows NT 4 SP6a + Option Pack” to “Windows NT 4 SP6a + Option Pack + IISChk” and “Windows 2000” to “Windows 2000 + IISChk.” IISChk is the checklist I mentioned, and the “Option Pack” is IIS4. Clearly, part of a checklist’s goal is to reduce attack surface. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;I think the most telling delta is from “Windows 2000 + IISChk” to “Window Server 2003.” The default install of Windows Server 2003 has a smaller attack surface than the default install of Windows 2000 after the checklist is applied. This was a watershed moment for Microsoft Windows, and the biggest change was IIS was no longer installed by default.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;As the SDL started to evolve, we invented the slogan “Secure by Design, Secure by Default.” The first clause means “get the design and code secure” and the last clause means “the product will never be 100% secure, so reduce the product’s attack surface.”&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Once development teams inside Microsoft saw the value of a reduced attack surface: fewer security bulletins and lower severity bulletins, it was obvious we had to streamline how we measured attack surface. So the attack surface analysis tool was born in our group. This tool is a standard tool run by all teams as part of their SDL requirements.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;An important success factor to using this tool is to run it often, preferably on every build, to make sure you catch anything that might unnecessarily increase attack surface.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Next week at the &lt;/font&gt;&lt;a href="http://www.rsaconference.com/index.htm"&gt;&lt;font size="2"&gt;RSA Conference 2011&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; in San Francisco, &lt;/font&gt;&lt;a href="http://blogs.adobe.com/asset/2011/02/stop-exposing-yourself.html"&gt;&lt;font size="2"&gt;Bryan Sullivan&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; and I will present a paper entitled, “[&lt;/font&gt;&lt;a href="https://cm.rsaconference.com/US11/catalog/modifySession.do?SESSION_ID=2776&amp;amp;back=true"&gt;&lt;font size="2"&gt;AND-108&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;] Stop Exposing Yourself: Principles of Attack Surface Analysis and Reduction” that explains the process of attack surface analysis and provide guidance for reducing attack surface without annoying your customers. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;So, if you’re at the conference, please stop by. Even if it’s just to say “hi!” or see a demo of the new tool.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Speaking of demos, one of the team members that created the tool, Solomon Lukie, will be at the Microsoft booth at the RSA Conference giving hands-on demos and explaining the tool’s value.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;And speaking of the RSA Conference, Scott Charney, corporate vice president of Trustworthy Computing at Microsoft, will present a keynote session on Collective Defense: Collaborating to Create a Safer Internet. Scott will highlight computing trends and discuss the reality of evolving cyber threats. He will share Microsoft’s vision about how we can collectively work together to improve security protections for all Internet users. The keynote will be at 9:00 am on Tuesday, February 15, in North Hall D, Moscone Center (KEY-101). &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Follow @MSFTSecurity on Twitter for news and information and @msdl for SDL info.&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10129141" width="1" height="1"&gt;</description></item><item><title>SDL and PCI DSS/PA-DSS: Aligning security practices and compliance activities</title><link>http://blogs.msdn.com/b/sdl/archive/2011/02/11/sdl-and-pci-dss-pa-dss-aligning-security-practices-and-compliance-activities.aspx</link><pubDate>Fri, 11 Feb 2011 19:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10128223</guid><dc:creator>SDL Team</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sdl/rsscomments.aspx?WeblogPostID=10128223</wfw:commentRss><comments>http://blogs.msdn.com/b/sdl/archive/2011/02/11/sdl-and-pci-dss-pa-dss-aligning-security-practices-and-compliance-activities.aspx#comments</comments><description>&lt;p&gt;&lt;a name="_GoBack"&gt;&lt;/a&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;&lt;span style="font-size: small;"&gt;Jeremy Dallman here to introduce our second paper aligning SDL practices with compliance activities. Last year we released the &lt;/span&gt;&lt;/span&gt;&lt;a href="http://go.microsoft.com/?linkid=9735932"&gt;&lt;b&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; mso-ansi-language: EN;"&gt;&lt;span style="color: #0066dd; font-size: small;"&gt;SDL and HIPAA whitepaper&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;. This time, we chose the Payment Card Industry Data Security Standards (PCI DSS) and Payment Application Data Security Standards (PA-DSS) commonly used by merchants, payment card processors, and application developers equipping those industries. These two sets of requirements create industry standards to protect how cardholder data and payment applications store, process or transmit data as part of authorization or settlement. Today, I would like to announce the release of a new whitepaper: &lt;/span&gt;&lt;span lang="EN" style="font-family: 'Verdana','sans-serif'; color: #333333; font-size: 8.5pt; mso-bidi-font-family: Arial; mso-ansi-language: EN;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; mso-ansi-language: EN;"&gt;&lt;a href="http://go.microsoft.com/?linkid=9762332"&gt;&lt;span style="color: #0066dd; font-size: small;"&gt;&lt;strong&gt;SDL &amp;amp; PCI DSS/PA-DSS: Aligning the Microsoft SDL with PCI DSS/PA-DSS Compliance Activity&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang="EN" style="font-family: 'Verdana','sans-serif'; color: #0070c0; font-size: 8.5pt; mso-bidi-font-family: Arial; mso-ansi-language: EN;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;&lt;span style="font-size: small;"&gt;Every day, consumers use electronic payment systems to complete purchases in physical stores and on the internet. These transactions must reference and store personal data. Because this data is being stored, it is crucial that it is handled securely at every point in a transaction. This involves not only the merchants and payment card processors, but the entire IT system used to support the merchants, authorize the purchases, and store the information. The risks to consumers are profound, and have resulted in new regulations - designed to ensure technology is being used correctly to protect personal information. Although the PCI DSS goes to great lengths to protect the physical and network infrastructure surrounding the payment card industry, our increasingly digitized world requires software protections as well. It is no longer enough to only rely on perimeter defenses. The process of creating more secure applications is what the &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/sdl"&gt;&lt;b&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; mso-ansi-language: EN;"&gt;&lt;span style="color: #0066dd; font-size: small;"&gt;Microsoft SDL&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt; is designed to address. &lt;/span&gt;&lt;span lang="EN" style="font-family: 'Verdana','sans-serif'; color: #333333; font-size: 8.5pt; mso-bidi-font-family: Arial; mso-ansi-language: EN;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;&lt;span style="font-size: small;"&gt;Recent &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.pwc.com/gx/en/information-security-survey/index.jhtml"&gt;&lt;b&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; mso-ansi-language: EN;"&gt;&lt;span style="color: #0066dd; font-size: small;"&gt;studies&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt; have shown that organizations are spending on compliance tasks in lieu of security &amp;ndash; however compliance and security don&amp;rsquo;t have to be at odds. As merchants and software developers are being asked to meet PCI DSS requirements, it is important to find ways to align proactive, risk-based security practices with compliance activities. We saw this need and realized that we should evaluate the application of the Microsoft SDL alongside some of these regulatory activities. &lt;/span&gt;&lt;span lang="EN" style="font-family: 'Verdana','sans-serif'; color: #333333; font-size: 8.5pt; mso-bidi-font-family: Arial; mso-ansi-language: EN;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;&lt;span style="font-size: small;"&gt;This paper shows how the Microsoft SDL can help meet some of the requirements of PCI DSS and PA-DSS. It addresses two primary scenarios&amp;mdash;1) &lt;span style="text-decoration: underline;"&gt;building new PCI DSS compliant software&lt;/span&gt; and 2) &lt;span style="text-decoration: underline;"&gt;custom software integration (e.g. a Point of Sale system in a retail store)&lt;/span&gt;. Each of these scenarios illustrates a common intersection between software security and PCI DSS or PA-DSS requirements. Our goal is to show where software security can both assist in attaining regulatory compliance with PCI DSS and ensure that the software created for these industries are written and deployed with security as a priority to mitigate risk, using the Microsoft SDL as a guide. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;Similar to our first paper, the expected audiences for this paper are business decision-makers, compliance managers, software developers, IT consultants, and systems integrators who are working within or on behalf of organizations that must meet PCI DSS requirements. &lt;b&gt;This paper is not intended to advise organizations of their legal requirements and responsibilities. It is assumed that the reader understands the laws and regulations mentioned in this paper and how those laws and regulations apply to their organization.&lt;/b&gt;&lt;/span&gt;&lt;span lang="EN" style="font-family: 'Verdana','sans-serif'; color: #333333; font-size: 8.5pt; mso-bidi-font-family: Arial; mso-ansi-language: EN;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;The paper is broken into easy-to-digest sections that we hope are both readable and practical in application:&lt;/span&gt;&lt;span lang="EN" style="font-family: 'Verdana','sans-serif'; color: #333333; font-size: 8.5pt; mso-bidi-font-family: Arial; mso-ansi-language: EN;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;&lt;span style="font-size: small;"&gt;Reading section:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN" style="font-family: Symbol; color: #333333; font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol; mso-ansi-language: EN;"&gt;&lt;span style="mso-list: Ignore;"&gt;&amp;middot;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;Overviews of the Microsoft SDL and both PCI DSS and PA-DSS&lt;/span&gt;&lt;span lang="EN" style="font-family: 'Verdana','sans-serif'; color: #333333; font-size: 8.5pt; mso-bidi-font-family: Arial; mso-ansi-language: EN;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN" style="font-family: Symbol; color: #333333; font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol; mso-ansi-language: EN;"&gt;&lt;span style="mso-list: Ignore;"&gt;&amp;middot;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;A scenario-based review of SDL applicability to parts of the PCI DSS and PA-DSS&lt;/span&gt;&lt;span lang="EN" style="font-family: 'Verdana','sans-serif'; color: #333333; font-size: 8.5pt; mso-bidi-font-family: Arial; mso-ansi-language: EN;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;&lt;span style="font-size: small;"&gt;Appendix (three &amp;ldquo;rip out&amp;rdquo; tables for reference)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN" style="font-family: Symbol; color: #333333; font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol; mso-ansi-language: EN;"&gt;&lt;span style="mso-list: Ignore;"&gt;&amp;middot;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;One table mapping SDL Practices to the PCI DSS Requirements&lt;/span&gt;&lt;span lang="EN" style="font-family: 'Verdana','sans-serif'; color: #333333; font-size: 8.5pt; mso-bidi-font-family: Arial; mso-ansi-language: EN;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN" style="font-family: Symbol; color: #333333; font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol; mso-ansi-language: EN;"&gt;&lt;span style="mso-list: Ignore;"&gt;&amp;middot;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;A second table mapping SDL Practices to PA-DSS Requirements&lt;/span&gt;&lt;span lang="EN" style="font-family: 'Verdana','sans-serif'; color: #333333; font-size: 8.5pt; mso-bidi-font-family: Arial; mso-ansi-language: EN;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN" style="font-family: Symbol; color: #333333; font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol; mso-ansi-language: EN;"&gt;&lt;span style="mso-list: Ignore;"&gt;&amp;middot;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://blogs.msdn.com/b/sdl/archive/2011/01/26/only-16-security-practices-implementation-guidance-included.aspx"&gt;&lt;b&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; mso-ansi-language: EN;"&gt;&lt;span style="color: #0066dd; font-size: small;"&gt;The Simplified SDL spreadsheet&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt; for reference.&lt;/span&gt;&lt;span lang="EN" style="font-family: 'Verdana','sans-serif'; color: #333333; font-size: 8.5pt; mso-bidi-font-family: Arial; mso-ansi-language: EN;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;We realize that aligning security practices with compliance activities will vary across organizations; we hope this paper will ease the task of integrating secure software development activities with PCI DSS regulatory requirements.&lt;/span&gt;&lt;span lang="EN" style="font-family: 'Verdana','sans-serif'; color: #333333; font-size: 8.5pt; mso-bidi-font-family: Arial; mso-ansi-language: EN;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN" style="font-family: 'Calibri','sans-serif'; color: #333333; mso-ansi-language: EN;"&gt;&lt;span style="font-size: small;"&gt;As always, we welcome your questions and feedback.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10128223" width="1" height="1"&gt;</description></item></channel></rss>
