<?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>Eliot's Blog  : security</title><link>http://blogs.msdn.com/eliotgraff/archive/tags/security/default.aspx</link><description>Tags: security</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Developer Security Enhancements in Windows Vista SP1</title><link>http://blogs.msdn.com/eliotgraff/archive/2008/02/12/developer-security-enhancements-in-windows-vista-sp1.aspx</link><pubDate>Tue, 12 Feb 2008 23:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7653371</guid><dc:creator>Eliot</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/eliotgraff/comments/7653371.aspx</comments><wfw:commentRss>http://blogs.msdn.com/eliotgraff/commentrss.aspx?PostID=7653371</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 140%"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; LINE-HEIGHT: 140%; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;This comes via &lt;SPAN lang=EN style="mso-ansi-language: EN"&gt;&lt;A href="http://blogs.msdn.com/michael_howard/default.aspx"&gt;&lt;SPAN style="COLOR: windowtext"&gt;&lt;FONT face=Calibri size=3&gt;Michael Howard's Web Log&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;. Take a look at the full post, but here are some salient bits.&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 140%"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; LINE-HEIGHT: 140%; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;/SPAN&gt;&lt;/B&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; LINE-HEIGHT: 140%; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;
&lt;P class=MsoNormal style="MARGIN: 12pt 0in 3pt"&gt;&lt;SPAN style="mso-bidi-font-weight: bold"&gt;&lt;A href="http://go.microsoft.com/?linkid=8278579"&gt;&lt;SPAN style="COLOR: windowtext"&gt;&lt;FONT face=Calibri size=3&gt;New NX APIs added to Windows Vista SP1, Windows XP SP3 and Windows Server 2008&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 140%"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;In the interests of helping secure the platform, we want more people to opt-in to using Data Execution Prevention (aka DEP aka NX), and we have lowered the barrier to entry for application developers in Windows Vista SP1, Windows XP SP3 and Windows Server 2008.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;We've added some new APIs that allow a developer to set DEP on their process at runtime rather than using linker options. The new APIs also give developers some more flexibility if your application uses an older version of the Active Template Library (ATL.) &lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;...&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;
&lt;P&gt;The most important API added is &lt;A class="" href="http://msdn2.microsoft.com/en-us/library/bb736299(VS.85).aspx" mce_href="http://msdn2.microsoft.com/en-us/library/bb736299(VS.85).aspx"&gt;SetProcessDEPPolicy&lt;/A&gt;,&amp;nbsp;which sets the DEP policy for the running process. You would normally use this function pretty early in main.&lt;/P&gt;
&lt;P&gt;The function takes only one argument: the policy setting. The possible values are:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;0x00000000&lt;/STRONG&gt; Turn off DEP for this process (Why are you doing this?) 
&lt;LI&gt;&lt;STRONG&gt;PROCESS_DEP_ENABLE &lt;/STRONG&gt;Enable DEP for the process. 
&lt;LI&gt;&lt;STRONG&gt;PROCESS_DEP_ENABLE | PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION&lt;/STRONG&gt; Enable DEP for the process, and disallow ATL thunks.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The last option is the killer argument - if you build an application that hosts components that might not be DEP compatible because they were built using an older version of ATL, you can still use DEP for your process. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7653371" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/eliotgraff/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.msdn.com/eliotgraff/archive/tags/SDK/default.aspx">SDK</category><category domain="http://blogs.msdn.com/eliotgraff/archive/tags/developer/default.aspx">developer</category><category domain="http://blogs.msdn.com/eliotgraff/archive/tags/security/default.aspx">security</category></item></channel></rss>