content Keyword Fast Pattern Matcher Arguments
Use Fast Pattern Matcher
Use this option to specify a shorter search pattern for the fast pattern matcher to use. Ideally, the pattern you specify is less likely to be found in the packet than the longest pattern and, therefore, more specifically identifies the targeted exploit.
Note the following restrictions when selecting
Use Fast Pattern Matcher and other options in the
same
content
keyword:
-
You can specify Use Fast Pattern Matcher only one time per rule.
-
You cannot use Distance, Within, Offset, or Depth when you select Use Fast Pattern Matcher in combination with Not.
-
You cannot select Use Fast Pattern Matcher in combination with any of the following HTTP field options:
HTTP Raw URI, HTTP Raw Header, HTTP Raw Cookie, HTTP Cookie, HTTP Method, HTTP Status Message, or HTTP Status Code
However, you can include the options above in a
content
keyword that also uses the fast pattern matcher to search one of the following normalized fields:HTTP URI, HTTP Header, or HTTP Client Body
For example, if you select HTTP Cookie, HTTP Header, and Use Fast Pattern Matcher, the rules engine searches for content in both the HTTP cookie and the HTTP header, but the fast pattern matcher is applied only to the HTTP header, not to the HTTP cookie.
Note that you cannot use a raw HTTP field option (HTTP Raw URI, HTTP Raw Header, or HTTP Raw Cookie) together in the same
content
keyword with its normalized counterpart (HTTP URI, HTTP Header, or HTTP Cookie, respectively).When you combine restricted and unrestricted options, the fast pattern matcher searches only the unrestricted fields you specify to test whether to pass the packet to the rules engine for complete evaluation, including evaluation of the restricted fields.
-
Optionally, when you select Use Fast Pattern Matcher you can also select Fast Pattern Matcher Only or Fast Pattern Matcher Offset and Length, but not both.
-
You cannot use the fast pattern matcher when inspecting Base64 data.
Fast Pattern Matcher Only
This option allows you to use the
content
keyword only as a fast pattern matcher option
and not as a rule option. You can use this option to conserve resources when
rules engine evaluation of the specified content is not necessary. For example,
consider a case where a rule requires only that the content
12345
be anywhere in the payload. When the fast pattern
matcher detects the pattern, the packet can be evaluated against additional
keywords in the rule. There is no need for the rules engine to reevaluate the
packet to determine if it includes the pattern
12345
.
You would not use this option when the rule contains other
conditions relative to the specified content. For example, you would not use
this option to search for the content
1234
if another rule condition sought to determine if
abcd
occurs before
1234
. In this case, the rules engine could not
determine the relative location because specifying
Fast Pattern Matcher Only instructs the rules engine
not to search for the specified content.
Note the following conditions when using this option:
-
The specified content is location-independent; that is, it may occur anywhere in the payload; thus, you cannot use positional options (Distance, Within, Offset, Depth, or Fast Pattern Matcher Offset and Length).
-
You cannot use this option in combination with Not.
-
You cannot use this option in combination with Fast Pattern Matcher Offset and Length.
-
The specified content will be treated as case-insensitive, because all patterns are inserted into the fast pattern matcher in a case-insensitive manner; this is handled automatically, so it is not necessary to select Case Insensitive when you select this option.
-
You should not immediately follow a
content
keyword that uses the Fast Pattern Matcher Only option with the following keywords, which set the search location relative to the current search location:-
isdataat
-
pcre
-
content
when Distance or Within is selected -
content
when HTTP URI is selected -
asn1
-
byte_jump
-
byte_test
-
byte_math
-
byte_extract
-
base64_decode
-
Fast Pattern Matcher Offset and Length
The Fast Pattern Matcher Offset and Length option allows you to specify a portion of the content to search. This can reduce memory consumption in cases where the pattern is very long and only a portion of the pattern is sufficient to identify the rule as a likely match. When a rule is selected by the fast pattern matcher, the entire pattern is evaluated against the rule.
You determine the portion for the fast pattern matcher to use by specifying in bytes where to begin the search (offset) and how far into the content (length) to search, using the syntax:
offset,length
For example, for the content:
1234567
if you specify the number of offset and length bytes as:
1,5
the fast pattern matcher searches only for the content
23456
.
Note that you cannot use this option together with Fast Pattern Matcher Only.