Query Fingerprinting to Block Harmful Database Queries
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data management systems face challenges in protecting databases from potentially harmful queries and rogue clients that consume excessive resources, leading to performance degradation and denial of service attacks.
Innovation Solution
Implementing a query execution module that monitors and manages query execution by identifying unique fingerprints of incoming queries against a fingerprint database, automatically blocking or killing queries identified as harmful or from rogue clients.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the database executes all incoming queries without restriction, then query processing capability is maintained, but database resources are consumed excessively by harmful queries
Solution Approach 1:
The system performs preliminary fingerprinting of queries and pre-stores them in a fingerprint database with their execution outcomes. When a new query arrives, its fingerprint is compared against the database to determine whether to execute it, preventing harmful queries from consuming resources in the first place
Solution Approach 2:
The query fingerprint acts as an intermediary between the incoming query and the database execution engine. Instead of directly executing queries, the system first checks their fingerprints against the database of known harmful queries, using this intermediate verification layer to block malicious queries before they can consume resources
2Reliability
If the database blocks queries based on fingerprint matching, then protection against harmful queries is improved, but system complexity increases
Solution Approach 1:
Instead of analyzing the full complexity of each incoming query, the system creates a simplified fingerprint copy of the query's essential characteristics. This fingerprint serves as a lightweight representation that can be rapidly compared against the database, maintaining protection capabilities while reducing computational complexity
Solution Approach 2:
The system transforms the query into a different parameter space by generating a fingerprint based on specific query characteristics. This parameter transformation allows for efficient comparison and matching operations, simplifying the overall system complexity while maintaining effective protection
3Adaptability or versatility
If the database allows unlimited query execution during high demand, then client service coverage is maintained, but resource distribution becomes unbalanced
Solution Approach 1:
The system implements feedback by monitoring query execution outcomes and storing them in the fingerprint database. When harmful queries are detected and blocked, this information is fed back into the database for future reference, creating a learning system that continuously improves its ability to protect resources while maintaining service coverage
Solution Approach 2:
The database system automatically protects itself by using the fingerprint database to identify and block harmful queries without external intervention. The system serves itself by maintaining the fingerprint database and performing automatic comparisons, enabling self-protection while maintaining resource distribution stability
Data Source
AI summary
Methods, systems, and devices for data management are described. A query execution module may obtain a first query to interact with a database, and then may compare a first fingerprint associated with the first query (e.g., a unique identifier of the first query) with a set of fingerprints in a fingerprint database. The set of fingerprints in the fingerprint database may correspond to one or more respective queries that are associated with an execution restriction by the database. In some aspects, the execution restriction may be based on execution details of the respective queries, including a length of time taken to execute a query, a quantity of failed executions of the query, among other details. The query execution module may then control an execution of the first query based on whether the first fingerprint has a corresponding matching fingerprint to at least one of the fingerprints in the fingerprint database.


