Stateful Request Filtering for Application Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing security systems, particularly network layer firewalls, require complex rule sets and maintenance, while application-layer firewalls consume significant resources and time for content screening, necessitating an improved security solution that balances security with resource efficiency.
Innovation Solution
A computer-implemented method and system that dynamically selects only allowable requests based on the application state of a computer program, acting as a gatekeeper to swiftly and securely screen traffic without examining content, by maintaining a set of allowable requests corresponding to the application state, distinguishing between malicious and non-malicious clients, and prioritizing non-malicious requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If application-layer firewalls screen content of packets, then security is improved, but resource consumption and processing time increase significantly
Solution Approach 1:
The patent segments the request filtering process into two distinct stages: first, a stateful packet filter performs lightweight filtering based on connection state and pre-defined rules; second, an application-layer filter performs more intensive content inspection only on requests that pass the first stage. This segmentation allows the system to maintain high security through application-layer inspection while reducing overall resource consumption by limiting the scope of intensive filtering.
Solution Approach 2:
The patent implements preliminary action by performing stateful packet filtering before application-layer content inspection. The stateful firewall pre-establishes connection states and creates a framework of acceptable traffic patterns, allowing the system to quickly reject obviously malicious packets without performing resource-intensive content analysis. This preliminary filtering reduces the workload for subsequent application-layer inspection.
2Reliability
If network layer firewalls use complex rule sets, then security filtering capability is improved, but device complexity and maintenance difficulty increase
Solution Approach 1:
The patent introduces an intermediary component that acts as a bridge between the stateful packet filter and the application-layer filter. This intermediary maintains connection state information and coordinates the filtering decisions between the two layers, allowing complex security policies to be implemented without requiring equally complex rule sets in the network layer firewall. The intermediary abstracts the complexity, managing the interaction between different filtering mechanisms.
3Reliability
If application-layer firewalls inspect all packets, then security coverage is improved, but processing speed decreases
Solution Approach 1:
The patent segments the packet processing flow into two paths: a fast path for packets that match established connection states and simple rules, and a slow path for packets requiring application-layer content inspection. This segmentation ensures that the majority of legitimate traffic flows through the high-speed path, maintaining processing speed, while suspicious or unrecognized packets are routed to the application-layer filter for thorough inspection, ensuring comprehensive security coverage.
Solution Approach 2:
The patent applies partial action by performing application-layer content inspection only on a subset of packets that pass through the stateful packet filter, rather than inspecting all packets. This selective inspection approach maintains security coverage for potentially malicious traffic while avoiding the performance penalty of inspecting every packet, thus preserving overall processing speed.
Data Source
Figure 1A~1B
Figure 2A~2B
Figure 3A
AI summary
The invention relates to a computer-implemented method of controlling a computer application program in a computer system configured for electronically communication with a client. The computer system is configured to have access to a first request set of one or more allowable requests corresponding to a first application state of the computer application program.The computer application program may run on the computer system or on one or more other computer systems. A client request is received at the computer system for the computer application program.The computer application program is in the first application state in relation to said client (using e.g. the client connection).The client request is analysed to determine if the client request matches one of the allowable requests corresponding to the first application state of the computer application program.The computer application program is controlled by instructing this program to execute the client request only if the clxent request matches an allowable request of the first request set.