<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Thanks Mike, we’ll open a doc bug for this.<div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""><div apple-content-edited="true" class="">
<div class="">Joel Esler</div><div class=""><a href="mailto:jesler@...1066....3461..." class="">jesler@...3461...</a></div><div class=""><br class=""></div><br class="Apple-interchange-newline">

</div>
<br class=""><div><blockquote type="cite" class=""><div class="">On Oct 23, 2014, at 10:23 AM, Mike Cox <<a href="mailto:mike.cox52@...3066...99..." class="">mike.cox52@...2499...</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div dir="ltr" class=""><div class="">Thanks for the replies.  I don't disagree with this behavior but I do think the Snort manual should make this clear because I've been using Snort for many years and this is the first I've heard of it.<br class=""><br class=""></div>-Mike Cox<br class=""></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Wed, Oct 22, 2014 at 9:34 PM, Steve Sturges (ststurge) <span dir="ltr" class=""><<a href="mailto:ststurge@...3461..." target="_blank" class="">ststurge@...3461...</a>></span> wrote:<br class=""><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 class="">
<div class="HOEnZb"><div class="h5"><br class="">
> On Oct 22, 2014, at 9:18 PM, "Joshua Kinard" <<a href="mailto:kumba@...2185..." class="">kumba@...2185...</a>> wrote:<br class="">
><br class="">
> I'll wager that this is a relic of Snort's early days as primarily an HTTP<br class="">
> traffic sniffer, before it became a more generic deep-packet inspection tool.<br class="">
><br class="">
> Something like this should get a mention in the Snort manual, though there are<br class="">
> several places where it states that the longest content match is the default,<br class="">
> yet doesn't differentiate between a normal content match and a content match<br class="">
> modified by an HTTP keyword.  So, not a quick fix w/o refactoring the lingo in<br class="">
> a few spots.<br class="">
><br class="">
> --J<br class="">
><br class="">
><br class="">
>> On 10/22/2014 16:30, Josh Rosenbaum (jrosenba) wrote:<br class="">
>> Hi Mike,<br class="">
>><br class="">
>> Sorry for this unfortunate news, but it looks like you will need tweak those<br class="">
>> sigs.  I can confirm that if a fast_pattern keyword is not specified for a<br class="">
>> given rule, the default fast pattern is the longest HTTP buffer content.<br class="">
>> If no HTTP buffer content is present, then the fast pattern is the longest<br class="">
>> content.<br class="">
>><br class="">
>> Josh<br class="">
>><br class="">
>><br class="">
>> From: Mike Cox <<a href="mailto:mike.cox52@...2499..." class="">mike.cox52@...2499...</a><mailto:<a href="mailto:mike.cox52@...2997...499..." class="">mike.cox52@...2499...</a>>><br class="">
>> Date: Wednesday, October 22, 2014 at 8:16 AM<br class="">
>> Subject: [Snort-devel] fast_pattern not always longest content string by default?<br class="">
>><br class="">
>> Hi All,<br class="">
>><br class="">
>> I was looking thru some of my sigs with 'debug-print-fast-pattern' turned on<br class="">
>> and noticed that the fast pattern string was not always the longest content<br class="">
>> match by default.  Specifically, it appears that content matches in (valid<br class="">
>> for fast_pattern) HTTP Inspect buffers (e.g. http_header, http_uri, etc.)<br class="">
>> are taking priority.  For example, consider this sig:<br class="">
>><br class="">
>> alert tcp any any -> any $HTTP_PORTS (msg:"FP Test";<br class="">
>> flow:established,to_server; content:"<a href="http://twitter.com/" target="_blank" class="">twitter.com</a><<a href="http://twitter.com/" target="_blank" class="">http://twitter.com</a>>";<br class="">
>> http_header; content:"hellow Twitter tweet"; sid:1234567;)<br class="">
>><br class="">
>> The longest content match is "hellow Twitter tweet" but when I look at the<br class="">
>> fast pattern debug output, the fast pattern used is<br class="">
>> "<a href="http://twitter.com/" target="_blank" class="">twitter.com</a><<a href="http://twitter.com/" target="_blank" class="">http://twitter.com</a>>".<br class="">
>><br class="">
>> Having the HTTP Inspect buffers take priority makes sense because they will<br class="">
>> be smaller than the entire packet and thus more efficient.  However, I do<br class="">
>> not see this behavior documented in the manual which says, "the default<br class="">
>> behavior of fast pattern determination is to use the longest content in the<br class="">
>> rule..."<br class="">
>><br class="">
>> Can someone comment/confirm this?  It is looking like I may have to<br class="">
>> review/tweak a plethora of sigs.... :(<br class="">
>><br class="">
>> Thanks!<br class="">
>><br class="">
>> -Mike Cox<br class="">
><br class="">
> ------------------------------------------------------------------------------<br class="">
> _______________________________________________<br class="">
> Snort-devel mailing list<br class="">
> <a href="mailto:Snort-devel@lists.sourceforge.net" class="">Snort-devel@lists.sourceforge.net</a><br class="">
> <a href="https://lists.sourceforge.net/lists/listinfo/snort-devel" target="_blank" class="">https://lists.sourceforge.net/lists/listinfo/snort-devel</a><br class="">
> Archive:<br class="">
> <a href="http://sourceforge.net/mailarchive/forum.php?forum_name=snort-devel" target="_blank" class="">http://sourceforge.net/mailarchive/forum.php?forum_name=snort-devel</a><br class="">
><br class="">
> Please visit <a href="http://blog.snort.org/" target="_blank" class="">http://blog.snort.org</a> for the latest news about Snort!<br class="">
<br class="">
------------------------------------------------------------------------------<br class="">
_______________________________________________<br class="">
Snort-devel mailing list<br class="">
<a href="mailto:Snort-devel@lists.sourceforge.net" class="">Snort-devel@lists.sourceforge.net</a><br class="">
<a href="https://lists.sourceforge.net/lists/listinfo/snort-devel" target="_blank" class="">https://lists.sourceforge.net/lists/listinfo/snort-devel</a><br class="">
Archive:<br class="">
<a href="http://sourceforge.net/mailarchive/forum.php?forum_name=snort-devel" target="_blank" class="">http://sourceforge.net/mailarchive/forum.php?forum_name=snort-devel</a><br class="">
<br class="">
Please visit <a href="http://blog.snort.org/" target="_blank" class="">http://blog.snort.org</a> for the latest news about Snort!<br class="">
</div></div></blockquote></div><br class=""></div>
------------------------------------------------------------------------------<br class="">_______________________________________________<br class="">Snort-devel mailing list<br class=""><a href="mailto:Snort-devel@lists.sourceforge.net" class="">Snort-devel@lists.sourceforge.net</a><br class="">https://lists.sourceforge.net/lists/listinfo/snort-devel<br class="">Archive:<br class="">http://sourceforge.net/mailarchive/forum.php?forum_name=snort-devel<br class=""><br class="">Please visit http://blog.snort.org for the latest news about Snort!</div></blockquote></div><br class=""></div></body></html>