<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Alik Levin's</title><link>http://blogs.msdn.com/alikl/default.aspx</link><description>Consulting - Stories from Trenches, Case Studies, and Tech Notes</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>How To Generate Unit Test Using WCF Load Test – Quick Steps</title><link>http://blogs.msdn.com/alikl/archive/2009/06/29/how-to-generate-unit-test-using-wcf-load-test-quick-steps.aspx</link><pubDate>Mon, 29 Jun 2009 09:13:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9808237</guid><dc:creator>alikl</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/alikl/comments/9808237.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=9808237</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=9808237</wfw:comment><description>&lt;table border="0" cellspacing="5" cellpadding="2" width="557"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="226"&gt;&amp;#160;&lt;a href="http://practicethis.com/" rel="external nofollow" target="_blank"&gt;&lt;img title="Alik Levin" border="0" alt="Alik Levin" src="http://blogs.microsoft.co.il/blogs/mcs/WindowsLiveWriter/d20b00ba5cce_FD44/image_5.png" width="50" height="50" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; This is quick summary of steps for creating WCF Unit Tests using &lt;a href="http://wcfloadtest.codeplex.com/"&gt;WCF Load Test&lt;/a&gt; available for free on Codeplex. This quick summary created based on the Lab materials that ship with the &lt;a href="http://wcfloadtest.codeplex.com/"&gt;tool&lt;/a&gt;.&lt;/td&gt;        &lt;td valign="top" width="314"&gt;         &lt;p&gt;&lt;strong&gt;Quick Resource Box&lt;/strong&gt;&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://wcfloadtest.codeplex.com/"&gt;WCF Load Test&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td colspan="2"&gt;         &lt;h3&gt;Summary of steps&lt;/h3&gt;          &lt;ul&gt;           &lt;li&gt;&lt;strong&gt;Step 1. Configure message tracing in the app.config file on client side.&lt;/strong&gt; &lt;/li&gt;            &lt;li&gt;&lt;strong&gt;Step 2. Run WCF client to invoke the remote methods and generate trace file.&lt;/strong&gt; &lt;/li&gt;            &lt;li&gt;&lt;strong&gt;Step 3. Generate Unit test based on trace file.&lt;/strong&gt; &lt;/li&gt;         &lt;/ul&gt;          &lt;h3&gt;&lt;strong&gt;Step 1. Configure message tracing in the app.config file on client side. &lt;/strong&gt;&lt;/h3&gt;          &lt;ol&gt;           &lt;li&gt;Select the &lt;b&gt;Diagnostics&lt;/b&gt; folder. &lt;/li&gt;            &lt;li&gt;Under &lt;b&gt;Message Logging&lt;/b&gt; click &lt;b&gt;Enable Message Logging&lt;/b&gt;. &lt;/li&gt;            &lt;li&gt;Click &lt;b&gt;Log Level&lt;/b&gt; and check &lt;b&gt;Service messages&lt;/b&gt;. The other options can be unchecked. &lt;/li&gt;            &lt;li&gt;Click &lt;b&gt;ServiceModelMessageLoggingListener&lt;/b&gt; and change the file name to be “WCFClient.svclog”. &lt;/li&gt;            &lt;li&gt;Under the Message Logging folder enable &lt;b&gt;LogEntireMessage&lt;/b&gt;. &lt;/li&gt;            &lt;li&gt;Save the configuration file. &lt;/li&gt;         &lt;/ol&gt;          &lt;h3&gt;&lt;strong&gt;Step 2. Run WCF client to invoke the remote methods and generate trace file.&lt;/strong&gt;&lt;/h3&gt;          &lt;p&gt;Run your WCF client. Make sure WCFClient.svclog generated. This log file will be used in the next step to generate Unit Tests&lt;/p&gt;          &lt;h3&gt;&lt;strong&gt;Step 3. Generate Unit test based on trace file.&lt;/strong&gt;&lt;/h3&gt;          &lt;ul&gt;           &lt;li&gt;Create a new test project in Visual Studio. &lt;/li&gt;            &lt;li&gt;Add a reference to the following assemblies:              &lt;ul&gt;               &lt;li&gt;System.ServiceModel &lt;/li&gt;                &lt;li&gt;System.Runtime.Serialization (version 3.0.0.0) &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;In the directory containing the test project create a file called SampleConfig.xml with the following contents:&amp;#160; &lt;/li&gt;         &lt;/ul&gt;          &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #a31515"&gt;xml &lt;/span&gt;&lt;span style="color: red"&gt;version&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;'&lt;span style="color: blue"&gt;1.0&lt;/span&gt;' &lt;span style="color: red"&gt;encoding&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;'&lt;span style="color: blue"&gt;utf-8&lt;/span&gt;' &lt;span style="color: blue"&gt;?&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;WcfUnitConfiguration &lt;/span&gt;&lt;span style="color: red"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;'&lt;span style="color: blue"&gt;http://microsoft.com/wcfunit&lt;/span&gt;'
                           &lt;span style="color: red"&gt;testMethodMode&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;'&lt;span style="color: blue"&gt;ScenarioMethodOnly&lt;/span&gt;'
                           &lt;span style="color: red"&gt;operationTimerMode&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;'&lt;span style="color: blue"&gt;IncludeOperationTimers&lt;/span&gt;'&lt;span style="color: blue"&gt;&amp;gt;
       &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;assembly &lt;/span&gt;&lt;span style="color: red"&gt;fileName&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;C:\Client\bin\Debug\ConsoleClient.exe&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;/&amp;gt;
     &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;soapActions &lt;/span&gt;&lt;span style="color: red"&gt;soapActionMode&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;'&lt;span style="color: blue"&gt;Include&lt;/span&gt;'&lt;span style="color: blue"&gt;&amp;gt;
     &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;soapActions&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;WcfUnitConfiguration&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
&lt;/span&gt;&lt;/pre&gt;
        &lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

        &lt;ul&gt;
          &lt;li&gt;Open an SDK command prompt and change the directory to the one containing the test project. &lt;/li&gt;

          &lt;li&gt;Execute the following command: 
            &lt;br /&gt;&lt;em&gt;svcutil /o:proxy.cs /config:app.config http://localhost:8090/service?wsdl &lt;/em&gt;&lt;/li&gt;

          &lt;li&gt;Run the command-line tool using the following command: 
            &lt;br /&gt;“c:\program files\wcfunit\wcfunit” CompileTimeScenario &amp;lt;trace file&amp;gt; SampleConfig.xml where the &amp;lt;trace file&amp;gt; is the path to the WCFClient.svclog file created in the previous exercise. &lt;/li&gt;

          &lt;li&gt;Add generated files (CompileTimeScenario.cs and CompileTimeScenario.stubs) to the test project. &lt;/li&gt;

          &lt;li&gt;Rename CompileTimeScenario.stubs to CompileTimeScenario.Stubs.cs. &lt;/li&gt;

          &lt;li&gt;Also add the proxy.cs and app.config files located in the client project folder to the test project. &lt;/li&gt;

          &lt;li&gt;Build the solution and a Unit Test called CompileTimeScenario should appear in the Test View. &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9808237" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Test+Phase/default.aspx">Test Phase</category></item><item><title>Architects UG: 16 Case Studies of ASP.NET Web Performance</title><link>http://blogs.msdn.com/alikl/archive/2009/06/23/architects-ug-16-case-studies-of-asp-net-web-performance.aspx</link><pubDate>Tue, 23 Jun 2009 22:38:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9800095</guid><dc:creator>alikl</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/alikl/comments/9800095.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=9800095</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=9800095</wfw:comment><description>&lt;p&gt;&lt;a href="http://practicethis.com/" rel="external nofollow" target="_blank"&gt;&lt;img title="Alik Levin" border="0" alt="Alik Levin" src="http://blogs.microsoft.co.il/blogs/mcs/WindowsLiveWriter/d20b00ba5cce_FD44/image_5.png" width="50" height="50" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; Below is a slide deck for the talk I gave today on Architect UG. The presentation focused on 16 case studies of performance that is less than optimal. The session is focused on baking performance engineering into the development lifecycle.&lt;/p&gt;  &lt;p&gt;Each case study has a link to the detailed walkthrough and relevant resources on how to improve performance.&lt;/p&gt;  &lt;p&gt;Enjoy&lt;/p&gt; &lt;iframe style="border-bottom: #dde5e9 1px solid; border-left: #dde5e9 1px solid; padding-bottom: 0px; background-color: #ffffff; margin: 3px; padding-left: 0px; width: 240px; padding-right: 0px; height: 66px; border-top: #dde5e9 1px solid; border-right: #dde5e9 1px solid; padding-top: 0px" marginheight="0" src="http://cid-dd25b83e4ca261f7.skydrive.live.com/embedrowdetail.aspx/Blog%20Bucket/Performance/Arch%20UG%20-%20Performance%20Arch%20-%20V7.pdf" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9800095" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Free Web Performance Tools From Microsoft, Google, Yahoo, And IBM</title><link>http://blogs.msdn.com/alikl/archive/2009/06/11/free-web-performance-tools-from-microsoft-google-yahoo-and-ibm.aspx</link><pubDate>Thu, 11 Jun 2009 11:56:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9726219</guid><dc:creator>alikl</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/alikl/comments/9726219.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=9726219</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=9726219</wfw:comment><description>&lt;table border="0" cellspacing="5" cellpadding="2" width="557"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="226"&gt;&amp;#160;&lt;a href="http://practicethis.com/" rel="external nofollow" target="_blank"&gt;&lt;img title="Alik Levin" border="0" alt="Alik Levin" src="http://blogs.microsoft.co.il/blogs/mcs/WindowsLiveWriter/d20b00ba5cce_FD44/image_5.png" width="50" height="50" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; This post is a quick overview of free performance tools available from Microsoft, Yahoo, Google, and IBM. It also contains a pointers to related articles that go deeper regarding the best practices and how the tools can help in identifying compliance to the best practices.&lt;/td&gt;        &lt;td valign="top" width="314"&gt;         &lt;p&gt;&lt;strong&gt;Quick Resource Box:&lt;/strong&gt;&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;Microsoft’s &lt;a href="http://www.fiddler2.com/fiddler2/"&gt;Fiddler&lt;/a&gt; (&lt;a href="http://www.fiddler2.com/redir/?id=HTTPPERF"&gt;Performance Tuning with Fiddler&lt;/a&gt;)&lt;/li&gt;            &lt;li&gt;Microsoft’s &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=119f3477-dced-41e3-a0e7-d8b5cae893a3&amp;amp;displaylang=en"&gt;VRTA&lt;/a&gt; (&lt;a href="http://msdn.microsoft.com/en-us/magazine/dd188562.aspx"&gt;12 Steps To Faster Web Pages With Visual Round Trip Analyzer&lt;/a&gt;)&lt;/li&gt;            &lt;li&gt;Yahoo’s &lt;a href="http://developer.yahoo.com/yslow/"&gt;YSlow&lt;/a&gt; (&lt;a href="http://developer.yahoo.com/performance/rules.html"&gt;rules for high performance web pages&lt;/a&gt;.)&lt;/li&gt;            &lt;li&gt;IBM’s &lt;a href="http://www.alphaworks.ibm.com/tech/pagedetailer/download"&gt;Page Detailer&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;Google’s &lt;a href="http://code.google.com/speed/page-speed/"&gt;Page Speed&lt;/a&gt; (&lt;a href="http://code.google.com/speed/page-speed/docs/rules_intro.html"&gt;Web Performance Best Practices&lt;/a&gt;)&lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td colspan="2"&gt;         &lt;h3&gt;Microsoft’s Fiddler&lt;/h3&gt;          &lt;p&gt;&lt;a href="http://www.fiddler2.com/fiddler2/"&gt;Fiddler&lt;/a&gt; is a free web performance tool, it is not really a property of Microsoft rather a side project by &lt;a href="http://en.wikipedia.org/wiki/Fiddler_(software)"&gt;Eric Lawrence&lt;/a&gt;, a PM with Microsoft. I used Fiddler for both security testing and now for performance. I love it a lot. Must mention it requires Net Fx 2.0 as a prerequisite so it is limited to Windows OS. Recently Eric added support to Firefox – &lt;a href="http://www.fiddler2.com/fiddler2/addons/fiddlerhook/"&gt;Fiddler Hook For Firefox&lt;/a&gt;, so the tool is great for both IE and FF. My related posts:&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/10/17/improve-web-application-performance-by-reducing-number-of-http-requests-fiddler-to-the-rescue.aspx"&gt;Improve Web Application Performance By Reducing Number Of Http Requests - Fiddler To The Rescue&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2008/05/02/asp-net-performance-sin-serving-images-dynamically-or-another-reason-to-love-fiddler.aspx"&gt;ASP.NET Performance Sin - Serving Images Dynamically (Or Another Reason To Love Fiddler)&lt;/a&gt;&lt;/li&gt;         &lt;/ul&gt;          &lt;h3&gt;Microsoft’s VRTA&lt;/h3&gt;          &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=119f3477-dced-41e3-a0e7-d8b5cae893a3&amp;amp;displaylang=en"&gt;VRTA&lt;/a&gt; is a free web performance tool and it stands for Visual Round Trip Analyzer created by Microsoft’s Jim Pierson and used internally for sometime. It was made available for public use during last PDC 2008. Jim has written very detailed article about the tool and how it solves performance problems - &lt;a href="http://msdn.microsoft.com/en-us/magazine/dd188562.aspx"&gt;12 Steps To Faster Web Pages With Visual Round Trip Analyzer&lt;/a&gt;. VRTA installs and uses under the hood free Microsoft Network Monitor (&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=983b941d-06cb-4658-b7f6-3088333d062f&amp;amp;displaylang=en"&gt;Netmon&lt;/a&gt;) to capture and analyze network captures.&lt;/p&gt;          &lt;h3&gt;Yahoo’s YSlow&lt;/h3&gt;          &lt;p&gt;YSlow is a free performance analysis tool created by &lt;a href="http://www.stevesouders.com/"&gt;Steve Souders&lt;/a&gt; when he was with Yahoo. Steve created another good tool called &lt;a href="http://stevesouders.com/cuzillion/"&gt;Cuzilion&lt;/a&gt;. YSlowl comes with extremely good set of performance guidance that can be found here - &lt;a href="http://developer.yahoo.com/performance/rules.html"&gt;rules for high performance web pages&lt;/a&gt;. YSlow requires Firebug as a prerequisite, meaning it is restricted to Firefox only.&lt;/p&gt;          &lt;h3&gt;IBM’s Page Detailer&lt;/h3&gt;          &lt;p&gt;&lt;a href="http://www.alphaworks.ibm.com/tech/pagedetailer/download"&gt;Page Detailer&lt;/a&gt; is a free web performance tool from IBM. I was not able to identify any good articles that cover it – if you share with me please, or better off publish one. It does not have any prerequisites, consider it as an advantage.&lt;/p&gt;          &lt;h3&gt;Google’s Page Speed&lt;/h3&gt;          &lt;p&gt;Recently I stumbled on &lt;a href="http://code.google.com/speed/page-speed/"&gt;Page Speed&lt;/a&gt; from Google. It reminds me a Yahoo’s YSlow lot&amp;#160; that makes me believe it comes from Steve Souders that works now for Google. It also requires Firebug as a prerequisite and works with FireFox only. It comes with nice guidance found here - &lt;a href="http://code.google.com/speed/page-speed/docs/rules_intro.html"&gt;Web Performance Best Practices&lt;/a&gt;. Must admit – I adore the concept of the tool although in most cases I cannot use it as I work for customers that IE is their target browser. Nevertheless the guidance is tool agnostic and I recommend bookmarking it for quick reference.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9726219" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Tools/default.aspx">Tools</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Performance/default.aspx">Performance</category></item><item><title>High Level Digest On Windows Azure Services Platform</title><link>http://blogs.msdn.com/alikl/archive/2009/06/01/high-level-digest-on-windows-azure-services-platform.aspx</link><pubDate>Mon, 01 Jun 2009 09:52:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9675125</guid><dc:creator>alikl</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/alikl/comments/9675125.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=9675125</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=9675125</wfw:comment><description>&lt;a href="http://practicethis.com/" rel="external nofollow" target="_blank"&gt;&lt;img title="Alik Levin" border="0" alt="Alik Levin" src="http://blogs.microsoft.co.il/blogs/mcs/WindowsLiveWriter/d20b00ba5cce_FD44/image_5.png" width="50" height="50" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; I was reading a white paper called An &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=5057e2b3-c8e5-4b26-a601-ff9621589ce3&amp;amp;DisplayLang=en"&gt;Introduction to Microsoft .NET Services for Developers&lt;/a&gt; while taking few quick notes. The notes might be beneficial to those who wants to quickly get an idea what Windows Azure is. Here is what I have captured:  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Azure – Windows in the cloud&lt;/strong&gt;, software and data stored and running in Microsoft owned data servers.&lt;/li&gt;    &lt;li&gt;.Net Services platform consists of the following building blocks:&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Windows Azure" border="0" alt="Windows Azure" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/HighLevelDigestOnWindowsAzureServicesPla_8768/image_3.png" width="545" height="254" /&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Windows Azure:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Hosted in&lt;strong&gt; MS data centers&lt;/strong&gt;.&lt;/li&gt;      &lt;li&gt;Allows creating deploying, scaling, managing, distributing application and services in Internet.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Business benefits - &lt;strong&gt;shields&lt;/strong&gt; you from &lt;strong&gt;costs&lt;/strong&gt; related to&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;strong&gt;Provisioning&lt;/strong&gt;,&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Configuring&lt;/strong&gt;,&lt;/li&gt;      &lt;li&gt;…and &lt;strong&gt;Managing&lt;/strong&gt; physical servers and the software running on them&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Windows® &lt;strong&gt;Azure &lt;/strong&gt;&lt;strong&gt;storage services&lt;/strong&gt; are designed to be very simple and &lt;strong&gt;highly scalable&lt;/strong&gt;:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;strong&gt;BLOB&lt;/strong&gt; storage, &lt;strong&gt;queue&lt;/strong&gt; storage, and &lt;strong&gt;simple table&lt;/strong&gt; storage, &lt;/li&gt;      &lt;li&gt;but it &lt;strong&gt;doesn’t provide&lt;/strong&gt; the capabilities of a &lt;strong&gt;relational&lt;/strong&gt; database (Microsoft® SQL Services does offer all these)&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Microsoft®&lt;strong&gt; .NET Services&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;.NET &lt;strong&gt;developer-oriented&lt;/strong&gt; services and a software development kit (SDK) for building .NET applications &lt;strong&gt;to run in the cloud&lt;/strong&gt;.&lt;/li&gt;      &lt;li&gt;Based on industry standard protocols - REST, SOAP, and WS-*&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Microsoft® &lt;strong&gt;SQL Services&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Set of data-oriented services designed to extend the &lt;strong&gt;capabilities SQL Server&lt;/strong&gt; into the &lt;strong&gt;cloud&lt;/strong&gt;.&lt;/li&gt;      &lt;li&gt;Microsoft® SQL Data Services (SDS), which offers&lt;strong&gt; full relational database capabilities&lt;/strong&gt;.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Live Services&lt;/strong&gt; provides a set of &lt;i&gt;&lt;strong&gt;user-centric services&lt;/strong&gt;&lt;/i&gt; focused primarily on social applications and experiences:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Mesh Services&lt;/li&gt;      &lt;li&gt;Identity Services&lt;/li&gt;      &lt;li&gt;Directory Services&lt;/li&gt;      &lt;li&gt;User-Data Storage Services&lt;/li&gt;      &lt;li&gt;Communication and Presence Services&lt;/li&gt;      &lt;li&gt;Search Services, and Geospatial Services&lt;/li&gt;      &lt;li&gt;Embraces REST, Atom, and AtomPub&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Domain-specific&lt;/strong&gt; service offerings&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Microsoft® &lt;strong&gt;SharePoint&lt;/strong&gt; Services&lt;/li&gt;      &lt;li&gt;Microsoft® &lt;strong&gt;Dynamics CRM&lt;/strong&gt; Services&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Using Windows Azure:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Register at &lt;a href="http://www.azure.com"&gt;www.azure.com&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;Download SDK&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9675125" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Azure/default.aspx">Azure</category></item><item><title>Microsoft Certified Architect (MCA) - Preparing Your Competency Document Video Distilled</title><link>http://blogs.msdn.com/alikl/archive/2009/05/27/microsoft-certified-architect-mca-preparing-your-competency-document-video-distilled.aspx</link><pubDate>Wed, 27 May 2009 18:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9641151</guid><dc:creator>alikl</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/alikl/comments/9641151.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=9641151</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=9641151</wfw:comment><description>&lt;p&gt;&lt;a href="http://practicethis.com/" rel="external nofollow" target="_blank"&gt;&lt;img title="Alik Levin" border="0" alt="Alik Levin" src="http://blogs.microsoft.co.il/blogs/mcs/WindowsLiveWriter/d20b00ba5cce_FD44/image_5.png" width="50" height="50" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://www.microsoft.com/learning/mcp/architect/archprocess/wvx/preparing_your_competency_document.wvx"&gt;Preparing Your Competency Document&lt;/a&gt; video goes briefly about the documents the you should submit as a candidate for Microsoft Certified Architect (MCA) program. Below are the notes I have take while watching the video.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Technical depth has least weight&lt;/li&gt;    &lt;li&gt;MCA is technology&amp;#160; agnostic program.&lt;/li&gt;    &lt;li&gt;Architect needs to have technical depth in some area of his choice.&lt;/li&gt;    &lt;li&gt;Architect needs to have the broad knowledge of the existing technologies on the market.&lt;/li&gt;    &lt;li&gt;Architect must be able to answer the question “Are you able to invest the budget smart?”&lt;/li&gt;    &lt;li&gt;The documents should reflect you are familiar with organization dynamics – crisis, politics, dealing with tension, etc.&lt;/li&gt;    &lt;li&gt;Reflect on your role as a leader – what was the impact of your work? How many followed you?&lt;/li&gt;    &lt;li&gt;Reflect on how you build your succession.&lt;/li&gt;    &lt;li&gt;Reflect on your mentoring strategies and how many you mentored.&lt;/li&gt;    &lt;li&gt;Reflect on your communication skills – you are tested for it during the presentation, when reading your docs, and during open question part.&lt;/li&gt;    &lt;li&gt;Reflect on&amp;#160; how you communicate with peers and people inside you projects.&lt;/li&gt;    &lt;li&gt;Reflect on methodologies you used to organize the project.&lt;/li&gt;    &lt;li&gt;Show you are able to communicate in common language – do not reinvent the toolbox to each project.&lt;/li&gt;    &lt;li&gt;Reflect on your strategy skills– strategic decision making, strategic thinking, being able make decision, shape decision, suggest decision to leadership based on trends in industry.&lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Resources&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/05/26/mca-preparing-for-the-review-board-interview-video-distilled.aspx"&gt;Microsoft Certified Architect (MCA) - Preparing For The Review Board Interview Video Distilled&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/05/25/mca-review-board-interview-video-distilled.aspx"&gt;MCA Review Board Interview Video Distilled&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/learning/mcp/architect/archprocess/default.mspx"&gt;MCA Program – Certification Process Overview&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/learning/mcp/architect/technology/reviewboard/default.mspx"&gt;MCA Review Board Process&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/02/23/solution-architect-competencies-part-i.aspx"&gt;Solution Architect Competencies - Part I&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/02/18/solutions-architecture-foundations-hub.aspx"&gt;Solutions Architecture Foundations Hub&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/02/16/what-do-solution-architect-and-enterprise-architect-do.aspx"&gt;What Do Solution Architect And Enterprise Architect Do?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/02/09/training-resources-for-aspiring-enterprise-architect.aspx"&gt;Training Resources For Aspiring Enterprise Architect&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9641151" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Microsoft Certified Architect (MCA) - Preparing For The Review Board Interview Video Distilled</title><link>http://blogs.msdn.com/alikl/archive/2009/05/26/mca-preparing-for-the-review-board-interview-video-distilled.aspx</link><pubDate>Tue, 26 May 2009 21:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9641131</guid><dc:creator>alikl</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/alikl/comments/9641131.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=9641131</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=9641131</wfw:comment><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://practicethis.com/" rel="external nofollow" target="_blank"&gt;&lt;img title="Alik Levin" border="0" alt="Alik Levin" src="http://blogs.microsoft.co.il/blogs/mcs/WindowsLiveWriter/d20b00ba5cce_FD44/image_5.png" width="50" height="50" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; Review&amp;#160; board interview is the critical part of the MCA certification program. It is discussed in the &lt;a href="http://www.microsoft.com/learning/mcp/architect/archprocess/wvx/preparing_for_the_review_board_interview.wvx"&gt;Preparing for the Review Board Interview&lt;/a&gt; video. Below are the notes I have taken when I watched the video.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Key to success is no different of any other interview. &lt;/li&gt;    &lt;li&gt;Before interview you should make yourself very familiar with the documents you submitted (resume, case study, presentation, skills template, etc). &lt;/li&gt;    &lt;li&gt;You should be well prepared for&amp;#160; presentation. &lt;/li&gt;    &lt;li&gt;Ensure presentation compliments the submitted materials/documents. &lt;/li&gt;    &lt;li&gt;Practice the presentation. &lt;/li&gt;    &lt;li&gt;Familiarize with competencies – show you mastered it. &lt;/li&gt;    &lt;li&gt;The interview conducted by 7 people – practice and rehearse with friend, instruct them to make it hard for you, not harsh but be a tough crowd. &lt;/li&gt;    &lt;li&gt;Ask to provide feedback. &lt;/li&gt;    &lt;li&gt;When you asked a question you&amp;#160; do not know the answer – say you do not know it, do not try to make up the answer, chances one of the board members knows it well and you might only make it worse. &lt;/li&gt;    &lt;li&gt;Ask clarifying questions. &lt;/li&gt;    &lt;li&gt;Do not ramble – time is precious. &lt;/li&gt;    &lt;li&gt;Relax – watch the &lt;a href="http://www.microsoft.com/learning/mcp/architect/archprocess/default.mspx"&gt;videos&lt;/a&gt;, should not be anything new to you. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h3&gt;Resources&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/05/25/mca-review-board-interview-video-distilled.aspx"&gt;MCA Review Board Interview Video Distilled&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/learning/mcp/architect/archprocess/default.mspx"&gt;MCA Program – Certification Process Overview&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/learning/mcp/architect/technology/reviewboard/default.mspx"&gt;MCA Review Board Process&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/02/23/solution-architect-competencies-part-i.aspx"&gt;Solution Architect Competencies - Part I&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/02/18/solutions-architecture-foundations-hub.aspx"&gt;Solutions Architecture Foundations Hub&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/02/16/what-do-solution-architect-and-enterprise-architect-do.aspx"&gt;What Do Solution Architect And Enterprise Architect Do?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/02/09/training-resources-for-aspiring-enterprise-architect.aspx"&gt;Training Resources For Aspiring Enterprise Architect&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9641131" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Microsoft Certified Architect (MCA) Review Board Interview Video Distilled</title><link>http://blogs.msdn.com/alikl/archive/2009/05/25/mca-review-board-interview-video-distilled.aspx</link><pubDate>Mon, 25 May 2009 18:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9640589</guid><dc:creator>alikl</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/alikl/comments/9640589.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=9640589</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=9640589</wfw:comment><description>&lt;a href="http://practicethis.com/" mce_href="http://practicethis.com/" rel="external nofollow" target="_blank"&gt;&lt;img src="http://blogs.microsoft.co.il/blogs/mcs/WindowsLiveWriter/d20b00ba5cce_FD44/image_5.png" title="Alik Levin" alt="Alik Levin" mce_src="http://blogs.microsoft.co.il/blogs/mcs/WindowsLiveWriter/d20b00ba5cce_FD44/image_5.png" border="0" height="50" width="50"&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I was watching &lt;a href="http://www.microsoft.com/learning/mcp/architect/archprocess/wvx/mca_review_board_interview.wvx" mce_href="http://www.microsoft.com/learning/mcp/architect/archprocess/wvx/mca_review_board_interview.wvx"&gt;MCA Review Board Interview&lt;/a&gt; video as part of my preparation to the MCA program. Following are the notes I have taken while watching the video:   &lt;ul&gt;   &lt;li&gt;Review process conducted quarterly. &lt;/li&gt;    &lt;li&gt;The board of 7 members reviews 13 candidates during a week. &lt;/li&gt;    &lt;li&gt;3 hours per candidate &lt;/li&gt;    &lt;li&gt;The process:      &lt;ul&gt;       &lt;li&gt;10 minutes for set up. &lt;/li&gt;        &lt;li&gt;Introductions. &lt;/li&gt;        &lt;li&gt;30 minutes presentation to the board. &lt;/li&gt;        &lt;li&gt;Candidate shows the 7 skills throughout the presentation. &lt;/li&gt;        &lt;li&gt;During 30 minutes of the presentation it is candidate’s prime time, only interrupted for clarifying. Generally no interruptions. &lt;/li&gt;        &lt;li&gt;Show 7 competencies. &lt;/li&gt;        &lt;li&gt;10 minutes for each member of the board to ask questions. &lt;/li&gt;        &lt;li&gt;Precision technique questions methods – expect to be cut off. &lt;/li&gt;        &lt;li&gt;5 minutes break – candidate leave the room – the board discusses what they saw and what they did not. &lt;/li&gt;        &lt;li&gt;10 minutes Q&amp;amp;A – wide open questions. &lt;/li&gt;        &lt;li&gt;5 minutes for closing remarks – candidate may say thanks or add whatever he likes. &lt;/li&gt;        &lt;li&gt;Done &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Members go through process of determining whether the candidate deserves MCA – thumbs up/down, giving each competencies “does not meet”, “meets” or “exceeds” mark. &lt;/li&gt;    &lt;li&gt;The board shares general impressions and notes taken during 2 hours review process. &lt;/li&gt;    &lt;li&gt;The board makes recommendations – provide feedback to the candidate where he can improve. &lt;/li&gt;    &lt;li&gt;Final vote, thumbs up/down. &lt;/li&gt;    &lt;li&gt;3 members must give thumbs up to achieve the MCA certification. &lt;/li&gt;    &lt;li&gt;The candidate should expect an email after two weeks with the decision on his performance during the review. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Resources&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/learning/mcp/architect/archprocess/default.mspx" mce_href="http://www.microsoft.com/learning/mcp/architect/archprocess/default.mspx"&gt;MCA Program – Certification Process Overview&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/learning/mcp/architect/technology/reviewboard/default.mspx" mce_href="http://www.microsoft.com/learning/mcp/architect/technology/reviewboard/default.mspx"&gt;MCA Review Board Process&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/02/23/solution-architect-competencies-part-i.aspx" mce_href="http://blogs.msdn.com/alikl/archive/2009/02/23/solution-architect-competencies-part-i.aspx"&gt;Solution Architect Competencies - Part I&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/02/18/solutions-architecture-foundations-hub.aspx" mce_href="http://blogs.msdn.com/alikl/archive/2009/02/18/solutions-architecture-foundations-hub.aspx"&gt;Solutions Architecture Foundations Hub&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/02/16/what-do-solution-architect-and-enterprise-architect-do.aspx" mce_href="http://blogs.msdn.com/alikl/archive/2009/02/16/what-do-solution-architect-and-enterprise-architect-do.aspx"&gt;What Do Solution Architect And Enterprise Architect Do?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/02/09/training-resources-for-aspiring-enterprise-architect.aspx" mce_href="http://blogs.msdn.com/alikl/archive/2009/02/09/training-resources-for-aspiring-enterprise-architect.aspx"&gt;Training Resources For Aspiring Enterprise Architect&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9640589" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Hollywood's Project Management System </title><link>http://blogs.msdn.com/alikl/archive/2009/05/01/hollywood-s-project-management-system.aspx</link><pubDate>Fri, 01 May 2009 10:51:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9582044</guid><dc:creator>alikl</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/alikl/comments/9582044.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=9582044</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=9582044</wfw:comment><description>&lt;p&gt;What if I tell you there is a project management system that works? By "works" I mean it helps completing projects on time, on budget, on spec. No more 2% slip. Think such system does not exist? It does exist in Hollywood. Not in the movies. The system is wide spread across major film studios. In his book, &lt;a href="http://www.amazon.com/gp/product/0735625697?ie=UTF8&amp;amp;tag=practhis-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0735625697"&gt;Hollywood Secrets of Project Management Success&lt;/a&gt;, James R. Persse covers Hollywood's approach to successful project management. The main ingredients are:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Consistency.&lt;/strong&gt; "Consistency of vision, a common agreement, reached through communications and reviews, regarding the purpose, scope, and tone of the project".&lt;strong&gt;
			&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Predictability. &lt;/strong&gt;"The system defines a present work flow that can be mapped out, planned, and followed, thereby ensuring that essential work phases are not skipped and critical milestones are not missed or ignored."&lt;strong&gt;
			&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Accountability&lt;/strong&gt;.&lt;strong&gt;
			&lt;/strong&gt;"Slipping 10 percent over budget is a $6 million slip, so it's helpful to know who did the slipping and why. The system, build accountability into every phase of production. The production system pays very close attention to job descriptions."&lt;strong&gt;
			&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Communications.&lt;/strong&gt; "… it promotes communications – both informal, casual communications and formal binding communication. Producing, at its heart, is a communications job."&lt;strong&gt;
			&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Trackability.&lt;/strong&gt; "… the system promotes regular and deep-reaching measures of progress. This process tracking begins on day 1 and does not end until the lid of the can of the final cut is taped shut."&lt;strong&gt;
			&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Hmm... seems nothing revolutionary to me. If so, then why IT projects always slip? They slip massively in all dimensions – scope, budget, time. May be because project management skills are not that valued? May be project manager (director) must be a super star for the whole project to be succesful? I cannot find another explanation to such phenomena. BTW, next time you finish watching a movie pay close attention to titles running in the end. Usually director of the movie comes before the movie star. Why is it so?
&lt;/p&gt;&lt;p&gt;Persse cites Bill Fay, President of Production with Legendary Pictures, as he comments on the fact that IT projects often slip 100% in budget and time, - "That wouldn't fly in this business… no able producer or competent production team would ever allow project to drift so far off base."
&lt;/p&gt;&lt;p&gt;Is you project manager a super star? Are you set to produce the next block buster?
&lt;/p&gt;&lt;p&gt;Read &lt;a href="http://www.amazon.com/gp/product/0735625697?ie=UTF8&amp;amp;tag=practhis-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0735625697"&gt;Hollywood Secrets of Project Management Success&lt;/a&gt; to help you produce the next IT mega hit.
&lt;/p&gt;&lt;p&gt;&lt;strong&gt;My related posts&lt;/strong&gt;
	&lt;/p&gt;&lt;p&gt;-  &lt;a href="http://practicethis.com/2008/10/26/is-your-project-going-to-fail/" title="View this post, &amp;quot;Is Your Project Going To Fail?&amp;quot;"&gt;Is Your Project Going To Fail?&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9582044" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Understanding ASP.NET MVC Code (For Aspiring Architects) - #3</title><link>http://blogs.msdn.com/alikl/archive/2009/04/06/understanding-asp-net-mvc-code-for-aspiring-architects-3.aspx</link><pubDate>Mon, 06 Apr 2009 11:52:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9522035</guid><dc:creator>alikl</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/alikl/comments/9522035.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=9522035</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=9522035</wfw:comment><description>&lt;table border="0" cellspacing="5" cellpadding="2" width="557"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="226"&gt;&amp;#160;&lt;a href="http://practicethis.com/" rel="external nofollow" target="_blank"&gt;&lt;img title="Alik Levin" border="0" alt="Alik Levin" src="http://blogs.microsoft.co.il/blogs/mcs/WindowsLiveWriter/d20b00ba5cce_FD44/image_5.png" width="50" height="50" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; This post is a digest of the &lt;a href="http://www.asp.net/learn/mvc/tutorial-02-cs.aspx"&gt;Understanding Models, Views, and Controllers (C#).&lt;/a&gt; It helps to quickly understand the generated code when creating ASP.NET MVC project in Visual Studio.&lt;/td&gt;        &lt;td valign="top" width="314"&gt;         &lt;p&gt;&lt;strong&gt;Resources&lt;/strong&gt;&amp;#160;&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://www.asp.net/learn/mvc/tutorial-02-cs.aspx"&gt;Understanding Models, Views, and Controllers (C#).&lt;/a&gt;&lt;/li&gt;         &lt;/ul&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td colspan="2"&gt;         &lt;h3&gt;ASP.NET MVC Project in Visual Studio&lt;/h3&gt;          &lt;ul&gt;           &lt;li&gt;&lt;strong&gt;Three folders&lt;/strong&gt; created:&amp;#160; &lt;strong&gt;Models&lt;/strong&gt;, &lt;strong&gt;Views&lt;/strong&gt; (ASPX pages sit here), &lt;strong&gt;Controllers&lt;/strong&gt;&lt;/li&gt;            &lt;li&gt;Urls are&lt;strong&gt; SEO &lt;/strong&gt;friendly (/Home/About)&lt;/li&gt;            &lt;li&gt;&lt;strong&gt;No&lt;/strong&gt; direct &lt;strong&gt;correspondence&lt;/strong&gt; between &lt;strong&gt;URL&lt;/strong&gt; and the &lt;strong&gt;page&lt;/strong&gt;.&lt;/li&gt;         &lt;/ul&gt;          &lt;h3&gt;Routing&lt;/h3&gt;          &lt;li&gt;&lt;strong&gt;Requests&lt;/strong&gt; mapped to Controller's &lt;strong&gt;actions&lt;/strong&gt;&lt;/li&gt;          &lt;li&gt;&lt;strong&gt;ASP.NET Web Forms &lt;/strong&gt;are &lt;strong&gt;content &lt;/strong&gt;centric&lt;/li&gt;          &lt;li&gt;&lt;strong&gt;ASP.NET MVC&lt;/strong&gt; is &lt;strong&gt;logic&lt;/strong&gt; centric&lt;/li&gt;          &lt;li&gt;ASP.NET &lt;strong&gt;Routing &lt;/strong&gt;maps &lt;strong&gt;request&lt;/strong&gt; to &lt;strong&gt;action&lt;/strong&gt;.&lt;/li&gt;          &lt;li&gt;&lt;strong&gt;Routing &lt;/strong&gt;is registered in &lt;strong&gt;Global.asax&lt;/strong&gt;&lt;/li&gt;          &lt;h3&gt;Controllers&lt;/h3&gt;          &lt;ul&gt;           &lt;li&gt;&lt;strong&gt;Controls&lt;/strong&gt; user interaction (&lt;strong&gt;flow&lt;/strong&gt;) with ASP.NET MVC application.&lt;/li&gt;            &lt;li&gt;&lt;strong&gt;Derive&lt;/strong&gt; from &lt;strong&gt;Controller&lt;/strong&gt; class.&lt;/li&gt;            &lt;li&gt;Exposes &lt;strong&gt;actions&lt;/strong&gt; that can return &lt;strong&gt;ActionResul&lt;/strong&gt;t.&lt;/li&gt;            &lt;li&gt;Any &lt;strong&gt;public method is action &lt;/strong&gt;(&lt;strong&gt;WARNING&lt;/strong&gt;: can be invoked freely via URL).&lt;/li&gt;            &lt;li&gt;A controller should only contain the bare minimum of &lt;strong&gt;logic&lt;/strong&gt; required to return the &lt;strong&gt;right view&lt;/strong&gt; or &lt;strong&gt;redirect&lt;/strong&gt; the user to another &lt;strong&gt;action&lt;/strong&gt; &lt;strong&gt;(flow control).&lt;/strong&gt;&lt;/li&gt;         &lt;/ul&gt;          &lt;h3&gt;Views&lt;/h3&gt;          &lt;ul&gt;           &lt;li&gt;Create &lt;strong&gt;folders&lt;/strong&gt; by &lt;strong&gt;Controllers &lt;/strong&gt;names.&lt;/li&gt;            &lt;li&gt;Create &lt;strong&gt;sub-folders &lt;/strong&gt;to reflect &lt;strong&gt;views&lt;/strong&gt; that Controller handles.&lt;/li&gt;            &lt;li&gt;&lt;strong&gt;View &lt;/strong&gt;is ASPX page that &lt;strong&gt;inherits &lt;/strong&gt;from &lt;strong&gt;System.Web.Mvc.ViewPage&lt;/strong&gt;&lt;/li&gt;            &lt;li&gt;View should &lt;strong&gt;contain &lt;/strong&gt;only &lt;strong&gt;logic &lt;/strong&gt;related to generating the &lt;strong&gt;user interface.&lt;/strong&gt;&lt;/li&gt;         &lt;/ul&gt;          &lt;h3&gt;Models&lt;/h3&gt;          &lt;ul&gt;           &lt;li&gt;An MVC model contains all of your &lt;strong&gt;application logic&lt;/strong&gt; that is not contained in a view or a controller.&lt;/li&gt;         &lt;/ul&gt;          &lt;h3&gt;Related Materials&lt;/h3&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/03/31/asp-net-mvc-for-aspiring-architects-1.aspx"&gt;ASP.NET MVC For Aspiring Architects - #1&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/04/02/how-asp-net-mvc-works-for-aspiring-architects-2.aspx"&gt;How ASP.NET MVC Works (For Aspiring Architects) - #2&lt;/a&gt;&lt;/li&gt;         &lt;/ul&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;This post is made with &lt;a href="http://practicethis.com/" target="_blank"&gt;PracticeThis.com&lt;/a&gt; plugin for Windows Live Writer&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9522035" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/alikl/archive/tags/MVC/default.aspx">MVC</category></item><item><title>How ASP.NET MVC Works (For Aspiring Architects) - #2</title><link>http://blogs.msdn.com/alikl/archive/2009/04/02/how-asp-net-mvc-works-for-aspiring-architects-2.aspx</link><pubDate>Thu, 02 Apr 2009 11:05:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9521905</guid><dc:creator>alikl</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/alikl/comments/9521905.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=9521905</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=9521905</wfw:comment><description>&lt;table border="0" cellspacing="5" cellpadding="2" width="557"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="226"&gt;&amp;#160;&lt;a href="http://practicethis.com/" rel="external nofollow" target="_blank"&gt;&lt;img title="Alik Levin" border="0" alt="Alik Levin" src="http://blogs.microsoft.co.il/blogs/mcs/WindowsLiveWriter/d20b00ba5cce_FD44/image_5.png" width="50" height="50" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; This post briefly describes ASP.NET MVC request processing model. It is digested and based on &lt;a href="http://msdn.microsoft.com/en-us/library/dd381612.aspx"&gt;Understanding the MVC Application Execution Process (MSDN)&lt;/a&gt; &lt;/td&gt;        &lt;td valign="top" width="314"&gt;         &lt;p&gt;&lt;strong&gt;Resources&lt;/strong&gt;&amp;#160;&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://www.asp.net/learn/mvc/tutorial-22-cs.aspx"&gt;Understanding the MVC Application Execution Process (C#)&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd381612.aspx"&gt;Understanding the MVC Application Execution Process (MSDN)&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td colspan="2"&gt;         &lt;h3&gt;ASP.NET MVC Execution Process&lt;/h3&gt;          &lt;table border="1" cellpadding="0"&gt;&lt;tbody&gt;             &lt;tr&gt;               &lt;td&gt;                 &lt;p align="center"&gt;&lt;b&gt;Stage&lt;/b&gt;&lt;/p&gt;               &lt;/td&gt;                &lt;td&gt;                 &lt;p style="text-align: center" align="center"&gt;&lt;b&gt;Details&lt;/b&gt;&lt;/p&gt;               &lt;/td&gt;             &lt;/tr&gt;              &lt;tr&gt;               &lt;td&gt;                 &lt;p&gt;Receive first request for the application&lt;/p&gt;               &lt;/td&gt;                &lt;td&gt;                 &lt;p&gt;In the Global.asax file, &lt;span class="input"&gt;Route&lt;/span&gt; objects are added to the &lt;a id="ctl00_rs1_mainContentContainer_ctl13" href="http://msdn.microsoft.com/en-us/library/system.web.routing.routetable.aspx"&gt;RouteTable&lt;/a&gt; object.&lt;/p&gt;                  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;void &lt;/span&gt;Application_Start(&lt;span style="color: blue"&gt;object &lt;/span&gt;sender, EventArgs e) 
{
    RegisterRoutes(RouteTable.Routes);
}

&lt;span style="color: blue"&gt;public static void &lt;/span&gt;RegisterRoutes(RouteCollection routes)
{
    routes.Add(&lt;span style="color: blue"&gt;new &lt;/span&gt;Route
    (
         &lt;span style="color: #a31515"&gt;&amp;quot;Category/{action}/{categoryName}&amp;quot;
         &lt;/span&gt;, &lt;span style="color: blue"&gt;new &lt;/span&gt;CategoryRouteHandler()
    ));
}&lt;/pre&gt;
                &lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;/tr&gt;

            &lt;tr&gt;
              &lt;td&gt;
                &lt;p&gt;Perform routing&lt;/p&gt;
              &lt;/td&gt;

              &lt;td&gt;
                &lt;p&gt;The &lt;a id="ctl00_rs1_mainContentContainer_ctl14" href="http://msdn.microsoft.com/en-us/library/system.web.routing.urlroutingmodule.aspx"&gt;UrlRoutingModule&lt;/a&gt; module uses the first matching &lt;span class="input"&gt;Route&lt;/span&gt; object in the &lt;a id="ctl00_rs1_mainContentContainer_ctl15" href="http://msdn.microsoft.com/en-us/library/system.web.routing.routetable.aspx"&gt;RouteTable&lt;/a&gt; collection to create the &lt;a id="ctl00_rs1_mainContentContainer_ctl16" href="http://msdn.microsoft.com/en-us/library/system.web.routing.routedata.aspx"&gt;RouteData&lt;/a&gt; object, which it then uses to create a &lt;a id="ctl00_rs1_mainContentContainer_ctl17" href="http://msdn.microsoft.com/en-us/library/system.web.routing.requestcontext.aspx"&gt;RequestContext&lt;/a&gt; object.&lt;/p&gt;

                &lt;p&gt;&lt;/p&gt;
              &lt;/td&gt;
            &lt;/tr&gt;

            &lt;tr&gt;
              &lt;td&gt;
                &lt;p&gt;Create MVC request handler&lt;/p&gt;
              &lt;/td&gt;

              &lt;td&gt;
                &lt;p&gt;The &lt;a id="ctl00_rs1_mainContentContainer_ctl18" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.mvcroutehandler.aspx"&gt;MvcRouteHandler&lt;/a&gt; object creates an instance of the &lt;a id="ctl00_rs1_mainContentContainer_ctl19" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.mvchandler.aspx"&gt;MvcHandler&lt;/a&gt; class and passes the &lt;a id="ctl00_rs1_mainContentContainer_ctl20" href="http://msdn.microsoft.com/en-us/library/system.web.routing.requestcontext.aspx"&gt;RequestContext&lt;/a&gt; instance to the handler.&lt;/p&gt;
              &lt;/td&gt;
            &lt;/tr&gt;

            &lt;tr&gt;
              &lt;td&gt;
                &lt;p&gt;Create controller&lt;/p&gt;
              &lt;/td&gt;

              &lt;td&gt;
                &lt;p&gt;The &lt;a id="ctl00_rs1_mainContentContainer_ctl21" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.mvchandler.aspx"&gt;MvcHandler&lt;/a&gt; object uses the &lt;a id="ctl00_rs1_mainContentContainer_ctl22" href="http://msdn.microsoft.com/en-us/library/system.web.routing.requestcontext.aspx"&gt;RequestContext&lt;/a&gt; instance to identify the &lt;a id="ctl00_rs1_mainContentContainer_ctl23" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.icontrollerfactory.aspx"&gt;IControllerFactory&lt;/a&gt; object (typically an instance of the &lt;a id="ctl00_rs1_mainContentContainer_ctl24" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.defaultcontrollerfactory.aspx"&gt;DefaultControllerFactory&lt;/a&gt; class) to create the controller instance with.&lt;/p&gt;
              &lt;/td&gt;
            &lt;/tr&gt;

            &lt;tr&gt;
              &lt;td&gt;
                &lt;p&gt;Execute controller&lt;/p&gt;
              &lt;/td&gt;

              &lt;td&gt;
                &lt;p&gt;The &lt;a id="ctl00_rs1_mainContentContainer_ctl25" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.mvchandler.aspx"&gt;MvcHandler&lt;/a&gt; instance calls the controller's &lt;a id="ctl00_rs1_mainContentContainer_ctl26" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.controllerbase.execute.aspx"&gt;Execute&lt;/a&gt; method.&lt;/p&gt;
              &lt;/td&gt;
            &lt;/tr&gt;

            &lt;tr&gt;
              &lt;td&gt;
                &lt;p&gt;Invoke action&lt;/p&gt;
              &lt;/td&gt;

              &lt;td&gt;
                &lt;p&gt;For controllers that inherit from the &lt;a id="ctl00_rs1_mainContentContainer_ctl27" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.controllerbase.aspx"&gt;ControllerBase&lt;/a&gt; class, the &lt;a id="ctl00_rs1_mainContentContainer_ctl28" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.controlleractioninvoker.aspx"&gt;ControllerActionInvoker&lt;/a&gt; object that is associated with the controller determines which action method of the controller class to call, and then calls that method.&lt;/p&gt;
              &lt;/td&gt;
            &lt;/tr&gt;

            &lt;tr&gt;
              &lt;td&gt;
                &lt;p&gt;Execute result&lt;/p&gt;
              &lt;/td&gt;

              &lt;td&gt;
                &lt;p&gt;The action method receives user input, prepares the appropriate response data, and then executes the result by returning a result type. The built-in result types that can be executed include the following: &lt;a id="ctl00_rs1_mainContentContainer_ctl29" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.viewresult.aspx"&gt;ViewResult&lt;/a&gt; (which renders a view and is the most-often used result type), &lt;a id="ctl00_rs1_mainContentContainer_ctl30" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.redirecttorouteresult.aspx"&gt;RedirectToRouteResult&lt;/a&gt;, &lt;a id="ctl00_rs1_mainContentContainer_ctl31" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.redirectresult.aspx"&gt;RedirectResult&lt;/a&gt;, &lt;a id="ctl00_rs1_mainContentContainer_ctl32" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.contentresult.aspx"&gt;ContentResult&lt;/a&gt;, &lt;a id="ctl00_rs1_mainContentContainer_ctl33" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.jsonresult.aspx"&gt;JsonResult&lt;/a&gt;, &lt;a id="ctl00_rs1_mainContentContainer_ctl34" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.fileresult.aspx"&gt;FileResult&lt;/a&gt;, and &lt;a id="ctl00_rs1_mainContentContainer_ctl35" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.emptyresult.aspx"&gt;EmptyResult&lt;/a&gt;.&lt;/p&gt;
              &lt;/td&gt;
            &lt;/tr&gt;
          &lt;/tbody&gt;&lt;/table&gt;

        &lt;h3&gt;Related Materials&lt;/h3&gt;

        &lt;ul&gt;
          &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/03/31/asp-net-mvc-for-aspiring-architects-1.aspx"&gt;ASP.NET MVC For Aspiring Architects - #1&lt;/a&gt; &lt;/li&gt;

          &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/12/26/basic-httpmodule-sample-plus-bonus-case-study-how-httomodule-saved-mission-critical-project-s-life.aspx"&gt;Basic HttpModule Sample (Plus Bonus Case Study - How HttpModule Saved Mission Critical Project's Life)&lt;/a&gt; &lt;/li&gt;

          &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/05/18/aop-pipelines-interceptors-and-httpmodlues.aspx"&gt;AOP, Pipelines, Interceptors, and HttpModlues&lt;/a&gt; &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;&lt;strong&gt;This post is made with &lt;a href="http://practicethis.com/" target="_blank"&gt;PracticeThis.com&lt;/a&gt; plugin for Windows Live Writer&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9521905" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/alikl/archive/tags/MVC/default.aspx">MVC</category></item><item><title>ASP.NET MVC For Aspiring Architects - #1</title><link>http://blogs.msdn.com/alikl/archive/2009/03/31/asp-net-mvc-for-aspiring-architects-1.aspx</link><pubDate>Tue, 31 Mar 2009 10:37:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9521829</guid><dc:creator>alikl</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/alikl/comments/9521829.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=9521829</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=9521829</wfw:comment><description>&lt;table border="0" cellspacing="5" cellpadding="2" width="557"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="226"&gt;         &lt;p&gt;&amp;#160;&lt;a href="http://practicethis.com/" rel="external nofollow" target="_blank"&gt;&lt;img title="Alik Levin" border="0" alt="Alik Levin" src="http://blogs.microsoft.co.il/blogs/mcs/WindowsLiveWriter/d20b00ba5cce_FD44/image_5.png" width="50" height="50" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; Is ASP.NET MVC more than just new cool technology? What advantages it brings over ASP.NET Web Forms? When should I use ASP.NET MVC and when ASP.NET Web Forms? How do I MVC this and MVC that?&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="314"&gt;         &lt;p&gt;&lt;strong&gt;Resources&lt;/strong&gt;&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://www.asp.net/learn/mvc/tutorial-01-cs.aspx"&gt;ASP.NET MVC Overview&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2009/03/10/free-asp-net-mvc-ebook-tutorial.aspx"&gt;Free ASP.NET MVC eBook Tutorial&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/ASP.NET_MVC_Framework"&gt;ASP.NET MVC Framework&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://videos.visitmix.com/MIX09/T23F"&gt;Choosing between ASP.NET Web Forms and MVC&lt;/a&gt;&lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td colspan="2"&gt;         &lt;p&gt;This the first post in series of posts that should help me as an architect to answer these questions. It is based on and digested from &lt;a href="http://www.asp.net/learn/mvc/tutorial-01-cs.aspx"&gt;ASP.NET MVC Overview&lt;/a&gt;.&lt;/p&gt;          &lt;h3&gt;ASP.NET MVC Overview&lt;/h3&gt;          &lt;p&gt;The Model-View-Controller (MVC) architectural pattern separates an application into three main components: the model, the view, and the controller.&lt;/p&gt;          &lt;blockquote&gt;           &lt;ul&gt;             &lt;li&gt;&lt;b&gt;Models&lt;/b&gt;. Model objects are the parts of the application that implement the logic for the application's data domain. &lt;/li&gt;              &lt;li&gt;&lt;b&gt;Views&lt;/b&gt;. Views are the components that display the application's user interface (UI). &lt;/li&gt;              &lt;li&gt;&lt;b&gt;Controllers&lt;/b&gt;. Controllers are the components that handle user interaction, work with the model, and ultimately select a view to render that displays UI. &lt;/li&gt;           &lt;/ul&gt;         &lt;/blockquote&gt;          &lt;h3&gt;Advantages of an MVC-Based Web Application&lt;/h3&gt;          &lt;ul&gt;           &lt;li&gt;It makes it easier to &lt;strong&gt;manage complexity&lt;/strong&gt; by &lt;strong&gt;dividing&lt;/strong&gt; an application into the &lt;strong&gt;model&lt;/strong&gt;, the &lt;strong&gt;view&lt;/strong&gt;, and the &lt;strong&gt;controller&lt;/strong&gt;. &lt;/li&gt;            &lt;li&gt;It &lt;strong&gt;does not use view state&lt;/strong&gt; or server-based forms. &lt;/li&gt;            &lt;li&gt;It uses a Front Controller pattern that &lt;strong&gt;processes&lt;/strong&gt; Web application &lt;strong&gt;requests&lt;/strong&gt; through a &lt;strong&gt;single controller&lt;/strong&gt;. &lt;/li&gt;            &lt;li&gt;It provides better support for &lt;strong&gt;test-driven development&lt;/strong&gt; (TDD). &lt;/li&gt;            &lt;li&gt;It works well for Web applications that are &lt;strong&gt;supported by large teams&lt;/strong&gt; of developers and Web designers who need a high degree of control over the application behavior. &lt;/li&gt;         &lt;/ul&gt;          &lt;h3&gt;Advantages of a Web Forms-Based Web Application&lt;/h3&gt;          &lt;ul&gt;           &lt;li&gt;It supports an event model that &lt;strong&gt;preserves state over HTTP&lt;/strong&gt;, which benefits line-of-business Web application development.&lt;/li&gt;            &lt;li&gt;It uses a Page Controller pattern that adds &lt;strong&gt;functionality&lt;/strong&gt; to &lt;strong&gt;individual pages&lt;/strong&gt;. &lt;/li&gt;            &lt;li&gt;It &lt;strong&gt;uses view state&lt;/strong&gt; or server-based forms.&lt;/li&gt;            &lt;li&gt;It &lt;strong&gt;works well for small teams&lt;/strong&gt; of Web developers and designers who want to take advantage of the large number of components available for rapid application development. &lt;/li&gt;            &lt;li&gt;In general, it is &lt;strong&gt;less complex for application development&lt;/strong&gt;, because the components (the &lt;b&gt;Page&lt;/b&gt; class, controls, and so on) are tightly integrated and usually &lt;strong&gt;require less code than the MVC&lt;/strong&gt; model. &lt;/li&gt;         &lt;/ul&gt;          &lt;p&gt;&lt;/p&gt;          &lt;h3&gt;Related Materials&lt;/h3&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/02/18/solutions-architecture-foundations-hub.aspx"&gt;Solutions Architecture Foundations Hub&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/02/09/training-resources-for-aspiring-enterprise-architect.aspx"&gt;Training Resources For Aspiring Enterprise Architect&lt;/a&gt;&lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;This post is made with &lt;a href="http://practicethis.com/" target="_blank"&gt;PracticeThis.com&lt;/a&gt; plugin for Windows Live Writer&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9521829" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/alikl/archive/tags/MVC/default.aspx">MVC</category></item><item><title>ASP.NET Security Architecture Cheat Sheet For Very Busy Architects</title><link>http://blogs.msdn.com/alikl/archive/2009/03/19/asp-net-security-architecture-cheat-sheet-for-very-busy-architects.aspx</link><pubDate>Thu, 19 Mar 2009 12:20:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9489519</guid><dc:creator>alikl</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/alikl/comments/9489519.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=9489519</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=9489519</wfw:comment><description>&lt;table border="0" cellspacing="5" cellpadding="2" width="557"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top"&gt;&amp;#160;&lt;a href="http://practicethis.com/" rel="external nofollow" target="_blank"&gt;&lt;img title="Alik Levin" border="0" alt="Alik Levin" src="http://blogs.microsoft.co.il/blogs/mcs/WindowsLiveWriter/d20b00ba5cce_FD44/image_5.png" width="50" height="50" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; You are an architect. You are sitting in your fancy office thinking about cloud computing and about the higher ground stuff. Suddenly the phone rings, it's your current project manager. &amp;quot;Quick! Come over here, we have a meeting with security department, they have tons of questions and I do not have a clue what they want from me! Our project must ship on time,&lt;/td&gt;        &lt;td valign="top"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/c32b9203e32e_91E2/image_22.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="Busy architect" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/c32b9203e32e_91E2/image_thumb_7.png" width="244" height="121" /&gt;&lt;/a&gt; &lt;/p&gt;          &lt;p&gt;&lt;em&gt;&lt;font size="1"&gt;by &lt;/font&gt;&lt;/em&gt;&lt;a href="http://www.flickr.com/photos/erikerxon/"&gt;&lt;b&gt;&lt;em&gt;&lt;font size="1"&gt;erik ERXON&lt;/font&gt;&lt;/em&gt;&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td colspan="2"&gt;we cannot afford postponing it anymore. It's your show time, dude, Save me!&amp;quot; - ....&amp;quot;Ehm... OK... I am coming...&amp;quot;. You hang up the phone, scratch your head and... take the below cheat sheet with you on your way to the meeting.          &lt;h3&gt;Application Security Meeting&lt;/h3&gt;          &lt;p&gt;From my experience application security meetings are usually hard to manage since the participants do not share common language. Security guys come from infrastructure background and developers usually ... just hate security. There is a communication gap that results in antagonism prolonging the problem instead of solving it. There is the need for &lt;a href="http://practicethis.com/2009/03/18/consultant-speaks-language-everyone-understands/"&gt;common language that everyone understands&lt;/a&gt;. The cheat sheet below helped me many times to establish the common ground for fruitful discussion. It is based on &lt;a href="http://sourcesofinsight.com/"&gt;JD Meier's&lt;/a&gt; epic works:&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms978516.aspx"&gt;Threat Modeling Web Applications&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms994921.aspx"&gt;Improving Web Application Security: Threats and Countermeasures&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://www.guidanceshare.com/wiki/Threats_and_Countermeasures"&gt;Threats and Countermeasures&lt;/a&gt;&lt;/li&gt;         &lt;/ul&gt;          &lt;p&gt;Have fun.&lt;/p&gt;          &lt;h3&gt;The Cheat Sheet&lt;/h3&gt;          &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa302420.aspx"&gt;Architecture and Design Issues for Web Applications&lt;/a&gt; &lt;/p&gt;          &lt;p&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="ASP.NET Security Architecture" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/c32b9203e32e_91E2/image_20.png" width="365" height="284" /&gt; &lt;/p&gt;          &lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa302423.aspx"&gt;Building Secure Assemblies&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;The main threats are: &lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;b&gt;Unauthorized access&lt;/b&gt; &lt;b&gt;or&lt;/b&gt; &lt;b&gt;privilege&lt;/b&gt; &lt;b&gt;elevation, or both&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Code injection&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Information disclosure&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Tampering&lt;/b&gt; &lt;/li&gt;         &lt;/ul&gt;          &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/c32b9203e32e_91E2/image_2.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="Secure .Net assemblies" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/c32b9203e32e_91E2/image_thumb.png" width="315" height="216" /&gt;&lt;/a&gt; &lt;/p&gt;          &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa302426.aspx"&gt;Building Secure ASP.NET Pages and Controls&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;The main threats are: &lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;b&gt;Code injection&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Session hijacking&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Identity spoofing&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Parameter manipulation&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Network&lt;/b&gt; &lt;b&gt;eavesdropping&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Information disclosure&lt;/b&gt; &lt;/li&gt;         &lt;/ul&gt;          &lt;p&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="Secure ASP.NET pages" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/c32b9203e32e_91E2/image_7.png" width="299" height="237" /&gt; &lt;/p&gt;          &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa302427.aspx"&gt;Building Secure Serviced Components&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;The main threats are: &lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;b&gt;Network eavesdropping&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Unauthorized access&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Unconstrained delegation&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Disclosure of configuration data&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Repudiation&lt;/b&gt; &lt;/li&gt;         &lt;/ul&gt;          &lt;p&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="Secure Serviced Components" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/c32b9203e32e_91E2/image_10.png" width="331" height="206" /&gt; &lt;/p&gt;          &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa302428.aspx"&gt;Building Secure Web Services&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a name="thcmch12"&gt;&lt;/a&gt;The main threats are:&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;b&gt;Unauthorized access&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Parameter manipulation&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Network eavesdropping&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Disclosure of configuration data&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Message replay&lt;/b&gt; &lt;/li&gt;         &lt;/ul&gt;          &lt;p&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="Secure Web Services" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/c32b9203e32e_91E2/image_13.png" width="268" height="163" /&gt; &lt;/p&gt;          &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa302429.aspx"&gt;Building Secure Remoted Components&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;The main threats are:&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;b&gt;Unauthorized access&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Network eavesdropping&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Parameter manipulation&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Serialization&lt;/b&gt; &lt;/li&gt;         &lt;/ul&gt;          &lt;p&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="Secure Remoted Components" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/c32b9203e32e_91E2/image_16.png" width="268" height="163" /&gt; &lt;/p&gt;          &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa302430.aspx"&gt;Building Secure Data Access&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;The main threats are:&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;b&gt;SQL injection&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Disclosure of configuration data&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Disclosure of sensitive application data&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Disclosure of database schema and connection details&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Unauthorized access&lt;/b&gt; &lt;/li&gt;            &lt;li&gt;&lt;b&gt;Network eavesdropping&lt;/b&gt; &lt;/li&gt;         &lt;/ul&gt;          &lt;p&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="Secure Data Access Components" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/c32b9203e32e_91E2/image_19.png" width="299" height="225" /&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;/p&gt;          &lt;h3&gt;Complimentary questionnaire&lt;/h3&gt;          &lt;p&gt;&amp;#160;&lt;/p&gt;          &lt;p&gt;           &lt;table style="border-bottom-style: none; border-right-style: none; border-collapse: collapse; border-top-style: none; margin-left: 11.35pt; border-left-style: none" class="MsoNormalTable" border="1" cellspacing="0" cellpadding="0"&gt;&lt;thead&gt;               &lt;tr&gt;                 &lt;td style="border-bottom: #999999 1.5pt solid; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 2.05in; padding-right: 2.85pt; background: #e6e6e6; border-left-style: none; border-top: #999999 1.5pt solid; padding-top: 0in" valign="top" width="197"&gt;                   &lt;p style="text-align: center; margin-left: 0in" class="MsoNormal" align="center"&gt;&lt;b&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;Identify threats&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom: #999999 1.5pt solid; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 148.85pt; padding-right: 2.85pt; background: #e6e6e6; border-left-style: none; border-top: #999999 1.5pt solid; padding-top: 0in" valign="top" width="198"&gt;                   &lt;p style="text-align: center; margin-left: 0in" class="MsoNormal" align="center"&gt;&lt;b&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;Identify vulnerabilities&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom: #999999 1.5pt solid; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 149.25pt; padding-right: 2.85pt; background: #e6e6e6; border-left-style: none; border-top: #999999 1.5pt solid; padding-top: 0in" valign="top" width="199"&gt;                   &lt;p style="text-align: center; margin-left: 0in" class="MsoNormal" align="center"&gt;&lt;b&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;Common Vulnerabilities&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/thead&gt;&lt;tbody&gt;               &lt;tr&gt;                 &lt;td style="border-bottom: #999999 1pt solid; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 445.7pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="594" colspan="3"&gt;                   &lt;p class="NumHeading2"&gt;&lt;a name="_Toc132181645"&gt;&lt;strong&gt;Authentication&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 2.05in; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="197"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker spoof identity? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker gain access to the credential store? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker mount a dictionary attack? How are your user's credentials stored and what password policies are enforced? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How can an attacker modify, intercept, or bypass your user's credential reset mechanism? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 148.85pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="198"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Are user names and passwords sent in clear text over an unprotected channel? Is any ad hoc cryptography used for sensitive information? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Are credentials stored? If they are stored, how are they stored and protected? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you enforce strong passwords? What other password policies are enforced? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How are credentials verified? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How is the authenticated user identified after the initial logon? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 149.25pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="199"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Passing authentication credentials or authentication cookies over unencrypted network links, which can lead to credential capture or session hijacking &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Using weak password and account policies, which can lead to unauthorized access &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Mixing personalization with authentication &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td style="border-bottom: #999999 1pt solid; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 445.7pt; padding-right: 2.85pt; border-left-style: none; border-top: #999999 1pt solid; padding-top: 0in" valign="top" width="594" colspan="3"&gt;                   &lt;p class="NumHeading2"&gt;&lt;a name="_Toc132181646"&gt;&lt;strong&gt;Authorization&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 2.05in; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="197"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker influence authorization checks to gain access to privileged operations? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker elevate privileges? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 148.85pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="198"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;What access controls are used at the entry points of the application? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Does your application use roles? If it uses roles, are they sufficiently granular for access control and auditing purposes? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Does your authorization code fail securely and grant access only upon successful confirmation of credentials? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you restrict access to system resources? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you restrict database access? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How is authorization enforced at the database? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 149.25pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="199"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Using over-privileged roles and accounts &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Failing to provide sufficient role granularity &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Failing to restrict system resources to particular application identities &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td style="border-bottom: #999999 1pt solid; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 445.7pt; padding-right: 2.85pt; border-left-style: none; border-top: #999999 1pt solid; padding-top: 0in" valign="top" width="594" colspan="3"&gt;                   &lt;p class="NumHeading2"&gt;&lt;a name="_Toc132181647"&gt;&lt;strong&gt;Input and Data Validation&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 2.05in; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="197"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker inject SQL commands? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker perform a cross-site scripting attack? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker bypass input validation? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker send invalid input to influence security logic on the server? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker send malformed input to crash the application? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 148.85pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="198"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Is all input data validated? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you validate for length, range, format, and type? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you rely on client-side validation? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Could an attacker inject commands or malicious data into the application? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you trust data you write out to Web pages, or do you need to HTML-encode it to help prevent cross-site scripting attacks? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you validate input before using it in SQL statements to help prevent SQL injection? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Is data validated at the recipient entry point as it is passed between separate trust boundaries? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Can you trust data in the database? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you accept input file names, URLs, or user names? Have you addressed canonicalization issues? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 149.25pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="199"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Relying exclusively on client-side validation &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Using a &lt;i&gt;deny&lt;/i&gt; approach instead of &lt;i&gt;allow&lt;/i&gt; for filtering input &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Writing data you did not validate out to Web pages &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Using input you did not validate to generate SQL queries &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Using insecure data access coding techniques, which can increase the threat posed by SQL injection &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Using input file names, URLs, or user names for security decisions &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td style="border-bottom: #999999 1pt solid; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 445.7pt; padding-right: 2.85pt; border-left-style: none; border-top: #999999 1pt solid; padding-top: 0in" valign="top" width="594" colspan="3"&gt;                   &lt;p class="NumHeading2"&gt;&lt;a name="_Toc132181648"&gt;&lt;strong&gt;Configuration Management&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 2.05in; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="197"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker gain access to administration functionality? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker gain access to your application's configuration data? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 148.85pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="198"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How do you protect remote administration interfaces? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you protect configuration stores? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you encrypt sensitive configuration data? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you separate administrator privileges? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you use least privileged process and service accounts? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 149.25pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="199"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Storing configuration secrets, such as connection strings and service account credentials, in clear text &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Failing to protect the configuration management aspects of your application, including administration interfaces &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Using over-privileged process accounts and service accounts &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td style="border-bottom: #999999 1pt solid; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 445.7pt; padding-right: 2.85pt; border-left-style: none; border-top: #999999 1pt solid; padding-top: 0in" valign="top" width="594" colspan="3"&gt;                   &lt;p class="NumHeading2"&gt;&lt;a name="_Toc132181649"&gt;&lt;strong&gt;Sensitive Data&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 2.05in; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="197"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Where and how does your application store sensitive data? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;When and where is sensitive data passed across a network? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker view sensitive data? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker manipulate sensitive data? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 148.85pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="198"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you store secrets in persistent stores? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How do you store sensitive data? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you store secrets in memory? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you pass sensitive data over the network? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you log sensitive data? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 149.25pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="199"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Storing secrets when you do not need to store them &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Storing secrets in code &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Storing secrets in clear text &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Passing sensitive data in clear text over networks &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td style="border-bottom: #999999 1pt solid; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 445.7pt; padding-right: 2.85pt; border-left-style: none; border-top: #999999 1pt solid; padding-top: 0in" valign="top" width="594" colspan="3"&gt;                   &lt;p class="NumHeading2"&gt;&lt;a name="_Toc132181650"&gt;&lt;strong&gt;Session Management&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 2.05in; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="197"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you use a custom encryption algorithm, and do you trust the algorithm? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker hijack a session? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker view or manipulate another user's session state? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 148.85pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="198"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How are session cookies generated? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How are session identifiers exchanged? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How is session state protected as it crosses the network? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How is session state protected to prevent session hijacking? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How is the session state store protected? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you restrict session lifetime? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How does the application authenticate with the session store? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Are credentials passed over the network and are they maintained by the application? If they are, how are they protected? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 149.25pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="199"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Passing session identifiers over unencrypted channels &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Prolonged session lifetime &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Insecure session state stores &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Session identifiers in query strings &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td style="border-bottom: #999999 1pt solid; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 445.7pt; padding-right: 2.85pt; border-left-style: none; border-top: #999999 1pt solid; padding-top: 0in" valign="top" width="594" colspan="3"&gt;                   &lt;p class="NumHeading2"&gt;&lt;a name="_Toc132181651"&gt;&lt;strong&gt;Cryptography&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 2.05in; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="197"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;What would it take for an attacker to crack your encryption? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker obtain access to encryption keys? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Which cryptographic standards are you using? What, if any, are the known attacks on these standards? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Are you creating your own cryptography? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How does your deployment topology potentially impact your choice of encryption methods? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 148.85pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="198"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;What algorithms and cryptographic techniques are used? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you use custom encryption algorithms? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Why do you use particular algorithms? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How long are encryption keys, and how are they protected? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How often are keys recycled? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How are encryption keys distributed? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 149.25pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="199"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Using custom cryptography &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Using the wrong algorithm or a key size that is too small &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Failing to protect encryption keys &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Using the same key for a prolonged period of time &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td style="border-bottom: #999999 1pt solid; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 445.7pt; padding-right: 2.85pt; border-left-style: none; border-top: #999999 1pt solid; padding-top: 0in" valign="top" width="594" colspan="3"&gt;                   &lt;p class="NumHeading2"&gt;&lt;a name="_Toc132181652"&gt;&lt;strong&gt;Parameter Manipulation&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 2.05in; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="197"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker manipulate parameters to influence security logic on the server? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker manipulate sensitive parameter data? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 148.85pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="198"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you validate all input parameters? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you validate all parameters in form fields, view state, cookie data, and HTTP headers? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you pass sensitive data in parameters? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Does the application detect tampered parameters? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 149.25pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="199"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Failing to validate all input parameters. This makes your application susceptible to denial of service attacks and code injection attacks, including SQL injection and XSS. &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Including sensitive data in unencrypted cookies. Cookie data can be changed at the client or it can be captured and changed as it is passed over the network. &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Including sensitive data in query strings and form fields. Query strings and form fields are easily changed on the client. &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Trusting HTTP header information. This information is easily changed on the client. &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td style="border-bottom: #999999 1pt solid; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 445.7pt; padding-right: 2.85pt; border-left-style: none; border-top: #999999 1pt solid; padding-top: 0in" valign="top" width="594" colspan="3"&gt;                   &lt;p class="NumHeading2"&gt;&lt;a name="_Toc132181653"&gt;&lt;strong&gt;Exception Management&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 2.05in; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="197"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker crash the application? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker gain useful exception details? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 148.85pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="198"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How does the application handle error conditions? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Are exceptions ever allowed to propagate back to the client? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;What type of data is included in exception messages? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Do you reveal too much information to the client? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Where do you log exception details? Are the log files secure? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom-style: none; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 149.25pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="199"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Failing to validate all input parameters &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Revealing too much information to the client &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td style="border-bottom: #999999 1pt solid; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 445.7pt; padding-right: 2.85pt; border-left-style: none; border-top: #999999 1pt solid; padding-top: 0in" valign="top" width="594" colspan="3"&gt;                   &lt;p class="NumHeading2"&gt;&lt;a name="_Toc132181654"&gt;&lt;strong&gt;Auditing and Logging&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td style="border-bottom: #999999 1pt solid; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 2.05in; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="197"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How could an attacker cover his or her tracks? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How can you prove that an attacker (or legitimate user) performed specific actions? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom: #999999 1pt solid; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 148.85pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="198"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Have you identified key activities to audit? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Does your application audit activity across all layers and servers? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;How are log files protected? &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td style="border-bottom: #999999 1pt solid; padding-bottom: 0in; border-right-style: none; padding-left: 2.85pt; width: 149.25pt; padding-right: 2.85pt; border-top-style: none; border-left-style: none; padding-top: 0in" valign="top" width="199"&gt;                   &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Failing to audit failed logons &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Failing to protect audit files &lt;/span&gt;&lt;/p&gt;                    &lt;p style="line-height: 18pt; text-indent: -0.25in; margin-bottom: 6pt; margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-family: symbol; color: black; font-size: 8pt"&gt;&amp;#183;&lt;span times="times" new="new" roman??="roman??"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-family: " verdana?,?sans-serif?;="verdana?,?sans-serif?;" COLOR:="COLOR:" black;="black;" FONT-SIZE:="FONT-SIZE:" 8pt?="8pt?"&gt;Failing to audit across application layers and servers &lt;/span&gt;&lt;/p&gt;                    &lt;p style="margin-left: 0in" class="MsoNormal"&gt;&lt;span style="line-height: 110%; font-size: 9pt"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;&lt;/table&gt;         &lt;/p&gt;          &lt;h3&gt;Related Materials&lt;/h3&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://practicethis.com/2009/03/18/consultant-speaks-language-everyone-understands/"&gt;Consultant Speaks Language Everyone Understands&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/04/07/security-frame/"&gt;Security Frame&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;This post is made with &lt;a href="http://practicethis.com/" target="_blank"&gt;PracticeThis.com&lt;/a&gt; plugin for Windows Live Writer&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9489519" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Things You Know Now</title><link>http://blogs.msdn.com/alikl/archive/2009/03/17/things-you-know-now.aspx</link><pubDate>Tue, 17 Mar 2009 01:08:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9482056</guid><dc:creator>alikl</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/alikl/comments/9482056.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=9482056</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=9482056</wfw:comment><description>&lt;table border="0" cellspacing="5" cellpadding="2" width="557"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="226"&gt;&amp;#160;&lt;a href="http://practicethis.com/" rel="external nofollow" target="_blank"&gt;&lt;img title="Alik Levin" border="0" alt="Alik Levin" src="http://blogs.microsoft.co.il/blogs/mcs/WindowsLiveWriter/d20b00ba5cce_FD44/image_5.png" width="50" height="50" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; Jimmy May, &lt;a href="http://blogs.msdn.com/jimmymay"&gt;aspiring geek&lt;/a&gt; and part time editor in chief for &lt;a href="http://www.PracticeThis.com"&gt;www.PracticeThis.com&lt;/a&gt; tagged me for &lt;a href="http://blogs.msdn.com/jimmymay/archive/2009/03/13/things-you-know-now.aspx"&gt;Things You Know Now&lt;/a&gt;. The idea behind all this is sharing the lessons learned at&amp;#160; hard knock school of life. Or in other words it is about what would I do differently if I had a chance to rewind. Here is my take.&lt;/td&gt;        &lt;td valign="top" width="314"&gt;         &lt;p&gt;&lt;/p&gt;          &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="Things You Know Now" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/81d86e95512d_142BD/image_6.png" width="359" height="249" /&gt; &lt;/p&gt;          &lt;p&gt;&lt;em&gt;&lt;font size="1"&gt;by &lt;/font&gt;&lt;/em&gt;&lt;a href="http://www.wordle.net"&gt;&lt;em&gt;&lt;font size="1"&gt;www.wordle.net&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt; &lt;/font&gt;&lt;/em&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td colspan="2"&gt;         &lt;h3&gt;Things I Know Now&lt;/h3&gt;          &lt;ul&gt;           &lt;li&gt;&lt;strong&gt;Value time. &lt;/strong&gt;Time is the scarcest resource of all. Vlaue it the most. You'll be amazed how much time can be actually created out of thin air...&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://practicethis.com/2008/09/06/time-is-not-money-time-is-budget/"&gt;Time Is Not Money. Time Is Budget.&lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;&lt;strong&gt;Let some balls drop, prioritize.&lt;/strong&gt; Focus on &lt;a href="http://radar.oreilly.com/2009/01/work-on-stuff-that-matters-fir.html"&gt;stuff that matters&lt;/a&gt;, ignore the rest.&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://practicethis.com/2008/06/23/prioritize-what-you-do-steven-covey-way-the-way-that-works/"&gt;Prioritize What You Do &amp;#8211; Steven Covey Way [The Way That Works]&lt;/a&gt;.&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;&lt;strong&gt;Invest in your strengths not in your weaknesses. &lt;/strong&gt;Helps building your brand, helps you to stand out, helps you to be you, a better you, the best.&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://practicethis.com/2008/03/10/find-your-strengths-know-your-life-purpose/"&gt;Find Your Strengths, Know Your Life Purpose&lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;&lt;strong&gt;Create your brand.&lt;/strong&gt; I first heard about it from &lt;a href="http://blog.impactalabs.com/author/kevinjameslam/"&gt;Kevin&lt;/a&gt;. Kevin is successful professional and entrepreneur. I adopted his advice wholeheartedly. I am a big &lt;a href="http://practicethis.com/2009/02/10/best-kept-secret-of-successful-consulting-model-the-best/"&gt;fan of modeling the best&lt;/a&gt;.&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://practicethis.com/2008/06/10/3-simple-rules-to-become-the-worlds-greatest-brand-plus-self-check/"&gt;3 Simple Rules To Become The World&amp;#8217;s Greatest Brand [Plus Self Check]&lt;/a&gt;.&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;&lt;strong&gt;The wider your spread the thinner it gets.&lt;/strong&gt; This one I learned from Gerald M. Weinberg from his book - &lt;a href="http://www.amazon.com/gp/product/0932633013?ie=UTF8&amp;amp;tag=practhis-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0932633013"&gt;Secrets of Consulting: A Guide to Giving and Getting Advice Successfully&lt;/a&gt;. The thinner you get the less customers want you.&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://practicethis.com/2009/01/21/3-things-customers-really-want/"&gt;3 Things Customers Really Want&lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;&lt;strong&gt;Build your network.&lt;/strong&gt; Is not it proven pattern these days, eh? Look at the social revolution all around us - Facebook, Twitter and many more. Pick the brain of the network, become the next greatest mind.&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://practicethis.com/2009/01/26/become-the-next-great-mind-now/"&gt;Become The Next Great Mind - Now&lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;&lt;strong&gt;Practice Emotional Intelligence.&lt;/strong&gt; &amp;quot;Emotion Is Your Enemy&amp;quot; &amp;#8211; coach John Wooden.&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://practicethis.com/2008/04/03/emotional-intelligence-core-skills/"&gt;Emotional Intelligence - Core Skills&lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;&lt;strong&gt;Become a consultant. &lt;/strong&gt;Like challenges? Hate cubicles and 9-5 thing?&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://practicethis.com/2009/02/03/consulting-whats-the-deal/"&gt;Consulting - What&amp;#8217;s The Deal?&lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;         &lt;/ul&gt;          &lt;p&gt;&amp;#160;&lt;/p&gt;          &lt;p&gt;I tag &lt;a href="http://blogs.microsoft.co.il/blogs/mcs"&gt;MCS IL&lt;/a&gt; team and &lt;a href="http://blogs.msdn.com/ace_team"&gt;ACE team&lt;/a&gt; blogs. These teams are my most significant source of insights and continuous learning.&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;/p&gt;          &lt;p&gt;What are the Things You Know Now?&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;This post is made with &lt;a href="http://practicethis.com/" target="_blank"&gt;PracticeThis.com&lt;/a&gt; plugin for Windows Live Writer&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9482056" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Consulting/default.aspx">Consulting</category></item><item><title>Distributed Architecture Drawbacks Revealed By Netmon(Bonus - TDS Parser Goes Public)</title><link>http://blogs.msdn.com/alikl/archive/2009/03/13/distributed-architecture-drawbacks-revealed-by-netmon-bonus-tds-parser-goes-public.aspx</link><pubDate>Fri, 13 Mar 2009 12:02:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9472886</guid><dc:creator>alikl</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/alikl/comments/9472886.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=9472886</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=9472886</wfw:comment><description>&lt;table border="0" cellspacing="5" cellpadding="2" width="557"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="226"&gt;&amp;#160;&lt;a href="http://practicethis.com/" rel="external nofollow" target="_blank"&gt;&lt;img title="Alik Levin" border="0" alt="Alik Levin" src="http://blogs.microsoft.co.il/blogs/mcs/WindowsLiveWriter/d20b00ba5cce_FD44/image_5.png" width="50" height="50" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; Distributed architecture can mercilessly backfire at you.&amp;#160; In my case flexible architecture, elegant design patterns, and smart code led to abuse of the flexibility, resulting in &lt;strong&gt;&lt;em&gt;very poor performance&lt;/em&gt;&lt;/strong&gt;. Free &lt;a href="http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=f4db40af-1e08-4a21-a26b-ec2f4dc4190d&amp;amp;displaylang=en"&gt;Microsoft Network Monitor (Netmon)&lt;/a&gt; helped to identify the root cause of the &lt;/td&gt;        &lt;td valign="top" width="314"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="Distributed Architecture Hits Bac" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/NetmonHelpsRevealingDistributedArchitect_794A/image_3.png" width="244" height="184" /&gt;           &lt;br /&gt;&lt;em&gt;&lt;font size="1"&gt;by &lt;/font&gt;&lt;/em&gt;&lt;a href="http://www.flickr.com/photos/striatic/"&gt;&lt;b&gt;&lt;em&gt;&lt;font size="1"&gt;striatic&lt;/font&gt;&lt;/em&gt;&lt;/b&gt;&lt;/a&gt;&amp;#160; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td colspan="2"&gt;performance hit. It showed that over-distributed-ness can cost you in terms of performance.          &lt;h3&gt;Customer Case Study&lt;/h3&gt;          &lt;p&gt;The customer complained about poor response times in his web application. The application's architecture was similar to the &lt;a href="http://apparch.codeplex.com/Wiki/View.aspx?title=Web%20Application%20Archetype&amp;amp;referringTitle=Application%20Types%20(Archetypes)"&gt;Web Application Archetype&lt;/a&gt;. Notice Services Agent box that connects your application to downstream services? Our assumption was that the services agents are too chatty causing the performance hit. Netmon only made it clear.&lt;/p&gt;          &lt;h3&gt;Analysis&lt;/h3&gt;          &lt;p&gt;We took captures on the application server where the Server Agents are to identify what other downstream servers are accessed. In no time we get very clear picture - the application server was accessing other three downstream resources:&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/NetmonHelpsRevealingDistributedArchitect_794A/image_8.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="netmon distributed architecture" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/NetmonHelpsRevealingDistributedArchitect_794A/image_thumb_2.png" width="384" height="217" /&gt;&lt;/a&gt; &lt;/p&gt;          &lt;p&gt;There are two well known ports - 443 and 1433 - so we could safely assume there is communication over SSL/HTTPS and SQL Server. The other one - 1414 - turned out to be MQ.&lt;/p&gt;          &lt;p&gt;Next step was to identify which one of the conversations is causing us troubles the most - either by chatty communication or by just long running transaction.&lt;/p&gt;          &lt;p&gt;Looking at Time Delta column for HTTPS stateless communications we found nothing exciting regarding the latency:&lt;/p&gt;          &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="HTTPS Communications network monitor" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/NetmonHelpsRevealingDistributedArchitect_794A/image_11.png" width="564" height="142" /&gt; &lt;/p&gt;          &lt;p&gt;For MQ communications we used magic ContainsBin(FrameData, 0,&amp;quot;StringToFindGoesHere&amp;quot;) to identify XML messages going back and forth over MQ transport. For example, to find the beginning of the XML message we used the following filter:&lt;/p&gt;          &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="Netmon ContainsBin" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/NetmonHelpsRevealingDistributedArchitect_794A/image_14.png" width="565" height="228" /&gt;&lt;/p&gt;          &lt;p&gt;Similar technique was used to correlate request and response XML messages.&lt;/p&gt;          &lt;p&gt;To identify SQL communication we used shiny new TDS parser available for free download on Codeplex - &lt;a href="http://blogs.technet.com/netmon/archive/2009/02/27/sql-parser-in-latest-codeplex-package.aspx"&gt;SQL Parser in Latest CodePlex Package&lt;/a&gt;. I particularly like this one, it shows SQL Server communication without using SQL Server Profiler:&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="netmon tds parser" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/NetmonHelpsRevealingDistributedArchitect_794A/image_17.png" width="508" height="356" /&gt; &lt;/p&gt;          &lt;h3&gt;Conclusion&lt;/h3&gt;          &lt;p&gt;Lessons learned:&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;Distributed Architecture can mercilessly backfire at you by its distributed-ness. Use Distributed architecture to solve problems vs introducing new ones.&lt;/li&gt;            &lt;li&gt;Elegant and flexible design can be abused resulting in poor performance. Review code to avoid the abuse.&lt;/li&gt;            &lt;li&gt;Low level network monitoring tools such as Netmon can quickly reveal over-distributed-ness. Use it! It is free.&lt;/li&gt;         &lt;/ul&gt;          &lt;h3&gt;Related Materials&lt;/h3&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://blogs.msdn.com/ace_team/archive/2008/02/14/do-you-really-need-a-distributed-architecture.aspx"&gt;Do You Really Need A Distributed Architecture?&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2008/05/05/asp-net-performance-engineering-stress-test-your-architecture-design-and-code.aspx"&gt;ASP.NET Performance Engineering - Stress Test Your Architecture, Design, And Code&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;This post is made with &lt;a href="http://practicethis.com/" target="_blank"&gt;PracticeThis.com&lt;/a&gt; plugin for Windows Live Writer&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9472886" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.msdn.com/alikl/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>WinDBG Walkthrough - Dump Values Of DataSet or DataTable</title><link>http://blogs.msdn.com/alikl/archive/2009/03/09/windbg-walkthrough-dump-values-of-dataset-or-datatable.aspx</link><pubDate>Mon, 09 Mar 2009 09:44:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9465219</guid><dc:creator>alikl</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/alikl/comments/9465219.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alikl/commentrss.aspx?PostID=9465219</wfw:commentRss><wfw:comment>http://blogs.msdn.com/alikl/rsscomments.aspx?PostID=9465219</wfw:comment><description>&lt;table border="0" cellspacing="5" cellpadding="2" width="557"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="226"&gt;&amp;#160;&lt;a href="http://practicethis.com/" rel="external nofollow" target="_blank"&gt;&lt;img title="Alik Levin" border="0" alt="Alik Levin" src="http://blogs.microsoft.co.il/blogs/mcs/WindowsLiveWriter/d20b00ba5cce_FD44/image_5.png" width="50" height="50" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; This walkthrough is completely based on Johan's post &lt;a href="http://labs.episerver.com/en/Blogs/Johano/Dates/2008/3/WinDBGSOS-Getting-at-the-values-in-a-DataTable/"&gt;WinDBG+SOS: Getting at the values in a DataTable&lt;/a&gt;. I have created this one to help me do the job in straightforward way next time I hit similar problem. Joan also offers few scripts for process automation - recommended.&lt;/td&gt;        &lt;td valign="top" width="314"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/af4451f2cf78_7D24/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/alikl/WindowsLiveWriter/af4451f2cf78_7D24/image_thumb.png" width="244" height="188" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;&lt;em&gt;&lt;font size="1"&gt;by &lt;/font&gt;&lt;/em&gt;&lt;a href="http://www.flickr.com/photos/glennharper/"&gt;&lt;b&gt;&lt;em&gt;&lt;font size="1"&gt;glennharper&lt;/font&gt;&lt;/em&gt;&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h3&gt;Customer Case Study&lt;/h3&gt;  &lt;p&gt;The customer complained about potential memory leak. Following the procedure described in &lt;a href="http://blogs.msdn.com/alikl/archive/2009/02/15/identifying-memory-leak-with-process-explorer-and-windbg.aspx"&gt;Identifying Memory Leak With Process Explorer And Windbg&lt;/a&gt; we realized that we are dealing with static variable that grows in unlimited way. This assumption is based on the fact that after running !gcroot on the leaking type we get the following:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&lt;b&gt;HANDLE(Strong):&lt;/b&gt;&lt;/em&gt;&lt;em&gt;23b1cd0:Root:0x12571730.....&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;After reviewing Tess' &lt;a href="http://blogs.msdn.com/tess/archive/2008/04/03/net-debugging-demos-lab-7-memory-leak-review.aspx"&gt;.NET Debugging Demos Lab 7: Memory Leak - Review&lt;/a&gt; we found the following which made us believe we are dealing with static variable:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;DOMAIN(001CCE68):HANDLE(Strong) - Strong reference, Typically a static variable&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;To identify what this static variable is we needed to dump its values. The variable was a DataTable. I have not found a straightforward way of dumping contents of DataTable. This is the walkthrough that does the job.&lt;/p&gt;  &lt;h3&gt;&lt;strong&gt;Summary of steps&lt;/strong&gt;&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Step 1. Dump DataTables&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Step 2. Dump DataTable&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Step 3. Dump columnCollection&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Step 4. Dump list object&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Step 5. Dump raw memory - dd command&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Step 6. Dump DataColumn&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Step 7. Dump storage&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Step 8. Dump values&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Step 9. Bonus - automation&lt;/strong&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;&lt;strong&gt;Step 1. Dump DataTables&lt;/strong&gt;&lt;/h3&gt;  &lt;p&gt;The objective of this step is identify all DataTable object and pick the one of the interest&lt;/p&gt;  &lt;p&gt;0:000&amp;gt; !dumpdatatables    &lt;br /&gt;DataTable&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Rows&amp;#160;&amp;#160;&amp;#160; Columns&amp;#160;&amp;#160;&amp;#160; DataSet nextRowID ColumnCount     &lt;br /&gt;-----------------------------------------------------------------------------------------------     &lt;br /&gt;0x024dc948 0x024dcbc8 0x024dcdec 0x064f2400&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2     &lt;br /&gt;0x025156b8 0x02515938 0x02515b5c 0x02515478&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 7     &lt;br /&gt;...&lt;/p&gt;  &lt;p&gt;0x0e5b9ce4 0x0e5b9f64 0x0e5ba138 0x0e55a338&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 428&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 5    &lt;br /&gt;0x06510e54 0x065110d4 0x065112a8 0x064f2400&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1,359&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 7     &lt;br /&gt;0x0e5778f0 0x0e577b70 0x0e577d44 0x0e55a338&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1,359&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 7     &lt;br /&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;0x0a55d270&lt;/font&gt;&lt;/strong&gt; 0x0a55d4f0 0x0a55d6c4 0x06a62620 &lt;strong&gt;&lt;font color="#ff0000"&gt;4,194,305&lt;/font&gt;&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 10     &lt;br /&gt;Total 61 DataTable objects&lt;/p&gt;  &lt;h3&gt;&lt;strong&gt;Step 2. Dump DataTable&lt;/strong&gt;&lt;/h3&gt;  &lt;p&gt;The objective of this step is identifying the address of columnCollection of the DataTable.&lt;/p&gt;  &lt;p&gt;0:000&amp;gt; !do &lt;strong&gt;&lt;font color="#ff0000"&gt;0x0a55d270&lt;/font&gt;       &lt;br /&gt;&lt;/strong&gt;Name: System.Data.DataTable     &lt;br /&gt;...     &lt;br /&gt;0x176c1560 0x40003f2&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0x18&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CLASS&amp;#160;&amp;#160; instance &lt;strong&gt;&lt;font color="#ff0000"&gt;0x0a55d6c4&lt;/font&gt;&lt;/strong&gt; columnCollection     &lt;br /&gt;...&lt;/p&gt;  &lt;h3&gt;&lt;strong&gt;Step 3. Dump columnCollection&lt;/strong&gt;&lt;/h3&gt;  &lt;p&gt;The objective of this step is identifying&amp;#160; the address of &lt;strong&gt;&lt;em&gt;list&lt;/em&gt;&lt;/strong&gt; object of the columnCollection.&lt;/p&gt;  &lt;p&gt;0:000&amp;gt; !do &lt;font color="#ff0000"&gt;&lt;strong&gt;0x0a55d6c4&lt;/strong&gt;&lt;/font&gt;     &lt;br /&gt;Name: System.Data.DataColumnCollection     &lt;br /&gt;...     &lt;br /&gt;0x176c5ffc 0x4000377&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0x8&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CLASS&amp;#160;&amp;#160; instance &lt;font color="#ff0000"&gt;&lt;strong&gt;0x0a55d6f8&lt;/strong&gt;&lt;/font&gt; &lt;strong&gt;&lt;em&gt;list&lt;/em&gt;&lt;/strong&gt;     &lt;br /&gt;...&lt;/p&gt;  &lt;h3&gt;&lt;strong&gt;Step 4. Dump list object&lt;/strong&gt;&lt;/h3&gt;  &lt;p&gt;The objective of this step is identifying the address of &lt;strong&gt;&lt;em&gt;_items&lt;/em&gt;&lt;/strong&gt; object.&lt;/p&gt;  &lt;p&gt;0:000&amp;gt; !do &lt;strong&gt;&lt;font color="#ff0000"&gt;0x0a55d6f8&lt;/font&gt;&lt;/strong&gt;     &lt;br /&gt;Name: System.Collections.ArrayList     &lt;br /&gt;...     &lt;br /&gt;0x79ba75ec 0x4000362&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0x4&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CLASS&amp;#160;&amp;#160; instance &lt;strong&gt;&lt;font color="#ff0000"&gt;0x0a55d710&lt;/font&gt;&lt;/strong&gt; &lt;strong&gt;&lt;em&gt;_items&lt;/em&gt;&lt;/strong&gt;     &lt;br /&gt;...&lt;/p&gt;  &lt;h3&gt;&lt;strong&gt;Step 5. Dump raw memory - dd command&lt;/strong&gt;&lt;/h3&gt;  &lt;p&gt;The objective of this step is identifying addresses of DataColumn objects.&lt;/p&gt;  &lt;p&gt;0:000&amp;gt; dd &lt;font color="#ff0000"&gt;&lt;strong&gt;0x0a55d710        &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;0a55d710&amp;#160; 01e5209c 00000010 79b92eec &lt;strong&gt;&lt;font color="#ff0000"&gt;0a55d854        &lt;br /&gt;&lt;/font&gt;&lt;/strong&gt;0a55d720&amp;#160; 0a55d8d4 0a55d954 0a55d9d4 &lt;strong&gt;&lt;font color="#ff0000"&gt;0a55da54&lt;/font&gt;&lt;/strong&gt;     &lt;br /&gt;0a55d730&amp;#160; 0a55dad4 0a55db54 0a55dbd4 &lt;strong&gt;&lt;font color="#ff0000"&gt;0a55dd74&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h3&gt;&lt;strong&gt;Step 6. Dump DataColumn&lt;/strong&gt;&lt;/h3&gt;  &lt;p&gt;The objective of this step is identifying the address of &lt;strong&gt;&lt;em&gt;storage&lt;/em&gt;&lt;/strong&gt; object.&lt;/p&gt;  &lt;p&gt;!do &lt;strong&gt;&lt;font color="#ff0000"&gt;0a55d854&lt;/font&gt;&lt;/strong&gt;     &lt;br /&gt;Name: System.Data.DataColumn     &lt;br /&gt;...     &lt;br /&gt;0x176c69e8 0x400036b&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0x48&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CLASS&amp;#160;&amp;#160; instance &lt;strong&gt;&lt;font color="#ff0000"&gt;0x0a55df40&lt;/font&gt;&lt;/strong&gt; storage     &lt;br /&gt;...&lt;/p&gt;  &lt;h3&gt;&lt;strong&gt;Step 7. Dump storage&lt;/strong&gt;&lt;/h3&gt;  &lt;p&gt;The objective of this step is identifying address of value object.&lt;/p&gt;  &lt;p&gt;0:000&amp;gt; !do &lt;strong&gt;&lt;font color="#ff0000"&gt;0x0a55df40&lt;/font&gt;&lt;/strong&gt;     &lt;br /&gt;Name: System.Data.Common.Int32Storage     &lt;br /&gt;...     &lt;br /&gt;0x176ecc8c 0x4000729&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0x10&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CLASS&amp;#160;&amp;#160; instance &lt;strong&gt;&lt;font color="#ff0000"&gt;0x4dbd0030&lt;/font&gt;&lt;/strong&gt; values     &lt;br /&gt;...&lt;/p&gt;  &lt;h3&gt;&lt;strong&gt;Step 8. Dump values&lt;/strong&gt; &lt;/h3&gt;  &lt;p&gt;The objective of this step is dumping the actual values, finally... &lt;/p&gt;  &lt;p&gt;0:000&amp;gt; !do &lt;strong&gt;&lt;font color="#ff0000"&gt;0x4dbd0030&lt;/font&gt;&lt;/strong&gt;     &lt;br /&gt;Name: System.Int32[]     &lt;br /&gt;...     &lt;br /&gt;Content: 8,388,608 items&lt;/p&gt;  &lt;p&gt;Ouch, it is array.... !do -v will dump its values, but I am afraid it is not a good idea doing it for 8 million items here ;)&lt;/p&gt;  &lt;h3&gt;Step 9. Bonus - automation&lt;/h3&gt;  &lt;p&gt;The objective of this step is automate the process of dumping values (Step 8):&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Create a text file named &lt;strong&gt;&lt;em&gt;dumparray&lt;/em&gt;&lt;/strong&gt; and save it in WinDBG directory. The contents of the file are:       &lt;ul&gt;       &lt;li&gt;.foreach ( o { !do ${$arg1} -v -short }) { !do ${o} } &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Run the following command in WinDBG to dump the values of the array      &lt;ul&gt;       &lt;li&gt;$$&amp;gt;a&amp;lt; dumparray &lt;strong&gt;&lt;font color="#ff0000"&gt;0x4dbd0030&lt;/font&gt;&lt;/strong&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Related Materials&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2009/02/15/identifying-memory-leak-with-process-explorer-and-windbg.aspx"&gt;Identifying Memory Leak With Process Explorer And Windbg&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/alikl/archive/2007/12/08/avoid-manipulating-passwords-in-memory-it-is-easy-to-reveal.aspx"&gt;Avoid Manipulating Passwords In Memory - It Is Easy To Reveal&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;This post is made with &lt;a href="http://practicethis.com/" target="_blank"&gt;PracticeThis.com&lt;/a&gt; plugin for Windows Live Writer&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9465219" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alikl/archive/tags/Performance/default.aspx">Performance</category></item></channel></rss>