<div dir="ltr"><div><div>Just to close the loop here and to document this on the Internet somewhere in case I forget, it looks like fast pattern checks in HTTP Inspect buffers are case insensitive as well (checked on Snort 2.9).<br><br></div>Thanks!<br><br></div>-Mike Cox<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 12, 2014 at 10:29 AM, Mike Cox <span dir="ltr"><<a href="mailto:mike.cox52@...2499..." target="_blank">mike.cox52@...2499...</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>There is a long-held belief that the fast pattern matcher is case insensitive.  Is that true as well for fast pattern matches in HTTP Inspect buffers?  If not, has that always been the case?<br><br>Thanks!<span class="HOEnZb"><font color="#888888"><br><br></font></span></div><span class="HOEnZb"><font color="#888888">-Mike Cox<br></font></span></div><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Wed, Oct 22, 2014 at 9:34 PM, Steve Sturges (ststurge) <span dir="ltr"><<a href="mailto:ststurge@...3484......" target="_blank">ststurge@...3461...</a>></span> wrote:<br></span><div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Legacy, kinda.  But more efficient performance wise.  :)<br>
<div><div><br>
> On Oct 22, 2014, at 9:18 PM, "Joshua Kinard" <<a href="mailto:kumba@...2185..." target="_blank">kumba@...2185...</a>> wrote:<br>
><br>
> I'll wager that this is a relic of Snort's early days as primarily an HTTP<br>
> traffic sniffer, before it became a more generic deep-packet inspection tool.<br>
><br>
> Something like this should get a mention in the Snort manual, though there are<br>
> several places where it states that the longest content match is the default,<br>
> yet doesn't differentiate between a normal content match and a content match<br>
> modified by an HTTP keyword.  So, not a quick fix w/o refactoring the lingo in<br>
> a few spots.<br>
><br>
> --J<br>
><br>
><br>
>> On 10/22/2014 16:30, Josh Rosenbaum (jrosenba) wrote:<br>
>> Hi Mike,<br>
>><br>
>> Sorry for this unfortunate news, but it looks like you will need tweak those<br>
>> sigs.  I can confirm that if a fast_pattern keyword is not specified for a<br>
>> given rule, the default fast pattern is the longest HTTP buffer content.<br>
>> If no HTTP buffer content is present, then the fast pattern is the longest<br>
>> content.<br>
>><br>
>> Josh<br>
>><br>
>><br>
>> From: Mike Cox <<a href="mailto:mike.cox52@...2499..." target="_blank">mike.cox52@...2499...</a><mailto:<a href="mailto:mike.cox52@...2499..." target="_blank">mike.cox52@...2499...</a>>><br>
>> Date: Wednesday, October 22, 2014 at 8:16 AM<br>
>> Subject: [Snort-devel] fast_pattern not always longest content string by default?<br>
>><br>
>> Hi All,<br>
>><br>
>> I was looking thru some of my sigs with 'debug-print-fast-pattern' turned on<br>
>> and noticed that the fast pattern string was not always the longest content<br>
>> match by default.  Specifically, it appears that content matches in (valid<br>
>> for fast_pattern) HTTP Inspect buffers (e.g. http_header, http_uri, etc.)<br>
>> are taking priority.  For example, consider this sig:<br>
>><br>
>> alert tcp any any -> any $HTTP_PORTS (msg:"FP Test";<br>
>> flow:established,to_server; content:"<a href="http://twitter.com" target="_blank">twitter.com</a><<a href="http://twitter.com" target="_blank">http://twitter.com</a>>";<br>
>> http_header; content:"hellow Twitter tweet"; sid:1234567;)<br>
>><br>
>> The longest content match is "hellow Twitter tweet" but when I look at the<br>
>> fast pattern debug output, the fast pattern used is<br>
>> "<a href="http://twitter.com" target="_blank">twitter.com</a><<a href="http://twitter.com" target="_blank">http://twitter.com</a>>".<br>
>><br>
>> Having the HTTP Inspect buffers take priority makes sense because they will<br>
>> be smaller than the entire packet and thus more efficient.  However, I do<br>
>> not see this behavior documented in the manual which says, "the default<br>
>> behavior of fast pattern determination is to use the longest content in the<br>
>> rule..."<br>
>><br>
>> Can someone comment/confirm this?  It is looking like I may have to<br>
>> review/tweak a plethora of sigs.... :(<br>
>><br>
>> Thanks!<br>
>><br>
>> -Mike Cox<br>
><br>
> ------------------------------------------------------------------------------<br>
> _______________________________________________<br>
> Snort-devel mailing list<br>
> <a href="mailto:Snort-devel@lists.sourceforge.net" target="_blank">Snort-devel@lists.sourceforge.net</a><br>
> <a href="https://lists.sourceforge.net/lists/listinfo/snort-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/snort-devel</a><br>
> Archive:<br>
> <a href="http://sourceforge.net/mailarchive/forum.php?forum_name=snort-devel" target="_blank">http://sourceforge.net/mailarchive/forum.php?forum_name=snort-devel</a><br>
><br>
> Please visit <a href="http://blog.snort.org" target="_blank">http://blog.snort.org</a> for the latest news about Snort!<br>
<br>
------------------------------------------------------------------------------<br>
_______________________________________________<br>
Snort-devel mailing list<br>
<a href="mailto:Snort-devel@lists.sourceforge.net" target="_blank">Snort-devel@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/snort-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/snort-devel</a><br>
Archive:<br>
<a href="http://sourceforge.net/mailarchive/forum.php?forum_name=snort-devel" target="_blank">http://sourceforge.net/mailarchive/forum.php?forum_name=snort-devel</a><br>
<br>
Please visit <a href="http://blog.snort.org" target="_blank">http://blog.snort.org</a> for the latest news about Snort!<br>
</div></div></blockquote></div></div></div><br></div>
</blockquote></div><br></div>