Runtime protection of Web services
First Claim
Patent Images
1. A system for protecting a runtime Web service application, the system comprising:
- a memory configured to store an application and an instrumented version of the application;
a processor in communication with the memory, wherein the memory storing processor-executable program instructions, that when executed, configure the processor to perform functions of;
a trace instrumenter for enabling the application to log its operation and to create an execution trace;
a vulnerability detector for identifying a trace point vulnerability using one or more data payloads, each data payload comprising an example set of data;
a taint analyzer for identifying a candidate trace point operation associated with the trace point vulnerability by checking data flow through the application and the instrumented version of the application using one of the one or more data payloads and specifying a security rule to define the data flow, wherein the candidate trace point operation is an operation for which a payload value has been rejected by a validator or has been sanitized by a sanitizer;
a string analyzer for computing a supplementary candidate operation based on the existing trace point operation and the trace point vulnerability; and
a defensive instrumenter for instrumenting the runtime Web service application with the supplementary candidate operation, wherein the defensive instrumenter is further configured to apply a fix in the form of a trace point operation to the runtime Web service application.
1 Assignment
0 Petitions
Accused Products
Abstract
Protecting a runtime Web service application. A web service application is instrumented to log its operation and allow recreation of its execution trace. Trace point vulnerabilities are identified using one or more data payloads. Candidate trace point operations associated with the trace point vulnerabilities are identified. Supplementary candidate operations are computed based on the existing trace point operations and the one or more data payloads. The Web service application is further instrumented with the one or more supplementary candidate operations.
-
Citations
15 Claims
-
1. A system for protecting a runtime Web service application, the system comprising:
-
a memory configured to store an application and an instrumented version of the application; a processor in communication with the memory, wherein the memory storing processor-executable program instructions, that when executed, configure the processor to perform functions of; a trace instrumenter for enabling the application to log its operation and to create an execution trace; a vulnerability detector for identifying a trace point vulnerability using one or more data payloads, each data payload comprising an example set of data; a taint analyzer for identifying a candidate trace point operation associated with the trace point vulnerability by checking data flow through the application and the instrumented version of the application using one of the one or more data payloads and specifying a security rule to define the data flow, wherein the candidate trace point operation is an operation for which a payload value has been rejected by a validator or has been sanitized by a sanitizer; a string analyzer for computing a supplementary candidate operation based on the existing trace point operation and the trace point vulnerability; and a defensive instrumenter for instrumenting the runtime Web service application with the supplementary candidate operation, wherein the defensive instrumenter is further configured to apply a fix in the form of a trace point operation to the runtime Web service application. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for protecting a runtime Web service application comprising:
-
enabling the runtime Web service application to log its operation and creation an execution trace; identifying a trace point vulnerability using one or more data payloads, each data payload comprising an example set of data, and one or more security rules; identifying a candidate trace point operation associated with the trace point vulnerability by checking data flow through an application and an instrumented version of the application using one of the one or more data payloads and specifying a security rule to define the data flow, wherein the candidate trace point operation is an operation for which a payload value has been rejected by a validator or has been sanitized by a sanitizer; computing a supplementary candidate operation based on the existing trace point operation and the trace point vulnerability; further enabling the runtime Web service application with the supplementary candidate operation; and applying a fix in the form of a trace point operation to the Web service application. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product for protecting a runtime Web service application, the computer program product comprising a tangible computer-readable storage device having computer-readable program code embodied therewith, the computer-readable program code configured to perform a method, the method comprising:
-
enabling the runtime Web service application to log its operation and creation an execution trace; identifying a trace point vulnerability using one or more data payloads, each data payload comprising an example set of data, and one or more security rules; identifying a candidate trace point operation associated with the trace point vulnerability by checking data flow through an application and an instrumented version of the application using one of the one or more data payloads and specifying a security rule to define the data flow, wherein the candidate trace point operation is an operation for which a payload value has been rejected by a validator or has been sanitized by a sanitizer; computing a supplementary candidate operation based on the existing trace point operation and the trace point vulnerability; further enabling the runtime Web service application with the supplementary candidate operation; and applying a fix in the form of a trace point operation to the Web service application. - View Dependent Claims (14, 15)
-
Specification