Skip to content

[KQL] Add support for case-insensitive searches #55378

@joswr1ght

Description

@joswr1ght

Describe the feature:

Requesting the implementation of an UPPER() function in KQL to be applied to fields, converting the record content to all uppercase.

UPPER(url.original):*SELECT*

KQL currently lacks a mechanism to perform case-insensitive searches. When using Kibana for system log analysis, attackers can evade detection by mixing case in data that would show up in web logs. For example, a search to identify a SQL injection attack utilizing the SQL UNION keyword might be:

url.original:*UNION*

An attacker who constructs an attack where the HTTP request uses the SQL keyword UnioN would evade detection with this KQL query.

Describe a specific use case for the feature:

  • Ease of use: Analysts can construct KQL queries without knowing the case expectation by converting content to uppercase as desired.
  • Log analysis: Analysts can search for keywords to identify evidence of an attack in system logs while mitigating the opportunity for an adversary to evade detection through mixed case use.

Thank you for your consideration.

-Josh

Metadata

Metadata

Assignees

No one assigned

    Labels

    Feature:KQLKQLFeature:SearchQuerying infrastructure in KibanaTeam:DataDiscoveryDiscover, search (data plugin and KQL), data views, saved searches. For ES|QL, use Team:ES|QL. t//enhancementNew value added to drive a business resultimpact:highAddressing this issue will have a high level of impact on the quality/strength of our product.loe:mediumMedium Level of Effort

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions