The content and protected_content Keywords
Use the
content
keyword or the
protected_content
keyword to specify content that you
want to detect in a packet.
You should almost always follow a
content
or
protected_content
keyword by modifiers that indicate
where the content should be searched for, whether the search is case sensitive,
and other options.
Note that all content matches must be true for the rule to trigger an event, that is, each content match has an AND relationship with the others.
Note also that, in an inline deployment, you can set up rules that match malicious content and then replace it with your own text string of equal length.
content
When you use the
content
keyword, the rules engine searches the packet
payload or stream for that string. For example, if you enter
/bin/sh
as the value for one of the
content
keywords, the rules engine searches the packet
payload for the string
/bin/sh
.
Match content using either an ASCII string, hexadecimal content
(binary byte code), or a combination of both. Surround hexadecimal content with
pipe characters (|) in the keyword value. For example, you can mix hexadecimal
content and ASCII content using something that looks like
|90C8 C0FF FFFF|/bin/sh
.
You can specify multiple content matches in a single rule. To do
this, use additional instances of the
content
keyword. For each content match, you can
indicate that content matches must be found in the packet payload or stream for
the rule to trigger.
Caution | You may invalidate your intrusion policy if you create a rule
that includes only one
|
protected_content
The
protected_content
keyword allows you to encode your
search content string before configuring the rule argument. The original rule
author uses a hash function (SHA-512, SHA-256, or MD5) to encode the string
before configuring the keyword.
When you use the
protected_content
keyword instead of the
content
keyword, there is no change to how the rules
engine searches the packet payload or stream for that string and most of the
keyword options function as expected. The following table summarizes the
exceptions, where the
protected_content
keyword options differ from the
content
keyword options.
Option |
Description |
---|---|
Hash Type |
New option for the
|
Case Insensitive |
Not supported |
Within |
Not supported |
Depth |
Not supported |
Length |
New option for the
|
Use Fast Pattern Matcher |
Not supported |
Fast Pattern Matcher Only |
Not supported |
Fast Pattern Matcher Offset and Length |
Not supported |
Cisco recommends that you include at least one
content
keyword in rules that include a
protected_content
keyword to ensure that the rules
engine uses the fast pattern matcher, which increases processing speed and
improves performance. Position the content
keyword
before the
protected_content
keyword in the rule. Note that the
rules engine uses the fast pattern matcher when a rule includes at least one
content
keyword, regardless of whether you enable the
content
keyword Use Fast Pattern Matcher argument.
Caution | You may invalidate your intrusion policy if you create a rule
that includes only one
|