ML Detection of Database SQL Injection Attacks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face challenges in detecting malicious activities, such as SQL injection attacks, due to the lack of awareness or implementation of existing security techniques, especially under time and cost pressures in software development, and the constant evolution of attack methods by attackers.

Innovation Solution

The implementation of machine learning classifiers trained to compare processed and unprocessed user input, as well as correlating application and database query information, to identify anomalous patterns indicative of malicious activity, enabling real-time detection and prevention of SQL injection attempts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional security techniques are implemented to protect databases, then security reliability is improved, but implementation cost and development time increase

Engineering Contradiction:
Improvedatabase securityVSAvoidimplementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system employs machine learning models that automatically learn and adapt to detect SQL injection attacks without requiring manual configuration or expert intervention. The model trains on query data and autonomously identifies malicious patterns, enabling the security system to serve itself rather than requiring continuous human management.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The approach transforms the security detection problem from a rule-based parameter system to a machine learning parameter system. Instead of manually defining security rules, the system uses training data to automatically learn detection parameters and patterns, allowing adaptive security that evolves with new attack methods.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If machine learning classifiers are trained to detect SQL injection attacks, then detection accuracy is improved, but computational resources and training time increase

Engineering Contradiction:
Improvedetection accuracyVSAvoidtraining time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary training of machine learning models using historical query data before deployment. By pre-training the models with diverse query examples during the development phase, the system reduces the need for extensive training time during operational deployment, as the models are already equipped with learned patterns for detecting malicious queries.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If existing security techniques are used, then some protection is provided, but they fail to detect evolving attack methods

Engineering Contradiction:
Improvesecurity protectionVSAvoidadaptability to new attacks
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system transitions from static security rules to dynamic machine learning models that continuously adapt to new attack patterns. The models are trained on diverse query data and can evolve their detection capabilities by learning from new examples, enabling the security system to dynamically respond to evolving SQL injection techniques rather than relying on fixed rules.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The machine learning system incorporates feedback mechanisms where detection results and new query patterns are used to continuously improve the model. By feeding back detection outcomes and additional training data, the system refines its understanding of malicious patterns and improves its ability to detect emerging attack methods over time.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11716349B2Machine learning detection of database injection attacks
Publication Date: 2023.08.01 SAP SE
  • US11716349B2 patent drawing
  • US11716349B2 patent drawing
  • US11716349B2 patent drawing

AI summary

Techniques and solutions are described for detecting malicious database activity, such as SQL injection attempts. A first machine learning classifier can be trained by comparing processed and unprocessed user input, where a difference between the two can indicate suspicious or malicious activity. The trained classifier can be used to analyze user input before query execution. A second machine learning classifier is trained with a data set that includes call stack information for an application requesting execution of a dynamic query and query statistics associated with processing of the query at the database. The query of the application can be correlated with a corresponding database query by hashing the application query and the database query and comparing the hash values, where matching hash value indicate a common query. The trained classifier can monitor execution of future queries to identify queries having anomalous patterns, which may indicate malicious or suspicious activity.