Page tree
Skip to end of metadata
Go to start of metadata

The Advanced Detection Engine - SQLi node applies heuristics to requests in order to detect attacks or intrusion attempts based on the SQL (Structured Query Language, see https://www.owasp.org/index.php/SQL_Injection).

This node requires a normalization context in order to work which must be provided by a Normalization node placed higher in the Workflow.

Attacks detected by the engine can be logged using the Log Security Alert node.

To resolve false positives, please refer to the section Resolving false positives.

Node parameters

  • Display name: name of the node displayed in the Workflow. Replace the default name "Adv. Detection Engine - SQLi".
  • Normalization attribute: Normalization profile containing the decoding rules applied to the request. For more details, see Normalization Configurations.
  • Path: defines if the engine must check the path of the request (from attribute http.request.path).
  • Headers: defines if the engine must check the headers of the request (from attribute http.request.headers).
  • Cookies: defines if the engine must check the cookies of the request (from attribute http.request.cookies).
  • GET Vars: defines if the engine must check the query vars of the request (from attribute http.request.query.vars).
  • POST Vars: defines if the engine must check the body vars of the request (from attribute http.request.body.vars).

Required attributes

  • http.request.security.events: internal attribute of the Workflow containing information about detected security events. When an attack is detected by the engine, an event is created and added to this attribute. It allows to manage exceptions with the Security Exception Management node and log events through the Log Security Alert node.

Provided attributes

  • sqli.hits: the number of attack found in the request.
  • sqli.request.blocked: boolean set to true if at least one attack have been found in the request.

Use Case

Basic filtering Workflow

  1. The first node "Normalization Engine" is used to normalized the request. The node provides a normalized context of the incoming request that will be used by the "Adv. Detection Engine - SQLi" node.
  2. The "Adv. Detection Engine - SQLi" check the request against SQL injections and returns the result in the provided attributes of the node.
    -If an attack is detected, an event is created and added in the http.request.security.events table attribute. The sqli.request.blocked attribute is set to "true".
  3. A condition on the sqli.request.blocked attribute decides if the request must be blocked or not:
    -If equals to "true" (an attack is detected), the "Log Security Alert" node will send events from the http.request.security.events table in the database. Then the request will be blocked by a HTTP code 403.
    -If equals to "false" (no attack detected), the request will be sent to the backend server.

SQL Injection engine - log details

Backup: SQLi - simple use case.backup