<?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: render]]></title>
    <link>http://securityratty.com/tag/render</link>
    <description></description>
    <pubDate>Sun, 08 Jun 2008 18:20:19 +0000</pubDate>
    <generator>iRatty Engine</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <item>
      <title><![CDATA[Myth or truism? IT security experts render judgment on 12 beliefs]]></title>
      <link>http://securityratty.com/article/b60aa0767762cfcde2a26e51a2ff5096</link>
      <guid>http://securityratty.com/article/b60aa0767762cfcde2a26e51a2ff5096</guid>
      <description><![CDATA[They are etched into the conventional wisdom of IT security, but are these 12 beliefs actually wise, or...]]></description>
      <content:encoded><![CDATA[They are etched into the conventional wisdom of IT security, but are these 12 beliefs actually wise, or myths?<br style="clear: both;"/>
    <a style='font-size: 10px; color: maroon;' href='http://www.pheedo.com/hostedMorselClick.php?hfmm=v3:04dee1caa4db730e841103091ce863d4:v7052PGg6qtaNbUfrIG5he0Wu96mMyNyKDm9YLiVQGvVecYZy6cXPnJbcSBHEOjsJLdAkYE2WIKQ'><img border='0' title='Add to digg' alt='Add to digg' src='http://www.pheedo.com/images/mm/digg.gif'/></a>
    <a style='font-size: 10px; color: maroon;' href='http://www.pheedo.com/hostedMorselClick.php?hfmm=v3:825220115dca403b001a7713d24bd018:QMGCuY6Vfft9SskiMsed9XNakdKLogxIAqOjIc%2FDBIxUFT7FhB7EjGQk6s2WDG7ffVloQj7rBYBCFA%3D%3D'><img border='0' title='Add to StumbleUpon' alt='Add to StumbleUpon' src='http://www.pheedo.com/images/mm/stumbleit.gif'/></a>
    <a style='font-size: 10px; color: maroon;' href='http://www.pheedo.com/hostedMorselClick.php?hfmm=v3:f9a293b443473eb014d4e271e33508c4:dRUA5WWamY5JvpHidnuKrX2mIQijEYZVywgdAXf0cvBuIIoHMCg26ntPQaY3E6LJXhAfWBeb193%2BYQ%3D%3D'><img border='0' title='Add to Twitter' alt='Add to Twitter' src='http://www.pheedo.com/images/mm/twitter.png'/></a>
    <a style='font-size: 10px; color: maroon;' href='http://www.pheedo.com/hostedMorselClick.php?hfmm=v3:6a4e2756fb51c7c7e4c10df37aa41d00:p43ZU%2BdvEzn3yrSmUsx9Crm4bleZlTtuMkXdZXWYupctpoUAiax4zVR9YixJtSqh3FpG9fg6QB6A8g%3D%3D'><img border='0' title='Add to Slashdot' alt='Add to Slashdot' src='http://www.pheedo.com/images/mm/slashdot.png'/></a>
<br style="clear: both;"/>  <img alt="" style="border: 0; height:1px; width:1px;" border="0" src="http://www.pheedo.com/img.phdo?i=ccdf94523a8516e4fa59bdaca91fa87d" height="1" width="1"/>
<img src="http://www.pheedo.com/feeds/tracker.php?i=ccdf94523a8516e4fa59bdaca91fa87d" style="display: none;" border="0" height="1" width="1" alt=""/>]]></content:encoded>
      <pubDate>Mon, 10 Nov 2008 02:00:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/beliefs">beliefs</category>
      <category domain="http://securityratty.com/tag/security">security</category>
      <category domain="http://securityratty.com/tag/conventional wisdom">conventional wisdom</category>
      <category domain="http://securityratty.com/tag/wise">wise</category>
      <category domain="http://securityratty.com/tag/myths">myths</category>
      <source url="http://feeds.computerworld.com/click.phdo?i=ccdf94523a8516e4fa59bdaca91fa87d">Myth or truism? IT security experts render judgment on 12 beliefs</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[The web browser is sick but wheres the cure?]]></title>
      <link>http://securityratty.com/article/c1a26694b7d3db2c185a5f976e06cc90</link>
      <guid>http://securityratty.com/article/c1a26694b7d3db2c185a5f976e06cc90</guid>
      <description><![CDATA[Blogger: Ramon Krikken
The web browser is one of those peculiar pieces of software, having to accept input from arbitrary sources and then parse and render the data that is sent to it. Part of this it...]]></description>
      <content:encoded><![CDATA[
<div xmlns="http://www.w3.org/1999/xhtml"><p>Blogger: Ramon Krikken</p>

<p>The web browser is one of those peculiar pieces of software, having to accept input from arbitrary sources and then parse and render the data that is sent to it. Part of this it does by itself, and other parts are taken care of by handlers and plug-ins. In doing so, it displays hypertext, images, videos, and even runs active content like Flash, JavaScript, and ActiveX. </p>

<p>But however much we love the browser, we’ve also come to hate the myriad of vulnerabilities that affect it. Everything from cross-site scripting to remote code execution via maliciously formed animated cursor files and Flash content can make browsing a hazardous activity. The browser is sick, and that’s not desirable for a platform we use for important business and personal transactions.</p>

<p>Worsening the browser’s diagnosis is the <a href="http://taossa.com.nyud.net:8080/archive/bh08sotirovdowdslides.pdf">recent paper</a> from Mark Dowd and Alexander Sotirov, sub-titled “Setting back browser security by 10 years,” which discusses how to bypass Microsoft Vista’s memory protection capabilities with some added effort for the exploit designers. It’s not that all of the techniques are necessarily new, but the browser appears to be particularly vulnerable to easy exploitation. </p>

<p>Surprising? Not exactly, when we take into account that the browser is suffering from the same disease as the general purpose operating system: bloat and compatibility. We expect the browser to do ever more, but everything we used it for before still needs to work as if it were yesterday. It feels a bit like people insisting on using a cardboard box as a safe, and wondering why their money keeps getting stolen.</p>

<p>It’s not like we haven’t been working on the browser’s cure, though. There have been some improvements in the browsers themselves, the operating systems have also implemented compensating controls, but most of all, there has been an enormous push for securing the web applications that deliver the data in the first place. Unfortunately, the latter two won’t help secure the browser in the long run.</p>

<p>The first issue is that not all content will come from ‘nice’ servers, the second that the server can only make an educated guess on how a browser will parse and render a given set of data, and the third that operating system controls have their own limitations, whether by design or implementation (for example needing to re-compile existing code to enable certain protections.) The browser, in the end, has to be mostly responsible for keeping itself safe; the operating system must assist it in doing so.</p>

<p>So we’re in a pickle. The browser is sick (and the operating system is too), but it’s hard to cure it without a redesign that will undoubtedly impact compatibility, the ever-so-desired multi-functionality, or its ease of use. We can layer defenses by using web filtering in the enterprise environment, but in the end – for the consumer market in particular – we need to fix the browser itself. I can think of a few things I think might help: </p>

<ul><li>Some kind of <a href="http://people.mozilla.com/~bsterne/site-security-policy/">site security policy</a>&nbsp; to restrict where the browser loads auxiliary content from, and which data it can ‘trust’, when loading a web page (I’d prefer mandatory enforcement, and adding an HTML tag to be able to indicate blocks of untrustworthy data.)</li>

<li>Restricted compartments for plug-ins to run in, ensuring that their bugs cannot easily affect the whole browser.</li>

<li>Better software development practices for the plug-ins and content parsers themselves, so that they’re less vulnerable, and compiled with the latest protection measures to begin with.</li></ul>

<p>All of this means more work, and some of it means a lot of unhappy reactions when things stop working. Even then we will of course still have to deal with additional vulnerabilities, such as those that may be present in hardware, but we will at least have taken prudent steps to ‘find a cure.’</p>

</div>
<img src="http://feeds.feedburner.com/~r/SecurityAndRiskManagementStrategiesBlog/~4/364862623" height="1" width="1"/>]]></content:encoded>
      <pubDate>Thu, 14 Aug 2008 07:11:14 +0000</pubDate>
      <category domain="http://securityratty.com/tag/browser">browser</category>
      <category domain="http://securityratty.com/tag/web browser">web browser</category>
      <category domain="http://securityratty.com/tag/browser appears">browser appears</category>
      <category domain="http://securityratty.com/tag/web">web</category>
      <category domain="http://securityratty.com/tag/cure">cure</category>
      <category domain="http://securityratty.com/tag/browser security">browser security</category>
      <category domain="http://securityratty.com/tag/content">content</category>
      <category domain="http://securityratty.com/tag/runs active content">runs active content</category>
      <category domain="http://securityratty.com/tag/browsers cure">browsers cure</category>
      <source url="http://feeds.feedburner.com/~r/SecurityAndRiskManagementStrategiesBlog/~3/364862623/the-web-browser.html">The web browser is sick but wheres the cure?</source>
    </item>
    <item>
      <title><![CDATA[The web browser is sick ??? but where???s the cure?]]></title>
      <link>http://securityratty.com/article/ed0b490e06092c5b7a4f3957bd361fa2</link>
      <guid>http://securityratty.com/article/ed0b490e06092c5b7a4f3957bd361fa2</guid>
      <description><![CDATA[Blogger: Ramon Krikken
The web browser is one of those peculiar pieces of software, having to accept input from arbitrary sources and then parse and render the data that is sent to it. Part of this it...]]></description>
      <content:encoded><![CDATA[
<div xmlns="http://www.w3.org/1999/xhtml"><p>Blogger: Ramon Krikken</p>

<p>The web browser is one of those peculiar pieces of software, having to accept input from arbitrary sources and then parse and render the data that is sent to it. Part of this it does by itself, and other parts are taken care of by handlers and plug-ins. In doing so, it displays hypertext, images, videos, and even runs active content like Flash, JavaScript, and ActiveX. </p>

<p>But however much we love the browser, we???ve also come to hate the myriad of vulnerabilities that affect it. Everything from cross-site scripting to remote code execution via maliciously formed animated cursor files and Flash content can make browsing a hazardous activity. The browser is sick, and that???s not desirable for a platform we use for important business and personal transactions.</p>

<p>Worsening the browser???s diagnosis is the <a href="http://taossa.com.nyud.net:8080/archive/bh08sotirovdowdslides.pdf">recent paper</a> from Mark Dowd and Alexander Sotirov, sub-titled ???Setting back browser security by 10 years,??? which discusses how to bypass Microsoft Vista???s memory protection capabilities with some added effort for the exploit designers. It???s not that all of the techniques are necessarily new, but the browser appears to be particularly vulnerable to easy exploitation. </p>

<p>Surprising? Not exactly, when we take into account that the browser is suffering from the same disease as the general purpose operating system: bloat and compatibility. We expect the browser to do ever more, but everything we used it for before still needs to work as if it were yesterday. It feels a bit like people insisting on using a cardboard box as a safe, and wondering why their money keeps getting stolen.</p>

<p>It???s not like we haven???t been working on the browser???s cure, though. There have been some improvements in the browsers themselves, the operating systems have also implemented compensating controls, but most of all, there has been an enormous push for securing the web applications that deliver the data in the first place. Unfortunately, the latter two won???t help secure the browser in the long run.</p>

<p>The first issue is that not all content will come from ???nice??? servers, the second that the server can only make an educated guess on how a browser will parse and render a given set of data, and the third that operating system controls have their own limitations, whether by design or implementation (for example needing to re-compile existing code to enable certain protections.) The browser, in the end, has to be mostly responsible for keeping itself safe; the operating system must assist it in doing so.</p>

<p>So we???re in a pickle. The browser is sick (and the operating system is too), but it???s hard to cure it without a redesign that will undoubtedly impact compatibility, the ever-so-desired multi-functionality, or its ease of use. We can layer defenses by using web filtering in the enterprise environment, but in the end ??? for the consumer market in particular ??? we need to fix the browser itself. I can think of a few things I think might help: </p>

<ul><li>Some kind of <a href="http://people.mozilla.com/~bsterne/site-security-policy/">site security policy</a>&nbsp; to restrict where the browser loads auxiliary content from, and which data it can ???trust???, when loading a web page (I???d prefer mandatory enforcement, and adding an HTML tag to be able to indicate blocks of untrustworthy data.)</li>

<li>Restricted compartments for plug-ins to run in, ensuring that their bugs cannot easily affect the whole browser.</li>

<li>Better software development practices for the plug-ins and content parsers themselves, so that they???re less vulnerable, and compiled with the latest protection measures to begin with.</li></ul>

<p>All of this means more work, and some of it means a lot of unhappy reactions when things stop working. Even then we will of course still have to deal with additional vulnerabilities, such as those that may be present in hardware, but we will at least have taken prudent steps to ???find a cure.???</p>

</div>
]]></content:encoded>
      <pubDate>Thu, 14 Aug 2008 07:11:14 +0000</pubDate>
      <category domain="http://securityratty.com/tag/browser">browser</category>
      <category domain="http://securityratty.com/tag/web browser">web browser</category>
      <category domain="http://securityratty.com/tag/browser appears">browser appears</category>
      <category domain="http://securityratty.com/tag/browser security">browser security</category>
      <category domain="http://securityratty.com/tag/web">web</category>
      <category domain="http://securityratty.com/tag/content">content</category>
      <category domain="http://securityratty.com/tag/runs active content">runs active content</category>
      <category domain="http://securityratty.com/tag/web page">web page</category>
      <category domain="http://securityratty.com/tag/system controls">system controls</category>
      <source url="http://srmsblog.burtongroup.com/2008/08/the-web-browser.html">The web browser is sick ??? but where???s the cure?</source>
    </item>
    <item>
      <title><![CDATA[PCI Compliance? Let's Talk!]]></title>
      <link>http://securityratty.com/article/017d196d98fd703955733e3aa7802f6d</link>
      <guid>http://securityratty.com/article/017d196d98fd703955733e3aa7802f6d</guid>
      <description><![CDATA[During a meeting with an RSA customer earlier this week, I was asked a very detailed and pointed question about my interpretation of requirement 3.4 . Specifically, the customer was using encryption...]]></description>
      <content:encoded><![CDATA[During a meeting with an RSA customer earlier this week, I was asked a very detailed and pointed question about my interpretation of <a href="http://www.pcisecuritystandards.org/security_standards/pci_dss_download_agreement.shtml">requirement 3.4</a>.  Specifically, the customer was using <a href="http://www.rsa.com/node.aspx?id=1203">encryption</a> to render <a href="http://www.answers.com/topic/primary-account-number-pan">PANs</a> unreadable and wanted to know if their algorithm was indeed classified as "<a href="http://en.wikipedia.org/wiki/Strong_cryptography">strong cryptography</a>."  Really, the customer was interested in making sure this particular encryption <a href="http://en.wikipedia.org/wiki/Algorithm">algorithm</a> would pass their upcoming PCI audit.

While I was happy to voice my opinion, <b>I stressed the critical importance of open and honest communication when it comes to passing an audit and successful PCI compliance in general...</b>]]></content:encoded>
      <pubDate>Thu, 31 Jul 2008 13:35:05 +0000</pubDate>
      <category domain="http://securityratty.com/tag/rsa customer">rsa customer</category>
      <category domain="http://securityratty.com/tag/encryption algorithm">encryption algorithm</category>
      <category domain="http://securityratty.com/tag/encryption">encryption</category>
      <category domain="http://securityratty.com/tag/customer">customer</category>
      <category domain="http://securityratty.com/tag/pci audit">pci audit</category>
      <category domain="http://securityratty.com/tag/render pans unreadable">render pans unreadable</category>
      <category domain="http://securityratty.com/tag/algorithm">algorithm</category>
      <category domain="http://securityratty.com/tag/audit">audit</category>
      <category domain="http://securityratty.com/tag/successful pci compliance">successful pci compliance</category>
      <source url="http://www.rsa.com/blog/blog_entry.aspx?id=1322">PCI Compliance? Let's Talk!</source>
    </item>
    <item>
      <title><![CDATA[Coding Spyware and Malware for Hire]]></title>
      <link>http://securityratty.com/article/1dbd4bddd9e4248009d0273ad7cae5dd</link>
      <guid>http://securityratty.com/article/1dbd4bddd9e4248009d0273ad7cae5dd</guid>
      <description><![CDATA[What type of antivirus evasion do you want today? For the past several years, we have been witnessing the emerging customerization applied in malware and spyware for hire services. What used to be a...]]></description>
      <content:encoded><![CDATA[<div class="separator" style="text-align: left; clear: both;"><a href="http://bp2.blogger.com/_wICHhTiQmrA/SIWJkocpGwI/AAAAAAAAB8U/_v3hJOM2k_s/s1600-h/preview_random.jpg" imageanchor="1" style="border: 0pt none ; background-color: transparent; clear: left; margin-bottom: 1em; float: left; margin-right: 1em;"><img src="http://bp2.blogger.com/_wICHhTiQmrA/SIWJkocpGwI/AAAAAAAAB8U/15Yc8N_lG74/s200-R/preview_random.jpg" style="border: 0pt none ;" /></a></div>What type of antivirus evasion do you want today? For the past several years, we have been witnessing the emerging customerization applied in malware and spyware for hire services. What used to be a situation where the malware authors would code and then start promoting a piece of malware including features that he thinks his potential customers would want by generalizing a cybercriminal's needs, is today's "listening to the customer" win-win situation that they've reached already. <br />
<br />
The whole maturity from a product concept to customerization is in fact so prevalent these days, that malware authors wanting to preserve their intellectual property are forbidding their customers from reverse engineering their malware modules, presumably fearing that <a href="http://ddanchev.blogspot.com/2008/06/zeus-crimeware-kit-vulnerable-to.html">remotely exploitable flaws like this one in one of the most popular Ebanker malwares for the last two yers Zeus</a>, could be discovered due to the malware author's insecure coding practices. Moreover, limiting the distribution of a single license they are given to more than three people will result in the malware author ignoring any future business relationships with the party that ruined the exclusiveness of the malware, thereby leaking it to the public, something that's been happening and will continue happening with web malware exploitation kits.<br />
<br />
What would be the price of a custom malware module coded on demand? How much does it cost to have a built in email harvester that would sniff all the incoming and outgoing email addresses from the infected host to later on include them in upcoming spam and malware campaigns? Would the malware author also provide a managed hosting service for the command and control and the actual binaries on a revenue sharing <br />
<br />
Here's an automatically translated, and fairly easy to understand random proposition for coding spyware and malware for hire, aiming to answer many of these questions, clearly demonstrating that today's malware is coded in exactly the same way the customer wants it to : <br />
<br />
"<i>As you can see in the history of its development turned directly into the combine, while almost no raspuh in weight, full-size pack аж 18 kb and minialno 5 kb, for all nampomnyu again, all descriptions below can be done as otdelnym bot, and any combination of cross except for a few restrictions. This product is targeted at mass-user and will not be all prodavatsya row. So, you can choose from:</i><br />
<br />
<i>Actually loader - is able to load a file from adminki, by country and other characteristics, such as the number of animals on board with a specific bot, a country group of countries, the availability of certain authors or Fire, sredenemu time online, etc. etc.. You can adjust the speed of shipping limits for each file, can load 1 as well as how files simultaneously<br />
300 €</i><br />
<br />
<i><b>FTP and not only Graber</b><br />
Analyzes user traffic and collects from the ftp acclamation, that is ftp acclamation would you regardless of how the customer uses ftp user, thus can be obtained most valuable ftp aka (even those to which the password is not saved), you can also grab other in a way not only acclamation acclamation and other tasty things more)<br />
150 €<b>&nbsp;</b></i><br />
<br />
<i><b>Assembler spam bases</b><br />
Analyzes user traffic and collects from all email, snifit http pop3 smtp protocols, keeps records unikallnosti locally on each boat to reduce the burden on the server as well as globally on a server has 2 mode of operation - ie passive with only collects user to please and active - the very beginning to download the entire inet) in search of soap<br />
220 €<br />
<br />
<b>Socks 4 / 5</b><br />
Normal soks with competently implemented multithreading, is activated only if the user real Ip, otherwise not. And also optional, depending on the connection type and speed ineta.<br />
70 €<br />
<br />
<b>Indicates</b><br />
The primitive method, contamination fleshek avtoranom gives 2-3% increase in the first week and up to 7% in the next, a pleasant trifle)<br />
35 €<br />
<br />
<b>Scripts</b><br />
Loader supports internal scripting language - jscript, to carry out arbitrary actions on the victim machine, whether recording data in the register, setting authentic hon-Pago, opening URL in your browser (it was done so to please with 90% punching)), apload arbitrary files on a server, even theoretically possible to form and grabing inzhekty in IE) has only to write the script zaebetes, vobschem lyuboye actions soul who wish)<br />
70 € basic functionality<br />
<br />
<b>Assembler passwords</b><br />
Collects data such as passwords pstorage IE, MSN, etc., will be added at the request of other sources of passwords<br />
70 €<br />
<br />
<b>Mini-AV</b><br />
When installing loadera wheelbarrows to remove BHO shaped three, zevso-shaped, the majority of shit from all avtoranov, render most keylogerov until all) forward proposals to improve<br />
70 €<br />
<br />
<b>File-default</b><br />
In exe loadera program URL (in adminke) to the file which once progruzit 1 and run at first start loadera on wheelbarrows, while simultaneously helping progruzke Trojan for example, in its entire botnet that does not paired with challenges in adminke, the module operates in 20 seconds after the mini - av which excludes the removal of your Trojan bot, after progruza this exe bot continues to normal activities.<br />
35 €<br />
<br />
<b>Form Graber</b><br />
While in beta version, robbed IE. Sends logs in adminku, folding country. Logs are like logs agent. It consists of:<br />
<br />
<b>Graber certificats</b><br />
On the idea is part formgrabera but could work and of itself, actually there is nothing to describe)<br />
<br />
<b>Injections</b><br />
Literacy sold inzhekty, did not begin work after full progruza pages (as in bolshistve three) and immediately supported injection yavaskript code, which allows avtozalivy and DC inzhekty for data collection. For example not to yuzat acclamation at all is not yet introduce the necessary number of Britain, after which inzhekt ceases to operate. Вобщем mdelat can be anything and in any form) rather than the meager request field pin) And also inzhektov subspecies - a substitute for the issuance of search enginee.<br />
<br />
<b>Graber balances</b><br />
Makes loot aka balances at the entrance to the user acclamation, detail added to the logs.<br />
<br />
<b>Screen</b><br />
Universal method to grab information from absolutely any species and varieties klaiviatur screens, in particular html, flash, in one picture, with a drop-down fields after choosing your encrypted, as well as information such as "enter 3 yu secret letter word" etc. as well as any information which is visible a user but not seen in the logs. Screen settings of adminki, set URL where do screen as well as the type of screen: for virtual keyboard (done several small images of areas around the clique) or to "enter 3 yu secret letter words" (makes 1 full shot). With the withdrawal screen recorded in the log entry with the name of the file to the screen this position.<br />
<br />
<b>Antiabuznost for botneta</b><br />
Feachem adminki, keep botnet enables fast, normal, bezglyuchnyh NEabuzoustoychivyh hosting, with features that you forget what abuzy, nohistory week saporta "abuzoustoychivogo" hosting inaccessibility host to half ineta etc., etc., also with the help of the supplement will be able to keep huge botnety (over SL) at 1 dedike with 512 Lake) and well on the price of hosting a savings, not $ 500 a month and 150. It may use this feature to stroronnim development, Trojans, bots, etc., actually is a separate product. And incidentally, if you do not understand the theory that nenado ask "and how does it work?" imagine that it works and point and neubivaemo in pritsnipe.<br />
600 € +<br />
&nbsp;</i><br />
<i>All prices are in euros, the calculation is made at the rate of CB on the day of purchase. ps I will not disappear as most authors after months of sales, I DONT how to please you get to the assembly ftp, I DONT how many soap collects soap-graber, I DONT what otstuk from loadera, I DONT soksov how many will be from 1 to downloads, and how best To work load a file is not dead quickly, if you are confused my ignorance - that my loader so you do not need more tries)<br />
<br />
Rules / Licence<br />
-- Customer has no right to transfer any of his three 3 persons except options for harmonizing with me<br />
-- Customer does not have the right to make any decompile, research, malicious modification of any three parts<br />
-- Customer has no right where either rasprostanyat information about three and a public discussion with the exception of three entries.<br />
-- For violating the rules - without any license denial manibekov and further conversations</i>" <br />
<br />
This malware coder seems to be participating in an affiliate program with a malicious ISP that is offering hosting services for the entire campaign, not just the malware binaries, so you have a rather good example that incentives and revenue-sharing models result in value-added services, a all-in-one shop for a customer to take advantage of without bothering to approach a third-party.<br />
<br />
Cybercrime is getting even more easier to outsource these days, and with the malicious parties improving their communication and incentives model, the resulting transparency in the underground market<br />
<br />
<b>Related posts:</b><br />
<a href="http://ddanchev.blogspot.com/2007/03/underground-economys-supply-of-goods.html">The Underground Economy's Supply of Goods and Services</a><br />
<a href="http://ddanchev.blogspot.com/2007/10/dynamics-of-malware-industry.html">The Dynamics of the Malware Industry - Proprietary Malware Tools</a><br />
<a href="http://ddanchev.blogspot.com/2008/06/using-market-forces-to-disrupt-botnets.html">Using Market Forces to Disrupt Botnets</a><br />
<a href="http://ddanchev.blogspot.com/2007/10/multiple-firewalls-bypassing.html">Multiple Firewalls Bypassing Verification on Demand</a><br />
<a href="http://ddanchev.blogspot.com/2007/10/managed-spamming-appliances-future-of.html">Managed Spamming Appliances - The Future of Spam</a><br />
<a href="http://ddanchev.blogspot.com/2008/02/localizing-cybercrime-cultural.html">Localizing Cybercrime - Cultural Diversity on Demand</a><br />
<a href="http://ddanchev.blogspot.com/2008/01/e-crime-and-socioeconomic-factors.html">E-crime and Socioeconomic Factors</a><br />
<a href="http://ddanchev.blogspot.com/2007/12/russias-fsb-vs-cybercrime.html">Russia's FSB vs Cybercrime</a><br />
<a href="http://ddanchev.blogspot.com/2007/08/malware-as-web-service.html">Malware as a Web Service</a><br />
<a href="http://ddanchev.blogspot.com/2007/09/localizing-open-source-malware.html">Localizing Open Source Malware</a><br />
<a href="http://ddanchev.blogspot.com/2008/04/quality-and-assurance-in-malware.html">Quality and Assurance in Malware Attacks</a><br />
<a href="http://ddanchev.blogspot.com/2006/09/benchmarking-and-optimising-malware.html">Benchmarking and Optimising Malware</a><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=CfEGOJ"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=CfEGOJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=ZmZP2J"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=ZmZP2J" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=3RDQbj"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=3RDQbj" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=uN1LUj"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=uN1LUj" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=oSzTOJ"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=oSzTOJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=KOIqZJ"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=KOIqZJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=8gh7xj"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=8gh7xj" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/DanchoDanchevOnSecurityAndNewMedia/~4/342366718" height="1" width="1"/>]]></content:encoded>
      <pubDate>Mon, 21 Jul 2008 23:52:14 +0000</pubDate>
      <category domain="http://securityratty.com/tag/malware">malware</category>
      <category domain="http://securityratty.com/tag/malware author">malware author</category>
      <category domain="http://securityratty.com/tag/malware authors">malware authors</category>
      <category domain="http://securityratty.com/tag/malware binaries">malware binaries</category>
      <category domain="http://securityratty.com/tag/malware attacks">malware attacks</category>
      <category domain="http://securityratty.com/tag/ftp">ftp</category>
      <category domain="http://securityratty.com/tag/ftp user">ftp user</category>
      <category domain="http://securityratty.com/tag/collects">collects</category>
      <category domain="http://securityratty.com/tag/malware industry">malware industry</category>
      <source url="http://feeds.feedburner.com/~r/DanchoDanchevOnSecurityAndNewMedia/~3/342366718/coding-spyware-and-malware-for-hire.html">Coding Spyware and Malware for Hire</source>
    </item>
    <item>
      <title><![CDATA[Decrypting and Restoring GPcode Encrypted Files]]></title>
      <link>http://securityratty.com/article/e39ad499bbe55c20aca17c7ba23989b4</link>
      <guid>http://securityratty.com/article/e39ad499bbe55c20aca17c7ba23989b4</guid>
      <description><![CDATA[The futile attempt to directly attack the encryption algorithm used by the GPcode ransomware, is prompting Kaspersky Labs to invest in a more pragmatic solutions to the problem , with a new version of...]]></description>
      <content:encoded><![CDATA[<div style="text-align: left;"></div>
<div class="separator" style="text-align: center; clear: both;"></div>
<a href="http://bp1.blogger.com/_wICHhTiQmrA/SGotTuyTE5I/AAAAAAAAB3U/gWdSWKjyPK0/s1600-h/gpcode_initiative.jpg" imageanchor="1" style="border: 0pt none ; background-color: transparent; clear: left; margin-bottom: 1em; float: left; margin-right: 1em;"><img src="http://bp1.blogger.com/_wICHhTiQmrA/SGotTuyTE5I/AAAAAAAAB3U/zT9QFXjWmFE/s200-R/gpcode_initiative.jpg" style="border: 0pt none ;" /></a>The futile attempt to directly attack the encryption algorithm used by the GPcode ransomware, is prompting Kaspersky Labs to invest in a more <a href="http://www.viruslist.com/en/weblog?weblogid=208187538">pragmatic solutions to the problem</a>, with <a href="http://www.viruslist.com/en/viruses/encyclopedia?virusid=313444#doc2">a new version of the StopGpcode tool</a> released last week. More info :<br />
<br />
"<i>It turns out that if a user has files that are encrypted by Gpcode and versions of those same files that are unencrypted, then the pairs of files (the encrypted and corresponding unencrypted file) can be used to restore other files on the victim machine. This is the method that the StopGpcode2 tool uses.</i><br />
<br />
<i>Where can these unencrypted files be found? They may be the result of using PhotoRec. Moreover, these files may be found in a backup storage or on removable media (e.g., the original files of photographs copied to the hard disk of a computer that has been attacked by Gpcode may still be on a camera’s memory card). Unencrypted files may also have been saved somewhere on a network resource (e.g., films or video clips on a public server) that the Gpcode virus has not reached.</i>"<br />
<br />
As <a href="http://www.securityfocus.com/news/11523/2">the customer support desk behind GPcode pointed out in an interview</a>, the malware is prone to evolve, and the simplistic file deletion process will be replaced by secure file deletion in order to render all data recovery tols useless, unless of course backups of the affected data are available. They often aren't, and depending on the importance of the files encrypted, the successful ransom is all a matter of the momentum. <br />
<br />
<span class="body">"<i>A person, presumably the author of Gpcode, contacted at <a href="http://ddanchev.blogspot.com/2008/06/whos-behind-gpcode-ransomware.html" target="_blank">one of the e-mail addresses</a> left behind by the program stated that future development efforts will likely increase the key size to 4,096 bits, "if AV companies or other (people) crack the current key, but (that's) impossible. </i></span><i><span class="body">The self-proclaimed author, who used the name "Daniel Robertson," also said that other standard techniques to defeat antivirus will be added, including polymorphic encryption, anti-heuristic features and the ability to self propagate, turning the program into a computer virus.</span><span class="body"> </span>It well pays back itself," he said</i>"<br />
<br />
There are even more pragmatic approaches to dealing with this problem, next to backups undermining their business model. <a href="http://blogs.zdnet.com/security/?p=1259">Try following the virtual money for instance</a>.<br />
<span class="body"> </span><span class="body"></span><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=4JuTFJ"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=4JuTFJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=CtTuIJ"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=CtTuIJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=UH6vhj"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=UH6vhj" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=rZfGRj"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=rZfGRj" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=602SKJ"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=602SKJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=XhBjBJ"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=XhBjBJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?a=9PpNFj"><img src="http://feeds.feedburner.com/~f/DanchoDanchevOnSecurityAndNewMedia?i=9PpNFj" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/DanchoDanchevOnSecurityAndNewMedia/~4/324045050" height="1" width="1"/>]]></content:encoded>
      <pubDate>Tue, 01 Jul 2008 04:26:39 +0000</pubDate>
      <category domain="http://securityratty.com/tag/files">files</category>
      <category domain="http://securityratty.com/tag/gpcode">gpcode</category>
      <category domain="http://securityratty.com/tag/original files">original files</category>
      <category domain="http://securityratty.com/tag/gpcode virus">gpcode virus</category>
      <category domain="http://securityratty.com/tag/gpcode ransomware">gpcode ransomware</category>
      <category domain="http://securityratty.com/tag/file">file</category>
      <category domain="http://securityratty.com/tag/secure file deletion">secure file deletion</category>
      <category domain="http://securityratty.com/tag/computer virus">computer virus</category>
      <category domain="http://securityratty.com/tag/key">key</category>
      <source url="http://feeds.feedburner.com/~r/DanchoDanchevOnSecurityAndNewMedia/~3/324045050/decrypting-and-restoring-gpcode.html">Decrypting and Restoring GPcode Encrypted Files</source>
    </item>
    <item>
      <title><![CDATA[Scrawlr: Are We Being Too Greedy?]]></title>
      <link>http://securityratty.com/article/3119091837dfabdaebca1d8eeb6e035d</link>
      <guid>http://securityratty.com/article/3119091837dfabdaebca1d8eeb6e035d</guid>
      <description><![CDATA[HP released a new tool called Scrawlr yesterday that can be used to identify a subset of SQL Injection vulnerabilities in a website. It was a joint effort with Microsoft and a direct response to the...]]></description>
      <content:encoded><![CDATA[<p>HP released a <a href="http://www.communities.hp.com/securitysoftware/blogs/spilabs/archive/2008/06/23/finding-sql-injection-with-scrawlr.aspx">new tool called Scrawlr</a> yesterday that can be used to identify a subset of SQL Injection vulnerabilities in a website.  It was a joint effort with Microsoft and a direct response to the <a href="http://hackademix.net/2008/04/26/mass-attack-faq/">mass SQL Injection attacks</a> of late.</p>
<p>Scrawlr quickly came under fire on the <a href="http://www.webappsec.org/lists/websecurity/archive/2008-06/">Web Security mailing list</a> for having some pretty major limitations.  Billy Hoffman et al have been quick to point out that the tool was designed to address a very specific subset of SQL Injection vulnerability &#8212; the type affected by the mass attacks &#8212; and is not designed to be a general purpose replacement for existing SQL Injection scanners.  Let&#8217;s look at the limitations, as outlined on the HP page, one by one.</p>
<p><b>Limitation: Will only crawl up to 1500 pages</b></p>
<p>Depends on what they mean by 1500 pages.  For example, if I have these links on my front page, is that one URL or three?</p>
<ul>
<li>http://www.veracode.com/blog/?p=111&#038;foo=1</li>
<li>http://www.veracode.com/blog/?p=111&#038;foo=2</li>
<li>http://www.veracode.com/blog/?p=111&#038;foo=3</li>
<p>
</ul>
<p>Or, does it mean that it will really only crawl 1500 pages total, so if I have the same link 1500 times on the front page, it won&#8217;t go any further?  Either way, for most smaller websites this is probably fine.  If you need more than 1500 you could give it different starting URLs in an attempt to improve coverage.  It would be nice to have a clearer definition of what it means to &#8220;crawl up to 1500 pages&#8221; though.</p>
<p><b>Limitation: Does not support sites requiring authentication</b></p>
<p>Well, this will render it useless for the majority of enterprise apps.  But there are still a lot of sites out there that don&#8217;t require authentication, including some of the ones that got hit during the mass attacks, such as the United Nations, UK government, etc.  </p>
<p><b>Limitation: Does not perform Blind SQL injection</b></p>
<p>They have taken a lot of flack for this but Billy describes it as a conscious choice:</p>
<blockquote><p>
An early version of the tool checked for blind SQL injection, but the final verison of Scrawlr did not. &#8230; The biggest feedback we got from early testing was developers wanted to &#8220;see&#8221; the vulnerability. Differential analysis is kind of difficult to visualize in a way that is helpful for the average dev, and pulling the table names through blind was too much of a performance issue.
</p></blockquote>
<p>I can sort of understand this rationale.  Blind SQL Injection testing is much more susceptible to false positives.  As users of any commercial web scanner or source code analyzer will attest, the more time you spend chasing down FPs, the less likely you are to put any faith in future results.  It&#8217;d be nice if there was a way to toggle Blind SQL Injection testing on and off, though (could be off by default so nobody gets confused).</p>
<p><b>Limitation: Cannot retrieve database contents</b></p>
<p>Who cares?  Find and fix the vulnerability.  Pulling down the entire database &#8220;because you can&#8221; is a total ego move.</p>
<p><b>Limitation: Does not support JavaScript or flash parsing</b></p>
<p>Nobody does this very well anyway, particularly the JavaScript part.  Writing a great crawler is probably the hardest part of writing an automated web scanner and it&#8217;s one of the biggest differentiators from one product to the next.  You&#8217;re not going to get that for free.</p>
<p><b>Limitation: Will not test forms for SQL Injection (POST Parameters)</b></p>
<p>This is probably the toughest one to swallow.  It&#8217;s not that difficult to parse out forms from HTML, and form POSTs can represent a major chunk of the attack surface.  Granted, <a href="http://isc.sans.org/diary.html?n&#038;storyid=4294">the Chinese tool</a> associated with the mass attacks did operate solely on GET requests (i.e. parameters in the query string) so HP can defend this again by saying the tool is really aimed at the sites being targeted by the mass attacks.  I think it&#8217;s a little short-sighted though; chances are that the mass attacks will evolve and it&#8217;s better to be proactive about it than reactive.</p>
<p><b>Conclusion</b></p>
<p>It&#8217;s tough to bash someone for releasing a free tool.  I personally think HP should add an option for enabling Blind SQL Injection testing, and that they should consider supporting POSTs as well as GETs.  You&#8217;re basically getting a (massively) stripped-down WebInspect for free, so take it for what it is.  No single tool is a panacea.</p>
<p>The jury is still out on how effective Scrawlr is against the things it <i>does</i> claim support for.  Keep watching the Web Security list; the reviews are filtering in.</p>
]]></content:encoded>
      <pubDate>Wed, 25 Jun 2008 12:19:45 +0000</pubDate>
      <category domain="http://securityratty.com/tag/sql injection">sql injection</category>
      <category domain="http://securityratty.com/tag/sql injection scanners">sql injection scanners</category>
      <category domain="http://securityratty.com/tag/sql injection vulnerabilities">sql injection vulnerabilities</category>
      <category domain="http://securityratty.com/tag/blind">blind</category>
      <category domain="http://securityratty.com/tag/blind sql injection">blind sql injection</category>
      <category domain="http://securityratty.com/tag/scrawlr">scrawlr</category>
      <category domain="http://securityratty.com/tag/tool">tool</category>
      <category domain="http://securityratty.com/tag/free tool">free tool</category>
      <category domain="http://securityratty.com/tag/mass attacks">mass attacks</category>
      <source url="http://www.veracode.com/blog/?p=112">Scrawlr: Are We Being Too Greedy?</source>
    </item>
    <item>
      <title><![CDATA[The Inevitable iPhone 3G Post]]></title>
      <link>http://securityratty.com/article/7d7ae435cf518ee8e7d52233befa8f16</link>
      <guid>http://securityratty.com/article/7d7ae435cf518ee8e7d52233befa8f16</guid>
      <description><![CDATA[Yes, I touched an iPhone 3G: At Apple's big developer event kickoff on Monday, Steve Jobs introduced the iPhone 3G. Later that day, in a briefing, I was able to handle and use the phone briefly. It's...]]></description>
      <content:encoded><![CDATA[<p><strong>Yes, I touched an iPhone 3G:</strong> At Apple's big developer event kickoff on Monday, Steve Jobs introduced the iPhone 3G. Later that day, in a briefing, I was able to handle and use the phone briefly. It's lovely. But its inclusion of 3G service coupled with Wi-Fi, as well as a real GPS chip coupled with assistive cell-tower triangulation and Wi-Fi network location approximation means that you have a device that might fairly replace a computer for many purposes. I've had an iPhone with 2G (EDGE) service since its release, and I recently took a two-day trip with my older son leaving my computer behind. (I was able to use a relative's machine, but only did so to be able to type email more efficiently.) If Apple would simply allow the use of the Bluetooth HID profile (human interface devices) for keyboard and mouse support, a compact foldable keyboard would be the only accessory I would need.</p>

<p>Note that the iPhone 2G and 3G aren't more powerful than other, similar devices. Symbian platform devices from Nokia and others are in notably short supply in the US, but come in great quantities and varieties elsewhere, and have some pretty impressive computational power; Nokia owns nearly 50 percent of the worldwide smartphone market. Likewise, you can run desktop-to-mobile programs under Windows Mobile that let you have real computer applications repackaged for better use in the smaller form.</p>

<p>But that's not what the iPhone is about. It's a non-compromise device, even when a little compromise might help. The lack of a touch-typist keyboard hinders data entry, but it doesn't restrict any other purpose of the device. The inclusion of those keyboards is a huge compromise for all its competitors, even though it allows those competitors to act more like little computers.</p>

<p>And that's where it's odd for me. The iPhone is much more like a full-blown computer than any smartphone I've used. It might be the superior browser, and the fact that a single company and design vision has ensured the maximum CPU is available for each current task, and that the interface and actions are nearly always consistent across every piece of software. Contrast that with many smartphones that don't just have ugly interfaces, crippled Web browsers, and varying input methods, but also require you to learn a different approach to using nearly every different piece of software on the phone.</p>

<p>Apple isn't about to kill its competitors, but they are providing an odd amount of support for killing a laptop.</p>

<p>On a slightly tangential front, Apple CEO Steve Jobs claim that their phone's 3G speed was nearly that of Wi-Fi requires some explanation. Jobs needed a footnote: "compared to typical Wi-Fi hotspots that have about 1.5 Mbps of downstream backhaul." The iPhone is clearly processor limited for how fast it can render Web pages and handle network processing. If you stick an iPhone on a 10 Mbps-backed network via Wi-Fi, the browsing experience isn't very different than on a 1.5 Mbps-backed Wi-Fi hotspot, in my experience with the current phone.</p>

<p>So clearly, there's more optimization to be done and more hardware upgrades to come in order to have a mobile device that can live up to whatever network it generally works on. For the iPhone 3G, Wi-Fi is an alternative, but it's clearly not intended as a superior alternative.</p>]]></content:encoded>
      <pubDate>Wed, 11 Jun 2008 08:37:46 +0000</pubDate>
      <category domain="http://securityratty.com/tag/iphone">iphone</category>
      <category domain="http://securityratty.com/tag/wi-fi hotspot">wi-fi hotspot</category>
      <category domain="http://securityratty.com/tag/wi-fi">wi-fi</category>
      <category domain="http://securityratty.com/tag/device">device</category>
      <category domain="http://securityratty.com/tag/mobile device">mobile device</category>
      <category domain="http://securityratty.com/tag/wi-fi requires">wi-fi requires</category>
      <category domain="http://securityratty.com/tag/non-compromise device">non-compromise device</category>
      <category domain="http://securityratty.com/tag/computer">computer</category>
      <category domain="http://securityratty.com/tag/full-blown computer">full-blown computer</category>
      <source url="http://wifinetnews.com/archives/008352.html">The Inevitable iPhone 3G Post</source>
    </item>
    <item>
      <title><![CDATA[Cloud computing - I want my cake and eat it too]]></title>
      <link>http://securityratty.com/article/08cf5b6a5664248521e1cb7dde8a58c7</link>
      <guid>http://securityratty.com/article/08cf5b6a5664248521e1cb7dde8a58c7</guid>
      <description><![CDATA[Its easy to dismiss Don Dodge's asking &quot; Do you really want your data in the cloud &quot; as a Microsoft guy defending their turf. Don uses some recent uptime problems at Amazon, Twitter, Disqus and...]]></description>
      <content:encoded><![CDATA[<p>Its easy to dismiss Don Dodge's asking "<a href="http://dondodge.typepad.com/the_next_big_thing/2008/06/amazon-twitter-disqus-down-do-you-really-want-your-data-in-the-cloud.html">Do you really want your data in the cloud</a>" as a Microsoft guy defending their turf. Don uses some recent uptime problems at Amazon, Twitter, Disqus and Typepad to show that keeping your information in the cloud and relying on the net to deliver your applications gives you less control, less security, less scalability and less reliability. <br><br>Don has a point, even though net access and SaaS services are much more mature than they were in the past, there is always the times when it does not work. For that matter, cell phones, blackberries, and cable TV don't always work either. An indication of how vital something has become is how much we miss it if it is not available. But to the point, I remember when the personal computer first came into being. The idea of your data and the applications being "portable" to your device was revolutionary. The idea of keeping your data on those big floppy discs was so empowering. But even than, problems accessing data on a disk or an application not behaving or security problems could render you just as frustrated on your non-networked device as an Amazon or twitter being down does now.<br><br>Ultimately I think these things go in cycles and we are entering a centralized cycle now. However, I think this turn of the cycle could be different. Never before has net access been so ubiquitous. Never before have we seen the depth of optimized applications for the net. The infrastructure is finally in place to recognize the dreams of many of "thin clients" and net terminals. But I think the best model is a hybrid model. I like the Microsoft solution where I can work on stuff online and off line on my computer, than sync up later. Ultimately when it comes cloud versus local computing, I want my cake and eat it too.</p>
<p><a href="http://feeds.feedburner.com/~a/StillsecureAfterAllTheseYears?a=bKo6aa"><img src="http://feeds.feedburner.com/~a/StillsecureAfterAllTheseYears?i=bKo6aa" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?a=6vn7pI"><img src="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?i=6vn7pI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?a=UvbzAI"><img src="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?i=UvbzAI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?a=CV7dwI"><img src="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?i=CV7dwI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?a=jRguVI"><img src="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?i=jRguVI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?a=3TAfWi"><img src="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?i=3TAfWi" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?a=xv0V5i"><img src="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?i=xv0V5i" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/StillsecureAfterAllTheseYears/~4/307722334" height="1" width="1"/>]]></content:encoded>
      <pubDate>Sun, 08 Jun 2008 18:20:19 +0000</pubDate>
      <category domain="http://securityratty.com/tag/cloud">cloud</category>
      <category domain="http://securityratty.com/tag/net">net</category>
      <category domain="http://securityratty.com/tag/net terminals">net terminals</category>
      <category domain="http://securityratty.com/tag/net access">net access</category>
      <category domain="http://securityratty.com/tag/cloud versus local">cloud versus local</category>
      <category domain="http://securityratty.com/tag/data">data</category>
      <category domain="http://securityratty.com/tag/model">model</category>
      <category domain="http://securityratty.com/tag/personal computer">personal computer</category>
      <category domain="http://securityratty.com/tag/applications">applications</category>
      <source url="http://feeds.feedburner.com/~r/StillsecureAfterAllTheseYears/~3/307722334/cloud-computing.html">Cloud computing - I want my cake and eat it too</source>
    </item>
  </channel>
</rss>
