<?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>Spot the Bug! : Microsoft Developer Security</title><link>http://blogs.msdn.com/rsamona/archive/tags/Microsoft+Developer+Security/default.aspx</link><description>Tags: Microsoft Developer Security</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Microsoft Threat Analysis &amp; Modeling v2.0 </title><link>http://blogs.msdn.com/rsamona/archive/2006/03/13/550953.aspx</link><pubDate>Tue, 14 Mar 2006 07:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:550953</guid><dc:creator>rsamona</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/rsamona/comments/550953.aspx</comments><wfw:commentRss>http://blogs.msdn.com/rsamona/commentrss.aspx?PostID=550953</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;BETA2 of Microsoft Threat Analysis &amp;amp; Modeling v2.0 (formerly codenamed “ACE Torpedo”) is now available for download &lt;/FONT&gt;&lt;A href="http://www.msdn.microsoft.com/security/acetm"&gt;&lt;FONT face=Verdana color=#0000cc size=2&gt;here&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;Check out this blog for more info: &lt;A HREF="/threatmodeling/"&gt;http://blogs.msdn.com/threatmodeling/&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;For those of you that haven't downloaded it yet, you should. It's a great tool that helps automate the creation of a threat model. Very slick and very useful!&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=550953" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/rsamona/archive/tags/Microsoft+Developer+Security/default.aspx">Microsoft Developer Security</category></item><item><title>Security Development Lifecycle (SDL) document is now live!!!</title><link>http://blogs.msdn.com/rsamona/archive/2005/03/18/398926.aspx</link><pubDate>Sat, 19 Mar 2005 05:08:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:398926</guid><dc:creator>rsamona</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/rsamona/comments/398926.aspx</comments><wfw:commentRss>http://blogs.msdn.com/rsamona/commentrss.aspx?PostID=398926</wfw:commentRss><description>&lt;P&gt;This document outlines the security-related process improvements we have put in place at Microsoft.&lt;BR&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/security/sdl"&gt;http://msdn.microsoft.com/security/sdl&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=398926" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/rsamona/archive/tags/Microsoft+Developer+Security/default.aspx">Microsoft Developer Security</category></item><item><title>if (Technology=1 &amp;&amp; Outdoors=1) {is_person_cool_in_my_books=1;}</title><link>http://blogs.msdn.com/rsamona/archive/2005/03/04/385623.aspx</link><pubDate>Sat, 05 Mar 2005 05:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:385623</guid><dc:creator>rsamona</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/rsamona/comments/385623.aspx</comments><wfw:commentRss>http://blogs.msdn.com/rsamona/commentrss.aspx?PostID=385623</wfw:commentRss><description>&lt;P&gt;I spoke with &lt;A href="http://sqljunkies.com/WebLog/donkiely/"&gt;Don Kiely&lt;/A&gt; today, who&amp;nbsp;will be my partner in crime at TechEd in discussing Whidbey Security Enhancements. One of the first things that I found out is that we went to college a couple of hours away. Shortly after insulting each other and saying who's school is better (mine, of course! :)&amp;nbsp; ), we got into talking about serious stuff -- hiking. It turns out Don is a fellow outsdoorsman as well. So, we've got two major things in common. &lt;/P&gt;
&lt;P&gt;Oh yeah, we finally got around to chatting about what the call was actually schedule for -- what the preso at TechEd should look like. It should turn out great, so make sure to come visit us at TechEd! And btw, yes, I know that I only have a single "=" above in my conditional if then statement. But I bet you didn't know that PREfast, which will ship with VSTS, will actually find this error ;).&lt;/P&gt;
&lt;P&gt;cout &amp;lt;&amp;lt; "end of post" &amp;lt;&amp;lt; endl; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=385623" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/rsamona/archive/tags/Microsoft+Developer+Security/default.aspx">Microsoft Developer Security</category></item><item><title>eWeek - Getting a Head Start on App Security</title><link>http://blogs.msdn.com/rsamona/archive/2005/01/06/348171.aspx</link><pubDate>Fri, 07 Jan 2005 06:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:348171</guid><dc:creator>rsamona</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/rsamona/comments/348171.aspx</comments><wfw:commentRss>http://blogs.msdn.com/rsamona/commentrss.aspx?PostID=348171</wfw:commentRss><description>&lt;TABLE cellSpacing=0 cellPadding=0 width="100%" border=0&gt;
&lt;TBODY&gt;
&lt;TR vAlign=top&gt;
&lt;TD vAlign=top align=left colSpan=2&gt;&lt;SPAN class=Article_Title&gt;Getting a Head Start on App Security&lt;/SPAN&gt; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width="65%"&gt;&lt;BR&gt;&lt;SPAN class=Article_Date&gt;December 7, 2004&lt;/SPAN&gt; &lt;/TD&gt;
&lt;TD vAlign=top align=right width="35%"&gt;&lt;!-- Vignette V6 Tue Dec 14 02:48:32 2004 --&gt;&lt;!--WEB 2--&gt;
&lt;DIV id=talkback_bug&gt;&lt;A title="Talkback: Sound off on this article." href="http://www.eweek.com/article2/0,1759,1736982,00.asp#talkback" alt="Talkback: Sound off on this article."&gt;&lt;IMG src="http://www.eweek.com/images/ew_tb.gif" border=0&gt;&lt;/A&gt;&lt;BR&gt;&lt;IMG src="http://www.eweek.com/images/ew_tb_arrow.gif" border=0&gt;&amp;nbsp;&lt;A class=talkback_count href="http://www.eweek.com/article2/0,1759,1736982,00.asp#talkback"&gt;3 comments posted&lt;/A&gt;&lt;BR&gt;&lt;IMG src="http://www.eweek.com/images/ew_tb_arrow.gif" border=0&gt;&amp;nbsp;&lt;A class=talkback_count href="http://www.eweek.com/talkback_insert/0,2275,s=25954&amp;amp;a=140530,00.asp"&gt;Add your opinion&lt;/A&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=Article_Posts align=left colSpan=2&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width="100%" border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=content10 width="100%"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD class=Article_Content align=left colSpan=2&gt;
&lt;P&gt;&lt;BR&gt;With security on the minds of IT managers more than ever, some companies are addressing the issue even before applications are developed. Microsoft Corp. is delivering technology, advice and best practices to enable developers to write more secure code. In an interview with eWEEK Senior Editor Darryl K. Taft, Rick Samona, product manager of .Net Framework and Developer Tools at the Redmond, Wash., company, discussed some of the things the software giant is doing to assist developers in creating more secure applications. 
&lt;P&gt;&lt;B&gt;What does the Microsoft tool set provide developers in terms of security?&lt;/B&gt;&lt;!--storyboxend7--&gt; 
&lt;P&gt;Developers require an innovative security architecture and features at both the application platform and programming tool levels. The .Net Framework and Visual Studio.Net provide developers with the necessary tools and information to write secure applications. Managed code and the .Net Framework make writing secure applications easier than ever before and help developers avoid one of the largest types of security breaches—buffer overruns. Furthermore, the .Net Framework contains added features like integrated garbage collection, the ability to do sandboxing, and several libraries such as Strsafe.h for safer string handling in C and Server.HTMLEncode to help prevent cross-site scripting. 
&lt;P&gt;Another thing that the Common Language Architecture [CLR, part of the .Net Framework] provides is evidence-based security, including strong names for assemblies. In .Net, all of the core libraries shipped by Microsoft are signed and strongly named. 
&lt;P&gt;One area where we are ahead is in the ease of use in implementing WS-Security. WS-Security is a fairly involved family of specifications, and it is not trivial for a developer to properly apply it to a Web services app. With WSE [Web Services Enhancements] 2.0 and Visual Studio 2003, a developer can set up a secure Web service with a few clicks and menu selections through the easy-to-use wizard. In other tool kits this is a complex, error-prone process, involving many lines of hand-authored code. &lt;!-- start ziffimage //--&gt;
&lt;P&gt;Finally, Microsoft realizes that writing secure code is more than just about the tools—it is also about people and processes. Therefore, in addition to providing the security features in the tool set as described above, Microsoft is committed to providing organizations with information necessary to ensure relevant processes are in place. More information can be found on &lt;A href="http://www.microsoft.com/resources/practices/default.mspx"&gt;http://www.microsoft.com/resources/practices/default.mspx&lt;/A&gt;. Free advice on helping developers to write secure code and be found on &lt;A href="http://msdn.microsoft.com/security/"&gt;http://msdn.microsoft.com/security/&lt;/A&gt;. 
&lt;P&gt;&lt;B&gt;How much attention is typically paid to security at design time and initial stages of development? Does Microsoft plan to offer developers a mechanism to pay more attention to security earlier on in the development process?&lt;/B&gt; 
&lt;P&gt;Application security must occur throughout the entire design process. Unfortunately, many developers take security into consideration as an afterthought. Microsoft has started releasing information on our own internal best practices and plans to release more in the near future. We here at Microsoft have been in the software industry for quite some time now. Therefore, we believe in helping other organizations learn from both our security successes and challenges. 
&lt;P&gt;&lt;B&gt;In many instances additional security means some sort of performance hit. Would this necessarily be the case for apps where security has been part of the design process? How about for apps where extra precautions have been taken to error-proof the code? Does it take longer to build these kinds of apps?&lt;/B&gt; 
&lt;P&gt;Conventional wisdom says that increased security means decreased performance. In past cases this has been true. For instance, an important security feature, called code access security, has been optional in the Java VM because it caused a performance hit at runtime. However, with the advent of the .Net Framework, we introduced ways to make things like code access security a default feature without causing a significant performance hit. The .Net Framework can do most subscript checking during compilation using optimization algorithms, ensuring the application runs at a high performance level. There is also a preconceived assumption that added security means added lines of code. But we built the .Net Framework to actually reward increased security with fewer lines of code. The .Net Framework also provides several built-in security tools and libraries, such as System.Security.Cryptography, which contains innovative and vigorously tested cryptographic algorithms. Overall, we built the .Net Framework with security in mind; writing secure applications is easier than ever before and uses fewer resources than was previously possible. 
&lt;P&gt;A recent study by Gartner ["Security at the Application Level: Are You Ready?" September 2004] points out that the National Institute of Standards and Technology demonstrated in its 2002 study that removing security defects during code and unit tests can reduce the cost impact by an additional factor of between three and 20. Therefore, prioritizing security as a focus during the development phase can reduce stress on both yourself and your bottom line in the long run. 
&lt;P&gt;&lt;B&gt;Rather than addressing the design and coding phase, what other things or areas are there to delve into during the development process that could impact application security?&lt;/B&gt; 
&lt;P&gt;Every organization, small or large, must have a Security Design Lifecycle [SDL] in place to ensure security occurs at all relevant phases, not just at code review. In addition to having an SDL, organizations must provide their developers with the adequate training to write secure applications. A recent Microsoft study showed that 64 percent of developers are not confident in their ability to write secure applications. Developers should be required to attend relevant security training and become certified. Microsoft provides free training on &lt;A href="http://msdn.microsoft.com/security/"&gt;http://msdn.microsoft.com/security/&lt;/A&gt; and has two developer security certification courses [70-330 and 70-340] as part of the MCAD and MCSD certifications. We will be further adding to our security training and certification within the next 12 months. 
&lt;P&gt;&lt;B&gt;What's the status of PreFix and PreFast? Are they currently implemented in Microsoft tool sets?&lt;/B&gt; 
&lt;P&gt;Microsoft scans applications with PreFix and PreFast prior to shipping. We are pleased to say that PreFast will be included in Visual Studio 2005 to scan applications build in C++. Furthermore, the /GS switch used to recompile Windows XP SP2 will be defaulted to "on" to make the process of writing secure code more seamless. In addition to PreFast, FXCop will also be shipped with Visual Studio 2005 to scan managed code. Microsoft is committed to providing the developer community with the tool sets needed to write secure applications. 
&lt;P&gt;&lt;B&gt;Who tends to care about this stuff? Any particular markets/industries more than others?&lt;/B&gt; 
&lt;P&gt;Security should be of utmost priority in all markets and industries. Some industries take added measures to ensure their applications are secure. This includes governments all over the world and ISVs that create mission-critical applications. Microsoft Visual Studio 2003 and the .Net Framework provide the ease and functionality for every developer, from hobbyists and students in academia to Global 100 companies, to write secure applications. If you are not focused on security, chances are one of your competitors is. &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=348171" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/rsamona/archive/tags/Microsoft+Developer+Security/default.aspx">Microsoft Developer Security</category></item><item><title>Writing Secure Applications using Least Privileges</title><link>http://blogs.msdn.com/rsamona/archive/2005/01/06/348168.aspx</link><pubDate>Fri, 07 Jan 2005 06:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:348168</guid><dc:creator>rsamona</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/rsamona/comments/348168.aspx</comments><wfw:commentRss>http://blogs.msdn.com/rsamona/commentrss.aspx?PostID=348168</wfw:commentRss><description>&lt;DIV class=post&gt;
&lt;H2&gt;&lt;B&gt;&lt;U&gt;&lt;FONT size=3&gt;Microsoft Recommended Best Practice&lt;/FONT&gt;&lt;/H2&gt;&lt;/B&gt;&lt;/U&gt;
&lt;P&gt;Microsoft encourages that as a best practice developers write their applications to execute with the least privileges to get the job done. The reason for doing this is quite simple – if an attacker creates a security vulnerability and it penetrates your system, whether it be a Trojan horse or virus, this code will run at the same privileges as the compromised process. In &lt;I&gt;Writing Secure Code, Second Edition&lt;/I&gt;, Michael Howard states that "&lt;I&gt;I haven’t been [using an admin account] for over three years, and everything works fine. I write code, I debug code, I send e-mail, I sync with my Pocket PC…" &lt;/I&gt;Microsoft has been working on several things to make writing least privilege applications as easy and streamlined as possible.&lt;/P&gt;
&lt;P&gt;We recommend that before a developer creates an application, he/she should write down the resources it must access, special tasks it must perform, and the necessary permission settings. Many times the developer will notice that there is not need to create the application to need admin privileges.&lt;/P&gt;
&lt;P&gt;There are three main reasons for developers writing applications which require elevated privileges:&lt;/P&gt;
&lt;P&gt;1. An Access Control List (ACL) issue&lt;/P&gt;
&lt;P&gt;2. A privilege issue &lt;/P&gt;
&lt;P&gt;3. Using LSA Secrets&lt;/P&gt;
&lt;P&gt;Many times these can be avoided. More information can be found in "The Challenge of Least Privilege."&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;Windows XP&lt;/P&gt;&lt;I&gt;&lt;/B&gt;&lt;/I&gt;&lt;/U&gt;
&lt;P&gt;With Windows XP, Microsoft allows users to do something special when running an application that requires admin privileges. A user can use the &lt;I&gt;runas&lt;/I&gt; command or click on the shortcut for the application and check the Run as Different User option.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;Visual Studio 2005&lt;/P&gt;&lt;/B&gt;&lt;/U&gt;
&lt;P&gt;Visual Studio 2005 has evolved to make writing secure applications easier than before, including least privilege applications. VS 2005 allows developers to develop and debug applications as a least privilege account. So, for example, if a developer is writing an application that targets least privilege users, the developer can now developer and debug this application as a least privilege user himself. This makes developing the application much easier, because if the developer inadvertently writes the application in a way that requires higher privileges (i.e. write to the registry), then the application will not run since the current login is not an administrator. This was not the case before. This will be true for both unmanaged and managed code. &lt;/P&gt;
&lt;P&gt;Furthermore, VS 2005 will enable developers logged in as an administrator writing managed code to run the code in a sandbox using custom privileges. This is called Code Access Security and is provided by the .NET CLR. Let me give an example: &lt;/P&gt;
&lt;DIR&gt;
&lt;DIR&gt;
&lt;P&gt;Assume that a developer is logged in as an administrator and he/she is developing an ASP.NET application that launches calculator on the computer. This is obviously not something a developer should want an ASP.NET application to do. If the developer tests this, it will obviously run since it is running on the developer’s privileges. Currently, the only way to know if the application will run under least privilege is to post it on the website and run it. With CAS, the developer can select what privilege the application should run at and test it. So, for this ASP.NET application, the developer can select "Internet privileges," and when he/she tests the application, it won’t run. It will also highlight the chunk of code that has the issue in order to aid the developer to fix the problem.&lt;/P&gt;&lt;/DIR&gt;&lt;/DIR&gt;
&lt;P&gt;This will make the process of writing least privilege applications much more simplistic and streamlined.&lt;/P&gt;&lt;B&gt;&lt;U&gt;
&lt;P&gt;Longhorn&lt;/P&gt;&lt;/B&gt;&lt;/U&gt;
&lt;P&gt;Longhorn will introduce even more functionality for least privilege – the idea of Application and Deployment Manifests. Application Manifests will allow application developers the state what permissions their application requires to run properly. Deployment Manifests allows System Admins to indicate how much trust they have in an application. This is a high-level explanation of a powerful functionality which will work for both managed and unmanaged code.&lt;/P&gt;
&lt;P&gt;To simplify security both for admins and end-users, Longhorn will have only two levels of system access: least privilege and administrative. Developers will need to make a choice of how they want their applications to run and write the code accordingly. For example, developers will have to store the application state in the user profile, not in the Program files directory.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;Addition Resources&lt;/P&gt;&lt;/U&gt;
&lt;P&gt;The Challenge of Least Privilege&lt;/P&gt;&lt;/B&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncode/html/secure06112002.asp"&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncode/html/secure06112002.asp&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Security in Longhorn: Focus on Least Privilege&lt;/P&gt;&lt;/B&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnlong/html/leastprivlh.asp"&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnlong/html/leastprivlh.asp&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Chapter 1: The "Longhorn" Application Model&lt;/P&gt;&lt;/B&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnintlong/html/longhornch01.asp"&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnintlong/html/longhornch01.asp&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Michael Howard and David LeBlanc&lt;/P&gt;&lt;/B&gt;&lt;I&gt;
&lt;P&gt;Writing Secure Code, Second Edition,&lt;/I&gt; pages 60-62&lt;/P&gt;
&lt;P class=postfoot&gt;posted on Wednesday, December 15, 2004 4:57 PM &lt;/P&gt;&lt;/DIV&gt;&lt;LINK href="/johnmont/Services/Pingback.aspx" rel=pingback&gt;&lt;!-- &lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"&gt; &lt;rdf:Description rdf:about="http://blogs.msdn.com/johnmont/archive/2004/12/15/316222.aspx" dc:identifier="http://blogs.msdn.com/johnmont/archive/2004/12/15/316222.aspx" dc:title="Writing Secure Code" trackback:ping="http://blogs.msdn.com/johnmont/services/trackbacks/316222.aspx" /&gt; &lt;/rdf:RDF&gt; --&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=348168" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/rsamona/archive/tags/Microsoft+Developer+Security/default.aspx">Microsoft Developer Security</category></item></channel></rss>