<?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: insert]]></title>
    <link>http://securityratty.com/tag/insert</link>
    <description></description>
    <pubDate>Wed, 28 May 2008 08:49:50 +0000</pubDate>
    <generator>iRatty Engine</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <item>
      <title><![CDATA[Marketing Bot Allows Insertion of Custom Facebook Feed Messages]]></title>
      <link>http://securityratty.com/article/41ee202ac244db0ab82c0ff056faa4a7</link>
      <guid>http://securityratty.com/article/41ee202ac244db0ab82c0ff056faa4a7</guid>
      <description><![CDATA[The Facebook News Feed is something that tells everyone on your friend list what both you (and everyone on your friend list) is doing, and it's the first thing you see when you login





Click to...]]></description>
      <content:encoded><![CDATA[
        The Facebook News Feed is something that tells everyone on your friend list what both you (and everyone on your friend list) is doing, and it's the first thing you see when you login:<br /><br /><br /><div align="center"><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://blog.spywareguide.com/images/feed0.html" onclick="window.open('http://blog.spywareguide.com/images/feed0.html','popup','width=582,height=565,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://blog.spywareguide.com/images/feed0-thumb-382x370.jpg" alt="feed0.jpg" class="mt-image-none" style="" height="370" width="382" /></a></span><br /><br />Click to Enlarge<br /></div><br />Effectively, it takes bits and pieces of all the smaller feeds and rolls them into one. However, imagine instead of the above in your feed, you see something like this:<br /><br /><div align="center"><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://blog.spywareguide.com/images/feed1.html" onclick="window.open('http://blog.spywareguide.com/images/feed1.html','popup','width=496,height=248,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://blog.spywareguide.com/images/feed1-thumb-396x198.jpg" alt="feed1.jpg" class="mt-image-none" style="" height="198" width="396" /></a></span><br /><br />Click to Enlarge<br /></div><br />Those are customised messages inserted into your feed - and there's a good chance everyone on your Friends list will see it on their own feed when they login to Facebook.<br /><br />This would happen because someone has made a Bot for Facebook that allows you to insert your own custom message / image / clickable link into your Facebook feed. I've no idea if this is against the Facebook Terms of Service or not, but I can only imagine the chaos that would ensue if someone purchases this application then decides to use it for nefarious purposes. It's being promoted as a sales / marketing tool, but from a security standpoint it seems potentially disastrous.<br /><br />If a bad actor buys their own Bot, imagine the Myspace-style spam campaigns that could take place...everything from malicious URLs to obnoxious flashing banners could be the order of the day. At the very least, one would hope the makers of this Bot have some quality control going on with regards Bot owners. More <a href="http://forums.digitalpoint.com/showthread.php?p=8791542">here</a>.<br /><br />/ Hat-tip to <a href="http://www.ghettowebmaster.com/">LoLo</a><br /><div><br /></div>
        
    ]]></content:encoded>
      <pubDate>Mon, 11 Aug 2008 09:26:48 +0000</pubDate>
      <category domain="http://securityratty.com/tag/feed">feed</category>
      <category domain="http://securityratty.com/tag/facebook feed">facebook feed</category>
      <category domain="http://securityratty.com/tag/facebook">facebook</category>
      <category domain="http://securityratty.com/tag/bot">bot</category>
      <category domain="http://securityratty.com/tag/facebook news feed">facebook news feed</category>
      <category domain="http://securityratty.com/tag/facebook terms">facebook terms</category>
      <category domain="http://securityratty.com/tag/bot owners">bot owners</category>
      <category domain="http://securityratty.com/tag/friend list">friend list</category>
      <category domain="http://securityratty.com/tag/myspace-style spam campaigns">myspace-style spam campaigns</category>
      <source url="http://blog.spywareguide.com/2008/08/marketing-bot-allows-insertion.html">Marketing Bot Allows Insertion of Custom Facebook Feed Messages</source>
    </item>
    <item>
      <title><![CDATA[Better exception reporting in ASP.NET part 2]]></title>
      <link>http://securityratty.com/article/b878f7921917b371086606df6d043229</link>
      <guid>http://securityratty.com/article/b878f7921917b371086606df6d043229</guid>
      <description><![CDATA[This is the third post in a series
The first post described the problem: ASP.NET wasn't reporting inner exception stack traces
The second post described my solution
This post shows the code I used to...]]></description>
      <content:encoded><![CDATA[<p>This is the third post in a series.</p> <p>The <a href="http://www.pluralsight.com/community/blogs/keith/archive/2008/08/01/asp-net-health-monitoring-doesn-t-log-inner-exception-stack-trace.aspx" target="_blank">first post</a> described the problem: ASP.NET wasn&#39;t reporting inner exception stack traces.</p> <p>The <a href="http://www.pluralsight.com/community/blogs/keith/archive/2008/08/01/better-exception-reporting-in-asp-net.aspx" target="_blank">second post</a> described my solution.</p> <p>This post shows the code I used to solve the problem: a custom email provider for the Health Monitoring system in ASP.NET. Enjoy!</p> <p>Here&#39;s the provider. Note that I opted *not* to build a buffering provider to keep things simple:</p><pre class="csharpcode"><span class="kwrd">public</span> <span class="kwrd">class</span> MyMailWebEventProvider : WebEventProvider
{
    <span class="kwrd">string</span> to;
    <span class="kwrd">string</span> from;
    <span class="kwrd">string</span> subjectPrefix;

    <span class="kwrd">public</span> <span class="kwrd">override</span> <span class="kwrd">void</span> Initialize(<span class="kwrd">string</span> name,
        NameValueCollection config)
    {
        <span class="kwrd">base</span>.Initialize(name, config);

        to = GetAndRemoveStringAttribute(config, <span class="str">&quot;to&quot;</span>, <span class="kwrd">true</span>);
        from = GetAndRemoveStringAttribute(config, <span class="str">&quot;from&quot;</span>, <span class="kwrd">true</span>);
        subjectPrefix = GetAndRemoveStringAttribute(config,
            <span class="str">&quot;subjectPrefix&quot;</span>, <span class="kwrd">false</span>);
    }
    <span class="kwrd">public</span> <span class="kwrd">override</span> <span class="kwrd">void</span> ProcessEvent(WebBaseEvent raisedEvent)
    {
        SendMail(raisedEvent);
    }

    <span class="kwrd">private</span> <span class="kwrd">void</span> SendMail(WebBaseEvent raisedEvent)
    {
        <span class="kwrd">string</span> subject = ComputeEmailSubject(raisedEvent);
        <span class="kwrd">string</span> body = ComputeEmailBody(raisedEvent);

        MailMessage msg = <span class="kwrd">new</span> MailMessage(from, to, subject, body);
        <span class="kwrd">new</span> SmtpClient().Send(msg);
    }

    <span class="kwrd">private</span> <span class="kwrd">string</span> ComputeEmailBody(WebBaseEvent raisedEvent)
    {
        WebRequestErrorEvent errorEvent =
            raisedEvent <span class="kwrd">as</span> WebRequestErrorEvent;
        <span class="kwrd">if</span> (<span class="kwrd">null</span> != errorEvent)
            <span class="kwrd">return</span> ErrorEventFormattingHelper.FormatRequestErrorEvent(errorEvent);
        <span class="kwrd">else</span> <span class="kwrd">return</span> raisedEvent.ToString();
    }

    <span class="kwrd">private</span> <span class="kwrd">string</span> ComputeEmailSubject(WebBaseEvent raisedEvent)
    {
        StringBuilder subjectBuilder = <span class="kwrd">new</span> StringBuilder();

        <span class="rem">// surface some details in subject about error events</span>
        WebBaseErrorEvent errorEvent = raisedEvent <span class="kwrd">as</span> WebBaseErrorEvent;
        <span class="kwrd">if</span> (<span class="kwrd">null</span> != errorEvent)
        {
            Exception unhandledException = errorEvent.ErrorException;

            <span class="rem">// drill through reflection exceptions to show the root cause</span>
            TargetInvocationException invocationException =
                unhandledException <span class="kwrd">as</span> TargetInvocationException;
            <span class="kwrd">if</span> (<span class="kwrd">null</span> != invocationException)
            {
                Exception innerException =
                    DrillIntoTargetInvocationException(invocationException);
                subjectBuilder.AppendFormat(<span class="str">&quot;{0}&quot;</span>,
                    (innerException ?? invocationException).GetType().Name);
                <span class="kwrd">if</span> (<span class="kwrd">null</span> != innerException)
                    subjectBuilder.Append(<span class="str">&quot; (via reflection)&quot;</span>);
            }
            <span class="kwrd">else</span> subjectBuilder.Append(unhandledException.GetType().Name);
        }

        <span class="rem">// if we&#39;ve not got anything better</span>
        <span class="rem">// just show the event type in the subject</span>
        <span class="kwrd">if</span> (0 == subjectBuilder.Length)
            subjectBuilder.AppendFormat(<span class="str">&quot;Event type: {0}&quot;</span>,
                raisedEvent.GetType().Name);

        <span class="kwrd">if</span> (!<span class="kwrd">string</span>.IsNullOrEmpty(subjectPrefix)) {
            subjectBuilder.Insert(0, <span class="str">&#39; &#39;</span>);
            subjectBuilder.Insert(0, subjectPrefix);
        }
        <span class="kwrd">return</span> subjectBuilder.ToString();
    }

    <span class="rem">/// &lt;summary&gt;</span>
    <span class="rem">/// Reflection often hides exception details, so we try to drill down</span>
    <span class="rem">/// through the plumbing exceptions to find a likely cause</span>
    <span class="rem">/// &lt;/summary&gt;</span>
    <span class="kwrd">private</span> Exception DrillIntoTargetInvocationException(
        TargetInvocationException outerException)
    {
        Exception innerException = outerException.InnerException;
        TargetInvocationException innerInvocationException =
            innerException <span class="kwrd">as</span> TargetInvocationException;
        <span class="kwrd">if</span> (<span class="kwrd">null</span> != innerInvocationException)
            <span class="kwrd">return</span> DrillIntoTargetInvocationException(innerInvocationException);
        <span class="kwrd">else</span> <span class="kwrd">if</span> (<span class="kwrd">null</span> != innerException)
            <span class="kwrd">return</span> innerException;
        <span class="kwrd">else</span> <span class="kwrd">return</span> <span class="kwrd">null</span>;
    }

    <span class="kwrd">private</span> <span class="kwrd">static</span> <span class="kwrd">string</span> GetAndRemoveStringAttribute(NameValueCollection config,
        <span class="kwrd">string</span> attributeName, <span class="kwrd">bool</span> required)
    {
        <span class="kwrd">string</span> <span class="kwrd">value</span> = config.Get(attributeName);
        <span class="kwrd">if</span> (required &amp;&amp; <span class="kwrd">string</span>.IsNullOrEmpty(<span class="kwrd">value</span>))
            <span class="kwrd">throw</span> <span class="kwrd">new</span> ConfigurationErrorsException(<span class="kwrd">string</span>.Format(
                <span class="str">&quot;Expected attribute {0}, which is missing or empty.&quot;</span>,
                attributeName));
        config.Remove(attributeName);
        <span class="kwrd">return</span> <span class="kwrd">value</span>;
    }

    <span class="kwrd">public</span> <span class="kwrd">override</span> <span class="kwrd">void</span> Flush()
    {
        <span class="rem">// nothing to do - this is not a buffering provider</span>
    }

    <span class="kwrd">public</span> <span class="kwrd">override</span> <span class="kwrd">void</span> Shutdown()
    {
        <span class="rem">// nothing to do here either</span>
    }
}</pre>
<p>Here&#39;s a helper class that formats the error messages the way I want to see them. Note that I&#39;ve omitted some fields that I personally didn&#39;t care about, and I&#39;ve reordered things a bit, so you might want to tweak this if you&#39;re going to use it in your own system.</p><pre class="csharpcode"><span class="kwrd">internal</span> <span class="kwrd">static</span> <span class="kwrd">class</span> ErrorEventFormattingHelper
{
    <span class="kwrd">internal</span> <span class="kwrd">static</span> <span class="kwrd">string</span> FormatRequestErrorEvent(
        WebRequestErrorEvent errorEvent)
    {
        CustomEventFormatter formatter = 
            <span class="kwrd">new</span> CustomEventFormatter();

        formatter.AppendLine(<span class="kwrd">string</span>.Format(
            <span class="str">&quot;Unhandled Exception in {0}:&quot;</span>,
            WebBaseEvent.ApplicationInformation
            .ApplicationVirtualPath));
        formatter.Indent();
        EmitExceptionAtAGlance(formatter, 
            errorEvent.ErrorException);
        formatter.RevertIndent();

        formatter.AppendLine();
        formatter.AppendLine(<span class="str">&quot;Exception stack trace(s):&quot;</span>);
        EmitExceptionStackTrace(formatter, 
            errorEvent.ErrorException);

        formatter.AppendLine();
        formatter.AppendLine(<span class="str">&quot;Event information:&quot;</span>);
        formatter.Indent();
        EmitEventInfo(formatter, errorEvent);
        formatter.RevertIndent();

        formatter.AppendLine();
        formatter.AppendLine(<span class="str">&quot;Application information:&quot;</span>);
        formatter.Indent();
        EmitApplicationInfo(formatter, 
            WebBaseEvent.ApplicationInformation);
        formatter.RevertIndent();

        formatter.AppendLine();
        formatter.AppendLine(<span class="str">&quot;Process/thread information:&quot;</span>);
        formatter.Indent();
        EmitProcessInfo(formatter, 
            errorEvent.ProcessInformation);
        formatter.RevertIndent();

        formatter.AppendLine();
        formatter.AppendLine(<span class="str">&quot;Request information:&quot;</span>);
        formatter.Indent();
        EmitRequestInfo(formatter, 
            errorEvent.RequestInformation);
        formatter.RevertIndent();

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

    <span class="kwrd">private</span> <span class="kwrd">static</span> <span class="kwrd">void</span> EmitEventInfo(
        CustomEventFormatter formatter,
        WebBaseEvent theEvent)
    {
        formatter.AppendLine(<span class="kwrd">string</span>.Format(
            <span class="str">&quot;Event code: {0}&quot;</span>,
            theEvent.EventCode.ToString(
            CultureInfo.InvariantCulture)));
        formatter.AppendLine(<span class="kwrd">string</span>.Format(
            <span class="str">&quot;Event message: {0}&quot;</span>, 
            theEvent.Message));
        formatter.AppendLine(<span class="kwrd">string</span>.Format(
            <span class="str">&quot;Event time: {0}&quot;</span>, 
            theEvent.EventTime.ToString(
            CultureInfo.InvariantCulture)));
        formatter.AppendLine(<span class="kwrd">string</span>.Format(
            <span class="str">&quot;Event ID: {0}&quot;</span>, 
            theEvent.EventID.ToString(<span class="str">&quot;N&quot;</span>, 
            CultureInfo.InvariantCulture)));
    }

    <span class="kwrd">private</span> <span class="kwrd">static</span> <span class="kwrd">void</span> EmitApplicationInfo(
        CustomEventFormatter formatter, 
        WebApplicationInformation appInfo)
    {
        formatter.AppendLine(<span class="kwrd">string</span>.Format(
            <span class="str">&quot;Application domain: {0}&quot;</span>, 
            appInfo.ApplicationDomain));
        formatter.AppendLine(<span class="kwrd">string</span>.Format(
            <span class="str">&quot;Application Virtual Path: {0}&quot;</span>, 
            appInfo.ApplicationVirtualPath));
        formatter.AppendLine(<span class="kwrd">string</span>.Format(
            <span class="str">&quot;Application Physical Path: {0}&quot;</span>, 
            appInfo.ApplicationPath));
    }

    <span class="kwrd">private</span> <span class="kwrd">static</span> <span class="kwrd">void</span> EmitProcessInfo(
        CustomEventFormatter formatter, 
        WebProcessInformation webProcessInfo)
    {
        formatter.AppendLine(<span class="kwrd">string</span>.Format(
            <span class="str">&quot;Process ID: {0}&quot;</span>, 
            webProcessInfo.ProcessID.ToString(
            CultureInfo.InvariantCulture)));
        formatter.AppendLine(<span class="kwrd">string</span>.Format(
            <span class="str">&quot;Process name: {0}&quot;</span>, 
            webProcessInfo.ProcessName));
        formatter.AppendLine(<span class="kwrd">string</span>.Format(
            <span class="str">&quot;Account name: {0}&quot;</span>, 
            webProcessInfo.AccountName));
    }

    <span class="kwrd">private</span> <span class="kwrd">static</span> <span class="kwrd">void</span> EmitRequestInfo(
        CustomEventFormatter formatter, 
        WebRequestInformation webRequestInfo)
    {
        <span class="kwrd">string</span> name = <span class="kwrd">null</span>;
        <span class="kwrd">if</span> (webRequestInfo.Principal != <span class="kwrd">null</span>)
            name = webRequestInfo.Principal.Identity.Name;

        formatter.AppendLine(<span class="kwrd">string</span>.Format(
            <span class="str">&quot;Request URL: {0}&quot;</span>, 
            webRequestInfo.RequestUrl));
        formatter.AppendLine(<span class="kwrd">string</span>.Format(
            <span class="str">&quot;Request path: {0}&quot;</span>, 
            webRequestInfo.RequestPath));
        formatter.AppendLine(<span class="kwrd">string</span>.Format(
            <span class="str">&quot;User name: {0}&quot;</span>, 
            name ?? <span class="str">&quot;[ANONYMOUS]&quot;</span>));
        formatter.AppendLine(<span class="kwrd">string</span>.Format(
            <span class="str">&quot;User host address: {0}&quot;</span>, 
            webRequestInfo.UserHostAddress));
    }

    <span class="kwrd">private</span> <span class="kwrd">static</span> <span class="kwrd">void</span> EmitExceptionAtAGlance(
        CustomEventFormatter formatter, 
        Exception exception)
    {
        formatter.AppendLine(<span class="kwrd">string</span>.Format(
            <span class="str">&quot;Type: {0}&quot;</span>, 
            exception.GetType().Name));
        formatter.AppendLine(<span class="kwrd">string</span>.Format(
            <span class="str">&quot;Message: {0}&quot;</span>, 
            exception.Message));
        <span class="kwrd">if</span> (<span class="kwrd">null</span> != exception.InnerException)
        {
            formatter.Indent();
            formatter.AppendLine(<span class="str">&quot;--&gt;Inner Exception&quot;</span>);
            EmitExceptionAtAGlance(formatter, 
                exception.InnerException);
            formatter.RevertIndent();
        }
    }

    <span class="kwrd">private</span> <span class="kwrd">static</span> <span class="kwrd">void</span> EmitExceptionStackTrace(
        CustomEventFormatter formatter, Exception exception)
    {
        formatter.AppendLine(exception.StackTrace);

        <span class="kwrd">if</span> (<span class="kwrd">null</span> != exception.InnerException)
        {
            <span class="rem">// no point indenting</span>
            <span class="rem">// since stack traces typically wrap like crazy</span>
            formatter.AppendLine();
            formatter.AppendLine(<span class="str">&quot;--&gt;Inner exception stack trace:&quot;</span>);
            EmitExceptionStackTrace(formatter, exception.InnerException);
        }
    }
}
</pre>
<p>And finally, here&#39;s a helper class that manages indentation levels for the output email message:</p><pre class="csharpcode"><span class="kwrd">public</span> <span class="kwrd">class</span> CustomEventFormatter
{
    <span class="kwrd">const</span> <span class="kwrd">int</span> TabSpaces = 4;

    StringBuilder sb = <span class="kwrd">new</span> StringBuilder();
    <span class="kwrd">private</span> <span class="kwrd">int</span> indentLevel;
    <span class="kwrd">private</span> <span class="kwrd">bool</span> startingNewLine = <span class="kwrd">true</span>;

    <span class="kwrd">public</span> <span class="kwrd">void</span> Indent()
    {
        ++indentLevel;
    }

    <span class="kwrd">public</span> <span class="kwrd">void</span> RevertIndent()
    {
        <span class="kwrd">if</span> (indentLevel &gt; 0)
            --indentLevel;
    }

    <span class="kwrd">public</span> <span class="kwrd">void</span> Append(<span class="kwrd">string</span> text)
    {
        <span class="kwrd">if</span> (startingNewLine)
            EmitIndent();
        sb.Append(text);
        startingNewLine = <span class="kwrd">false</span>;
    }

    <span class="kwrd">public</span> <span class="kwrd">void</span> AppendLine(<span class="kwrd">string</span> lineOfText)
    {
        <span class="kwrd">if</span> (startingNewLine)
            EmitIndent();
        EmitIndent();
        sb.AppendLine(lineOfText);
        startingNewLine = <span class="kwrd">true</span>;
    }

    <span class="kwrd">private</span> <span class="kwrd">void</span> EmitIndent()
    {
        sb.Append(<span class="str">&#39; &#39;</span>, TabSpaces * indentLevel);
    }

    <span class="kwrd">public</span> <span class="kwrd">void</span> AppendLine()
    {
        AppendLine(<span class="kwrd">string</span>.Empty);
    }

    <span class="kwrd">public</span> <span class="kwrd">override</span> <span class="kwrd">string</span> ToString()
    {
        <span class="kwrd">return</span> sb.ToString();
    }
}
</pre>
<p>Build this into a library application and reference it in your config file. Here&#39;s an example:</p><pre class="csharpcode"><span class="kwrd">&lt;</span><span class="html">healthMonitoring</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;</span><span class="html">providers</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">add</span> <span class="attr">name</span><span class="kwrd">=&quot;mailWebEventProvider&quot;</span>
         <span class="attr">type</span><span class="kwrd">=&quot;MyMailWebEventProvider&quot;</span>
         <span class="attr">to</span><span class="kwrd">=&quot;web-fault@fabrikam.com&quot;</span>
         <span class="attr">from</span><span class="kwrd">=&quot;website@fabrikam.com&quot;</span>
         <span class="attr">buffer</span><span class="kwrd">=&quot;false&quot;</span>
         <span class="attr">subjectPrefix</span><span class="kwrd">=&quot;[WEB-ERROR]&quot;</span>
       <span class="kwrd">/&gt;</span>
  <span class="kwrd">&lt;/</span><span class="html">providers</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;</span><span class="html">rules</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">add</span> <span class="attr">name</span><span class="kwrd">=&quot;All Errors Email&quot;</span>
         <span class="attr">eventName</span><span class="kwrd">=&quot;All Errors&quot;</span>
         <span class="attr">provider</span><span class="kwrd">=&quot;mailWebEventProvider&quot;</span>
         <span class="attr">profile</span><span class="kwrd">=&quot;Default&quot;</span>
         <span class="attr">minInstances</span><span class="kwrd">=&quot;1&quot;</span>
         <span class="attr">maxLimit</span><span class="kwrd">=&quot;Infinite&quot;</span>
         <span class="attr">minInterval</span><span class="kwrd">=&quot;00:01:00&quot;</span>
         <span class="attr">custom</span><span class="kwrd">=&quot;&quot;</span><span class="kwrd">/&gt;</span>
  <span class="kwrd">&lt;/</span><span class="html">rules</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">healthMonitoring</span><span class="kwrd">&gt;</span>
</pre><div style="clear:both;"></div><img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=52349" width="1" height="1">]]></content:encoded>
      <pubDate>Mon, 04 Aug 2008 10:11:14 +0000</pubDate>
      <category domain="http://securityratty.com/tag/return">return</category>
      <category domain="http://securityratty.com/tag/return subjectbuilder">return subjectbuilder</category>
      <category domain="http://securityratty.com/tag/return formatter">return formatter</category>
      <category domain="http://securityratty.com/tag/exception">exception</category>
      <category domain="http://securityratty.com/tag/formatter">formatter</category>
      <category domain="http://securityratty.com/tag/crazy formatter">crazy formatter</category>
      <category domain="http://securityratty.com/tag/static void">static void</category>
      <category domain="http://securityratty.com/tag/static void emitprocessinfo">static void emitprocessinfo</category>
      <category domain="http://securityratty.com/tag/return null">return null</category>
      <source url="http://www.pluralsight.com/community/blogs/keith/archive/2008/08/04/better-exception-reporting-in-asp-net-part-2.aspx">Better exception reporting in ASP.NET part 2</source>
    </item>
    <item>
      <title><![CDATA[The Impact of Dans DNS Debacle on Internet Risk]]></title>
      <link>http://securityratty.com/article/1fb63648aa29a459479e251e9609bd22</link>
      <guid>http://securityratty.com/article/1fb63648aa29a459479e251e9609bd22</guid>
      <description><![CDATA[Blogger: Pete Lindstrom
On July 8th, Dan Kaminsky of IOActive announced a major DNS vulnerability in conjunction with a number of major DNS vendors. The announcement was off the charts in fanfare and...]]></description>
      <content:encoded><![CDATA[
<div xmlns="http://www.w3.org/1999/xhtml"><p>Blogger: Pete Lindstrom</p>

<p>On July 8th, Dan Kaminsky of IOActive announced a major DNS “vulnerability” in conjunction with a number of major DNS vendors. The announcement was off the charts in fanfare and attention, but what was the real impact on risk?</p>

<p>First, it is worth noting that this “bug” is more properly classified as a new attack technique invented by Dan. It combines two vulnerabilities that have been well-known for some time – the ability to guess non-random transaction IDs and the use of Additional RRs to insert new entries into the DNS cache. A fix against either of these vulnerabilities also negates the attack itself.</p>

<p>The fundamental question that determines the risk impact revolves around whether it is reasonable to expect fewer or more incidents that use this technique when comparing the period prior to disclosure -- or, more properly, before the date of Dan’s invention of the technique (this also assumes prior art) – with the period after invention/disclosure and into the future. If the disclosure reduces the number of those incidents, then risk is reduced; if the disclosure increases the number of those incidents, then risk is increased.</p>

<p>With that litmus test as our guideline, it is useful to break down the functional elements of risk and look at the impact on threats, vulnerabilities, and consequences (we will cover consequences, then vulnerabilities, and finally threat).</p>

<p><strong>Consequences</strong><br />Though the consequences are the same before and after disclosure, it is worth discussing the impact here, given that the implication was that the “entire web” could be taken down. The nature of the attack requires the following:</p>

<ol><li>An attacker must convince/trick a user into making a DNS request for a domain that doesn’t already exist in their DNS server’s cache. The expectation here is that s/he can be easily tricked into doing this.</li>

<li>Then, the attacker must simultaneously attack the DNS server by guessing the transaction ID. According to Kaminsky, the request/attack phase can be done reliably in about 10 seconds.</li>

<li>The attack is DNS server-specific. Only users on the same DNS server are affected.</li>

<li>Propagation: once the cache is poisoned, anyone requesting that domain will be routed to a malicious server.</li></ol>

<p>Without combining this attack with other attack techniques, there can be three results:</p>

<ol><li>Spoofing of a single website for multiple, perhaps many, users using the same DNS server. Presumably, this would be followed by more traditional phishing and malware attacks.</li>

<li>Denial-of-service by rerouting traffic from a legitimate site thereby taking potential customers or “eyeballs” away.</li>

<li>Denial-of-service be rerouting traffic from a legitimate high volume site to a legitimate low-volume site thereby overloading the servers on the low-volume site.</li></ol>

<p>Because of the point-to-point (user-to-website) nature of the attack, to do something that constitutes “taking over the entire web” is infeasible by a longshot.</p>

<p>The bottom line analysis for the effect on risk due to a change in consequences from pre-invention to post-invention: no change, and therefore no impact.</p>

<p><strong>Vulnerabilities</strong><br />These vulnerabilities have existed for years, and there have been workarounds for years. Along with this announcement, new patches were introduced in all major DNS server solutions. It is reasonable to assume that many DNS server implementations have been patched, though public accounts have suggested that number is in the 66%-75% range.</p>

<p>Bottom line analysis: the vulnerability level has been reduced, probably significantly, and the affect is positive for risk reduction. If 100% of DNS servers were patched, then overall risk would be reduced for this attack (assuming that there were actual attacks using this technique in the past.)</p>

<p><strong>Threats</strong><br />The real question regarding risk impact comes in the arena of the less-controllable manipulation of threat. The general threat equation revolves around an attacker’s willingness to attack, based on his/her own cost/benefit analysis that compares the cost to attack to the expected benefits, tempered by the potential for being caught and penalized.</p>

<p>Cost to attack – prior to disclosing the invention, there were likely few, if any attackers with “prior art” that mirrored this technique. It is anybody’s guess how many potential attackers might have figured it out eventually, but they would have had to come from the pool of folks with enough expertise to do so – I am going to guess 500,000 people.</p>

<p>After the disclosure, the hints provided in the press release, the podcast, the sorted stories, and the blog entries made it much easier to figure out. Let’s guess that 5 million people could execute the attack. With automated tools, that number goes up to 50 million.</p>

<p>These numbers are estimates that illustrate the nature of the exercise. You are welcome to fill in your own estimates and come to your own conclusions.</p>

<p>Bottom line analysis: a significant increase in threat and corresponding risk.</p>

<p><strong>Net Effect</strong><br />The risk manager's challenge is to weigh the decrease in vulnerable systems compared with the corresponding increase in threat, within the context of number of incidents and anticipated future incidents. Given the sheer size differential, it is difficult to conceive of a situation where risk is not increased. </p>

<p>Sometimes it &quot;feels&quot; like someone is taking action for the greater good, when that action actually creates a negative impact for all. For example, it is common for people to believe that raising prices of scarce resources during&nbsp; times of trouble (e.g. gasoline in the hurricane Katrina aftermath) is unconscionable even though a majority of economists recognize that raising prices actually provides for the greater public good. Vulnerability discovery and disclosure, and attack inventions, might feel like the right thing to do, but the net result is almost always a negative impact.</p></div>
<img src="http://feeds.feedburner.com/~r/SecurityAndRiskManagementStrategiesBlog/~4/350432472" height="1" width="1"/>]]></content:encoded>
      <pubDate>Wed, 30 Jul 2008 04:11:30 +0000</pubDate>
      <category domain="http://securityratty.com/tag/dns servers">dns servers</category>
      <category domain="http://securityratty.com/tag/servers">servers</category>
      <category domain="http://securityratty.com/tag/impact">impact</category>
      <category domain="http://securityratty.com/tag/dns">dns</category>
      <category domain="http://securityratty.com/tag/dns servers cache">dns servers cache</category>
      <category domain="http://securityratty.com/tag/risk impact revolves">risk impact revolves</category>
      <category domain="http://securityratty.com/tag/major dns vendors">major dns vendors</category>
      <category domain="http://securityratty.com/tag/risk">risk</category>
      <category domain="http://securityratty.com/tag/major dns vulnerability">major dns vulnerability</category>
      <source url="http://feeds.feedburner.com/~r/SecurityAndRiskManagementStrategiesBlog/~3/350432472/the-impact-of-d.html">The Impact of Dans DNS Debacle on Internet Risk</source>
    </item>
    <item>
      <title><![CDATA[Using CICS event monitoring points (EMPs) for tuning and debugging]]></title>
      <link>http://securityratty.com/article/85a0d73785777367c6ec9972e3a734ef</link>
      <guid>http://securityratty.com/article/85a0d73785777367c6ec9972e3a734ef</guid>
      <description><![CDATA[Event monitoring points (EMPs), part of the CICS monitoring facility (CMF), allow for detailed data gathering when the CMF isn't enough. With EMPs, you can insert personalized code into CMF for...]]></description>
      <content:encoded><![CDATA[Event monitoring points (EMPs), part of the CICS monitoring facility (CMF), allow for detailed data gathering when the CMF isn't enough. With EMPs, you can insert personalized code into CMF for application-specific tuning or debugging. This tip discusses monitoring control tables and various monitoring commands to make the most of EMPs.<img src="http://feeds.feedburner.com/~r/WhatisEnterpriseItTipsAndExpertAdvice/~4/348664530" height="1" width="1"/>]]></content:encoded>
      <pubDate>Mon, 28 Jul 2008 10:37:52 +0000</pubDate>
      <category domain="http://securityratty.com/tag/emps">emps</category>
      <category domain="http://securityratty.com/tag/cmf">cmf</category>
      <category domain="http://securityratty.com/tag/control tables">control tables</category>
      <category domain="http://securityratty.com/tag/tip discusses">tip discusses</category>
      <category domain="http://securityratty.com/tag/event">event</category>
      <category domain="http://securityratty.com/tag/cics">cics</category>
      <category domain="http://securityratty.com/tag/insert">insert</category>
      <category domain="http://securityratty.com/tag/commands">commands</category>
      <category domain="http://securityratty.com/tag/data">data</category>
      <source url="http://feeds.feedburner.com/~r/WhatisEnterpriseItTipsAndExpertAdvice/~3/348664530/0,289483,sid80_gci1322990,00.html">Using CICS event monitoring points (EMPs) for tuning and debugging</source>
    </item>
    <item>
      <title><![CDATA[How Can I Find Them? They Haven't Gone Missing!]]></title>
      <link>http://securityratty.com/article/521b9f6d9f84284358b728d75d93f7cb</link>
      <guid>http://securityratty.com/article/521b9f6d9f84284358b728d75d93f7cb</guid>
      <description><![CDATA[I've often highlighted the utterly worthless spam messages that seem to endlessly circulate on Facebook, usually warning not to add (insert random name here) because they're an evil hacker and will...]]></description>
      <content:encoded><![CDATA[
        I've often highlighted the utterly worthless spam messages that seem to endlessly circulate on Facebook, usually warning not to add (insert random name here) because they're an evil hacker and will destroy your PC, kill your family and so on.<br /><br />Well, today I came across another such message:<br /><br /><div align="center"><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="norris1.jpg" src="http://blog.spywareguide.com/images/norris1.jpg" class="mt-image-none" style="" height="94" width="313" /></span></div><br /> <div><br />.....insert gag about them being related to Chuck here....but underneath that message was something far more interesting:<br /><br /><div align="center"><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://blog.spywareguide.com/images/norris21.html" onclick="window.open('http://blog.spywareguide.com/images/norris21.html','popup','width=304,height=434,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://blog.spywareguide.com/images/norris2-thumb-304x434.gif" alt="norris2.gif" class="mt-image-none" style="" height="434" width="304" /></a></span><br /></div><br /></div><div><br />Sounds serious, right? It seems personal, because it's their friend missing which adds a little more urgency - they provide a contact email address to notify them on, and it mentions a real world example of someone who went missing and was found via the Internet.<br /><br />However.<br /><br />Dig into this a little bit, and it all becomes clear quite quickly that something isn't quite right here. For starters, search for the missing persons name and there is no mention of him ever "going missing". Nothing on websites, news pages....it's like the whole thing is a work of fiction. In fact, buried in unrelated entries is the following snippet from a page on myyearbook.com:<br /><br /><div align="center"><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://blog.spywareguide.com/images/norris3.html" onclick="window.open('http://blog.spywareguide.com/images/norris3.html','popup','width=586,height=89,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://blog.spywareguide.com/images/norris3-thumb-386x58.jpg" alt="norris3.jpg" class="mt-image-none" style="" height="58" width="386" /></a></span><br /></div></div><div><div align="center"><br />Click to Enlarge<br /></div><br />Check out the name of the "hacker" you shouldn't add. It seems someone has simply swiped the name and started pasting it into spam messages. A quick search of Facebook confirms the <a href="http://www.facebook.com/people/Nour_Ajouz/650060261">name and face go together</a>.<br /><br />A quick search for the email address listed as a contact brings up more interesting posts, this time posted to a personal blog:<br /><br /><div align="center"><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://blog.spywareguide.com/images/norris51.html" onclick="window.open('http://blog.spywareguide.com/images/norris51.html','popup','width=496,height=487,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://blog.spywareguide.com/images/norris5-thumb-396x388.gif" alt="norris5.gif" class="mt-image-none" style="" height="388" width="396" /></a></span>
<br /><br />Click to Enlarge<br /></div><br />Same text....same reference to "real world" example....same email address. This person sure does get through a lot of missing friends! Note that this "missing person" chain letter has now stepped outside of Facebook and into other websites and networks.<br /><br />At this point, you're probably wondering about the validity of the "real world" example, aren't you? Well, that would be a good idea! Notice they don't give any detail - it simply says "That is how the girl from Stevens Point was found by circulation of her picture on TV", and expect you to accept it as is. If you go searching for that phrase, it doesn't take long to find a page on Snopes.com regarding a <a href="http://www.snopes.com/inboxer/missing/penny.asp">missing girl hoax</a> that stretches back some years:<br /><br /><i>"Please look at the picture, read what her father says, then forward his message on. Maybe if everyone passes this on, someone will see this child. That is how the girl from Stevens Point was found by circulation of her picture on tv..."</i><br /><br />An email hoax, wrapped up and repackaged for the Facebook generation.<br /></div><div><br /></div><div><br /></div>
        
    ]]></content:encoded>
      <pubDate>Wed, 09 Jul 2008 08:45:35 +0000</pubDate>
      <category domain="http://securityratty.com/tag/contact email address">contact email address</category>
      <category domain="http://securityratty.com/tag/email address">email address</category>
      <category domain="http://securityratty.com/tag/real world">real world</category>
      <category domain="http://securityratty.com/tag/facebook">facebook</category>
      <category domain="http://securityratty.com/tag/facebook confirms">facebook confirms</category>
      <category domain="http://securityratty.com/tag/girl hoax">girl hoax</category>
      <category domain="http://securityratty.com/tag/facebook generation">facebook generation</category>
      <category domain="http://securityratty.com/tag/girl">girl</category>
      <category domain="http://securityratty.com/tag/evil hacker">evil hacker</category>
      <source url="http://blog.spywareguide.com/2008/07/how-can-i-find-them-they-haven.html">How Can I Find Them? They Haven't Gone Missing!</source>
    </item>
    <item>
      <title><![CDATA[Can The Gov Be Trusted With Your Personal Data?]]></title>
      <link>http://securityratty.com/article/f09583068525ca2d56abe689ff8ea4e0</link>
      <guid>http://securityratty.com/article/f09583068525ca2d56abe689ff8ea4e0</guid>
      <description><![CDATA[Survey says(insert buzzer noise
Faith in the (UK) govs ability to securely manage personal data is out the window
From Reuters
The inquiries followed Britains biggest data loss scandal, when two discs...]]></description>
      <content:encoded><![CDATA[<p>Survey says&#8230;(insert buzzer noise)</p>
<p>Faith in the (UK) gov&#8217;s ability to securely manage personal data is out the window. </p>
<p>From Reuters:</p>
<blockquote><p>The inquiries followed Britain’s biggest data loss scandal, when two discs containing child benefit records, including names, addresses and bank details, of some 25 million people, went missing after being put in the post by a junior employee.</p>
<p>The reports concluded that it wasn’t individuals who were to blame - some 30 were officials played some role in events leading to the loss of the discs - but institutional and systematic failures at Britain’s tax authority.</p>
<p>But the HMRC is not alone in such security breaches. A separate report into a stolen laptop containing the details of 600,000 potential recruits revealed similar failings at the Ministry of Defence. In all, four MoD computers had been stolen since 2004 and the report said the MoD was probably in breach of several principles set out in the Data Protection Act.</p></blockquote>
<p>Well, where do you stand? Do you trust your respective government not to punt on data security? </p>
<p>Read on.</p>
<p><a href="http://blogs.reuters.com/uknews/2008/06/25/can-the-government-be-trusted-with-your-personal-data/">Article Link</a></p>

<p><a href="http://feeds.feedburner.com/~a/Liquidmatrix?a=770kXb"><img src="http://feeds.feedburner.com/~a/Liquidmatrix?i=770kXb" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Liquidmatrix?a=pFZPzI"><img src="http://feeds.feedburner.com/~f/Liquidmatrix?i=pFZPzI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Liquidmatrix?a=hm8i3i"><img src="http://feeds.feedburner.com/~f/Liquidmatrix?i=hm8i3i" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Liquidmatrix?a=pnvfai"><img src="http://feeds.feedburner.com/~f/Liquidmatrix?i=pnvfai" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Liquidmatrix?a=en11wi"><img src="http://feeds.feedburner.com/~f/Liquidmatrix?i=en11wi" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Liquidmatrix?a=EkCewi"><img src="http://feeds.feedburner.com/~f/Liquidmatrix?i=EkCewi" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Liquidmatrix/~4/320499028" height="1" width="1"/>]]></content:encoded>
      <pubDate>Thu, 26 Jun 2008 08:44:35 +0000</pubDate>
      <category domain="http://securityratty.com/tag/loss">loss</category>
      <category domain="http://securityratty.com/tag/data loss scandal">data loss scandal</category>
      <category domain="http://securityratty.com/tag/britains">britains</category>
      <category domain="http://securityratty.com/tag/britains tax authority">britains tax authority</category>
      <category domain="http://securityratty.com/tag/data protection act">data protection act</category>
      <category domain="http://securityratty.com/tag/details">details</category>
      <category domain="http://securityratty.com/tag/child benefit records">child benefit records</category>
      <category domain="http://securityratty.com/tag/mod computers">mod computers</category>
      <category domain="http://securityratty.com/tag/bank details">bank details</category>
      <source url="http://feeds.feedburner.com/~r/Liquidmatrix/~3/320499028/">Can The Gov Be Trusted With Your Personal Data?</source>
    </item>
    <item>
      <title><![CDATA[11 Signs That Your SIEM Is A Dog or "Raffy, You Killed SIM!"]]></title>
      <link>http://securityratty.com/article/673e8180fd78aec9c906c77e3732eaf4</link>
      <guid>http://securityratty.com/article/673e8180fd78aec9c906c77e3732eaf4</guid>
      <description><![CDATA[Prerequisite: read this (thanks Raffy). Stop reading right before you reach the last line though :-) Then maybe read this too (thanks anonymous
Next, insert appropriate morbid jokes for &quot; IDS is dead...]]></description>
      <content:encoded><![CDATA[<p>Prerequisite: read <a href="http://blogs.splunk.com/raffy/2008/06/23/security-information-management-sim-is-dead">this</a> (thanks Raffy). Stop reading right before you reach the last line though :-)&nbsp; Then maybe <a href="http://www.prismmicrosys.com/Logtalk/?p=20">read this</a> too (thanks anonymous).</p> <p>Next, insert appropriate morbid jokes &lt;here&gt; for "<a href="http://www.gartner.com/5_about/press_releases/pr11june2003c.jsp">IDS is dead</a>", "<a href="http://www.networkworld.com/community/node/27459">NAC is dead</a>", "<a href="http://securosis.com/2008/05/13/grc-is-dead/">GRC is dead</a>", everybody is dead... WTF? Are we at the cemetery or what? Is "dead" dead? Yeah, but it came back as a zombie :-) So, "dead" is a "living dead" "dead" now. Ha*3.</p> <p>Finally, think! Why were you thinking of buying a SIEM? 'Cause the big "G" in the sky said so? And while you are thinking, check these fun points out:</p> <ol> <li>Does your SIEM require 17 beefy servers to operate? How many gallons of foreign oil have to go up in smoke to power that mammoth up? And you know what happened to mammoths, don't you?  <li>If your "high-performance" SIEM appliance can only run 5 correlation rules at the same time, what "high" do they mean, really? Hold this thought....  <li>Is five field engineers, two developers and CTO enough to install it? Who else needs to help? Ah, sorry, I missed the DBA :-)  <li>Do you know when "If CustomVariable17 = Value5" condition matches? Will you still remember it in a year?  <li>Can you tell "taxonomy" from "ontology"? You can now? Good for you. Are you more secure now? More efficient? Compliant?  <li>How many shifts of security analysts do you have watching the shiny consoles 24/7? If zero, then why - oh - why those consoles are running in the first place? "If a tree falls..." - you know how this one ends. Correct! You get hit by the bough.  <li>When was the last time you built a custom agent for parsing and normalizing, say, SAP logs? Did it work? What did you do after it didn't? Cried? And did it help? Then a burly vendor SE showed up, charged you $37,600 and left? Happy now?  <li>Do you automatically correlate IDS/IPS alerts with vulnerability data ... for client-side attacks? Really? :-)  <li>There are dozens of firewall, IDS/IPS, router, etc brands, each with its own log type. This is actually simple! But there are thousands upon thousands of applications in use today. Some have logs. All are different. Care to build rules for that? Now you <em>finally</em> know why SIEM vendors <em>don't parse their own</em> Java logs (no shit!)  <li>Do you know what "threat x vulnerability x <em>random()</em>" equals to? Yup, it still equals <em>random()</em>. Automated prioritization, you say?  <li>Do you know why some SIEM vendors are migrating to IT GRC now? So they can go and die there ... quietly.</li></ol> <p>All in all, I have to <a href="http://blogs.splunk.com/raffy/2008/06/23/security-information-management-sim-is-dead/#comment-1332">agree with Raffy</a> to a large extent!&nbsp; The world has evolved - and SIEM has not. It might not be dead (as old attacks and defenses never really die and large organization still build and man massive SOCs where SIEM is "a must"), but in this age of web application hacking, CSRF and XSS, phishing, PCI DSS, massive bot armies, client-side 0-days, stealth malware, etc, paying $x,000,000 for a pile of ugly Java code is insane ... As a result, SIEM has greatly diminished in importance and has become just one small thing you might do with logs and some other data. What made it so? Mostly implementation complexity - but a slew of other factors mentioned above as well.</p> <p>So, consider this instead:</p> <ul> <li>Compliance? "Sorry, buddy, you need <a href="http://www.loglogic.com">this</a> for compliance, not <u><a href="http://chuvakin.blogspot.com/search/label/SIEM">that</a></u>. "  <li>Want to simplify your incident response? Get <a href="http://www.loglogic.com">log management</a> and <strong>fly through all your logs</strong>, not <em>crawl through some of them. </em> <li>Have a very real need to dig into your logs for troubleshooting or tracking that pesky user? <a href="http://www.loglogic.com">Log management</a> works.</li></ul> <p>Now, what if you have a latent and vague desire to "correlate something" and a million nice greenbacks to flush down the drain? OK, go get your SIEM toy for $780,000 + 20% maintenance/year ... a true bargain (<em>price valid today only</em>).</p> <p>Finally, I would like to end this on an optimistic note. Do we need more intelligence to analyze the log data we have collected? Of course! Do we have a widest set of log use cases from today's security&nbsp; to tomorrow's regulations? You bet. And, for <a href="http://www.raffy.ch/blog/">you Raffy</a>, I'd add "... we also have other data to analyze together with logs." So, can we "reinvent SIEM?" Yes, I think so! It just hasn't been done yet ... For now, just use <a href="http://www.loglogic.com">log management.</a></p> <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:bbd77171-6078-4829-b04e-f71e64e80d0a" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati tags: <a href="http://technorati.com/tags/SIEM" rel="tag">SIEM</a>, <a href="http://technorati.com/tags/SIM" rel="tag">SIM</a>, <a href="http://technorati.com/tags/SEM" rel="tag">SEM</a>, <a href="http://technorati.com/tags/log%20management" rel="tag">log management</a>, <a href="http://technorati.com/tags/humor" rel="tag">humor</a>, <a href="http://technorati.com/tags/security" rel="tag">security</a></div>  <div class="blogger-post-footer">About me: http://www.chuvakin.org</div><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/AntonChuvakinPersonalBlog?a=1cEN1I"><img src="http://feeds.feedburner.com/~f/AntonChuvakinPersonalBlog?i=1cEN1I" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/AntonChuvakinPersonalBlog?a=RRufwI"><img src="http://feeds.feedburner.com/~f/AntonChuvakinPersonalBlog?i=RRufwI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/AntonChuvakinPersonalBlog?a=UT0laI"><img src="http://feeds.feedburner.com/~f/AntonChuvakinPersonalBlog?i=UT0laI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AntonChuvakinPersonalBlog/~4/320020300" height="1" width="1"/>]]></content:encoded>
      <pubDate>Wed, 25 Jun 2008 10:40:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/siem">siem</category>
      <category domain="http://securityratty.com/tag/log management">log management</category>
      <category domain="http://securityratty.com/tag/siem require">siem require</category>
      <category domain="http://securityratty.com/tag/log">log</category>
      <category domain="http://securityratty.com/tag/siem toy">siem toy</category>
      <category domain="http://securityratty.com/tag/reinvent siem">reinvent siem</category>
      <category domain="http://securityratty.com/tag/siem vendors">siem vendors</category>
      <category domain="http://securityratty.com/tag/dead">dead</category>
      <category domain="http://securityratty.com/tag/log type">log type</category>
      <source url="http://feeds.feedburner.com/~r/AntonChuvakinPersonalBlog/~3/320020300/11-signs-that-your-siem-is-dog-or-you.html">11 Signs That Your SIEM Is A Dog or "Raffy, You Killed SIM!"</source>
    </item>
    <item>
      <title><![CDATA[ISP backs off of behavioral ad plan]]></title>
      <link>http://securityratty.com/article/4136b32a0e3da732c3eabaeeddba66d7</link>
      <guid>http://securityratty.com/article/4136b32a0e3da732c3eabaeeddba66d7</guid>
      <description><![CDATA[Charter Communications, one of the largest providers of cable-based broadband service in the U.S., has backed off of a plan to insert advertisements onto Web pages based on its users' Web-surfing...]]></description>
      <content:encoded><![CDATA[Charter Communications, one of the largest providers of cable-based broadband service in the U.S., has backed off of a plan to insert advertisements onto Web pages based on its users' Web-surfing habits after privacy advocates called the program an "attack on users."]]></content:encoded>
      <pubDate>Mon, 23 Jun 2008 20:00:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/web pages based">web pages based</category>
      <category domain="http://securityratty.com/tag/users">users</category>
      <category domain="http://securityratty.com/tag/broadband service">broadband service</category>
      <category domain="http://securityratty.com/tag/charter communications">charter communications</category>
      <category domain="http://securityratty.com/tag/insert advertisements">insert advertisements</category>
      <category domain="http://securityratty.com/tag/plan">plan</category>
      <category domain="http://securityratty.com/tag/habits">habits</category>
      <category domain="http://securityratty.com/tag/providers">providers</category>
      <category domain="http://securityratty.com/tag/attack">attack</category>
      <source url="http://www.networkworld.com/news/2008/062408-isp-backs-off-of-behavioral.html?fsrc=rss-security">ISP backs off of behavioral ad plan</source>
    </item>
    <item>
      <title><![CDATA[Flash Player + Windows = Threat of SQL Injection]]></title>
      <link>http://securityratty.com/article/bcc3f89d776010d41693715b0461d5bf</link>
      <guid>http://securityratty.com/article/bcc3f89d776010d41693715b0461d5bf</guid>
      <description><![CDATA[Apparently Adobe Flash players that arent patched and up to date on Windows might be vulnerable to a new SQL injectionthere are apparently 18 variants of the new exploit. SecureWorks has the details...]]></description>
      <content:encoded><![CDATA[<p>Apparently Adobe Flash players that aren&#8217;t patched and up to date on Windows might be vulnerable to a new SQL injection&#8211;there are apparently 18 variants of the new exploit. <a rel="nofollow" target="_blank" href="http://www.secureworks.com/research/threats/adobeflashflaw/?threat=adobeflashflaw"> SecureWorks </a>has the details:</p>
<blockquote><p>
Attackers insert SCRIPT and IFRAME tags into the content of trusted, legitimate web sites via a known SQL injection attack. Those tags redirect the user to the attacker&#8217;s server which hosts the Flash exploit. Tens of thousands of web sites are vulnerable to the SQL injection attack, meaning the distribution potential is high.</p>
<p>The vulnerability is not &#8220;zero-day&#8221;; however, these are the first known public exploits targeting it. The SecureWorks Counter Threat Unit (CTU) has analyzed 18 variants of the exploit, and all attempt to leverage the integer overflow vulnerability originally discovered by Mark Dowd (CVE-2007-0071), which was patched by Adobe with release of version 9.0.124.0 of the Flash Player. While some have reported that the latest version is vulnerable, the CTU was unable to duplicate these results with samples taken from known exploit sites. The only confirmed vulnerable version is (pre-patch) 9.0.115.0.
</p></blockquote>]]></content:encoded>
      <pubDate>Thu, 29 May 2008 11:59:09 +0000</pubDate>
      <category domain="http://securityratty.com/tag/vulnerable version">vulnerable version</category>
      <category domain="http://securityratty.com/tag/vulnerable">vulnerable</category>
      <category domain="http://securityratty.com/tag/exploit">exploit</category>
      <category domain="http://securityratty.com/tag/flash exploit">flash exploit</category>
      <category domain="http://securityratty.com/tag/sql injection attack">sql injection attack</category>
      <category domain="http://securityratty.com/tag/integer overflow vulnerability">integer overflow vulnerability</category>
      <category domain="http://securityratty.com/tag/exploit sites">exploit sites</category>
      <category domain="http://securityratty.com/tag/flash player">flash player</category>
      <category domain="http://securityratty.com/tag/vulnerability">vulnerability</category>
      <source url="http://feeds.feedburner.com/~r/itsecurity/~3/300861445/">Flash Player + Windows = Threat of SQL Injection</source>
    </item>
    <item>
      <title><![CDATA[Security Briefing: May 28th]]></title>
      <link>http://securityratty.com/article/a5cde5e5f863854a7a1377528d1d47db</link>
      <guid>http://securityratty.com/article/a5cde5e5f863854a7a1377528d1d47db</guid>
      <description><![CDATA[Insert pithy note about how much fun Im having and how I enjoy the struggle of reading/collating/loving the links at 0-early-thirty in the frakkin morning. Thanks to all of our new subscribers that...]]></description>
      <content:encoded><![CDATA[<p><center><img src='http://www.liquidmatrix.org/blog/wp-content/uploads/2007/09/newspapera.jpg' alt='newspapera.jpg' /></center></p>
<p>Insert pithy note about how much fun I&#8217;m having and how I enjoy the struggle of reading/collating/loving the links at 0-early-thirty in the frakkin morning. Thanks to all of our new subscribers that joined us yesterday. Welcome! And bunnies. <b>Magic Bunnies!</b></p>
<p>Click here to <a href="http://feeds.feedburner.com/Liquidmatrix">subscribe to Liquidmatrix Security Digest!</a></p>
<p>And now, the news&#8230;</p>
<ol>
<li><a href="http://blog.wired.com/27bstroke6/2008/05/man-allegedly-b.html">Man Allegedly takes a penny from the cup belonging to E-Trade and Schwab</a> <i>then gives the money back to Lumberg just before Milton burns the place to the ground.</i></li>
<li><a href="http://www.securityfocus.com/brief/743?ref=rss">Get Kraken on your botnet</a> <i>You want the original title or the funny title?</i></li>
<li><a href="http://www.securityfocus.com/columnists/472">Haberdashery!</a> <i>Or, how to tell an Aitel fanboi from a mile away</i></li>
<li><a href="http://www.eweek.com/c/a/Security/HP-Application-Security-Goes-SaaS/">HP SPIs SaaS appsec glory</a> <i>hey - if you think you&#8217;re so much smarter than me - comment! (not you CJ, you&#8217;re scary)</i></li>
<li><a href="http://www.zdnetasia.com/techguide/smb/0,3800010798,62041802,00.htm">Singapore firm claims to own patent on clicking an image to go to a different site</a> <i>does prior art from 1993 count against a patent issued in 2004?</i></li>
<li><a href="http://canadianpress.google.com/article/ALeqM5g4mVFQK1aH2SwCc9SKKHck3Hz_iA">And the Gold goes to RFID - Olympic Tickets to contain details on legitimate holder</a> <i>What is the relevance of the Olympics these days anyways?</i></li>
<li><a href="http://blogs.zdnet.com/security/?p=1189">Flash Pants! - Flash 0day vuln pwns you</a>
<li><a href="http://www.wikihow.com/Protect-a-Stolen-Mobile-Phone">Consumer Alert - you&#8217;re keeping too much data in your phone</a> <i>Your drinking phone should look like you&#8217;re at a retro party</i></li>
<li><a href="http://www.theregister.co.uk/2008/05/27/fcc_may_auction_aws_iii_band/">Prepare for <strike>Jesus-Net</strike> <i>Family-friendly broadband</i> - Nanny-state sez free-Wifi is walled garden</a></li>
</ol>
<p> Tags: <a href="http://technorati.com/tag/News" rel="tag">News</a>, <a href="http://technorati.com/tag/Daily+Links" rel="tag"> Daily Links</a>, <a href="http://technorati.com/tag/Security+Blog" rel="tag"> Security Blog</a>, <a href="http://technorati.com/tag/Information+Security" rel="tag"> Information Security</a>, <a href="http://technorati.com/tag/Security+News" rel="tag"> Security News</a></p>

<p><a href="http://feeds.feedburner.com/~a/Liquidmatrix?a=shTLBJ"><img src="http://feeds.feedburner.com/~a/Liquidmatrix?i=shTLBJ" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Liquidmatrix?a=14ubPH"><img src="http://feeds.feedburner.com/~f/Liquidmatrix?i=14ubPH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Liquidmatrix?a=mYFkOh"><img src="http://feeds.feedburner.com/~f/Liquidmatrix?i=mYFkOh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Liquidmatrix?a=6vYizh"><img src="http://feeds.feedburner.com/~f/Liquidmatrix?i=6vYizh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Liquidmatrix?a=zBwbbh"><img src="http://feeds.feedburner.com/~f/Liquidmatrix?i=zBwbbh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Liquidmatrix?a=cHVIbh"><img src="http://feeds.feedburner.com/~f/Liquidmatrix?i=cHVIbh" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Liquidmatrix/~4/299822745" height="1" width="1"/>]]></content:encoded>
      <pubDate>Wed, 28 May 2008 08:49:50 +0000</pubDate>
      <category domain="http://securityratty.com/tag/security news">security news</category>
      <category domain="http://securityratty.com/tag/news">news</category>
      <category domain="http://securityratty.com/tag/jesus-net family-friendly broadband">jesus-net family-friendly broadband</category>
      <category domain="http://securityratty.com/tag/links">links</category>
      <category domain="http://securityratty.com/tag/bunnies">bunnies</category>
      <category domain="http://securityratty.com/tag/insert pithy note">insert pithy note</category>
      <category domain="http://securityratty.com/tag/singapore firm claims">singapore firm claims</category>
      <category domain="http://securityratty.com/tag/magic bunnies">magic bunnies</category>
      <category domain="http://securityratty.com/tag/daily links">daily links</category>
      <source url="http://feeds.feedburner.com/~r/Liquidmatrix/~3/299822745/">Security Briefing: May 28th</source>
    </item>
  </channel>
</rss>
