Application-Aware Virtual Patching for Web Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Web applications face vulnerabilities such as Cross-site Request Forgery and Cross-site Scripting due to their inherent security weaknesses, which traditional Web Application Firewalls cannot effectively address without a deeper understanding of the application's context and state, limiting their ability to apply targeted patches.
Innovation Solution
An application-aware virtual patching system that integrates with the web application, allowing for the creation and application of rules based on specific application states, enabling patches to be applied without modifying the code or restarting the application, and allowing non-programmers to define state variables for patch construction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional WAF rules are applied to protect web applications, then general security coverage is provided, but the ability to address application-specific vulnerabilities requiring deeper contextual understanding is lost
Solution Approach 1:
The patent segments the patching capability into two distinct layers: traditional WAF-level rules for general security coverage, and application-aware virtual patches for specific vulnerability remediation. This segmentation allows each layer to operate independently with its own strengths, resolving the contradiction between general security coverage and application-specific addressing.
Solution Approach 2:
The patent introduces an intermediary layer called 'application-aware virtual patching' that sits between the WAF and the application code. This intermediary enables contextual awareness of application state while maintaining the ability to apply security rules, thus bridging the gap between general security coverage and application-specific vulnerability protection.
2Reliability
If patches are applied by modifying application code, then targeted vulnerability remediation is achieved, but application downtime and maintenance complexity increase
Solution Approach 1:
The patent applies virtual patches in advance of actual vulnerability exploitation by injecting security rules into the application execution path before malicious code runs. This preliminary action allows vulnerability remediation without waiting for attacks, and without modifying permanent application code, thus avoiding downtime.
Solution Approach 2:
Instead of modifying the original application code, the patent creates a virtual copy of the patched behavior through injectable security rules. This copying approach allows vulnerability remediation while preserving the original application code, enabling patches to be applied without restarting or modifying the actual application binaries.
3Adaptability or versatility
If deep application context awareness is implemented, then application-specific vulnerability patching is enabled, but system complexity and implementation difficulty increase
Solution Approach 1:
The patent implements a universal virtual patching framework that can operate across multiple application types and contexts through a standardized interface. This multi-functionality allows application-state dependent patching without requiring custom complex implementations for each application, thus reducing overall system complexity while maintaining adaptability.
Solution Approach 2:
The patent changes the parameters of patch application from static code modification to dynamic rule injection based on application state. By using parameterizable security rules that can be configured without code changes, the system achieves application-state awareness while reducing implementation complexity through configuration rather than development.
4Manufacturing precision
If code-level understanding is required for patching, then precise vulnerability targeting is achieved, but accessibility to non-programmers is reduced
Solution Approach 1:
The patent replaces the mechanical process of code-level programming with a rule-based configuration system. Instead of requiring non-programmers to write code, they can define vulnerability responses through high-level rules that the system automatically translates into executable patches, thus maintaining precision while improving accessibility.
Solution Approach 2:
The patent introduces an intermediary translation layer that converts user-friendly patch definitions into the necessary code-level actions. This intermediary allows non-programmers to specify vulnerability responses in accessible terms while the system handles the complex code generation and injection, bridging the gap between accessibility and precision.
Data Source
AI summary
The technology disclosed relates to thwarting attempts in between software releases to take advantage of security holes in web applications. A virtual patch is a data object comprising an identifier that indicates a relevant local context for the patch and may be created while the application is running. One or more conditions included in the patch are evaluated using data from a service request or from the local context. A patch directive specifies an action to perform when the one or more conditions are satisfied. A virtual patch may be applied to the running application without requiring replacing the application code. Responsive to a request for a web service, a web application may execute code in multiple distinct local contexts such as session management, authorization, and application-specific business logic. The code for each local context may independently retrieve a set of virtual patches relevant to its particular local context.


