<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title><![CDATA[[SecurityRatty] tag: custom-made]]></title>
    <link>http://securityratty.com/tag/custom-made</link>
    <description></description>
    <pubDate>Fri, 05 Sep 2008 10:25:35 +0000</pubDate>
    <generator>iRatty Engine</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <item>
      <title><![CDATA[Skein and SHA-3 News]]></title>
      <link>http://securityratty.com/article/cc81d2d4853466933826ebdeeef07d52</link>
      <guid>http://securityratty.com/article/cc81d2d4853466933826ebdeeef07d52</guid>
      <description><![CDATA[There are two bugs in the Skein code. They are subtle and esoteric, but they're there. We have revised both the reference and optimized code -- and provided new test vectors -- on the Skein website ....]]></description>
      <content:encoded><![CDATA[<p>There are two bugs in the Skein code.  They are subtle and esoteric, but they're there.  We have revised both the reference and optimized code -- and provided new test vectors -- on the <a href="http://www.schneier.com/skein.html">Skein website</a>.  A <a href="http://www.schneier.com/skein.pdf">revision of the paper</a> -- Version 1.1 -- has new IVs, new test vectors, and also fixes a few typos in the paper.</p>

<blockquote>Errata: Version 1.1 of the paper, reference, and optimized code corrects an error in which the length of the configuration string was passed in as the size of the internal block (256 bits for Skein-256, 512 for Skein-512, and 1024 for Skein-1024), instead of a constant 256 bits for all three sizes.  This error has no cryptographic significance, but affected the test vectors and the initialization values.  The revised code also fixes a bug in the MAC mode key processing.  This bug does not affect the NIST submission in any way.</blockquote>

<p><a href="http://csrc.nist.gov/groups/ST/hash/sha-3/index.html">NIST has received</a> 64 submissions.  (<a href="http://www.cio.com/article/461164/Amateurs_and_Pros_Vie_to_Build_New_Crypto_Standard">This article</a> interviews one of the submitters, who is fifteen.)  Of those, <a href="http://ehash.iaik.tugraz.at/wiki/The_SHA-3_Zoo">28 are public</a> and six have been broken.  NIST is going through the submissions right now, making sure they are complete and proper.  Their goal is to publish the accepted submissions by the end of the month, in advance of the <a href="http://csrc.nist.gov/groups/ST/hash/timeline.html">Third Cryptographic Hash Workshop</a> to be held in Belgium right after <a href="https://www.cosic.esat.kuleuven.be/fse2009/index.shtml">FSE</a> in February.  They expect to quickly make a first cut of algorithms -- hopefully to about a dozen -- and then give the community about a year of cryptanalysis before making a second cut in 2010.</p>

<p>Lastly, <a href="http://www.darkreading.com/blog/archives/2008/11/bending_skein_c.html">this</a> is a really nice article on Skein.</p>

<blockquote>These submissions make some accommodation to the Core 2 processor. They operate in "<a href="http://en.wikipedia.org/wiki/Little_endian" target="new">little-endian</a>" mode (a quirk of the <a href="http://en.wikipedia.org/wiki/X86" target="new">Intel-like processors</a> that reads some bytes in reverse order). They also allow a large file to be broken into chunks to split the work across multiple processors.

<p>However, virtually all of the contest submissions share the performance problem mentioned above. The logic they use won't optimally fit within the constraints of a Intel Core 2 processor. Most will perform as bad or worse than the existing SHA-1 algorithm.</p>

<p>One exception to this is <a href="http://www.schneier.com/skein.html" target="new">Skein</a>, created by several well-known cryptographers and noted pundit <a href="http://www.schneier.com/" target="new">Bruce Schneier</a>. It was designed specifically to exploit all three of the Core 2 execution units and to run at a full 64-bits. This gives it roughly four to 10 times the logic density of competing submissions.</p>

<p>This is what I meant by the <i><a href="http://www.imdb.com/title/tt0133093/" target="new">Matrix</a></i> quote above. They didn't bend the spoon; they bent the crypto algorithm. They moved the logic operations around in a way that wouldn't weaken the crypto, but would strengthen its speed on the Intel Core 2.</p>

<p>In their <a href="http://www.schneier.com/skein.pdf" target="new">paper</a> (PDF), the authors of Skein express surprise that a custom silicon <a href="http://en.wikipedia.org/wiki/Application-specific_integrated_circuit" target="new">ASIC</a> implementation is not any faster than the software implementation. They shouldn't be surprised. Every time you can redefine a problem to run optimally in software, you will reach the same speeds you get with optimized ASIC hardware. The reason software has a reputation of being slow is because people don't redefine the original problem.</blockquote></p>

<p>That's exactly what we were trying to do.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/schneier/fulltext?a=98JTN"><img src="http://feeds.feedburner.com/~f/schneier/fulltext?i=98JTN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/schneier/fulltext?a=diffN"><img src="http://feeds.feedburner.com/~f/schneier/fulltext?i=diffN" border="0"></img></a>
</div>]]></content:encoded>
      <pubDate>Wed, 19 Nov 2008 03:14:48 +0000</pubDate>
      <category domain="http://securityratty.com/tag/skein">skein</category>
      <category domain="http://securityratty.com/tag/skein-1024">skein-1024</category>
      <category domain="http://securityratty.com/tag/skein-512">skein-512</category>
      <category domain="http://securityratty.com/tag/skein express surprise">skein express surprise</category>
      <category domain="http://securityratty.com/tag/skein website">skein website</category>
      <category domain="http://securityratty.com/tag/skein code">skein code</category>
      <category domain="http://securityratty.com/tag/submissions share">submissions share</category>
      <category domain="http://securityratty.com/tag/submissions">submissions</category>
      <category domain="http://securityratty.com/tag/code">code</category>
      <source url="http://www.schneier.com/blog/archives/2008/11/skein_and_sha-3.html">Skein and SHA-3 News</source>
    </item>
    <item>
      <title><![CDATA[CISSPs Lend me your ears]]></title>
      <link>http://securityratty.com/article/2f51be6dbed18127b772146d8ca86adc</link>
      <guid>http://securityratty.com/article/2f51be6dbed18127b772146d8ca86adc</guid>
      <description><![CDATA[Art of Information Security endorses Dan Houser for(ISC)²Board of Directors
The CISSP isundoubtablyone of the most, if not the most, important professional certifications in Information Security....]]></description>
      <content:encoded><![CDATA[<p><strong>Art of Information Security endorses Dan Houser for (ISC)² Board of Directors</strong></p>
<p>The CISSP is undoubtably one of the most, if not the most, important professional certifications in Information Security. Many organizations and practitioners rely on it as evidence of a solid foundation and track record in Information Security. But the CISSP is only one of the many ways that the (ISC)² attempts to fulfill its mission of developing the Information Security profession.</p>
<p>Board membership is a role of governance, guidance, and passion. Let&#8217;s briefly explore how Dan&#8217;s track record and past contributions demonstrate his qualification for this post, and possibly your vote.</p>
<p><strong>Passion</strong></p>
<p>Dan is someone who has a passion for promoting and developing the talent needed to continue to grow and mature our profession. Anyone who has seen Dan speak at conferences, local chapter meetings, or in one of his classes knows how passionate Dan is! But anyone who takes the time to approach him knows that he is no ideologue or zealot; Dan is always interested in improving his own understanding, and then sharing that knowledge with others.</p>
<p>Dan has a long track record as a contributor - as a &#8220;giver&#8221; - to the profession. In addition to teaching over a dozen CISSP review courses, he has also served on multiple (ISC)² committees, is one of the authors of the ISSAP Body of Knowledge (cryptography), and has published primary research on professional certifications. He is also the founder of the monthly Columbus, Ohio Information Security MBA (Masters of Beer Appreciation) meeting - a professional roundtable that attracts practitioners from across the state.</p>
<p><strong>Governance and Guidance <br />
</strong></p>
<p>In addition to past experience serving on (ISC)² committees, which I assume led to the current board&#8217;s nomination, Dan has served on numerous Boards of Directors including local and regional community organizations, ISSA chapters,and several Toastmasters clubs. </p>
<p><strong>Personal Experiences</strong></p>
<p>I have known Dan for almost three yeas. Dan and I have collaborated on a number or projects, including a half-day Cryptographic Controls Seminar and a full-day Identity Management Architecture class. It is my feeling that when you collaborate, work closely, and travel with someone, you really get to know them. You get to do more than hear about their College Sweethearts (which, for Dan, is Rebecca, his wife of 21 years), but you also get to understand their ethics, how they really conduct themselves, how they deal with stress, etc.</p>
<p>Given the entire picture, the understanding that I have of Dan Houser, I can think of no one better suited to representing, guiding and developing the (ISC)². I have voted for Dan, and I hope that you will consider doing the same.</p>
<p>Here is the voting link for (ISC)²: <a href="https://webportal.isc2.org/custom/votenow.aspx%20" onclick="javascript:pageTracker._trackPageview('/outbound/article/https://webportal.isc2.org/custom/votenow.aspx%20');" target="_blank">https://webportal.isc2.org/custom/votenow.aspx</a></p>
<p>Cheers, Erik</p>
<p></p>
<p><a href="http://artofinfosec.com/105/cissps-lend-me-your-ears/" >CISSPs&#8230; Lend me your ears&#8230;</a></p>
<img src="http://feeds.feedburner.com/~r/artofinfosec/~4/456765137" height="1" width="1"/>]]></content:encoded>
      <pubDate>Tue, 18 Nov 2008 01:15:31 +0000</pubDate>
      <category domain="http://securityratty.com/tag/dan">dan</category>
      <category domain="http://securityratty.com/tag/dan houser">dan houser</category>
      <category domain="http://securityratty.com/tag/dan foralmostthree yeas">dan foralmostthree yeas</category>
      <category domain="http://securityratty.com/tag/dans track record">dans track record</category>
      <category domain="http://securityratty.com/tag/information security">information security</category>
      <category domain="http://securityratty.com/tag/track record">track record</category>
      <category domain="http://securityratty.com/tag/information security profession">information security profession</category>
      <category domain="http://securityratty.com/tag/isc">isc</category>
      <category domain="http://securityratty.com/tag/profession">profession</category>
      <source url="http://feeds.feedburner.com/~r/artofinfosec/~3/456765137/">CISSPs Lend me your ears</source>
    </item>
    <item>
      <title><![CDATA[PasswordTextBox]]></title>
      <link>http://securityratty.com/article/4e1580792b56914339b6489792b99933</link>
      <guid>http://securityratty.com/article/4e1580792b56914339b6489792b99933</guid>
      <description><![CDATA[Chris Sells used to poke fun at me when we worked together in my former life . He used to call my security class, &quot;Essential Access Denied&quot;. His point was a good one: when they aren't applied...]]></description>
      <content:encoded><![CDATA[<p><a href="http://www.sellsbrothers.com/" target="_blank">Chris Sells</a> used to poke fun at me when we worked together in my <a href="http://www.flickr.com/photos/andyrs/240203382/" target="_blank">former life</a>. He used to call my security class, &quot;Essential Access Denied&quot;. His point was a good one: when they aren&#39;t applied carefully, security countermeasures often just get in the way of getting work done. I don&#39;t know about you, but password-mode text boxes in web forms have always been one of those annoyances.</p> <p>I&#39;m not complaining about the fact that I can&#39;t see what I&#39;m typing. I understand and laud that feature, because I don&#39;t want someone looking over my shoulder at the password I&#39;m typing, and this even applies when I&#39;m at home. I love my children, but I certainly don&#39;t want them knowing the password to my bank account!</p> <p>No, what I&#39;m bothered by is how a typical password text box behaves on a form that may incur multiple post-backs before it&#39;s finally submitted. If you use the built in ASP.NET TextBox control, it purposely does not repopulate the password text, which means if you press a button on the form that performs a post-back, or if you have a multi-page form that posts back on every step, that password disappears, and the user typically has to re-enter it. You could solve this with liberal use of ASP.NET Ajax UpdatePanels, but that adds its own complexities. I wanted a simpler solution.</p> <p>So I did a little research to see what others had discovered about this problem, and I ended up deriving my own custom control from TextBox to make a much more user-friendly (and developer-friendly) TextBox control. I called it PasswordTextBox, and it acts just like a TextBox in password mode, but it retains the password while still giving the user the same level of protection the standard TextBox supplies.</p> <p>My PasswordTextBox operates very simply: it stores the password in control state, and renders a series of fixed characters (with the same length as the actual password) into the text box so that it &quot;looks&quot; like the user&#39;s password has been rendered. Since control state is part of view state, and since view state is stored in a hidden field on the form, I encrypt the password before putting it into control state.</p> <p>The result is quite nice - the user can post your form back as many times as she needs to, perhaps moving back and forth across wizard steps or tabs, and when she finally presses the &quot;Finish&quot; button (or whatever you call the last step of your input form), your code will be able to read the password by simply accessing the Text property on the PasswordTextBox. The user will believe that her password is sitting there on the form while she&#39;s working, as the same number of obfuscated characters will show up in the field as she typed in originally (what she doesn&#39;t know is that those characters aren&#39;t her real password anymore, but what she doesn&#39;t know won&#39;t hurt her!)</p> <p>Note that to keep this simple, I used DPAPI to encrypt the password, which suited my purposes. But if you have a web farm, that won&#39;t work well at all if you don&#39;t know which machine the user&#39;s going to post back to, so you&#39;ll want to replace that with something more robust. I could see looking up the &lt;machineKey&gt; for entropy, as that tends to be sync&#39;d already across the farm, but I&#39;ve not yet spent the cycles to go down that road, since unfortunately all of the code for generating keys based on that config section are off limits in ASP.NET (most of the useful stuff is marked internal). I don&#39;t think it&#39;d be that hard to do though.</p> <p>Anyway, without further ado, here&#39;s the code, which you&#39;ll see is quite simple. I&#39;d love feedback, especially if you see any glaring problems with the idea or the implementation!</p><pre class="csharpcode"><span class="kwrd">public</span> <span class="kwrd">class</span> PasswordTextBox : TextBox
{
    <span class="rem">// unlikely that a string of these would be used for a password</span>
    <span class="kwrd">const</span> <span class="kwrd">char</span> PasswordPlaceholderChar = <span class="str">&#39;}&#39;</span>;

    <span class="kwrd">string</span> password; <span class="rem">// stored encrypted in control state</span>

    <span class="kwrd">protected</span> <span class="kwrd">override</span> <span class="kwrd">void</span> OnInit(EventArgs e)
    {
        <span class="kwrd">base</span>.OnInit(e);
        Page.RegisterRequiresControlState(<span class="kwrd">this</span>);
    }

    <span class="kwrd">protected</span> <span class="kwrd">override</span> <span class="kwrd">object</span> SaveControlState()
    {
        <span class="kwrd">byte</span>[] encryptedPassword = ProtectPassword(password);

        <span class="kwrd">object</span> baseControlState = <span class="kwrd">base</span>.SaveControlState();
        <span class="kwrd">if</span> (<span class="kwrd">null</span> == baseControlState)
            <span class="kwrd">return</span> encryptedPassword;
        <span class="kwrd">else</span> <span class="kwrd">return</span> <span class="kwrd">new</span> Pair(baseControlState, encryptedPassword);
    }

    <span class="kwrd">protected</span> <span class="kwrd">override</span> <span class="kwrd">void</span> LoadControlState(<span class="kwrd">object</span> savedState)
    {
        <span class="kwrd">byte</span>[] encryptedPassword;

        Pair pair = savedState <span class="kwrd">as</span> Pair;
        <span class="kwrd">if</span> (<span class="kwrd">null</span> != pair)
        {
            <span class="kwrd">base</span>.LoadControlState(pair.First);
            encryptedPassword = pair.Second <span class="kwrd">as</span> <span class="kwrd">byte</span>[];
        }
        <span class="kwrd">else</span> encryptedPassword = savedState <span class="kwrd">as</span> <span class="kwrd">byte</span>[];

        password = UnprotectPassword(encryptedPassword);
    }

    <span class="rem">/// &lt;summary&gt;</span>
    <span class="rem">/// This control always uses TextMode=Password</span>
    <span class="rem">/// &lt;/summary&gt;</span>
    <span class="kwrd">public</span> <span class="kwrd">override</span> TextBoxMode TextMode
    {
        get
        {
            <span class="kwrd">return</span> TextBoxMode.Password;
        }
        set { }
    }

    <span class="rem">/// &lt;summary&gt;</span>
    <span class="rem">/// TextBox doesn&#39;t render value attribute for TextMode=Password</span>
    <span class="rem">/// So we add code that renders a placeholder text instead</span>
    <span class="rem">/// &lt;/summary&gt;</span>
    <span class="rem">/// &lt;param name=&quot;writer&quot;&gt;&lt;/param&gt;</span>
    <span class="kwrd">protected</span> <span class="kwrd">override</span> <span class="kwrd">void</span> AddAttributesToRender(HtmlTextWriter writer)
    {
        <span class="kwrd">base</span>.AddAttributesToRender(writer);

        <span class="kwrd">string</span> text = Text;
        <span class="kwrd">if</span> (text.Length &gt; 0)
            writer.AddAttribute(HtmlTextWriterAttribute.Value,
                GetPlaceholderPassword(text));
    }

    <span class="rem">/// &lt;summary&gt;</span>
    <span class="rem">/// TextBox doesn&#39;t save the &quot;Text&quot; viewstate in</span>
    <span class="rem">/// TextMode=Password and we don&#39;t want our behavior to break</span>
    <span class="rem">/// if ViewState is turned off so we store the password in</span>
    <span class="rem">/// Control State, encrypted with MachineKey</span>
    <span class="rem">/// &lt;/summary&gt;</span>
    <span class="kwrd">public</span> <span class="kwrd">override</span> <span class="kwrd">string</span> Text
    {
        get
        {
            <span class="kwrd">return</span> password ?? <span class="kwrd">string</span>.Empty;
        }
        set
        {
            <span class="rem">// this prevents us overwriting the actual</span>
            <span class="rem">// password with a placeholder</span>
            <span class="kwrd">if</span> (!<span class="kwrd">string</span>.IsNullOrEmpty(password) &amp;&amp;
                <span class="kwrd">value</span>.Equals(GetPlaceholderPassword(password)))
                <span class="kwrd">return</span>;

            password = <span class="kwrd">value</span>;
        }
    }

    <span class="kwrd">private</span> <span class="kwrd">string</span> GetPlaceholderPassword(<span class="kwrd">string</span> realPassword)
    {
        <span class="kwrd">int</span> length = 12;
        <span class="kwrd">if</span> (!<span class="kwrd">string</span>.IsNullOrEmpty(realPassword))
            length = realPassword.Length;

        StringBuilder sb = <span class="kwrd">new</span> StringBuilder();
        sb.Append(PasswordPlaceholderChar, length);

        <span class="kwrd">return</span> sb.ToString();
    }

    <span class="kwrd">public</span> <span class="kwrd">byte</span>[] ProtectPassword(<span class="kwrd">string</span> password)
    {
        <span class="kwrd">if</span> (<span class="kwrd">string</span>.IsNullOrEmpty(password))
            <span class="kwrd">return</span> <span class="kwrd">null</span>;
        <span class="kwrd">byte</span>[] cleartext = Encoding.UTF8.GetBytes(password);
        <span class="kwrd">return</span> ProtectedData.Protect(cleartext, <span class="kwrd">null</span>,
            DataProtectionScope.LocalMachine);
    }

    <span class="kwrd">public</span> <span class="kwrd">string</span> UnprotectPassword(<span class="kwrd">byte</span>[] ciphertext)
    {
        <span class="kwrd">if</span> (<span class="kwrd">null</span> == ciphertext)
            <span class="kwrd">return</span> <span class="kwrd">null</span>;
        <span class="kwrd">byte</span>[] cleartext = ProtectedData.Unprotect(ciphertext, <span class="kwrd">null</span>,
            DataProtectionScope.LocalMachine);
        <span class="kwrd">return</span> Encoding.UTF8.GetString(cleartext);
    }
}
</pre><div style="clear:both;"></div><img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=54154" width="1" height="1">]]></content:encoded>
      <pubDate>Wed, 29 Oct 2008 16:49:54 +0000</pubDate>
      <category domain="http://securityratty.com/tag/password-mode text boxes">password-mode text boxes</category>
      <category domain="http://securityratty.com/tag/text">text</category>
      <category domain="http://securityratty.com/tag/return null">return null</category>
      <category domain="http://securityratty.com/tag/return">return</category>
      <category domain="http://securityratty.com/tag/net">net</category>
      <category domain="http://securityratty.com/tag/net ajax updatepanels">net ajax updatepanels</category>
      <category domain="http://securityratty.com/tag/net textbox control">net textbox control</category>
      <category domain="http://securityratty.com/tag/password">password</category>
      <category domain="http://securityratty.com/tag/textbox control">textbox control</category>
      <source url="http://www.pluralsight.com/community/blogs/keith/archive/2008/10/29/passwordtextbox.aspx">PasswordTextBox</source>
    </item>
    <item>
      <title><![CDATA[Applying SDL Principles to Legacy Code]]></title>
      <link>http://securityratty.com/article/92d969d155d0bac3cdff2f17709cb618</link>
      <guid>http://securityratty.com/article/92d969d155d0bac3cdff2f17709cb618</guid>
      <description><![CDATA[Hello, this is Scott Stender from iSEC Partners, one of the SDL Pro Network partners. As security consultants, we at iSEC work with a variety of companies to drive security throughout their...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>Hello, this is Scott Stender from iSEC Partners, one of the SDL Pro Network partners.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>As security consultants, we at iSEC work with a variety of companies to drive security throughout their development cycle. <SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>Clients with mature security processes ask that we help carry out parts of their process, from requirements analysis to penetration testing.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Other clients need help defining their security processes, and we help define and kickoff a program based on the Microsoft SDL, other defined processes, or variations thereof, depending on the client’s needs and abilities.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Whether participating in an existing process or helping define one, I personally have been lucky enough to have seen my fair share of successes and failures, and it is this perspective that I hope to share in this guest post.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>I find that legacy code poses a unique challenge for organizations rolling out a new security process.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Often, the resources dedicated to maintaining older code are a small fraction of those devoted to new features or products.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Furthermore, the original developers for such features have often moved on, leaving no subject matter experts to drive reviews.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The astute reader will ask “How do I apply the principles of the Microsoft SDL to legacy code when I have no development resources and nobody knows how it works?”<o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>The answer is “Start small, and build expertise over time.”<o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><B style="mso-bidi-font-weight: normal"><FONT size=3><FONT face=Calibri>A Rising Tide Lifts All Boats<o:p></o:p></FONT></FONT></B></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>The best thing a security engineering team can do to improve security in the short term is to drive code quality, and the first step in this process is to define and enforce a secure coding standard.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>This helps on two fronts:<SPAN style="mso-spacerun: yes">&nbsp; </SPAN><o:p></o:p></FONT></FONT></P>
<P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>1.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT size=3><FONT face=Calibri>It will improve code quality and reduce implementation flaws across the entire code base.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Unlike other security processes, driving a secure coding standard is <I style="mso-bidi-font-style: normal">relatively</I> easy to accomplish across an entire code base, regardless of the code’s age, by a focused security team.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>That is not to say that it is easy without qualification – a large batch of spaghetti code will require a lot of work to untangle!<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Such an effort can only be called “easy” when compared to, say, comprehensive identification and remediation of design flaws across legacy features.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Even so, improving code quality through the use of secure coding standards offers a unique combination of high impact, applicability to features, and ability to be carried out by a core team that makes it a sensible first step.<o:p></o:p></FONT></FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"><o:p><FONT face=Calibri size=3>&nbsp;</FONT></o:p></P>
<P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>2.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT size=3><FONT face=Calibri>The security team might notice that some sections of code have more standards violations or outright flaws than others.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>This is an instance of vulnerability clustering, a concept that has been used to predict vulnerability rates and improve quality in the functional realm.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The evidence is anecdotal, but it stands to reason that portions of code that consistently violate secure coding standards are good places to start looking for other classes of security flaw.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>These are security hotspots, and should be high on the prioritized list for further review.<o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>Security testing may also be applied to legacy code, but initial activities should be considered on a case-by-case basis based on the expected return on investment.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Such testing ranges from using inexpensive off-the-shelf tools to exercise common interfaces to rather expensive custom testing and formal analysis.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>It is worthwhile to begin with off-the-shelf tools, such as those that target file parsers or web applications, and tools created as part of your greater secure development efforts.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>These can help identify easily-found flaws and suggest improvements to the coding standards.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Comprehensive security testing, on the other hand, is best tackled after the Legacy Security Push.<o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><B style="mso-bidi-font-weight: normal"><FONT size=3><FONT face=Calibri>The Legacy Security Push<o:p></o:p></FONT></FONT></B></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>Coding standards and basic testing provide bang for the buck, but formal security processes seek to provide security assurance.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The challenge for legacy code is that it needs to play catch-up.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Security processes that occur early in the development cycle, such as requirements analysis, design review, and threat modeling, are particularly difficult to achieve years after the fact.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The main goal of the Legacy Security Push is to create the deliverables from these efforts, the most important of which are security requirements and a full risk analysis.<o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>It may sound trivial, but security requirements are essential.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Not only do they define proper operation for the system in question, they also define assumptions that are suitable for relying systems.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>It is very common to find security flaws in legacy systems that arise from well-intentioned but incorrect assumptions such as “I assume that the <I style="mso-bidi-font-style: normal">Foo</I> authenticates server <I style="mso-bidi-font-style: normal">Bar</I> when initiating a bank transfer.”<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>It stands to reason that <I style="mso-bidi-font-style: normal">Foo</I> would do so for such an important activity, but this assumption must be validated.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>It is very common for older features to have been deployed in and written for different environments where the security assumptions that are "obvious" today just didn't apply at the time.<o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>When reviewing legacy systems, the first step is to identify such requirements.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>If the original architects, developers or managers are available, they can provide valuable insight at this stage.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>More often than not this is not the case, and analysis must instead rely on what documentation is present and interaction between the software and its consumers.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The goal is the same as in requirements analysis during project inception, except that in this case one must turn the process on its head and reverse engineer requirements from system behavior.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>At the conclusion of this effort, requirements can be theorized – “<I style="mso-bidi-font-style: normal">Foo</I> must authenticate its server <I style="mso-bidi-font-style: normal">Bar</I> before initiating a bank transfer.”<SPAN style="mso-spacerun: yes">&nbsp; </SPAN><o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>Risk analysis can be performed once a plausible set of requirements have been identified.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Threat modeling is a more structured means of performing such an analysis, with the eventual goal of identifying means by which requirements can be violated by an attacker.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN><o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>As with requirements analysis, original developers would be a valuable resource to consult.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>With or without such help, the first step is to identify how the software works.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>In many cases, help is not available and performing this task requires a great deal of effort.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>For features of moderate size, this author has spent upwards of a month reading code, using process profiling tools, and walking through the software with a debugger to identify program flow and security-sensitive functionality. <o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>Once completed, actual system behavior should be documented and compared against the requirements theorized.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>It might be that the requirements should be re-evaluated (New requirement:<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Do not assume that <I style="mso-bidi-font-style: normal">Foo</I> requires server authentication) or the system may need to be changed (New bug:<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN><I style="mso-bidi-font-style: normal">Foo</I> does not verify the CN for <I style="mso-bidi-font-style: normal">Bar</I>).<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>At the end, this information should be sufficient to support a comprehensive threat modeling exercise where security requirements, risks, and their mitigations can be documented.<o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><B style="mso-bidi-font-weight: normal"><FONT size=3><FONT face=Calibri>Next Steps<o:p></o:p></FONT></FONT></B></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>Bringing a legacy feature up to par with its newer kin requires a relatively small number of items:<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>improved code quality, clear security requirements, and a thorough threat model.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>As we have seen, performing even these tasks is quite the effort!<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I am sure that it is little comfort to be reminded that accomplishing these tasks has simply laid the foundation, and that the true benefit is that the newly-reviewed legacy feature is able to participate fully in the security processes that remain: reviewing cross-component security requirements and assumptions, comprehensive testing, and incident planning, to name a few.<o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>Unfortunately, there is no silver bullet in security assurance.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The soundness of the design and implementation of legacy software is just as important as in newer software, which is why any complete secure software development process will look backwards as well as forwards.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Feature by feature, from higher priority to lower, the overall security of the software improves as legacy code receives the full security treatment it deserves.<o:p></o:p></FONT></FONT></P><SPAN style="FONT-SIZE: 11pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi">Did you find the silver bullet?<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Might you think that defining security requirements is unnecessary?<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Perhaps “It is old and has not been attacked yet.” is a valid security strategy!<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Please comment below or email me directly at <A href="mailto:scott@isecpartners.com"><FONT color=#0000ff>scott@isecpartners.com</FONT></A> and share your thoughts.</SPAN><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9018591" width="1" height="1">]]></content:encoded>
      <pubDate>Mon, 27 Oct 2008 14:24:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/legacy code">legacy code</category>
      <category domain="http://securityratty.com/tag/mature security processes">mature security processes</category>
      <category domain="http://securityratty.com/tag/security processes">security processes</category>
      <category domain="http://securityratty.com/tag/cross-component security requirements">cross-component security requirements</category>
      <category domain="http://securityratty.com/tag/security requirements">security requirements</category>
      <category domain="http://securityratty.com/tag/processes">processes</category>
      <category domain="http://securityratty.com/tag/code">code</category>
      <category domain="http://securityratty.com/tag/requirements">requirements</category>
      <category domain="http://securityratty.com/tag/legacy code poses">legacy code poses</category>
      <source url="http://blogs.msdn.com/sdl/archive/2008/10/27/applying-sdl-principles-to-legacy-code.aspx">Applying SDL Principles to Legacy Code</source>
    </item>
    <item>
      <title><![CDATA[Lords debate Personal Internet Security]]></title>
      <link>http://securityratty.com/article/e68b4f70acd9eac9c340126b268863eb</link>
      <guid>http://securityratty.com/article/e68b4f70acd9eac9c340126b268863eb</guid>
      <description><![CDATA[Last Friday the House of Lords debated their Science and Technology Committees report on Personal Internet Security (from Summer 2007) and because the Governments response was so weak the additional...]]></description>
      <content:encoded><![CDATA[<p>Last Friday the House of Lords <a href="http://www.publications.parliament.uk/pa/ld200708/ldhansrd/text/81010-0006.htm#08101048000005">debated</a> their Science and Technology Committee&#8217;s report on <a href="http://www.publications.parliament.uk/pa/ld200607/ldselect/ldsctech/165/165i.pdf">Personal Internet Security</a> (from Summer 2007) and &#8212; because the Government&#8217;s response was so weak &#8212; the <a href="http://www.publications.parliament.uk/pa/ld200708/ldselect/ldsctech/131/131.pdf">additional follow-up report</a> that was published in Spring 2008. Since I had acted as the specialist adviser to the Committee, I went down to Westminster to sit &#8220;<a href="http://www.parliament.uk/about/glossary.cfm?ref=belowth_5748">below the bar</a>&#8220;, in one of the best seats in the House, and observe.</p>
<p><a href="http://www.theyworkforyou.com/peer/lord_broers">Lord Broers</a>, the Committee Chairman during the first inquiry, kicked things off, followed by various Lords who had sat on the Committee (and two others who hadn&#8217;t) then the opposition lead, Viscount Bridgeman, who put his party&#8217;s point of view (of which more in another article). Lord Brett (recently elevated to a <a href="http://en.wikipedia.org/wiki/Lord-in-Waiting">Lord in Waiting</a> &#8212; ie a whip), then replied to the debate and finally Lord Broers summarised and formally moved the &#8220;take note&#8221; motion which, as is custom and practice, the Lords then consented to <em>nem con</em>.</p>
<p>The Government speech in such a debate is partially pre-written, and should then consist of a series of responses to the various issues raised and answers to the questions put in the previous speeches. The Minister himself doesn&#8217;t write any of this, that&#8217;s done by civil servants from his department, sitting in a special &#8220;box&#8221; at the end of the chamber behind him.</p>
<p>However, since the previous speeches were so strongly critical of the Government&#8217;s position, and so many questions were put as to what was to be done next, I was able to see from my excellent vantage point (as TV viewers would never be able to) the almost constant flow of hastily scribbled notes from the box to the Minister &#8212; including one note that went to Lord Broers, due to an addressing error by the scribblers!</p>
<p>The result of this barrage of material was that Lord Brett ended up with so many bits of paper that he completely gave up trying to juggle them, read out just one, and promised to write to everyone concerned with the rest of the ripostes.</p>
<p>Of course it didn&#8217;t help that he&#8217;d only been in the job for five days and this was his first day at the dispatch box. But the number of issues he had to address would almost certainly have flummoxed a five-year veteran as well.</p>
<p>Amusing though this might be to watch, this does not bode well for the Government getting to grips with the issues raised in the reports. In technical areas such as &#8220;Personal Internet Security&#8221;, policy is almost entirely driven by the civil servants and not by the politicians.</p>
<p>So it is particularly disappointing that the pre-written parts of the Minister&#8217;s speech &#8212; the issues that the civil servants expected to come up and which they felt positive about addressing &#8212; were only a small proportion of the issues that were actually addressed in the debate.</p>
<p>It still seems as if the <a href="http://i.abcnews.com/2020/story?id=3131332&#038;page=1">penny hasn&#8217;t dropped</a> in Whitehall <img src='http://www.lightbluetouchpaper.org/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
]]></content:encoded>
      <pubDate>Mon, 13 Oct 2008 18:57:12 +0000</pubDate>
      <category domain="http://securityratty.com/tag/personal internet security">personal internet security</category>
      <category domain="http://securityratty.com/tag/lord">lord</category>
      <category domain="http://securityratty.com/tag/lord broers">lord broers</category>
      <category domain="http://securityratty.com/tag/lords">lords</category>
      <category domain="http://securityratty.com/tag/civil servants">civil servants</category>
      <category domain="http://securityratty.com/tag/box">box</category>
      <category domain="http://securityratty.com/tag/lord brett">lord brett</category>
      <category domain="http://securityratty.com/tag/dispatch box">dispatch box</category>
      <category domain="http://securityratty.com/tag/issues">issues</category>
      <source url="http://www.lightbluetouchpaper.org/2008/10/13/lords-debate-personal-internet-security/">Lords debate Personal Internet Security</source>
    </item>
    <item>
      <title><![CDATA[John Zanni Delivers Keynote at the Tier1 Hosting Transformation Summit]]></title>
      <link>http://securityratty.com/article/e6b5db3dba618f48e7fa728ff2173006</link>
      <guid>http://securityratty.com/article/e6b5db3dba618f48e7fa728ff2173006</guid>
      <description><![CDATA[As General Manager of Worldwide Hosting, John Zanni is a key guy for every Managed Service Provider delivering Microsoft based solutions. At this years Hosting Transformation Summit , John gave a...]]></description>
      <content:encoded><![CDATA[<p><img style="border-right: 0px; border-top: 0px; margin: 0px 10px 10px 0px; border-left: 0px; border-bottom: 0px" height="244" alt="spla_image" src="http://blog.sciencelogic.com/wp-content/uploads/2008/09/spla-image.png" width="244" align="left" border="0"> As General Manager of Worldwide Hosting, <a href="http://www.microsoft.com/presspass/features/2008/jul08/07-29qazanni.mspx" target="_blank">John Zanni is a key guy for every Managed Service Provider</a> delivering Microsoft based solutions. At this year&#8217;s <a href="http://www.hostingtransformation.com/na/2008/" target="_blank">Hosting Transformation Summit</a>, John <a href="http://www.hostingtransformation.com/na/2008/agenda.php" target="_blank">gave a keynote</a> titled: &#8220;Leadership Perspective: Cloud Computing – is Virtualization Enough?&#8221;</p>
<p>John talked <a href="http://blogs.zdnet.com/BTL/?p=10007" target="_blank">about Microsoft’s mission</a>, his perspectives on key industry trends and market opportunity; he touched on <a href="http://www.betanews.com/article/Will_Microsofts_virtualization_spur_a_lot_more_cloud_computing/1221867502" target="_blank">Cloud Computing and Virtualization</a> and took some Q&amp;A from the audience of <a href="http://technet.microsoft.com/en-us/serviceproviders/default.aspx" target="_blank">Managed Service Provider</a> executives.</p>
<p>One of his first proclamations - Microsoft has really embraced the heterogeneous environment. Really? How in the world is Microsoft going to help convince IT line managers, or mid level managers to believe this statement? I think they have a long way to go to achieve this vision with any credibility in the marketplace.&nbsp; I do know that they are making small strides.</p>
<p>Microsoft has been widely credited with some very good blogs that are self critical and introspective. They have also been quite active in the standards boards within <a href="http://www.dmtf.org/home" target="_blank">DMTF</a> and many others such as <a href="http://www.openwsman.org/" target="_blank">Open WSMAN</a> and CIMON (<a href="http://www.openpegasus.org/" target="_blank">Open Pegasus</a>). Microsoft in February published 30,000 pages detailed technical specifications – protocol documentation for Exchange, since that time they have published another 15,000 pages. They have had over 224,000 downloads since February 21, 2008. Thus they are trying to be more open by making some of these <a href="http://www.microsoft.com/about/legal/intellectualproperty/protocols/default.mspx" target="_blank">secret sauce protocol resources</a> <a href="http://msdn.microsoft.com/openprotocols" target="_blank">directly available on the web</a>.</p>
<p>So for now, I will take a very cautious wait and see approach to this proclamation. Time will tell.</p>
<p><strong>Trends</strong></p>
<ul>
<li>Rapid growth continues
<li>Hosting Competition has a new face
<ul>
<li>Platform gorillas (amazooglesoft)
<li>Ad supported Web 2.0 hosters (Google, Facebook,) </li>
</ul>
<li>Utility Cloud Computing models are expanding to non-traditional hosting companies
<ul>
<li>Wells Fargo vSafe - hard to believe that a big bank would start to offer a SaaS offering
<li>New tools and markets digital ribbon, CohesiveIT </li>
</ul>
</li>
</ul>
<p><a href="http://mshostingsummit08.spaces.live.com/blog/cns!4308FE7290C0AF4!245.entry" target="_blank">IDC Data shows that growth of SaaS ISV’s is the biggest layer of growth</a>. The fastest growing services are complex, custom applications. IDC says this area will be bigger than the hosting area in the next 5 years. John said that <a href="http://blogs.msdn.com/ukisv/archive/2008/09/22/the-route-to-saas-and-beyond-final-seminar-places-remain-2nd-oct-08.aspx" target="_blank">Microsoft is spending a lot of time, money and energy on this right now</a>.</p>
<p>John said:</p>
<blockquote><p>“when Microsoft thinks about the building blocks that make-up the cloud, <a href="http://www.microsoft.com/virtualization/" target="_blank">virtualization is a core piece</a> of the puzzle. However you also need also identity services, Operating system with standard set of libraries to tap into… or remote storage that application developers will tap into.. Developers will consume these set of services, but you will also need a set of tools to manage your physical, virtual and geographically distributed datacenter infrastructure.” (that is where ScienceLogic comes in!!)</p>
</blockquote>
<p>He went on to say,</p>
<blockquote><p>“In some ways, virtualization enables decentralization – allows you to move from data centers, enables fast scaling out, business to move from on premise to the cloud and off again…. Automation is very important – this will help you scale your business – this is core to your future success.”</p>
</blockquote>
<p>He talked about a new breed of knowledge worker: He called them Digital Natives (compared to grey haired guys like me who are left out of this category).</p>
<p>Definition of a Digital natives? A young adult who has grown up with cellphone, web based applications, Facebook account, as their primary mode of communications.</p>
<p>John commented that we are 5 years into a 10 year journey. Only 12% of all servers in the world are virtualized today… in the next 4 years it will double to 25%. This is <a href="http://www.interopnews.com/news/vmware-ceo-maritz-addresses-virtualization-the-cloud-and-cha.html" target="_blank">the time to think through</a> how this business will affect you.</p>
<blockquote><p>‘Virtualization without good management is more dangerous than not using virtualization in the first place.” Thomas Bittman, Analyst Gartner</p>
</blockquote>
<p>Patching and provisioning nightmare – no scalable administration – sprawl chaos.</p>
<p>John posed a question to the audience: How do you partner to provide the ISV support in application development with specific market needs… partner by keeping the <a href="http://tarrysingh.blogspot.com/2008/09/microsofts-coo-on-cloud-computing.html" target="_blank">hosting to SaaS solution</a> providers up and running and provide the quality of service that their customers expect…. Complimentary services of storage and backup is a big win with a huge market-upside over the next 5 years..</p>
<p>John said that <a href="http://blogs.msdn.com/mhpta/archive/2008/04/10/microsoft-hosting-summit-2008.aspx" target="_blank">Microsoft continues</a> to make&nbsp; <a href="http://www.virtualization.info/2008/07/microsoft-bets-on-hosting-providers-to.html" target="_blank">huge investments with Managed Service Providers</a>.</p>
<ul>
<li>Investing in the <a href="http://www.microsoft.com/hosting/" target="_blank">windows hosting platform</a>
<li>Hyper V and SQL2008 GoLive program - getting beta code out to service provides to find as many bugs as early as possible.
<li><a href="http://blogs.msdn.com/stevecla01/archive/2008/09/22/explaining-software-plus-services.aspx" target="_blank">Software + Services (S+S)</a> incubation center program
<li>Partnering for <a href="http://tarrysingh.blogspot.com/2008/09/microsofts-coo-on-cloud-computing.html" target="_blank">cloud platform market offers</a>
<li>Cloud platform guidance and best practices </li>
</ul>
<p>During the Q&amp;A, David Burns from Cincinnati Bell asked the very best question… “when are you going to make it easier for the Service Provider market to <a href="http://www.virtualization.info/2008/09/microsoft-to-allow-3rd-parties-to.html" target="_blank">deal with the Microsoft Service Provider Licensing Agreement (SPLA)</a> quarterly statistics pull and change the SPLA pricing to be more efficient and creative for the new Virtualization and Cloud offerings you have talked about?&#8221;</p>
<p>John’s response: “We hear your frustrations loud and clear and are working on some new ideas for the future version of SPLA.” My interpretation – &#8220;Dear Service Providers don’t expect anything new or easier to deal with in the next 6 months!&#8221;</p>
<p>His closing remarks: &#8220;Cloud is evolving = very early stages, lots of hype, but think of how this evolution will effect your business and how you can plug into it.”</p>
]]></content:encoded>
      <pubDate>Thu, 25 Sep 2008 12:00:27 +0000</pubDate>
      <category domain="http://securityratty.com/tag/service provider market">service provider market</category>
      <category domain="http://securityratty.com/tag/service">service</category>
      <category domain="http://securityratty.com/tag/service providers">service providers</category>
      <category domain="http://securityratty.com/tag/service provider">service provider</category>
      <category domain="http://securityratty.com/tag/service provider executives">service provider executives</category>
      <category domain="http://securityratty.com/tag/john">john</category>
      <category domain="http://securityratty.com/tag/john zanni">john zanni</category>
      <category domain="http://securityratty.com/tag/microsoft">microsoft</category>
      <category domain="http://securityratty.com/tag/microsoft based solutions">microsoft based solutions</category>
      <source url="http://blog.sciencelogic.com/john-zanni-delivers-keynote-at-the-tier1-hosting-transformation-summit/09/2008">John Zanni Delivers Keynote at the Tier1 Hosting Transformation Summit</source>
    </item>
    <item>
      <title><![CDATA[The Importance of Trust]]></title>
      <link>http://securityratty.com/article/a237a38c2b93a16a5d0702327c562838</link>
      <guid>http://securityratty.com/article/a237a38c2b93a16a5d0702327c562838</guid>
      <description><![CDATA[As an instructor and trainer, I am constantly reinforcing the importance of living by one's word

Integrity, Honor, Loyalty - all of these fine characteristics are the building blocks upon which...]]></description>
      <content:encoded><![CDATA[As an instructor and trainer, I am constantly reinforcing the importance of living by one's word.  <br /><span id="fullpost"><br />Integrity, Honor, Loyalty - all of these fine characteristics are the building blocks upon which reputations are raised.  It is of the utmost importance in any walk of life to "live by your word", but in the security profession - especially where the protecting of life is concerned, it is everything. <br /></span><br />I attended National Stadium last night and watched the Washington Nationals beat the New York Mets.  I was fortunate to have been invited to enjoy the game from the president's box.  During the pre-dinner networking, I ran into a business owner whom I had met a few years previously.  He had been introduced to me at that time as his business involved him being around some area celebrity sporting stars.<br /><br />Being interested in a chance to possibly offer executive protection services to these stars, I arranged to meet with this business owner to discuss how we might be able to assist one another.  I remember it was during the winter and the roads were a little suspect in places as I drove the 25-30 miles to be closer to his location.  <br /><br />I arrived a little early, as is my custom and waited for him to arrive.  It became clear after about an hour that he was experiencing some difficulty or had some other reason for being so late.  I left a few voice mails and called it quits after around 90 minutes.  He never returned any of my calls but when I reached him about a week later he admitted that something else had come up.  Unfortunately, he did not think it worth his while to let me know this with a phone call.<br /><br />So, here I am last night and this same person is introduced to me once again.  Maybe he didn't remember back three years ago because he started to tell me about some connection that he knew that may be a "good fit" for my company.  His small talk fell on deaf ears.  He had already lost all credibility with me and eventhough I have not thought about it once in the inetrvening years, as soon as I saw him it came back as clear as day.<br /><br />In his book; "The Speed of Trust", the author Stephen M.R. Covey sums it up best - "keeping commitments is based on the principles of integrity, performance, courage and humility.  It is the perfect balance of character and competence. Particularly, it involves integrity (character) and your ability to do what you say you are going to do (competence)."<div class="blogger-post-footer">Visit Sexton Executive Security at www.sextonsecurity.com</div>]]></content:encoded>
      <pubDate>Tue, 16 Sep 2008 15:46:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/importance">importance</category>
      <category domain="http://securityratty.com/tag/business">business</category>
      <category domain="http://securityratty.com/tag/business owner">business owner</category>
      <category domain="http://securityratty.com/tag/integrity">integrity</category>
      <category domain="http://securityratty.com/tag/involves integrity">involves integrity</category>
      <category domain="http://securityratty.com/tag/utmost importance">utmost importance</category>
      <category domain="http://securityratty.com/tag/competence">competence</category>
      <category domain="http://securityratty.com/tag/security profession">security profession</category>
      <category domain="http://securityratty.com/tag/deaf ears">deaf ears</category>
      <source url="http://www.thebulletproofblog.com/2008/09/importance-of-trust.html">The Importance of Trust</source>
    </item>
    <item>
      <title><![CDATA[Live Blogging from GOVCERT.NL 2008 - Marchus Sachs Speaking]]></title>
      <link>http://securityratty.com/article/ab3d53e1d3da8c395355b11889a9e050</link>
      <guid>http://securityratty.com/article/ab3d53e1d3da8c395355b11889a9e050</guid>
      <description><![CDATA[The next presentation at GOVCERT.NL 2008 is Marchus Sachs's &quot;Security in Supply Chain&quot;; very interesting as well

If the world weren't already 0wned due to bad software (see my account of the previous...]]></description>
      <content:encoded><![CDATA[The <a href="http://www.govcert.nl/symposium/programme.html">next presentation</a> at GOVCERT.NL 2008  is Marchus Sachs's "Security in Supply Chain"; very interesting as well.<br /><br />If the world weren't already 0wned due to bad software (see my account of <a href="http://chuvakin.blogspot.com/2008/09/live-blogging-from-govcertnl-2008-david.html">the previous presentation</a>), Marchus talks about how "0wning your supplier to 0wn you" will become more popular. Infected disk drives, picture frames, GPS units (!), laptops, USB keys, MP3 players, etc are a sign of it; the public one, that is.  Real "pre-0wned" stuff is the stuff you never see ALL THE WHILE it gets incorporated into our critical systems (like the fake Cisco routers - this one somehow sounds very ominous to me...)<br /><br />BTW, the one I have  not heard is one about Apple iPods being shipped infected with <span style="font-style: italic;">Windows</span>-based malware :-) WTH?<br /><br />I also love his example of a chewing gum AND a USB stick lying on the floor.<br />Will you pick a stick of gum and stick it in your mouth? Ewwwgh...<br />How about a USB stick? Hmm...<br /><br />So, will RBN (or its tomorrow's equivalent)  go into a business of partnering with a fake MP3 player manufacturer AND produce players  "pre-0wned" with custom malware? Just an idea ...  "RBN-branded MP3 player" to make money two ways.<br /><br />How do you solve this? More lawsuits?<div class="blogger-post-footer">About me: http://www.chuvakin.org</div><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/AntonChuvakinPersonalBlog?a=f0TDL"><img src="http://feeds.feedburner.com/~f/AntonChuvakinPersonalBlog?i=f0TDL" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/AntonChuvakinPersonalBlog?a=zEwgL"><img src="http://feeds.feedburner.com/~f/AntonChuvakinPersonalBlog?i=zEwgL" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/AntonChuvakinPersonalBlog?a=34iFL"><img src="http://feeds.feedburner.com/~f/AntonChuvakinPersonalBlog?i=34iFL" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AntonChuvakinPersonalBlog/~4/394020215" height="1" width="1"/>]]></content:encoded>
      <pubDate>Mon, 15 Sep 2008 21:18:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/stick">stick</category>
      <category domain="http://securityratty.com/tag/usb stick">usb stick</category>
      <category domain="http://securityratty.com/tag/marchus sachs">marchus sachs</category>
      <category domain="http://securityratty.com/tag/custom malware">custom malware</category>
      <category domain="http://securityratty.com/tag/presentation">presentation</category>
      <category domain="http://securityratty.com/tag/malware">malware</category>
      <category domain="http://securityratty.com/tag/fake cisco routers">fake cisco routers</category>
      <category domain="http://securityratty.com/tag/previous presentation">previous presentation</category>
      <category domain="http://securityratty.com/tag/produce players">produce players</category>
      <source url="http://feeds.feedburner.com/~r/AntonChuvakinPersonalBlog/~3/394020215/live-blogging-from-govcertnl-2008.html">Live Blogging from GOVCERT.NL 2008 - Marchus Sachs Speaking</source>
    </item>
    <item>
      <title><![CDATA[Customers Being Heard Dell OEM Customer Advisory Council]]></title>
      <link>http://securityratty.com/article/b5bf6c31cfb46c51caf3436e68450bcd</link>
      <guid>http://securityratty.com/article/b5bf6c31cfb46c51caf3436e68450bcd</guid>
      <description><![CDATA[It was a surprise and a great honor when Dell asked us to participate on their Industry Solutions Group (ISG) OEM Customer Advisory Council even more so when I met some of the other members from...]]></description>
      <content:encoded><![CDATA[<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 10px 0px; border-right-width: 0px" height="234" alt="dell" src="http://blog.sciencelogic.com/wp-content/uploads/2008/09/dell.jpg" width="240" align="left" border="0"> It was a surprise and a great honor when Dell asked us to participate on their <a href="http://www.dell.com/content/topics/global.aspx/sitelets/solutions/industry_application/oem_solutions/oem_industry_solutions_group?c=us&amp;cs=555&amp;l=en&amp;s=biz&amp;redirect=1" target="_blank">Industry Solutions Group (ISG) OEM Customer Advisory Council</a> – even more so when I met some of the other members from companies like Google, Teradata, Siemens Medical and Cisco. Not so shabby.</p>
<p>I arrived in Austin Sunday night to get ready for a factory tour on Monday, a kickoff dinner and then two days of briefings from Dell executives, including Michael Dell himself! Dell’s ISG business is growing at a very fast pace and continues to build momentum and focus within the broader organization.</p>
<p>We had a nice <a href="http://www.lockergnome.com/blade/2008/08/02/microsoft-has-oems-adding-defender-one-care-to-pcs/" target="_blank">overview of the product roadmap</a>, including some of the exciting enhancements Dell is making to their <a href="http://gigaom.com/2008/09/04/pc-makers-give-storage-startups-a-boost/" target="_blank">storage products</a> <a href="http://blogs.smugmug.com/don/2007/10/01/dell-md3000-great-das-db-storage/" target="_blank">such as the MD3000</a> and the new <a href="http://jpowell.blogs.com/jason_powell_church_it/2008/04/equallogic-app.html" target="_blank">EqualLogic PS5000 series iSCSI</a> solutions.</p>
<p>I really enjoyed the Council meeting and it reminds me all over again; what I admire about Dell is the way they and Michael Dell himself stay close to the customer. The entire purpose of this event is to “get it right” and determine meaningful ways to embrace change (including change in the manufacturing process) in order to make their customers more successful. Ah shucks, you may say that all companies behave this way… well I must tell you that is not true and at times, I find it difficult as we continue to grow to stay as close as I would like to all of our customers varying needs and directions.</p>
<p><img style="border-right: 0px; border-top: 0px; margin: 0px 10px 10px 0px; border-left: 0px; border-bottom: 0px" height="228" alt="Ideastorm" src="http://blog.sciencelogic.com/wp-content/uploads/2008/09/ideastorm1.jpg" width="456" border="0"> </p>
<p>This concept of <a href="http://www.briansolis.com/2008/07/comcast-cares-and-why-your-business.html" target="_blank">gathering, internalizing and embracing customer feedback is a simple principle</a> of Business Success stories. <a href="http://www.beingpeterkim.com/2008/09/ive-been-thinki.html" target="_blank">Always trying to improve</a> the pace of change and build meaningful sticky relationships with customers. Dell’s very successful <a href="http://www.dellideastorm.com/" target="_blank">Ideastorm</a> site where customers post <a href="http://www.pronetadvertising.com/articles/how-richard-binhammer-is-changing-the-face-of-dell-online34379.html" target="_blank">product feedback and are active participants</a> in the Dell community is a <a href="http://www.bloggingstocks.com/2008/07/07/how-dell-can-leap-ahead-in-consumer-laptop-sales/" target="_blank">great example of how to do this right</a>. No other hardware vendor that we have worked with or attempted to work with has ever gone to the extent of embracing change that Dell has during our 5-year relationship.</p>
<p>From the custom factory integration services to the attention to detail in the order and manufacturing, and logistics processes, Dell helps us execute for our customers and I must admit that we could not have built the business as quickly or efficiently without Dell!</p>
<p>So thank you Michael Dell for building a business that embraces change and is focused on helping your ISG customers succeed.</p>
]]></content:encoded>
      <pubDate>Fri, 05 Sep 2008 11:54:54 +0000</pubDate>
      <category domain="http://securityratty.com/tag/dell">dell</category>
      <category domain="http://securityratty.com/tag/michael dell">michael dell</category>
      <category domain="http://securityratty.com/tag/dells isg business">dells isg business</category>
      <category domain="http://securityratty.com/tag/isg">isg</category>
      <category domain="http://securityratty.com/tag/customers">customers</category>
      <category domain="http://securityratty.com/tag/dell community">dell community</category>
      <category domain="http://securityratty.com/tag/dell helps">dell helps</category>
      <category domain="http://securityratty.com/tag/business">business</category>
      <category domain="http://securityratty.com/tag/dell executives">dell executives</category>
      <source url="http://blog.sciencelogic.com/customers-being-heard-dell-oem-customer-advisory-council/09/2008">Customers Being Heard Dell OEM Customer Advisory Council</source>
    </item>
    <item>
      <title><![CDATA[Streaming SQL Approaches Insist in Ignoring Causality by PatternStorm]]></title>
      <link>http://securityratty.com/article/46fcc325a183e0e5f0b350bcc9aeb6b5</link>
      <guid>http://securityratty.com/article/46fcc325a183e0e5f0b350bcc9aeb6b5</guid>
      <description><![CDATA[The following excellent discussion is reposted from Streaming SQL approaches insist in ignoring causality by PatternStorm
The recent paper Towards a Streaming SQL Standard by Oracle and Streambase...]]></description>
      <content:encoded><![CDATA[<blockquote><p>The following excellent discussion is reposted from <a href="http://www.thecepblog.com/wp-admin/#p452">Streaming SQL approaches insist in ignoring causality</a> by PatternStorm.</p></blockquote>
<p>The recent paper &#8220;<a href="http://www.cs.brown.edu/%7Eugur/streamsql.pdf" target="_blank">Towards a Streaming SQL Standard</a>&#8221; by Oracle and Streambase unifies and generalizes two different execution models of Streaming SQL: Oracle&#8217;s and StreamBase&#8217;s.</p>
<p>While it&#8217;s true that the generalization succeeds in overcoming the unability of both execution models of producing correct results for astonishing simple queries (showing evidence of the actual limitations of these two Streaming SQL languages) it is also true that the generalization is closer to being overly complex than natural and intuitive.</p>
<p>The root cause behind the actual limitations of these two Streaming SQL languages is that their execution models &#8220;hardcode&#8221; the way events can be related to each other: in the Oracle case events are partially ordered by timestamp, in the StreamBase case events are totally ordered by time of arrival. These design decisions (natural in a stream oriented lamguage) have strong implications on what queries can be answered correctly, particularly when these queries involve joins of derived streams.</p>
<p>The generalization, of course, mainly consists in providing a new operator that allows the user to establish custom ordering relationships among the events (the SPREAD operator), which is good news but takes us to the fundamental issue: event processing cannot be reduced to stream processing, that is, to the processing of events that are totally or partially ordered by a pre-defined relationship (as Oracle and StreamBase actual implementations do), on the contrary, no particular ordering can be assumed because the user needs to be able to order the events in different ways in order to solve different problems. This is what event processing is about and the paper provides evidence that Streaming SQL approaches have found the need to move towards that direction and are having trouble in their way.</p>
<p>For instance, one of the queries used in the paper as an example of a query that StreamBase cannot solve (but Oracle can) is the following: correlate the stream that contains the total number of cars on the road for each time interval with the stream that contains the total average speed of the cars on the road for each time interval in order to detect the situation where the avergae speed is below 45 and the total number of cars is two or more. This query can be very easily and more robustly solved if you order the events by causality rather than by time, that is, if you have each position report update the average speed stream and the total number of cars stream and then you causally relate each position report to the new average speed event and the new total number of cars event that it generates; then the query is just a matter of detecting all report speeds that are causally related both to an average speed event below 45 and a total number of cars event of two or more (notice that this approach is more robust than Oracle&#8217;s time-based one because it works without requiring derived streams to be synchronized with the report speed stream)</p>
<p>Conclusions:</p>
<ul>
<li>Event Processing is a generalization of Stream Processing (as the paper shows)</li>
<li>Event Processing requires providing the ability to the user of creating custom relationships among events and then define patterns/queries using those custom relationships.</li>
<li>Causality is more often than not a more robust and easier criteria to order events than time or order of arrival.</li>
<li>Event Processing Languages should support causality.</li>
</ul>
<p>Regards,<br />
PatternStorm</p>
]]></content:encoded>
      <pubDate>Fri, 05 Sep 2008 10:25:35 +0000</pubDate>
      <category domain="http://securityratty.com/tag/sql">sql</category>
      <category domain="http://securityratty.com/tag/sql approaches insist">sql approaches insist</category>
      <category domain="http://securityratty.com/tag/cars stream">cars stream</category>
      <category domain="http://securityratty.com/tag/stream">stream</category>
      <category domain="http://securityratty.com/tag/average speed event">average speed event</category>
      <category domain="http://securityratty.com/tag/event">event</category>
      <category domain="http://securityratty.com/tag/sql languages">sql languages</category>
      <category domain="http://securityratty.com/tag/languages">languages</category>
      <category domain="http://securityratty.com/tag/cars event">cars event</category>
      <source url="http://www.thecepblog.com/2008/09/05/streaming-sql-approaches-insist-in-ignoring-causality-by-patternstorm/">Streaming SQL Approaches Insist in Ignoring Causality by PatternStorm</source>
    </item>
  </channel>
</rss>
