<?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>Georgeo Pulikkathara's Microsoft Blog : Security Development Lifecycle (SDL) Model</title><link>http://blogs.msdn.com/georgeop/archive/tags/Security+Development+Lifecycle+_2800_SDL_2900_+Model/default.aspx</link><description>Tags: Security Development Lifecycle (SDL) Model</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Microsoft Trustworthy Developer Content Strategy</title><link>http://blogs.msdn.com/georgeop/archive/2008/07/24/microsoft-trustworthy-developer-content-strategy.aspx</link><pubDate>Thu, 24 Jul 2008 10:29:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8768958</guid><dc:creator>Georgeo Pulikkathara</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/georgeop/comments/8768958.aspx</comments><wfw:commentRss>http://blogs.msdn.com/georgeop/commentrss.aspx?PostID=8768958</wfw:commentRss><wfw:comment>http://blogs.msdn.com/georgeop/rsscomments.aspx?PostID=8768958</wfw:comment><description>&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7b6d5788-e809-4157-a36a-8611f3d5b334" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/developer%20content%20strategy" rel="tag"&gt;developer content strategy&lt;/a&gt;,&lt;a href="http://technorati.com/tags/privacy" rel="tag"&gt;privacy&lt;/a&gt;,&lt;a href="http://technorati.com/tags/security" rel="tag"&gt;security&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;I was at my Vice President's (Scott Charney) all hands meeting last month. Scott was talking about the need to discuss online safety and Green IT to IT Pros and developers. I was taking some notes and &lt;a href="http://en.wikipedia.org/wiki/Hierarchy_of_needs"&gt;Maslow's Hierarchy of Needs&lt;/a&gt; pyramid came to mind. &lt;/p&gt;  &lt;p&gt;I thought of what Scott was saying and realized that there was a order to what we need to communicate and drive awareness for. Before we can talk about data privacy to developers and IT Professionals, it was necessary to ensure that the customers platform and applications were secure. Only then can you even think of approaching data privacy. &lt;/p&gt;  &lt;p&gt;If an ISV or a corporate development team is to consider data privacy as a requirement, then Security is mandatory. If you're a ISV or a independent software vendor, then you're going to have to answer the questions to your customers who are going to ask you the obvious question, &amp;quot;Am I safe online?&amp;quot;. &lt;/p&gt;  &lt;p&gt;Online Safety is comprised of Privacy and Security. Let's say you want to provide online safety to your customers who buy your software. You'll probably want to ensure that there is legislation/compliance in place to drive the online safety to protect the customer as well as independent software vendors to limit your liability when you've taken the time and due diligence to ensure your application development efforts coincide with the Microsoft Development Lifecycle.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/georgeop/WindowsLiveWriter/8ff4540558db_407/image_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="299" alt="image" src="http://blogs.msdn.com/blogfiles/georgeop/WindowsLiveWriter/8ff4540558db_407/image_thumb.png" width="464" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The way we drive awareness and provide privacy and security for customers is by ensuring that independent software vendors are utilizing the &lt;a href="http://msdn.microsoft.com/en-us/security/cc448177.aspx"&gt;Microsoft SDL&lt;/a&gt; in their software development efforts along with organization that expose customer data through online banking portals, or online account access.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/georgeop/WindowsLiveWriter/8ff4540558db_407/image_4.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="307" alt="image" src="http://blogs.msdn.com/blogfiles/georgeop/WindowsLiveWriter/8ff4540558db_407/image_thumb_1.png" width="470" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8768958" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/georgeop/archive/tags/Developer+Security/default.aspx">Developer Security</category><category domain="http://blogs.msdn.com/georgeop/archive/tags/Security+content/default.aspx">Security content</category><category domain="http://blogs.msdn.com/georgeop/archive/tags/trustworthy+computing/default.aspx">trustworthy computing</category><category domain="http://blogs.msdn.com/georgeop/archive/tags/privacy/default.aspx">privacy</category><category domain="http://blogs.msdn.com/georgeop/archive/tags/Security+Development+Lifecycle+_2800_SDL_2900_+Model/default.aspx">Security Development Lifecycle (SDL) Model</category><category domain="http://blogs.msdn.com/georgeop/archive/tags/Green/default.aspx">Green</category></item><item><title>Microsoft Security Development Lifecycle (SDL) download now available</title><link>http://blogs.msdn.com/georgeop/archive/2008/05/01/microsoft-security-development-lifecycle-sdl-download-now-available.aspx</link><pubDate>Fri, 02 May 2008 05:02:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8448253</guid><dc:creator>Georgeo Pulikkathara</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/georgeop/comments/8448253.aspx</comments><wfw:commentRss>http://blogs.msdn.com/georgeop/commentrss.aspx?PostID=8448253</wfw:commentRss><wfw:comment>http://blogs.msdn.com/georgeop/rsscomments.aspx?PostID=8448253</wfw:comment><description>&lt;p&gt;As part of its commitment to a more secure and trustworthy computing ecosystem, Microsoft is making the details of the SDL process generally available online for the first time. IT policy makers and software development organizations can leverage this 78 page document to enhance and inform their own software security and privacy assurance programs.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2412c443-27f6-4aac-9883-f55ba5b01814&amp;amp;displaylang=en"&gt;&lt;strong&gt;Microsoft Security Development Lifecycle (SDL) document download&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;quot;The Microsoft Security Development Lifecycle (SDL) is an industry-leading software security assurance process. A Microsoft-wide initiative and a mandatory policy since 2004, the SDL has played a critical role in embedding security and privacy in Microsoft software and culture. Combining a holistic and practical approach, the SDL introduces security and privacy early and throughout all phases of the development process. It has led Microsoft to measurable and widely-recognized security improvements in flagship products such as Windows Vista and SQL Server. Microsoft is publishing the detailed SDL process guidance as part of its commitment to enable a more secure and trustworthy computing ecosystem.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;The following documentation provides an in-depth description of the Microsoft SDL methodology and requirements. Proprietary technologies and resources that are only available internally at Microsoft have been omitted from these guidelines.&amp;quot;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/georgeop/WindowsLiveWriter/MicrosoftSecurityDevelopmentLifecycleSDL_10A83/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="195" alt="image" src="http://blogs.msdn.com/blogfiles/georgeop/WindowsLiveWriter/MicrosoftSecurityDevelopmentLifecycleSDL_10A83/image_thumb.png" width="440" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8448253" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/georgeop/archive/tags/Developer+Security/default.aspx">Developer Security</category><category domain="http://blogs.msdn.com/georgeop/archive/tags/Security+content/default.aspx">Security content</category><category domain="http://blogs.msdn.com/georgeop/archive/tags/Security+Development+Lifecycle+_2800_SDL_2900_+Model/default.aspx">Security Development Lifecycle (SDL) Model</category></item><item><title>TechEd 2008 is coming!</title><link>http://blogs.msdn.com/georgeop/archive/2008/04/30/teched-2008-is-coming.aspx</link><pubDate>Wed, 30 Apr 2008 23:28:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8444814</guid><dc:creator>Georgeo Pulikkathara</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/georgeop/comments/8444814.aspx</comments><wfw:commentRss>http://blogs.msdn.com/georgeop/commentrss.aspx?PostID=8444814</wfw:commentRss><wfw:comment>http://blogs.msdn.com/georgeop/rsscomments.aspx?PostID=8444814</wfw:comment><description>&lt;p&gt;Are you going to TechEd 2008? If so, please stop by our Security Development Lifecycle booth and chat with us about how you plan for security and threat modeling in your application design and development. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/events/teched2008/default.mspx"&gt;Microsoft TechEd 2008 Website&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the mean time check out&amp;#160; Adam's post on SDL and threat modeling. He's attached a PDF of his slides from his presentation at Toorcon last weekend.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/sdl/archive/2008/04/24/sdl-threat-modeling-toorcon.aspx"&gt;Security Development Lifecycle Blog&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8444814" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/georgeop/archive/tags/Developer+Security/default.aspx">Developer Security</category><category domain="http://blogs.msdn.com/georgeop/archive/tags/trustworthy+computing/default.aspx">trustworthy computing</category><category domain="http://blogs.msdn.com/georgeop/archive/tags/Security+Development+Lifecycle+_2800_SDL_2900_+Model/default.aspx">Security Development Lifecycle (SDL) Model</category></item><item><title>Security tools will not make your software secure...</title><link>http://blogs.msdn.com/georgeop/archive/2008/04/28/security-tools-will-not-make-your-software-secure.aspx</link><pubDate>Tue, 29 Apr 2008 01:55:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8436260</guid><dc:creator>Georgeo Pulikkathara</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/georgeop/comments/8436260.aspx</comments><wfw:commentRss>http://blogs.msdn.com/georgeop/commentrss.aspx?PostID=8436260</wfw:commentRss><wfw:comment>http://blogs.msdn.com/georgeop/rsscomments.aspx?PostID=8436260</wfw:comment><description>&lt;p&gt;Be sure to read Howard's article, and pay attention to this section. Here's an excerpt from Michael's&amp;quot; &lt;a href="http://msdn2.microsoft.com/en-us/magazine/cc163705.aspx"&gt;A Look Inside the Security Development Lifecycle at Microsoft&lt;/a&gt;&amp;quot;....&lt;/p&gt;  &lt;p&gt;//======================================//&lt;/p&gt;  &lt;p&gt;Security tools will not make your software secure. They will help, but tools alone do not make code resilient to attack. There is simply no replacement for having a knowledgeable work force that will use the tools to enforce policy. The new version of Visual Studio&amp;#174; 2005 Team System Developer's Edition includes some very, very useful security tools:&lt;/p&gt;  &lt;p&gt;PREfast PREfast is a static analysis tool for C/C++ code. It can find some pretty subtle security defects, and some egregious bugs, too. This is lint on security steroids.&lt;/p&gt;  &lt;p&gt;Standard Annotation Language (SAL) Of all the tools we have added to Visual Studio 2005, this is the technology that excites me the most because it can help find some hard to spot bugs. Imagine you have a function like this: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn2.microsoft.com/"&gt;&lt;img height="9" src="http://i.msdn.microsoft.com/platform/Controls/CodeSnippet/resources/copy_off.gif" align="middle" border="0" /&gt; Copy Code&lt;/a&gt;&lt;/p&gt;  &lt;pre&gt;void *function(
    char *buffer, 
    DWORD cbBufferLength);&lt;/pre&gt;

&lt;p&gt;You know that buffer and dwBufferLength are tied at the hip; buffer is cbBufferLength bytes long. But the compiler does not know that&amp;#8212;all it sees is a pointer and a 32-bit unsigned integer. Using SAL, you can link the two. So the header that includes this function prototype might look like the following: &lt;/p&gt;

&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/"&gt;&lt;img height="9" src="http://i.msdn.microsoft.com/platform/Controls/CodeSnippet/resources/copy_off.gif" align="middle" border="0" /&gt; Copy Code&lt;/a&gt;&lt;/p&gt;

&lt;pre&gt;void *function(
    _in_bytecount(cbBufferLength) char *buffer, 
    DWORD cbBufferLength);&lt;/pre&gt;

&lt;p&gt;Please note the final syntax used for SAL may change before Visual Studio 2005 ships.&lt;/p&gt;

&lt;p&gt;FxCop You may already know of FxCop&amp;#8212;it's a tool to find defects, including security defects in managed code. It's available as a download from &lt;a href="http://www.gotdotnet.com"&gt;www.gotdotnet.com&lt;/a&gt;, but the version in Visual Studio 2005 is fully integrated, and includes some new issues to watch out for.&lt;/p&gt;

&lt;p&gt;Application Verifier AppVerifier is a runtime tool that operates on a running application. It can be used to trap memory-related issues at run time, including heap-based buffer overruns.&lt;/p&gt;

&lt;p&gt;Other tools and requirement at Microsoft include: &lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;All unmanaged C/C++ code must be compiled with the /GS stack overrun detection capability. &lt;/li&gt;

  &lt;li&gt;All unmanaged C/C++ code must be linked using the /SafeSEH option. &lt;/li&gt;

  &lt;li&gt;All RPC code must be compiled with the MIDL /robust flag. &lt;/li&gt;

  &lt;li&gt;Security issues flagged by FxCop and PREfast must be fixed. &lt;/li&gt;

  &lt;li&gt;The functions shown in &lt;strong&gt;Figure 4&lt;/strong&gt; are banned for new code, and should be removed over time for legacy code.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="http://i.msdn.microsoft.com/platform/Controls/CollapsibleArea/resources/minus.gif" /&gt; Figure 4 Sample Banned Functions &lt;/p&gt;

&lt;p&gt;Banned API
  &lt;br /&gt;Strsafe Replacement

  &lt;br /&gt;Safe C and C++ Libraries&lt;/p&gt;

&lt;p&gt;strcpy, wcscpy, _tcscpy, _mbscpy, lstrcpy, lstrcpyA, lstrcpyW, strcpyA, strcpyW
  &lt;br /&gt;String*Copy or String*CopyEx

  &lt;br /&gt;strcpy_s&lt;/p&gt;

&lt;p&gt;strcat, wcscat
  &lt;br /&gt;String*Cat or String*CatEx

  &lt;br /&gt;strcat_s&lt;/p&gt;

&lt;p&gt;wnsprintf, wnsprintfA, wnsprintfW
  &lt;br /&gt;String*Printf or String*PrintfEx

  &lt;br /&gt;sprintf_s&lt;/p&gt;

&lt;p&gt;_snwprintf, _snprintf
  &lt;br /&gt;String*Printf or String*PrintfEx

  &lt;br /&gt;_snprintf_s or _snwprintf_s&lt;/p&gt;

&lt;p&gt;wvsprintf, wvsprintfA, wvsprintfW, vsprintf
  &lt;br /&gt;String*VPrintf or String*VPrintfEx

  &lt;br /&gt;_vstprintf_s&lt;/p&gt;

&lt;p&gt;_vsnprintf, _vsnwprintf
  &lt;br /&gt;String*VPrintf or String*VPrintfEx

  &lt;br /&gt;vsntprintf_s&lt;/p&gt;

&lt;p&gt;strncpy, wcsncpy
  &lt;br /&gt;String*CopyN or String*CopyNEx

  &lt;br /&gt;strncpy_s&lt;/p&gt;

&lt;p&gt;strncat, wcsncat 
  &lt;br /&gt;String*CatN or String*CatNEx

  &lt;br /&gt;strncat_s&lt;/p&gt;

&lt;p&gt;scanf, wscanf
  &lt;br /&gt;None

  &lt;br /&gt;sscanf_s&lt;/p&gt;

&lt;p&gt;strlen, wcslen, _mbslen, _mbstrlen
  &lt;br /&gt;String*Length

  &lt;br /&gt;strlen_s&lt;/p&gt;

&lt;p&gt;You can read about the Strsafe string replacement code in &amp;quot;&lt;a href="http://library/en-us/dnsecure/html/strsafe.asp"&gt;Strsafe.h: Safer String Handling in C&lt;/a&gt;&amp;quot;. The Safe C library is the new C runtime library replacement built into Visual Studio 2005. You can read about it at &amp;quot;&lt;a href="http://msdnmag/issues/05/05/SafeCandC/"&gt;Safe! Repel Attacks on Your Code with the Visual Studio 2005 Safe C and C++ Libraries&lt;/a&gt;&amp;quot;.&lt;/p&gt;

&lt;p&gt;//======================================//&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8436260" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/georgeop/archive/tags/Security+Development+Lifecycle+_2800_SDL_2900_+Model/default.aspx">Security Development Lifecycle (SDL) Model</category></item><item><title>How Do I: Export and Import Certificates?</title><link>http://blogs.msdn.com/georgeop/archive/2008/04/24/how-do-i-export-and-import-certificates.aspx</link><pubDate>Fri, 25 Apr 2008 09:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8423480</guid><dc:creator>Georgeo Pulikkathara</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/georgeop/comments/8423480.aspx</comments><wfw:commentRss>http://blogs.msdn.com/georgeop/commentrss.aspx?PostID=8423480</wfw:commentRss><wfw:comment>http://blogs.msdn.com/georgeop/rsscomments.aspx?PostID=8423480</wfw:comment><description>&lt;P&gt;We've got a series of short how to videos at the &lt;A href="http://msdn.microsoft.com/security" mce_href="http://msdn.microsoft.com/security"&gt;msdn security developer center&lt;/A&gt; that provides you quick overviews on topics such as &lt;A href="http://msdn2.microsoft.com/en-us/security/cc424865.aspx" mce_href="http://msdn2.microsoft.com/en-us/security/cc424865.aspx"&gt;how to import/export certificates&lt;/A&gt;, and &lt;A href="http://msdn2.microsoft.com/en-us/security/cc424864.aspx" mce_href="http://msdn2.microsoft.com/en-us/security/cc424864.aspx"&gt;how to get started with encryption&lt;/A&gt;. by Lamees Ayman.&lt;/P&gt;
&lt;P&gt;Let us know what you think of these videos. Helpful, too basic, or just right. I'm thinking of making more videos like this for our developer community to consume.&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:47f1943e-0295-4fef-a41e-d7ad09c1f6e2 style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Technorati Tags: &lt;A href="http://technorati.com/tags/developer%20security%20videos" rel=tag mce_href="http://technorati.com/tags/developer%20security%20videos"&gt;developer security videos&lt;/A&gt;&lt;/DIV&gt;
&lt;P&gt;Thanks, &lt;/P&gt;
&lt;P&gt;George&lt;/P&gt;
&lt;P&gt;&lt;A href="mailto:georgeop@microsoft.com" mce_href="mailto:georgeop@microsoft.com"&gt;georgeop@microsoft.com&lt;/A&gt; or (425) 707-6912&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8423480" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/georgeop/archive/tags/Developer+Security/default.aspx">Developer Security</category><category domain="http://blogs.msdn.com/georgeop/archive/tags/Security+content/default.aspx">Security content</category><category domain="http://blogs.msdn.com/georgeop/archive/tags/trustworthy+computing/default.aspx">trustworthy computing</category><category domain="http://blogs.msdn.com/georgeop/archive/tags/Security+Development+Lifecycle+_2800_SDL_2900_+Model/default.aspx">Security Development Lifecycle (SDL) Model</category></item></channel></rss>