<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.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>jorkeo - hosting geek : ASP.NET</title><link>http://blogs.technet.com/jorke/archive/tags/ASP.NET/default.aspx</link><description>Tags: ASP.NET</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Developers Developers Developers – Steve Ballmer in Australia</title><link>http://blogs.technet.com/jorke/archive/2008/10/27/developers-developers-developers-steve-ballmer-in-australia.aspx</link><pubDate>Mon, 27 Oct 2008 03:21:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3148265</guid><dc:creator>jorkeo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/jorke/comments/3148265.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=3148265</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=3148265</wfw:comment><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/acoat/WindowsLiveWriter/SteveBalmercomestoSydneyandliveonlineNov_F8C7/LiberationDay2_2.gif"&gt;&lt;img title="Steve Ballmer in Sydney and Live Online November 6" border="0" alt="Steve Ballmer in Sydney and Live Online November 6" src="http://blogs.msdn.com/blogfiles/acoat/WindowsLiveWriter/SteveBalmercomestoSydneyandliveonlineNov_F8C7/LiberationDay2_thumb.gif" width="383" height="189" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/h4&gt;  &lt;p&gt;As part of a whirlwind visit to Sydney early next month, Steve Ballmer will be presenting Microsoft's future vision for developers in the world of software-plus-services. He'll discuss the next wave of technologies just launched at the Professional Developer Conference. There will also be a live Q&amp;amp;A session with Steve.&lt;/p&gt;  &lt;p&gt;Immediately following Steve’s session, we’ll drill into the Software + Services vision even deeper with Microsoft Directors &lt;a href="http://blogs.msdn.com/gianpaolo"&gt;Gianpaolo Carraro&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/tims"&gt;Tim Sneath&lt;/a&gt;, delivering sessions on “Understanding Cloud Computing” and “Amazing Software Experiences for Windows and the Web”. Although all the seats at the Sydney event are gone, we’ll be streaming live and a number of user groups are running events around the country to get together and watch the stream. &lt;/p&gt;  &lt;p&gt;Watch the stream from here : &lt;a title="http://www.microsoft.com.au/powertodevelopers/" target="_blank" href="http://www.microsoft.com.au/powertodevelopers/"&gt;http://www.microsoft.com.au/powertodevelopers/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Or if you are in Brisbane, watch it locally at the &lt;a href="http://www.qmsdnug.org/"&gt;Queensland MSDN User Group&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;-jorke&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:63e93b73-b0c9-4167-bb74-366a9138b7a5" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Steve+Baller" rel="tag"&gt;Steve Baller&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Power+to+Developers" rel="tag"&gt;Power to Developers&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure" rel="tag"&gt;Azure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Cloud" rel="tag"&gt;Cloud&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3148265" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.technet.com/jorke/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.technet.com/jorke/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.technet.com/jorke/archive/tags/azure/default.aspx">azure</category><category domain="http://blogs.technet.com/jorke/archive/tags/cloud/default.aspx">cloud</category></item><item><title>Partial Trust MVC, LINQ and OLE/ODBC Providers</title><link>http://blogs.technet.com/jorke/archive/2008/09/09/partial-trust-mvc-linq-and-ole-odbc-providers.aspx</link><pubDate>Tue, 09 Sep 2008 07:22:40 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3121320</guid><dc:creator>jorkeo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/jorke/comments/3121320.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=3121320</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=3121320</wfw:comment><description>&lt;blockquote&gt;   &lt;p&gt;So if you're a hosting provider or even just developer, you'll be running your applications in Medium trust when on the Internet, right? suuurree... &lt;a href="http://msdn.microsoft.com/en-us/library/ms998341.aspx"&gt;Well you really should&lt;/a&gt;..&lt;/p&gt;    &lt;p&gt;Anyway a couple people have noticed some issues running LINQ in their hosted environments under the &amp;quot;Medium&amp;quot; trust level. If this is your issue, then you'll need to update your trust config file with with the following (remembering to install asp.net 3.5 first..) :&lt;/p&gt;    &lt;p&gt;In the SecurityClasses element, make sure it's set to the following:&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;SecurityClass Name=&amp;quot;ReflectionPermission&amp;quot; Description=&amp;quot;System.Security.Permissions.ReflectionPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;/&amp;gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;Then dig about for the &amp;quot;ASP.net&amp;quot; PermissionSet element and set the following:&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;IPermission class=&amp;quot;ReflectionPermission&amp;quot; version=&amp;quot;1&amp;quot; Flags=&amp;quot;RestrictedMemberAccess&amp;quot; /&amp;gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;A few people also have asked about getting OLE/ODBC providers for the likes of MS Access to work, weelllll this has been around since ASP.NET 2.0 was released - and basically the same story as above:&lt;/p&gt;    &lt;p&gt;Set the SecurityClass element: &lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;SecurityClass Name=&amp;quot;OleDbPermission&amp;quot; Description=&amp;quot;System.Data.OleDb.OleDbPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;/&amp;gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;and set the IPermission in the PermissionSet&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;IPermission class=&amp;quot;OleDbPermission&amp;quot; version=&amp;quot;1&amp;quot; Unrestricted=&amp;quot;true&amp;quot;/&amp;gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;That should fix the LINQ and OLE/ODBC issue. All I can say for MVC, at this stage its still waiting a couple of updates to allow partial trust. Keep an eye out on &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/09/02/asp-net-mvc-preview-5-and-form-posting-scenarios.aspx"&gt;Scottgu blog&lt;/a&gt; and you should see something soon.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;-jorke&lt;/p&gt;    &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6e98bdca-a444-464c-b7ad-768c512486d6" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/mvc" rel="tag"&gt;mvc&lt;/a&gt;,&lt;a href="http://technorati.com/tags/linq" rel="tag"&gt;linq&lt;/a&gt;,&lt;a href="http://technorati.com/tags/partial%20trust" rel="tag"&gt;partial trust&lt;/a&gt;,&lt;a href="http://technorati.com/tags/trust" rel="tag"&gt;trust&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cas" rel="tag"&gt;cas&lt;/a&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3121320" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/.net/default.aspx">.net</category><category domain="http://blogs.technet.com/jorke/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Hacked Web Applications causing storm - rattling Windows...</title><link>http://blogs.technet.com/jorke/archive/2008/04/29/hacked-web-applications-causing-storm-rattling-windows.aspx</link><pubDate>Mon, 28 Apr 2008 16:01:35 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3046318</guid><dc:creator>jorkeo</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/jorke/comments/3046318.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=3046318</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=3046318</wfw:comment><description>&lt;p&gt;For the past few days a &amp;quot;Cyber attack&amp;quot; has been taking place and according to &lt;a href="http://www.internetnews.com/security/article.php/3742926/HalfMillion+IIS+Servers+Hit+in+Cyber+Attack.htm" target="_blank"&gt;internetnews.com&lt;/a&gt; : &lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;quot;number of infected IIS &lt;strong&gt;servers&lt;/strong&gt; at 282,000. Less than a day later, security firm F-Secure wrote its own &lt;/em&gt;&lt;a href="http://www.f-secure.com/weblog/archives/00001427.html"&gt;&lt;em&gt;blog entry&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, putting the infestation at over 500,000&amp;quot;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;and &lt;a href="http://www.f-secure.com/weblog/archives/00001427.html" target="_blank"&gt;f-secure&lt;/a&gt; :&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;quot;Performing a Google search results in over &lt;b&gt;510,000 modified pages&lt;/b&gt;.&amp;quot;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Without pointing out the reporting inconsistencies between &lt;strong&gt;servers&lt;/strong&gt; and &lt;strong&gt;pages&lt;/strong&gt; .... what is actually happening here.. &lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="132" alt="image" src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/HackedWebApplicationscausingstormrattli_143A9/image_thumb.png" width="194" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;First of all its &lt;strong&gt;not at all&lt;/strong&gt; related to the &lt;a href="http://blogs.technet.com/jorke/archive/2008/04/18/potential-security-vulnerability-for-networkservice-potential-new-iis-exploit.aspx" target="_blank"&gt;security advisory&lt;/a&gt; that was released last week. &lt;u&gt;Nor is it in fact related to any other security issue with IIS, ASP, ASP.NET or Windows.&lt;/u&gt; It's really important to understand that, its all to do with dodgy and insecure development practices.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/HackedWebApplicationscausingstormrattli_143A9/image_4.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="110" alt="image" src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/HackedWebApplicationscausingstormrattli_143A9/image_thumb_1.png" width="394" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Well very simply put its an age old &lt;a href="http://en.wikipedia.org/wiki/Sql_injection" target="_blank"&gt;SQL injection&lt;/a&gt; attack on a web site that modifies the return code adding a hidden link to a site that downloads &lt;a href="http://en.wikipedia.org/wiki/Malware" target="_blank"&gt;malware&lt;/a&gt; to client viewing the web page. Nothing new technology wise here, just a new method of delivery - which really should not affect those who have kept their machines up-to-date.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/HackedWebApplicationscausingstormrattli_143A9/image_6.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="89" alt="image" src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/HackedWebApplicationscausingstormrattli_143A9/image_thumb_2.png" width="324" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In this case the attackers have chosen to target ASP/ASPX based web sites that have poorly written validation methods and deliver their code via a database content management system. The result being that pages on the site will return a hidden script tag that directs to one of the sites listed in the &lt;a href="http://www.f-secure.com/weblog/archives/00001427.html" target="_blank"&gt;earlier articles&lt;/a&gt; - which picks on particular vulnerabilities available on the client machine, not just those related to software developed by Microsoft either.&lt;/p&gt;  &lt;p&gt;Well that's all very nice you say - but &lt;strong&gt;&amp;quot;How do I protect myself against these kind of attacks?&amp;quot;. &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The way I see it, there are three areas of responsibility where lies the ability to protect the world against those few malicious people.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1. &lt;/strong&gt;&lt;strong&gt;The Developer - FIX YOUR BROKEN CODE!&lt;/strong&gt; Seriously - check your code for possible attack vectors and test, test test. I've seen heaps of web sites and web servers compromised due to poorly written or no validation checking. Incorrect security settings deploying to high risk environments. Don't always assume you know who is going to access your app. Don't assume that app will exist with everything local to it. Catch those errors - I could go on. There is heaps of guidance around this - here is a few to start you off:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms994921.aspx" target="_blank"&gt;Web Development Best practices&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms998271.aspx" target="_blank"&gt;SQL injection mitigation&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;2.The Client - Keep your machine up-to-date &lt;/strong&gt;- as &lt;a href="http://blogs.msdn.com/acoat" target="_blank"&gt;Coatsy&lt;/a&gt; says &amp;quot;go to &lt;a href="http://update.microsoft.com" target="_blank"&gt;update.microsoft.com&lt;/a&gt; and Download the golden padlock of goodness&amp;quot; from Microsoft Update.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/HackedWebApplicationscausingstormrattli_143A9/image_8.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="103" alt="image" src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/HackedWebApplicationscausingstormrattli_143A9/image_thumb_3.png" width="291" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3. The System Admin / Hoster / Guy who has to run the web server - &lt;/strong&gt;Hey I sympathise with you most (of course I would!) You have to get a site with poorly written code up and running, and &lt;strong&gt;now what&lt;/strong&gt;? you have to check the thing isn't going to compromise your server? but of course the code supplied doesn't work in your standard low security settings to you need to bend the rules to allow that code to work.. Be Strong! &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/wyts434y.aspx" target="_blank"&gt;ASP.NET trust levels&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms228096.aspx" target="_blank"&gt;Securing ASP.NET in Shared Server&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;But you may have been too late, and you have to clean this mess up on your server - how are you going to prevent this malicious code being delivered to and from your server, while keeping everything up and running?&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Stop the attack coming in&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If you are using IIS7 or URLScan on IIS6.0/5.1 you can filter the request to prevent the incoming attacks. In IIS7 This is what the configuration string looks like in your server wide applicationhost.config file (based on the info in articles):&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;requestFiltering&amp;gt;     &lt;br /&gt; &amp;lt;denyUrlSequences&amp;gt;      &lt;br /&gt;&amp;#160; &amp;lt;add sequence=&amp;quot;DECLARE%20@S%20NVARCHAR(4000);SET%20@S=CAST(0x440045004300&amp;quot; /&amp;gt;      &lt;br /&gt; &amp;lt;/denyUrlSequences&amp;gt;      &lt;br /&gt;&amp;lt;/requestFiltering&amp;gt;&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Stop it going out&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This is a little trickier, but due to the awesome modularity of IIS7 (only going to look at this) you can very easily write a module that can look in all the requests scan for the URL sequence in the response and send it to null. More information on doing this &lt;a href="http://learn.iis.net/page.aspx/366/developing-iis7-modules-and-handlers-with-the-net-framework/" target="_blank"&gt;is at the IIS.NET website&lt;/a&gt;. Hey, if I get enough comments I'll write one and post it up here!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Done and Dusted&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;What we all need to remember about these kind of attacks is that vulnerability in the web sites being targeted are not limited to just a particular operating system platform. SQL Injection attacks is rampant in many platform agnostic applications and its such a simple thing to prevent. &lt;/p&gt;  &lt;p&gt;As you have probably guessed I'm pretty passionate about this subject, and when I see such misguided reports and irrational reactions to incorrect or misunderstood information, it inspires me to ensure that the truth of the issue is available. Speaking personally; In my short time at Microsoft, I have never seen such commitment behind ensuring that the Windows Operating System is the most versatile and secure operating system on earth.&lt;/p&gt;  &lt;p&gt;- jorke&lt;/p&gt;  &lt;p&gt;Note: Graphics &amp;quot;borrowed&amp;quot; from &lt;a href="http://www.microsoft.com/japan/security/default.mspx" target="_blank"&gt;Microsoft Japan Security Bulletins&lt;/a&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6dcd4762-273d-4b56-ab20-751ee8adb6f3" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SQL%20Injection" rel="tag"&gt;SQL Injection&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Security%20Vunerability" rel="tag"&gt;Security Vunerability&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IIS" rel="tag"&gt;IIS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows" rel="tag"&gt;Windows&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3046318" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.technet.com/jorke/archive/tags/Hosting/default.aspx">Hosting</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/jorke/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.technet.com/jorke/archive/tags/.net/default.aspx">.net</category><category domain="http://blogs.technet.com/jorke/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.technet.com/jorke/archive/tags/hosters/default.aspx">hosters</category><category domain="http://blogs.technet.com/jorke/archive/tags/security/default.aspx">security</category><category domain="http://blogs.technet.com/jorke/archive/tags/SQL+Injection/default.aspx">SQL Injection</category></item><item><title>Potential Security Vulnerability for NetworkService / potential new IIS exploit</title><link>http://blogs.technet.com/jorke/archive/2008/04/18/potential-security-vulnerability-for-networkservice-potential-new-iis-exploit.aspx</link><pubDate>Fri, 18 Apr 2008 11:25:39 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3039220</guid><dc:creator>jorkeo</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/jorke/comments/3039220.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=3039220</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=3039220</wfw:comment><description>&lt;p&gt;Important heads up with regards to a potential privilege escalation issue when running under NetworkService &amp;#8211; which we all know is the IIS default.... But also note that it requires native code or full trust .NET. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;Hosting Providers with Shared Hosting configurations&lt;/font&gt;&lt;/strong&gt; should pay careful attention to this and ensure that they are running a customised version of medium trust at the very least - &lt;a title="http://msdn2.microsoft.com/en-us/library/ms998341.aspx" href="http://msdn2.microsoft.com/en-us/library/ms998341.aspx"&gt;&lt;strong&gt;http://msdn2.microsoft.com/en-us/library/ms998341.aspx&lt;/strong&gt;&lt;/a&gt;. Also be wary of any custom ISAPI extensions - i.e do a code review.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;High level summary:&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Processes running under Network Service identity can elevate to Local System on XP, Win2k3, Vista and Win2k8. Additionally, on Win2k3 any process running with an identity that has SeImpersonatePrivilege can elevate to Local System, and this privilege is required by IIS worker process identity. &lt;b&gt;The Elevation of Privilege requires running native user code or full-trust managed code.&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Our guidance is of course to move your app move WPI away from NetworkService to a windows account. Additionally on Win2k3, our guidance includes disabling Distributed Transaction Coordinator service (to close the hole where any identity with SeImpersonatePrivilege can elevate).&lt;/p&gt;  &lt;p&gt;More information here: &lt;a href="http://www.microsoft.com/technet/security/advisory/951306.mspx"&gt;http://www.microsoft.com/technet/security/advisory/951306.mspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Let me know if you have any further questions or require advice.&lt;/p&gt;  &lt;p&gt;- jorke&lt;/p&gt;  &lt;p&gt;UPDATE (6:23pm 18/4/08): &lt;/p&gt; &lt;a href="http://www.adopenstatic.com/cs/blogs/ken/archive/2008/04/17/17399.aspx" target="_blank"&gt;Check out Ken Schaefer's Blog for the origin of this potential issue.&lt;/a&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7f2bf51e-f7f4-4c90-9f8a-49d0dd23ceb1" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Security%20Vunerability" rel="tag"&gt;Security Vunerability&lt;/a&gt;,&lt;a href="http://technorati.com/tags/NetworkService" rel="tag"&gt;NetworkService&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IIS" rel="tag"&gt;IIS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/exploit" rel="tag"&gt;exploit&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3039220" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.technet.com/jorke/archive/tags/Hosting/default.aspx">Hosting</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/jorke/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/jorke/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.technet.com/jorke/archive/tags/security/default.aspx">security</category></item><item><title>What size footprint does your worker process leave?</title><link>http://blogs.technet.com/jorke/archive/2007/11/05/what-size-footprint-does-your-worker-process-leave.aspx</link><pubDate>Mon, 05 Nov 2007 15:43:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2338327</guid><dc:creator>jorkeo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/jorke/comments/2338327.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=2338327</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=2338327</wfw:comment><description>&lt;P&gt;Well it all depends on what you are cramming into your request pipeline! With &lt;A href="http://www.iis.net/default.aspx?tabid=7&amp;amp;subtabid=71" target=_blank mce_href="http://www.iis.net/default.aspx?tabid=7&amp;amp;subtabid=71"&gt;IIS7's modular architecture&lt;/A&gt; you have the ability to load only what you need to run. What does this mean - well let's look at the footprint of a worker process that has all default modules loaded, i.e. ASP/ASP.NET/CGI/Authorization etc etc.&lt;/P&gt;
&lt;P&gt;To see the footprint in its entirety we want to dump out the applications loaded and see their usage. For this I have a handy PowerShell script I whacked together (because I love PowerShell); So browse to your website to spin up a worker process then run the following at a PowerShell prompt:&lt;/P&gt;
&lt;P&gt;gps -name w3wp | select -expand Modules | where {$_.Filename -like '*\inetsrv*} | ft&lt;/P&gt;
&lt;P&gt;which should give you something like the following:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/Whatsizefootprintdoesyourworkerprocessle_13553/image_2.png" mce_href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/Whatsizefootprintdoesyourworkerprocessle_13553/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=389 alt=image src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/Whatsizefootprintdoesyourworkerprocessle_13553/image_thumb.png" width=644 border=0 mce_src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/Whatsizefootprintdoesyourworkerprocessle_13553/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;this shows the footprint of a worker module with a default install of IIS 7.0 - you can see all the various modules loaded there for authorization, authentication, gzip etc. So how big is our worker process with no modules? Well simply rip the &amp;lt;globalmodules&amp;gt; out of the applicationhost.config file - NOT RECOMMENDED - without backup up your config first of course. Now browse to your site and you will notice nothing happens...- because you've ripped out all the modules there is nothing to process the request - thus you will get a naked worker process - lets take a look:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/Whatsizefootprintdoesyourworkerprocessle_13553/image_4.png" mce_href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/Whatsizefootprintdoesyourworkerprocessle_13553/image_4.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=134 alt=image src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/Whatsizefootprintdoesyourworkerprocessle_13553/image_thumb_1.png" width=644 border=0 mce_src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/Whatsizefootprintdoesyourworkerprocessle_13553/image_thumb_1.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;So you can see with IIS7 you can really customize what happens in your request pipeline to make huge differences to the size of your worker processes. Neat eh?&lt;/P&gt;
&lt;P&gt;Now I've also found out you can do the same as PowerShell script by simply running:&lt;/P&gt;
&lt;P&gt;tasklist /fi "imagename eq w3wp.exe" /M&lt;/P&gt;
&lt;P&gt;but where's the fun in that.. :)&lt;/P&gt;
&lt;P&gt;-jorke&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2338327" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://blogs.technet.com/jorke/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.technet.com/jorke/archive/tags/Hosting/default.aspx">Hosting</category><category domain="http://blogs.technet.com/jorke/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/jorke/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.technet.com/jorke/archive/tags/CGI/default.aspx">CGI</category><category domain="http://blogs.technet.com/jorke/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Source Code for .NET libraries released</title><link>http://blogs.technet.com/jorke/archive/2007/10/05/source-code-for-net-libraries-released.aspx</link><pubDate>Fri, 05 Oct 2007 07:14:54 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2133408</guid><dc:creator>jorkeo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/jorke/comments/2133408.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=2133408</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=2133408</wfw:comment><description>&lt;p&gt;via &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx" target="_blank"&gt;Scottgu&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now this is definitely a step in the right direction!&lt;/p&gt;  &lt;p&gt;- jorke&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2133408" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.technet.com/jorke/archive/tags/.net/default.aspx">.net</category><category domain="http://blogs.technet.com/jorke/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.technet.com/jorke/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category></item></channel></rss>