Secure60 Platform has a simple and flexible query language that is used in various parts of the platform. The query syntax allows selection of specific fields, matching of partial text, regex and vairous comparison operators. The syntax also allows grouping of conditions to achieve sophisticated matching rules.
Query sytax is used in the following key system components:
condition
statement that is a query in the Secure60 query syntaxA basic Secure60 query looks like: fieldname
operator
value
ip_src_address = '43.53.63.62'
Multiple basic query elements can be joined together with a keyword
ip_src_address = '43.53.63.62' AND host_name = 'testserver4.example.com'
Query component evaluation can be controlled by using grouping
(ip_src_address = '43.53.63.62' AND host_name = 'testserver4.example.com') OR (ip_src_address = '8.8.8.8')
fieldname
operator
=
Exact match!=
Not match:
Contains - Partial text match
%
indicates an arbitrary number of arbitrary characters (including zero characters)._
indicates a single arbitrary character.\
is for escaping literals %
, _
and \
!:
Not Contains - Partial text not match<
or <=
Less than or Less than equal to>
or >=
Greater than or Greater than equal to~
Regex search (Not available in Streaming Rules)
value
:
) then can include %
symbol to indicate wildcard for rest of text stringb(or start)~``) then can include
re regex syntax`Instead of a fieldname we make a number of functions available to enhance query feature set
Usage of a function is to state the function, if data evaluates to true then results from this function will be included
Function List (Not available in Streaming Rules):
isField('fieldname')
- Used to look for the presence of a specific field (with any value)
fieldname
- Any valid Secure60 fieldname!isField('fieldname')
- Used to exclude a specific field (with any value)isIPAddressInRange('fieldname', 'prefix')
fieldname
- Any valid Secure60 fieldnameprefix
- String IP address with subnet (Eg. 127.0.0.0/24
)!isIPAddressInRange('fieldname', 'prefix')
- Used to exclude an IP address from matchingisInList('list_id', 'fieldname')
- Applies filtering logic to the query to only return results that have a match between the fieldname
provided and a List Item in the list_id
provided.
fieldname
- Any valid Secure60 fieldnamelist_id
- Any valid List ID!isInList('list_id', 'fieldname')
- Applies filtering logic to the query to exclude results that have a match between the fieldname
provided and a List Item in the list_id
provided.
fieldname
- Any valid Secure60 fieldnamelist_id
- Any valid List IDNotes:
isInList
can also be applied via the parameters list_allow_field
and list_allow_id
for example. See:
process_target_image ~ '\lsass.exe$'
process_target_image ~ '\\\lsass.exe$'