<div dir="ltr">I ran your rules on my test rig and received the expected results:<div><br></div><div>I believe it's the spaces in your "isdataat" portion causing the rules to fire unexpectedly in suricata. We (ET) never separate fields with spaces such as in the rules provided.<br><div><br></div><div><div>#rules</div><div><br></div><div>alert tcp any any -> any any (msg:"It's Alive!!!"; content:"Here"; isdataat:!114; sid:1102010; rev:1;)</div><div>alert tcp any any -> any any (msg:"It's Alive!!!"; content:"Here"; isdataat:114; sid:1102011; rev:1;)</div><div>alert tcp any any -> any any (msg:"It's Alive!!!"; content:"Here"; isdataat:!113; sid:1102012; rev:1;)</div><div>alert tcp any any -> any any (msg:"It's Alive!!!"; content:"Here"; isdataat:113; sid:1102013; rev:1;)</div></div><div><br></div><div>#results</div><div><br></div><div><div>02/23/2017-15:48:51.024811  [**] [1:1102010:1] It's Alive!!! [**] [Classification: (null)] [Priority: 3] {TCP} <a href="http://10.211.55.3:49800">10.211.55.3:49800</a> -> <a href="http://10.211.55.2:80">10.211.55.2:80</a></div><div>02/23/2017-15:48:51.024811  [**] [1:1102013:1] It's Alive!!! [**] [Classification: (null)] [Priority: 3] {TCP} <a href="http://10.211.55.3:49800">10.211.55.3:49800</a> -> <a href="http://10.211.55.2:80">10.211.55.2:80</a></div></div></div><div><br></div><div>Thanks,</div><div><br></div><div>Jason</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 20, 2017 at 10:25 AM, Harley H <span dir="ltr"><<a href="mailto:bobb.harley@gmail.com" target="_blank">bobb.harley@gmail.com</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">Hello,<div> I'm noticing a potential issue with a negated isdataat check. I'm testing the following four rules against the pcap linked below:</div><div><div>alert tcp any any -> any any (msg: "It's Alive!!!"; content: "Here"; isdataat: !114; sid: 1102010; rev: 1;)</div><div>alert tcp any any -> any any (msg: "It's Alive!!!"; content: "Here"; isdataat: 114; sid: 1102011; rev: 1;)</div><div>alert tcp any any -> any any (msg: "It's Alive!!!"; content: "Here"; isdataat: !113; sid: 1102012; rev: 1;)</div><div>alert tcp any any -> any any (msg: "It's Alive!!!"; content: "Here"; isdataat: 113; sid: 1102013; rev: 1;)</div></div><div><br></div><div>The packet simply contains the following 114 byte string:</div><div>"Here is a 114 byte packet to test how a negated isdataat checks works in Suricata. Seems something may be amiss..."</div><div><br></div><div>I'd expect rules 1102010 and 1102013 to alert, and that is what happens in Snort. In Suricata, only 1102012 and 1102013 cause an alert. I'm using Suricata 3.2.1.</div><div><br></div><div>PCAP: <a href="https://packettotal.com/cgi-bin/view-analysis.cgi?id=438c8f1a3041b5908a20bf3e7e8e3063" target="_blank">https://packettotal.com/<wbr>cgi-bin/view-analysis.cgi?id=<wbr>438c8f1a3041b5908a20bf3e7e8e30<wbr>63</a></div><div><br></div><div>Has anyone else noticed this or am I misunderstanding something?</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>-Harley</div></font></span></div>
<br>______________________________<wbr>_________________<br>
Suricata IDS Users mailing list: <a href="mailto:oisf-users@openinfosecfoundation.org">oisf-users@<wbr>openinfosecfoundation.org</a><br>
Site: <a href="http://suricata-ids.org" rel="noreferrer" target="_blank">http://suricata-ids.org</a> | Support: <a href="http://suricata-ids.org/support/" rel="noreferrer" target="_blank">http://suricata-ids.org/<wbr>support/</a><br>
List: <a href="https://lists.openinfosecfoundation.org/mailman/listinfo/oisf-users" rel="noreferrer" target="_blank">https://lists.<wbr>openinfosecfoundation.org/<wbr>mailman/listinfo/oisf-users</a><br>
<br></blockquote></div><br></div>