<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Vista</title>
        <link>http://geekswithblogs.net/sdorman/category/4831.aspx</link>
        <description>Topics related to Windows Vista.
</description>
        <language>en-US</language>
        <copyright>Scott Dorman</copyright>
        <managingEditor>sj_dorman@hotmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <creativeCommons:license>http://creativecommons.org/licenses/by/3.0/us/</creativeCommons:license>
        <item>
            <title>Microsoft Fix it Solution for Disappearing System Tray Icons on Windows Vista</title>
            <link>http://geekswithblogs.net/sdorman/archive/2009/04/06/microsoft-fix-it-solution-for-disappearing-system-tray-icons-on.aspx</link>
            <description>&lt;p&gt;About two years ago I &lt;a href="http://geekswithblogs.net/sdorman/archive/2007/12/31/disappearing-system-tray-icons-on-windows-vista.aspx" target="_blank"&gt;talked&lt;/a&gt; about a very common problem in Windows Vista where the network, volume, and power icons in the system tray disappear. In that post, I provide a solution which involves editing the registry. Several people posted comments that provide slightly more automated ways to make the registry changes through a batch/command file and through a registry file.&lt;/p&gt;  &lt;p&gt;Jump ahead to today and Microsoft has a &lt;a href="http://support.microsoft.com/kb/945011"&gt;Fix it solution&lt;/a&gt; for this problem.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://go.microsoft.com/?linkid=9646677"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Fix this problem" border="0" alt="Fix this problem" src="http://geekswithblogs.net/images/geekswithblogs_net/sdorman/WindowsLiveWriter/MicrosoftFixitSolutionforDisappearingSys_8C4F/image_3.png" width="140" height="56" /&gt;&lt;/a&gt; &lt;a href="http://support.microsoft.com/kb/945011"&gt;Fix this problem&lt;/a&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c444de52-605d-425d-9eef-0f13d350c406" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Fix+it" rel="tag"&gt;Fix it&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Vista" rel="tag"&gt;Vista&lt;/a&gt;,&lt;a href="http://technorati.com/tags/System+Tray+icons" rel="tag"&gt;System Tray icons&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=130775"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=130775" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/sdorman/aggbug/130775.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Dorman</dc:creator>
            <guid>http://geekswithblogs.net/sdorman/archive/2009/04/06/microsoft-fix-it-solution-for-disappearing-system-tray-icons-on.aspx</guid>
            <pubDate>Mon, 06 Apr 2009 15:07:34 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/sdorman/comments/130775.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/sdorman/archive/2009/04/06/microsoft-fix-it-solution-for-disappearing-system-tray-icons-on.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/sdorman/comments/commentRss/130775.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/sdorman/services/trackbacks/130775.aspx</trackback:ping>
        </item>
        <item>
            <title>Windows Vista Service Pack 2</title>
            <link>http://geekswithblogs.net/sdorman/archive/2008/12/05/windows-vista-service-pack-2.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/sdorman/WindowsLiveWriter/WindowsVistaServicePack2_14F9A/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/sdorman/WindowsLiveWriter/WindowsVistaServicePack2_14F9A/image_thumb.png" width="554" height="212" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Windows Vista Service Pack 2 Beta is now available for public download on &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/windows/dd262148.aspx"&gt;MSDN&lt;/a&gt; and &lt;a target="_blank" href="http://technet.microsoft.com/en-us/windows/dd262148.aspx"&gt;TechNet&lt;/a&gt;. This is a combined update for Windows Server 2008 and Windows Vista Service Pack 1. This will be the first service pack for Windows Server 2008 since it shipped and includes a lot of performance improvements for WS08.&lt;/p&gt;  &lt;p&gt;Did you notice that I specifically said Windows Vista &lt;strong&gt;Service Pack 1&lt;/strong&gt;? That’s correct, if you want to install this service pack on Vista, you must first have SP1 installed.&lt;/p&gt;  &lt;p&gt;That means that SP2 is an incremental service pack, which is a significant change from past service pack releases. According to Microsoft, &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;There were a number of reasons we did this, the primary one is that the size of the standalone package for SP1 was so large. There were a lot of customer concerns around the size of SP1. Adding the SP2 contents would have made it even larger (certainly it can't shrink if it's cumulative).&lt;/p&gt;    &lt;p&gt;Another reason is that because now that Vista SP1 and Server 2008 are synced-up, having the entire contents of the SP1 client code in the first service pack for the Server would have meant carrying a lot of extra size for the Server deployments. Vista and Server 2008 are the same binaries for all common files, having two separate service packs would have doubled the testing and time until release. (John Gray, Live Chat on Vista SP2, November 19, 2008)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;After installing the service pack, you won’t immediately notice any differences. Most of the differences are more fundamental such as:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Support for Bluetooth 2.1&lt;/li&gt;    &lt;li&gt;Ability to record data on Blu-Ray media&lt;/li&gt;    &lt;li&gt;Windows Connect Now (WCN) Wi-Fi Configuration&lt;/li&gt;    &lt;li&gt;Windows Search 4&lt;/li&gt;    &lt;li&gt;Hyper-V (WS08 only)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;There are some other &lt;a target="_blank" href="http://technet.microsoft.com/en-us/library/dd335036.aspx?ITPID=sprblog"&gt;significant changes&lt;/a&gt; as well, such as an easier upgrade and migration experience to &lt;a target="_blank" href="http://blogs.technet.com/springboard/archive/2008/10/28/live-from-pdc-2008-a-first-look-at-windows-7.aspx"&gt;Windows 7&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The upgrade process using Windows Update was relatively painless and so far, everything is working exactly as it should. &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:be5fc4e4-25f6-457c-8b97-50d7b2dd949a" class="wlWriterSmartContent"&gt;&lt;i&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Vista" rel="tag"&gt;Vista&lt;/a&gt;, &lt;a href="http://technorati.com/tags/SP2" rel="tag"&gt;SP2&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:left; margin:0px; padding:4px 4px 4px 4px;"&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://geekswithblogs.net/sdorman/archive/2008/12/05/windows-vista-service-pack-2.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://geekswithblogs.net/sdorman/archive/2008/12/05/windows-vista-service-pack-2.aspx&amp;amp;bgcolor=0080C0&amp;amp;fgcolor=FFFFFF&amp;amp;border=000000&amp;amp;cbgcolor=D4E1ED&amp;amp;cfgcolor=000000" alt="DotNetKicks Image" border="0/" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127593"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127593" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/sdorman/aggbug/127593.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Dorman</dc:creator>
            <guid>http://geekswithblogs.net/sdorman/archive/2008/12/05/windows-vista-service-pack-2.aspx</guid>
            <pubDate>Fri, 05 Dec 2008 06:21:21 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/sdorman/comments/127593.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/sdorman/archive/2008/12/05/windows-vista-service-pack-2.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/sdorman/comments/commentRss/127593.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/sdorman/services/trackbacks/127593.aspx</trackback:ping>
        </item>
        <item>
            <title>Windows Vista UX Guidelines and Visual Studio</title>
            <link>http://geekswithblogs.net/sdorman/archive/2008/07/25/windows-vista-ux-guidelines-and-visual-studio.aspx</link>
            <description>&lt;p&gt;Whether you like Vista or not, the user interface aspects of the operating system are here to stay. Overall, I think Microsoft did a good job with the core interface guidelines, as presented in the &lt;a href="http://msdn.microsoft.com/library/aa511258.aspx"&gt;Windows Vista User Experience Guidelines&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;From the guidelines, &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The goals for these official Windows Vista® User Experience Guidelines (or "UX Guide" for short) are to:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Establish a high quality and consistency baseline for all Windows Vista-based applications. &lt;/li&gt;      &lt;li&gt;Answer your specific user experience questions. &lt;/li&gt;      &lt;li&gt;Make your job easier! &lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The UX Guide is one of the most comprehensive UI guidelines I’ve seen published from Microsoft since the Windows 3.1 UI Guidelines book.&lt;/p&gt;  &lt;p&gt;The problem is that the Visual Studio Windows Forms designer doesn’t follow all of the guidelines, specifically the &lt;a href="http://msdn.microsoft.com/en-us/library/aa511279.aspx#sizingspacing " target="_blank"&gt;layout guidelines&lt;/a&gt;. There is a bug entered at &lt;a href="https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=357125" target="_blank"&gt;Microsoft Connect&lt;/a&gt; about this issue, but after 4 days Microsoft closed the issue saying it won’t be fixed because it’s too big of a change to the .NET Framework.&lt;/p&gt;  &lt;p&gt;The problem with that is that this issue has absolutely nothing to do with the .NET Framework. It is purely an issue that exists within the Visual Studio Windows Forms designer. By not fixing this issue, Microsoft is making it virtually impossible for developers to create applications that run on Vista which also follow the Vista UX Guidelines...at least using Visual Studio. &lt;/p&gt;  &lt;p&gt;As I have mentioned &lt;a href="http://geekswithblogs.net/sdorman/archive/2008/07/13/microsoft-and-monetizing-developer-products.aspx"&gt;previously&lt;/a&gt;, there was a time when Microsoft was primarily concerned with creating solid developer tools and ensuring that developers were able to create applications that followed all of their UX guidelines for the current operating system. By not continuing this trend, Microsoft is sending mixed signals to the developer community…you should follow the Vista UX Guidelines but you can’t use Visual Studio to do it.&lt;/p&gt;  &lt;p&gt;Discussing this in the forums isn't really going to be of much help as there really is no workaround to resolve this issue and there really isn't much to discuss about it anyway...the Windows Forms designer simply doesn't follow the new UX Guidelines.&lt;/p&gt;  &lt;p&gt;Be sure to &lt;a href="https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=357125" target="_blank"&gt;vote on this issue&lt;/a&gt; so Microsoft continues to be aware of the problem and how the developer community see it.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124019"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124019" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/sdorman/aggbug/124019.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Dorman</dc:creator>
            <guid>http://geekswithblogs.net/sdorman/archive/2008/07/25/windows-vista-ux-guidelines-and-visual-studio.aspx</guid>
            <pubDate>Fri, 25 Jul 2008 14:50:23 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/sdorman/comments/124019.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/sdorman/archive/2008/07/25/windows-vista-ux-guidelines-and-visual-studio.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/sdorman/comments/commentRss/124019.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/sdorman/services/trackbacks/124019.aspx</trackback:ping>
        </item>
        <item>
            <title>Code Signing</title>
            <link>http://geekswithblogs.net/sdorman/archive/2008/02/29/code-signing.aspx</link>
            <description>&lt;p&gt;Ever since the .NET Framework was first release, Microsoft has always recommended that your code be signed. Windows Vista drives this point home even more with UAC and the Windows Error Reporting (WER) features, not to mention the fact that it's a requirement for Vista logo certification. John Robbins from Wintellect provides an excellent &lt;a href="http://www.wintellect.com/cs/blogs/jrobbins/archive/2007/12/21/code-signing-it-s-cheaper-and-easier-than-you-thought.aspx" target="_blank"&gt;explanation&lt;/a&gt; of how to sign your code. As it turns out, it's a lot easier than many of you may have thought.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=120107"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=120107" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/sdorman/aggbug/120107.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Dorman</dc:creator>
            <guid>http://geekswithblogs.net/sdorman/archive/2008/02/29/code-signing.aspx</guid>
            <pubDate>Sat, 01 Mar 2008 03:59:10 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/sdorman/comments/120107.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/sdorman/archive/2008/02/29/code-signing.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/sdorman/comments/commentRss/120107.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/sdorman/services/trackbacks/120107.aspx</trackback:ping>
        </item>
        <item>
            <title>Windows Vista User Experience (UX) Guidelines</title>
            <link>http://geekswithblogs.net/sdorman/archive/2007/10/25/Windows-Vista-User-Experience-UX-Guidelines.aspx</link>
            <description>&lt;p&gt;The &lt;a href="http://msdn2.microsoft.com/en-us/library/aa511258.aspx" target="_blank"&gt;Windows Vista UX Guide&lt;/a&gt; is probably the most comprehensive UX guide that Microsoft has published. The big drawback has been that it was only available online through MSDN. Fortunately, as of today, the UX Guide is now available as a &lt;a href="http://download.microsoft.com/download/e/1/9/e191fd8c-bce8-4dba-a9d5-2d4e3f3ec1d3/ux%20guide.pdf" target="_blank"&gt;PDF&lt;/a&gt; document so you can read all 627 pages of it offline.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=116348"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=116348" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/sdorman/aggbug/116348.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Dorman</dc:creator>
            <guid>http://geekswithblogs.net/sdorman/archive/2007/10/25/Windows-Vista-User-Experience-UX-Guidelines.aspx</guid>
            <pubDate>Fri, 26 Oct 2007 00:27:31 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/sdorman/comments/116348.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/sdorman/archive/2007/10/25/Windows-Vista-User-Experience-UX-Guidelines.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/sdorman/comments/commentRss/116348.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/sdorman/services/trackbacks/116348.aspx</trackback:ping>
        </item>
        <item>
            <title>Windows Vista Application Compatability Labs</title>
            <link>http://geekswithblogs.net/sdorman/archive/2007/05/24/Windows-Vista-Application-Compatability-Labs.aspx</link>
            <description>&lt;p&gt;&lt;img style="margin: 0px 5px 0px 0px" alt="Windows Vista" src="http://www.microsoft.com/library/media/1033/windows/images/products/windowsvista/quick_vista.gif" border="0" /&gt;I won't be able to attend these labs as I have other schedule conflicts, but the Windows Vista team is providing two training labs at Tech·Ed 2007. Both labs are free for Tech·Ed attendees, but you must register to reserve your spot.&lt;/p&gt; &lt;p&gt;The first lab is an Instructor led Lab in Room S331-C and is broken up into two 90 minute parts. Part 1 takes an in-depth look at the most common application compatability issues and the ramifications of the new security enhancements in Windows Vista. This covers topics such as User Account Control (UAC), running as Standard User, accessing Administrative Rights, and Administrators running as Standard User. Part 2 is a walk-through of the tools commonly used to diagnose, analyze, and mitigate application compatability issues and covers Application Compatability Toolkit (ACT) 5.0, Standard User Analyzer (SUA), shim infrastructure, and Compatability Administrator.&lt;/p&gt; &lt;p&gt;The second lab is in Room S329, and is the Windows Application Compatability Lab - "Bring Your Own Apps". Microsoft held this lab at last year's Tech·Ed and was very popular. The lab is designed to help you test your application on Windows Vista with the hands-on help of Microsoft Consultants and Engineers. Bring your own applications that are blocked and get Microsoft's help to diagnose the issue, file bugs, and mitigate the blocking issues when possible. &lt;strong&gt;Space is very limited for this lab, so you will be served in the order you registered. You must bring your own application with you to test.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112715"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112715" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/sdorman/aggbug/112715.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Dorman</dc:creator>
            <guid>http://geekswithblogs.net/sdorman/archive/2007/05/24/Windows-Vista-Application-Compatability-Labs.aspx</guid>
            <pubDate>Thu, 24 May 2007 17:01:25 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/sdorman/comments/112715.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/sdorman/archive/2007/05/24/Windows-Vista-Application-Compatability-Labs.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/sdorman/comments/commentRss/112715.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/sdorman/services/trackbacks/112715.aspx</trackback:ping>
        </item>
        <item>
            <title>Vista Goes Gold!</title>
            <link>http://geekswithblogs.net/sdorman/archive/2006/11/08/96556.aspx</link>
            <description>&lt;p&gt;Earlier today Microsoft &lt;a title="Windows Vista Home Page" href="http://www.microsoft.com/windowsvista/" target="_blank"&gt;announced&lt;/a&gt; that Vista is finally complete, after over 5 years of work. Expect to see it hit the consumer and small-business market by the end of January 2007. Large companies will have access to it by the end of the month.&lt;/p&gt; &lt;p&gt;For more details, read the full PC Magazine &lt;a title="PC Magazine Special Report: Vista Goes Gold: Inside Microsoft Windows Vista Ultimate Edition" href="http://www.pcmag.com/article2/0,1895,2054210,00.asp" target="_blank"&gt;article&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=96556"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=96556" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/sdorman/aggbug/96556.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Dorman</dc:creator>
            <guid>http://geekswithblogs.net/sdorman/archive/2006/11/08/96556.aspx</guid>
            <pubDate>Thu, 09 Nov 2006 00:08:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/sdorman/comments/96556.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/sdorman/archive/2006/11/08/96556.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/sdorman/comments/commentRss/96556.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/sdorman/services/trackbacks/96556.aspx</trackback:ping>
        </item>
        <item>
            <title>PatchGuard, the eWEEK opinion</title>
            <link>http://geekswithblogs.net/sdorman/archive/2006/11/02/95937.aspx</link>
            <description>&lt;p&gt;eWEEK Security Center Editor &lt;a title="eWEEK - Author Bio" href="http://www.eweek.com/author_bio/0,1908,a=2299,00.asp" target="_blank"&gt;Larry Seltzer&lt;/a&gt; just published an &lt;a title="What PatchGuard Really Breaks" href="http://www.eweek.com/article2/0,1895,2049960,00.asp" target="_blank"&gt;article&lt;/a&gt; on eWEEK.com providing his opinion on the benefits, and limitations, of PatchGuard.&lt;/p&gt; &lt;p&gt;In the article, Larry reiterates some of the points I made in my &lt;a title="Kernel Patch Protection aka &amp;quot;PatchGuard&amp;quot;" href="http://geekswithblogs.net/sdorman/archive/2006/10/30/95540.aspx" target="_blank"&gt;post&lt;/a&gt; on PatchGuard a few days ago, namely:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;i&gt;Only 64-bit Windows versions are affected by PatchGuard.&lt;/i&gt;&lt;/li&gt; &lt;li&gt;&lt;i&gt;64-bit Windows versions, especially desktop versions, have puny market share.&lt;/i&gt;&lt;/li&gt; &lt;li&gt;&lt;i&gt;The problems are limited to what can generally be called HIPS (Host Intrusion Prevention Systems).&lt;/i&gt;&lt;/li&gt; &lt;li&gt;&lt;i&gt;Conventional security protection is unaffected by PatchGuard.&lt;/i&gt;&lt;/li&gt; &lt;li&gt;&lt;i&gt;There is no documented, supported way for vendors to implement key HIPS functions in the face of PatchGuard.&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;As Larry mentions, HIPS primarily focuses on behavior blocking. In order to do that, it needs the ability to monitor certain kernel information such as the creation and manipulation of processes, image loading, and the creation of movement of memory.&lt;/p&gt; &lt;p&gt;The important thing to realize here is that most of the current security products (with the exception of those that are only HIPS products or that include HIPS features, which won't work on 64-bit Windows) will work just fine as they shouldn't be using anything that triggers interference from PatchGuard.&lt;/p&gt; &lt;p&gt;Yes, the security vendors that rely on HIPS do run in to the proverbial "brick wall" with PatchGuard. However, by removing the restrictions put in place by PatchGuard we are creating an inherently less secure environment. As I mentioned in my earlier post, one of the primary goals of PatchGuard is to ensure the integrity and security of the kernel.&lt;/p&gt; &lt;p&gt;The reality of the story is that as Microsoft is working to make Windows more secure by restricting the amount of access to kernel, the security industry publicly says "great" but internally cringes as it directly impacts their business. The unfortunate truth of this is that while some vendors are working to create products that &lt;a title="Microsoft Decries Vista PatchGuard Hack" href="http://www.eweek.com/article2/0,1895,2037052,00.asp" target="_blank"&gt;circumvent PatchGuard&lt;/a&gt; (essentially hacking their way in to the kernel) they are giving credibility to the hacker community and proving in no uncertain terms that PatchGuard is vulnerable.&lt;/p&gt; &lt;p&gt;The fact that PatchGuard is vulnerable should not come as a surprise. It is virtually impossible to write an operating system that is actually usable and not have some level of vulnerabilities. According to &lt;a title="CERT/CC Statistics" href="http://www.cert.org/stats/" target="_blank"&gt;CERT&lt;/a&gt;, for this year alone (Q1-Q3) there have been 5,340 vulnerabilities reported. Compare this to 345 reported 10 years ago.&lt;/p&gt; &lt;p&gt;All this is telling us is that as the complexity in operating systems and applications increases, so does the number of vulnerabilities. As the malware vendors have almost limitless amounts of time and resources to create malware, this trend will only increase (at least for the foreseeable future).&lt;/p&gt; &lt;p&gt;The longer we draw out debates over issues like PatchGuard, the longer it will take to create a more secure operating system. As a whole, the security industry has played catch-up to the malware industry. Rather than about the fact that legitimate security vendors are being "locked out" of hacking the kernel, we need to realize that while the legitimate vendors are being locked out, so also are the malware vendors. Rather than finding ways to circumvent PatchGuard, the industry needs to be finding ways to strengthen it.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=95937"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=95937" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/sdorman/aggbug/95937.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Dorman</dc:creator>
            <guid>http://geekswithblogs.net/sdorman/archive/2006/11/02/95937.aspx</guid>
            <pubDate>Thu, 02 Nov 2006 21:44:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/sdorman/comments/95937.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/sdorman/archive/2006/11/02/95937.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/sdorman/comments/commentRss/95937.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/sdorman/services/trackbacks/95937.aspx</trackback:ping>
        </item>
        <item>
            <title>Kernel Patch Protection aka &amp;quot;PatchGuard&amp;quot;</title>
            <link>http://geekswithblogs.net/sdorman/archive/2006/10/30/95540.aspx</link>
            <description>&lt;p&gt;If anyone has been following this technology closely, there have been a lot of complaints by some of the security vendors regarding PatchGuard. I first heard about this technology at TechEd 2006 in a lot of the Vista sessions.&lt;/p&gt; &lt;p&gt;The recent controversy caused me to do a little more research in to this technology and the issues surrounding it.&lt;/p&gt; &lt;p&gt;The official name for this technology is called Kernel Patch Protection (KPP) and it's purpose is to increase the security and stability of the Windows kernel. KPP was first supported in Windows Server 2003 SP1, Windows XP, and Windows XP Professional Edition. The important thing to understand about this support is that it is for &lt;em&gt;&lt;font color="#ff0000"&gt;x64 architectures only&lt;/font&gt;&lt;/em&gt;. &lt;/p&gt; &lt;p&gt;KPP is a direct outgrowth of both customer complaints regarding the security and stability of the Windows kernel and Microsoft's &lt;a title="Wired News: Bill Gates: Trustworthy Computing" href="http://www.wired.com/news/business/0,1367,49826,00.html" target="_blank"&gt;Trustworthy Computing&lt;/a&gt; initiative, announced in early 2002. &lt;/p&gt; &lt;p&gt;In order to understand the controversy surrounding KPP, it is important to understand what KPP actually is and what aspects of the Windows operating system it deals with.&lt;/p&gt; &lt;h3&gt;What is the Kernel?&lt;/h3&gt; &lt;p&gt;The kernel is the "heart" of the operating system and is one of the first pieces of code to load when the operating system starts. Everything in Windows (and almost any operating system, for that matter) runs on a layer that sits on top of the kernel. This makes the kernel the primary factor in the performance, reliability and security of the entire operating system.&lt;/p&gt; &lt;p&gt;Since all other programs and many portions of the operating system itself depend on the kernel, any problems in the kernel can make those programs crash or behave in unexpected ways. The "Blue Screen of Death" (BSoD) in Windows is the result of an error in the kernel or a kernel mode driver that is so severe that the system can't recover.&lt;/p&gt; &lt;h3&gt;What is Kernel Patching?&lt;/h3&gt; &lt;p&gt;According to Microsoft's &lt;a title="Kernel Patch Protection: Frequently Asked Questions" href="http://www.microsoft.com/whdc/driver/kernel/64bitpatch_FAQ.mspx" target="_blank"&gt;KPP FAQ&lt;/a&gt;, kernel patching (also known as kernel "hooking") is&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;the practice of using internal system calls and other unsupported mechanisms to modify or replace code or critical structures in the kernel of the Microsoft Windows operating system with unknown code or data. "Unknown code or data" is any code or data that is not provided by Microsoft as part of the Windows kernel.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;What exactly, does that mean? The most common scenario is for programs to patch the kernel by changing a function pointer in the system service table (SST). The SST is an array of function pointers to in-memory system services. For example, if the function pointer to the NtCreateProcess method is changed, anytime the service dispatch invokes NtCreateProcess, it is actually running the third-party code instead of the kernel code. While the third-party code might be attempting to provide a valid extension to the kernel functionality, it could also be malicious.&lt;/p&gt; &lt;p&gt;Even though almost all of the Windows kernels have allowed kernel patching, it has always been an officially unsupported activity.&lt;/p&gt; &lt;p&gt;Kernel patching breaks the integrity of the Windows kernel and can introduce problems in three critical areas:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Reliability&lt;/strong&gt;&lt;br&gt;Since patching replaces kernel code with third-party code, this code can be untested. There is no way for the kernel to assess the quality of intent of this new code. Beyond that, kernel code is very complex, so bugs of any sort can have a significant impact on system stability.&lt;br&gt;&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;br&gt;The overall performance of the operating system is largely determined by the performance of the kernel. Poorly designed third-party code can cause significant performance issues and can make performance unpredictable.&lt;br&gt;&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Security&lt;/strong&gt;&lt;br&gt;Since patching replaces known kernel code with potentially unknown third-party code, the intent of that third-party code is also unknown. This becomes a potential attack surface for malicious code.&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Why Kernel Patch Protection?&lt;/h3&gt; &lt;p&gt;As I mentioned earlier, the primary purpose of KPP is to protect the integrity of the kernel and improve the reliability, performance, and security of the Windows operating systems. This is becoming increasingly more important with the prevalence of malicious software that is implementing "root kits". A root kit is a specific type of malicious software (although it is usually included as&amp;nbsp;a part of&amp;nbsp;another,&amp;nbsp;larger, piece of&amp;nbsp;software) that uses a variety of techniques to gain access to a computer. Increasingly, root kits are becoming more sophisticated and are attacking the kernel itself. If the rootkit can gain access to the kernel, it can actually hide itself from the file system and even from any anti-malware tools. Root kits are typically used by malicious software, however, they have also been used by large legitimate businesses, including &lt;a title="Wired News: Real Story of the Rogue Rootkit" href="http://www.wired.com/news/privacy/0,1848,69601,00.html" target="_blank"&gt;Sony&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;While KPP is a good first step at preventing such attacks, it is not a "magic bullet". It does eliminate one way to attack the system...patching kernel images to manipulate kernel functionality. KPP takes the approach that there is no reliable way for the operating system to distinguish between "known good" and "known bad" components, so it prevents anything from patching the kernel. The only official way to disable KPP is by attaching a kernel debugger to the system.&lt;/p&gt; &lt;p&gt;KPP monitors certain key resources used by the kernel to determine if they have been modified. If the operating system detects that one of these resources has been modified it generates a "bug check", which is essentially a BSoD, and shuts down the system. Currently the following actions trigger this behavior:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Modifying system service tables.&lt;/li&gt; &lt;li&gt;Modifying the interpret descriptor table (IDT).&lt;/li&gt; &lt;li&gt;Modifying the global descriptor table (GDT).&lt;/li&gt; &lt;li&gt;Using kernel stacks that are not allocated by the kernel.&lt;/li&gt; &lt;li&gt;Patching any part of the kernel. This is currently detected only on AMD64-based systems.&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Why x64?&lt;/h3&gt; &lt;p&gt;At this point, you may begin to wonder why Microsoft chose to implement this on x64 based systems only. Microsoft is again responding to customer complaints in this decision. Implementing KPP will almost certainly impact comparability of many legitimate software, primarily security software such as anti-virus and anti-malware tools, which were built using unsupported kernel patching techniques. This would cause a huge impact on the consumer and also on Microsoft's partners. Since x64-based machines still make up the smaller install base (although they are gaining ground rapidly) and the majority of x64-based software has been rewritten to take advantage of the newer architecture, the impact is considered to be substantially smaller. &lt;/p&gt; &lt;h3&gt;So...why the controversy?&lt;/h3&gt; &lt;p&gt;Since KPP prevents an application or driver from modifying the kernel, it will, effectively, prevent that application or driver from running.&amp;nbsp;KPP in &lt;a title="Digital Signatures for Kernel Modules on x64-based Systems Running Windows Vista" href="http://www.microsoft.com/whdc/system/platform/64bit/kmsigning.mspx" target="_blank"&gt;Vista x64&lt;/a&gt; requires any application drivers be digitally signed, although there are some non-intuitive ways to turn that off. (Turning off signed drivers does prevent certain other aspects of Windows from operating, such as being able to view DRM protected media.) However, all that really means is anyone with a legitimately created company and about $500 per year to spend can get the required digital signature from &lt;a title="Code Signing Digital IDs - Features &amp;amp; Benefits" href="http://www.verisign.com/products-services/security-services/code-signing/digital-ids-code-signing/features-benefits.html" target="_blank"&gt;VeriSign&lt;/a&gt;. Unfortunately, even it is a reputable company, it still doesn't provide any guarantees as to the reliability, performance, and security of the kernel.&lt;/p&gt; &lt;p&gt;In order for software (or drivers) to work properly on an operating system that implements KPP, the software must use Microsoft-documented interfaces. If what you are trying to do doesn't have such an interface, then you cannot safely use that functionality. This is what has lead to the controversy. The security vendors are saying that the interfaces they require are not publicly documented by Microsoft (or not yet at any rate) but that Microsoft's own security offerings (Windows OneCare, Windows Defender, and&amp;nbsp;Windows Firewall) are able to work properly and use undocumented interfaces. The security vendors want to "level the playing field".&lt;/p&gt; &lt;p&gt;There are many arguments on both sides of the issue, but it seems that many of them are not thought out completely. Symantec and McAfee have argued that the legitimate security vendors be granted exceptions to KPP using some sort of signing process. (See the &lt;a title="Microsoft Stands Frim on PatchGuard - Technology News by TechWeb" href="http://www.techweb.com/showArticle.jhtml?articleID=193300261&amp;amp;cid=RSSfeed_TechWeb" target="_blank"&gt;TechWeb article&lt;/a&gt;.) However, this is fraught with potential problems. As I mentioned earlier, there is currently no reliable way to verify that code is actually from a "known good" source. The closest we can come to that is by digital signing, however, a piece of malicious code can simply include enough pieces from a legitimate "known good" source and hook into the exception.&lt;/p&gt; &lt;p&gt;So lets say, for arguments sake, that Microsoft does relent and is able to come up with some sort of exception mechanism that minimizes (or even removes) the chance of abuse. What happens next? Windows Vista, in particular, already includes an array of new features to provide security vendors ways to work within the&amp;nbsp;KPP guidelines. &lt;/p&gt; &lt;p&gt;The &lt;a title="Windows Filtering Platform" href="http://www.microsoft.com/whdc/device/network/WFP.mspx" target="_blank"&gt;Windows Filtering Platform&lt;/a&gt;&amp;nbsp;(WFP) is one such example. WFP&amp;nbsp;enables software to perform network related activities, such as packet inspection and other firewall type activities. In addition to WFP, Vista implements an entirely new TCP stack. This new stack has some fundamentally different behavior than the existing TCP stack on Windows. We also have network cards that implement hardware based stacks to perform what is called "chimney offload", which effectively bypasses large portions of the software based TCP stack. Hooking the network related kernel functions (as a lot of software based firewalls currently do), will miss all of the traffic on a chimney offload based network card. However, hooking in to WFP will catch that traffic.&lt;/p&gt; &lt;p&gt;Should Microsoft stop making technological innovations in the Windows kernel simply because there are a handful of partners and other ISVs that are complaining? The important thing to realize is that KPP is not new in Windows Vista. It has been around since Windows XP 64-bit edition was released. Why is it now that the security vendors are realizing that their products don't work properly on the x64-based operating systems? The main point Microsoft is trying to get across is that most of the functionality required doesn't have to be done in the kernel. Microsoft has been working for the last few years trying to assist their security partners in making their solutions compatible. If there is an interface that isn't documented, or functionality that a vendor believes can only be accomplished by patching the kernel, they can contact their Microsoft representative or email &lt;a href="mailto:msra@microsoft.com"&gt;msra@microsoft.com&lt;/a&gt; for help finding a documented alternative. According to the &lt;a title="Kernel Patch Protection: Frequently Asked Questions" href="http://www.microsoft.com/whdc/driver/kernel/64bitpatch_FAQ.mspx" target="_blank"&gt;KPP FAQ&lt;/a&gt;, "if no documented alternative exists...the functionality will not be supported on the relevant Windows operating system version(s) that include patch protection support."&lt;/p&gt; &lt;p&gt;I think the larger controversy is the fact that there are now documented ways to break KPP. This is where Microsoft and it's security partners and other security ISVs should be spending their time and energy. If we are going to have a reliable and secure kernel, we need to focus on locking down the kernel so that no one is able to breach it, including the hackers. This is an almost endless process, as the attackers generally have almost infinite amounts of time to bring their "products" to market and don't really have an quality issues to worry about. Even with the recent introduction by Intel and AMD of hardware based virtualation technology (which essentially creates a virtual&amp;nbsp;mini-core processor that can run a specially created operating system), there is still a &lt;a title="Introducing Blue Pill" href="http://theinvisiblethings.blogspot.com/2006/06/introducing-blue-pill.html" target="_blank"&gt;long way to go&lt;/a&gt;.&lt;/p&gt; &lt;h3&gt;What's next?&lt;/h3&gt; &lt;p&gt;While it is important to understand the goals of KPP and the potential avenues of attack against it, the most important thing for the security community to focus on is in making sure that the Windows kernel stays safe. The best way to do this is to keep shrinking the attack surface until it is almost non-existent. There will always be an attack surface, however, the smaller that surface becomes the easier it is to protect. Imagine guarding a vault. If there is only one way in and out, and that entrance is only 2-feet wide it is much more easily guarded than a vault that has 2 entrances, each of which are 30-feet wide.&lt;/p&gt; &lt;p&gt;However, as malware technology advances it is important for the security technology that tries to protect against it to advance as well. In fact, the security technology really needs to be ahead of the malware if it is to be successful. PatchGuard has already been &lt;a title="Bypassing PatchGuard on Windows x64" href="http://uninformed.org/index.cgi?v=3&amp;amp;a=3" target="_blank"&gt;hacked&lt;/a&gt;, some of the proposed Microsoft APIs for KPP &lt;a title="McAfee, Microsoft Trade Insults Over Vista - Technology News by TechWeb" href="http://www.techweb.com/showArticle.jhtml;jsessionid=CZB20KNRYZ1X0QSNDLRSKH0CJUNN2JVN?articleID=193401077" target="_blank"&gt;won't be available until sometime in 2008&lt;/a&gt;, and the security vendors do have legitimate reasons for needing to access certain portions of the kernel.&lt;/p&gt; &lt;p&gt;Host Intrusion Prevention Systems (HIPS), for instance, uses kernel&amp;nbsp;access to prevent certain types of attacks, such has buffer overflow attacks or process injection attacks, by watching for system functions being called from memory locations where they shouldn't be called. The &lt;a title="Code Red Worm" href="http://www.ciac.org/ciac/bulletins/l-117.shtml" target="_blank"&gt;Code Red Worm&lt;/a&gt;&amp;nbsp;would not have been detected if only file-based protection systems were in use.&lt;/p&gt; &lt;p&gt;The bottom line is that the malware vendors are unpredictable and not bound by any legal, moral, or ethical constraints. They are also not bound by customer reviews, deadlines, and code quality. The security vendors and Microsoft need to work together to ensure that the attack surface for the kernel and Windows itself is small and stays small. They can do this by:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Establishing a&amp;nbsp;more reliable way to authenticate security vendors and their products that will prevent "spoofing" by the malware vendors.&lt;/li&gt; &lt;li&gt;Minimizing the attack surface of the Windows Kernel.&lt;/li&gt; &lt;li&gt;Establishing documented APIs to interact with the kernel to perform security related functions, such as firewall activities.&lt;/li&gt; &lt;li&gt;Enforcing driver signatures...in other words, don't allow this mechanism to be turned off. At least don't allow it to be turned off for certain security critical drivers.&lt;/li&gt; &lt;li&gt;Enforcing security software digital signatures. If you want your security tool to run, it must be signed. Again, don't allow this mechanism to be turned off.&lt;/li&gt; &lt;li&gt;Establishing a more secure way for the security products to hook in to the kernel.&lt;/li&gt; &lt;li&gt;Restricting products to patching only specific areas of the kernel. Currently, it is possible to &lt;a title="What Were They Thinking?" href="http://uninformed.org/index.cgi?v=4&amp;amp;a=4" target="_blank"&gt;patch almost any portion of the kernel&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;Enforcing Windows certification testing for any security products.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=95540"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=95540" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/sdorman/aggbug/95540.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Dorman</dc:creator>
            <guid>http://geekswithblogs.net/sdorman/archive/2006/10/30/95540.aspx</guid>
            <pubDate>Mon, 30 Oct 2006 22:06:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/sdorman/comments/95540.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/sdorman/archive/2006/10/30/95540.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/sdorman/comments/commentRss/95540.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/sdorman/services/trackbacks/95540.aspx</trackback:ping>
        </item>
        <item>
            <title>BitLocker™ - The dirty details</title>
            <link>http://geekswithblogs.net/sdorman/archive/2006/07/04/84045.aspx</link>
            <description>&lt;P&gt;One of the new security features coming in Windows Vista and Longhorn is&amp;nbsp;the new &lt;SPAN&gt;BitLocker&amp;#8482; Drive Encryption technology. &lt;SPAN&gt;BitLocker&amp;#8482; is designed to help prevent information loss, whether it is by theft or accidental. Information loss is costly to business on several levels, and t&lt;SPAN&gt;&lt;SPAN&gt;he U.S. Department of Justice estimates that intellectual property theft cost enterprises $250 billion in 2004.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;IMG src="/images/geekswithblogs_net/sdorman/5006/r_SEC32520060613_190427-2.jpg"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;BitLocker&amp;#8482; Drive Encryption gives you improved data protection on your notebooks, desktops, and servers by providing a transparent user experience that requires little to no interaction on a protected system. BitLocker also prevents the use of another operating system or hacking tool to break file and system protections by preventing the offline viewing of user data and OS files through enhanced data protection and boot validation using TPM v1.2.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;For those of you who may not know, TPM stands for Trusted Platform Module. So what's that? TPM is a piece of hardware that is part of the motherboard that:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Performs cryptographic functions&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;RSA, SHA-1, RNG&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Meets encryption export requirements&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Can create, store, and manage keys&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Provides a unique Endorsement Key (EK)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Provides a unique Storage Root Key (SRK)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Performs digital signature operations&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Holds platform measurements (hashes)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Anchors a chain of trust for keys and credentials&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Protects itself against attacks&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;So now that you know what a TPM is, why should you use one? A TPM is a hardware implementation of a Root-of-Trust, which can be certified to be tamper resistant. When combined with software, it can protect root secrets better than software alone. A TPM can ensure that keys and secrets are only available for use when the environment is appropriate.&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&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;The important thing to know about BitLocker is that it will only encrypt the Windows partition. You also won't be able to dual-boot another operating system on the same partition, different partitions are fine. Any attempts to modify the protected Windows partition will render it unbootable.&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&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;IMG src="/images/geekswithblogs_net/sdorman/5006/r_SEC32520060613_190427-1.jpg"&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&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;To completely protect all of the data on the computer, you will need to use a combination of BitLocker on the Windows partition and Encrypted File System (EFS) on the other partitions. When properly configured, EFS is computationally infeasible to crack.&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&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Even with all of the new security that is provided by BitLocker, it can't stop everything. Some of the areas that BitLocker is helpless to defend against are:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Hardware debuggers &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Online attacks&amp;#8212;BitLocker is concerned only with the &lt;/SPAN&gt;&lt;SPAN&gt;system&amp;#8217;s startup process &lt;/SPAN&gt;
&lt;LI&gt;
&lt;DIV v:shape="_x0000_s1026"&gt;&lt;SPAN&gt;Post logon attacks &lt;/SPAN&gt;&lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV v:shape="_x0000_s1026"&gt;&lt;SPAN&gt;Sabotage by administrators &lt;/SPAN&gt;&lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV v:shape="_x0000_s1026"&gt;&lt;SPAN&gt;Poor security maintenance &lt;/SPAN&gt;&lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV v:shape="_x0000_s1026"&gt;&lt;SPAN&gt;BIOS reflashing &lt;/SPAN&gt;&lt;/DIV&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV v:shape="_x0000_s1026"&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Protection against this can be enabled if you wish&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P v:shape="_x0000_s1026"&gt;&lt;SPAN&gt;&lt;STRONG&gt;Additional Resources&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV v:shape="_x0000_s1026"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;A href="http://www.microsoft.com/whdc/system/platform/hwsecurity/BitLockerReq.mspx"&gt;Windows Vista BitLocker Client Platform Requirements&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV v:shape="_x0000_s1026"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;A href="http://www.trustedcomputinggroup.org/"&gt;Trusted Computing Group (TCG) Website&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV v:shape="_x0000_s1026"&gt;&lt;SPAN&gt;&lt;SPAN&gt;
&lt;DIV v:shape="_x0000_s1026"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;A href="http://blogs.msdn.com/si_team/default.aspx"&gt;BitLocker&amp;#8482; Blog&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV v:shape="_x0000_s1026"&gt;&lt;SPAN&gt;&lt;SPAN&gt;
&lt;DIV v:shape="_x0000_s1026"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;A href="mailto:bdeinfo@microsoft.com"&gt;BitLocker&amp;#8482; Questions or Ideas&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=84045"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=84045" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/sdorman/aggbug/84045.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Dorman</dc:creator>
            <guid>http://geekswithblogs.net/sdorman/archive/2006/07/04/84045.aspx</guid>
            <pubDate>Tue, 04 Jul 2006 14:21:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/sdorman/comments/84045.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/sdorman/archive/2006/07/04/84045.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/sdorman/comments/commentRss/84045.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/sdorman/services/trackbacks/84045.aspx</trackback:ping>
        </item>
    </channel>
</rss>