Intercepting and injecting calls into operations and objects
First Claim
1. A computer-implemented method comprising:
- identifying, within a set of source code instructions requested by a client computer, one or more first instructions that cause assignment of a literal to a variable when executed;
generating one or more additional instructions including a function that returns the literal when the one or more additional instructions are executed;
generating one or more second instructions by combining the one or more first instructions and the one or more additional instructions such that the variable is assigned the literal only when the one or more additional instructions execute and return the literal on the client computer;
generating a transformed set of source code instructions by replacing the one or more first instructions with the one or more second instructions in the set of source code instructions; and
transmitting the transformed set of source code instructions to the client computer;
wherein execution of the transformed set of source code on the client computer without executing the one or more second instructions results in unpredictable source code due to the variable being undefined;
wherein the method is performed by one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer implemented method for improving security of a server computer that is configured to deliver computer program instructions to a remote client computer, and comprising, using an intermediary computer that is topologically interposed between the server computer and the remote client computer is provided. The intermediary computer is configured to intercept a first set of source code instructions from the server computer. The intermediary computer identifies first party operations that include operations on objects and the objects themselves. The intermediary computer identifies a first set of operations within the first party operations that are configured to define values for one or more objects based on one or more constants. The intermediary computer then generates a second set of operations, where the second set of operations are configured to define same values for the one or more objects, when executed by a web browser on the client computer. The intermediary computer transforms the first party operations into transformed first party operations by substituting the first set of operations with the second set of operations. The intermediary computer generates a second set of source code instructions that are based on the first set of source code instructions and the transformed first party operations. The intermediary computer then sends the second set of source code instructions to the client computer.
97 Citations
22 Claims
-
1. A computer-implemented method comprising:
-
identifying, within a set of source code instructions requested by a client computer, one or more first instructions that cause assignment of a literal to a variable when executed; generating one or more additional instructions including a function that returns the literal when the one or more additional instructions are executed; generating one or more second instructions by combining the one or more first instructions and the one or more additional instructions such that the variable is assigned the literal only when the one or more additional instructions execute and return the literal on the client computer; generating a transformed set of source code instructions by replacing the one or more first instructions with the one or more second instructions in the set of source code instructions; and transmitting the transformed set of source code instructions to the client computer; wherein execution of the transformed set of source code on the client computer without executing the one or more second instructions results in unpredictable source code due to the variable being undefined; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer system comprising:
-
one or more hardware processors; a memory coupled to the one or more hardware processors and storing one or more instructions which, when executed by the one or more hardware processors, cause the one or more hardware processors to; identify, within a set of source code instructions requested by a client computer, one or more first instructions that cause assignment of a literal to a variable when executed; generating one or more additional instructions including a function that return the literal when the one or more additional instructions are executed; generate one or more second instructions by combining the one or more first instructions and the one or more additional instructions such that the variable is assigned the literal only when the one or more additional instructions execute and return the literal on the client computer; generate a transformed set of source code instructions by replacing the one or more first instructions with the one or more second instructions in the set of source code instructions; and transmit the transformed set of source code instructions to the client computer; wherein execution of the transformed set of source code on the client computer without executing the one or more second instructions results in unpredictable source code due to the variable being undefined. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification