Software Hook SQL Injection Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current security solutions fail to effectively identify and prevent SQL injection attacks, as they often rely on network-based approaches that struggle to correlate database queries with user input and may produce false positives or negatives, and lack the ability to sanitize queries properly.

Innovation Solution

Implementing software hooks at various execution contexts to intercept and analyze web requests and database queries, allowing for the correlation of user input with generated database queries and the detection of potential SQL injection attacks before execution, thereby enabling real-time prevention and sanitization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If network-based security approaches are used to detect SQL injection attacks, then broad coverage of attacks is achieved, but false positives and negatives increase and correlation between user input and database queries becomes difficult

Engineering Contradiction:
Improveaccuracy of SQL injection detectionVSAvoidcomplexity of correlating user input with database queries
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces software hooks as intermediary components that are inserted into the execution flow between user input processing and database query execution. These hooks act as mediators that can capture both the original user input and the generated database queries, enabling direct correlation without the complexity of network-based analysis. The hooks provide a controlled intermediary layer that maintains reliability by directly observing the data flow at critical points in the application execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If software hooks are implemented to intercept and analyze web requests and database queries, then SQL injection detection accuracy is improved, but system complexity increases

Engineering Contradiction:
Improveprecision of SQL injection detectionVSAvoidcomplexity of software hook implementation
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the security analysis function into distinct software hooks that are placed at specific execution contexts. Rather than implementing a single complex analysis system, the security functionality is divided into multiple modular hooks that intercept web requests, persist data, intercept database queries, and perform comparisons separately. This segmentation reduces implementation complexity by creating manageable, independent components that can be developed and maintained separately while achieving high detection precision through their coordinated operation.

Inventive Principle:
Principle #1Segmentation

3Object-affected harmful factors

If user input is strictly filtered for SQL metacharacters, then SQL injection prevention is improved, but legitimate user input may be blocked

Engineering Contradiction:
Improveprotection against SQL injectionVSAvoidease of legitimate user input processing
Core Design Contradiction:
Object-affected harmful factorsVSEase of operation

Solution Approach 1:

The patent performs preliminary actions by intercepting and persisting user input data at the software hook level before the data reaches the database query generation stage. This preliminary capture allows the system to analyze the user input in context with the actual database query that will be generated, rather than applying blanket filtering rules. The preliminary action enables the system to identify SQL injection attempts with high precision while allowing legitimate input to pass through unchanged, thus protecting against harmful factors without impeding ease of operation for valid users.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8578487B2System and method for internet security
Publication Date: 2013.11.05 CYLANCE INC
  • US8578487B2 patent drawing
  • US8578487B2 patent drawing
  • US8578487B2 patent drawing

AI summary

A computer implemented method for preventing SQL injection attacks comprises intercepting a web request associated with a web service at a first software hook in a first web service execution context, persisting at least a portion of the intercepted web request in a storage location associated with the first software hook and accessible to at least one additional execution context, intercepting a database query generated by at least one web service processing operation at a second software hook associated with the execution of the query, wherein the query is generated in response to the intercepted web request and the second hook retrieves the persisted portion of the intercepted web request, comparing a portion of the persisted portion of the intercepted web request with at least a portion of the intercepted database query, and determining, prior to the query being executed, whether the query corresponds to a potential SQL injection attack.