System and methods for click-jacking and content redressing protection
Systems, methods, and non-transitory computer readable media including instructions for implementing a runtime virtual barrier for fine grained execution control are disclose. Implementing the runtime virtual barrier for fine grained execution control includes receiving, by an application capable of JavaScript execution, an executable code including an API invocation; intercepting, by a virtual barrier, the API invocation; determining that the API invocation is an invocation for a native API configured for subsequent execution in response to a trigger event; based on the determination that the API invocation is an invocation for a native API configured for subsequent execution, recording an invocation source identifier; and upon occurrence of the trigger event: retrieving the invocation source identifier; and influencing execution of the native API based on the invocation source identifier.
1 . A non-transitory computer readable medium containing instructions that when executed by at least one processor cause the at least one processor to perform cybersecurity operations, comprising:
receiving code for execution within a JavaScript runtime environment, the code including at least one portion relating to a nested web element; and
injecting a JavaScript agent into the at least one portion of the code, wherein the JavaScript agent is configured to:
identify at least one parameter value associated with the nested web element;
determine, based on the at least one parameter value, that the nested web element is configured to cause a hidden presentation of a display element within a user interface;
determine that the at least one code portion relating to the nested web element is associated with at least one input event; and
in response to the determination that the at least one code portion relating to the nested web element is associated with the at least one input event, prevent an occurrence of the at least one input event.
2 . The non-transitory computer readable medium of claim 1 , wherein the nested web element is a nested execution context element.
3 . The non-transitory computer readable medium of claim 1 , wherein the nested web element is a cross origin web element.
4 . The non-transitory computer readable medium of claim 1 , wherein the nested web element is an iframe.
5 . The non-transitory computer readable medium of claim 1 , wherein the display element is associated with the at least one input event.
6 . The non-transitory computer readable medium of claim 1 , wherein the display element is configured for non-visible presentation and in a manner at least partially overlapping, a second display element configured for visible presentation.
7 . The non-transitory computer readable medium of claim 6 , wherein the second display element is associated with an iframe external to the nested web element.
8 . The non-transitory computer readable medium of claim 5 , wherein the display element is a button.
9 . The non-transitory computer readable medium of claim 5 , wherein the display element is a text field.
10 . The non-transitory computer readable medium of claim 1 , wherein the at least one input event is a click event.
11 . The non-transitory computer readable medium of claim 1 , wherein the at least one parameter value relates to a display characteristic.
12 . The non-transitory computer readable medium of claim 11 , wherein the display characteristic is an opacity property.
13 . The non-transitory computer readable medium of claim 11 , wherein the display characteristic is associated with a size property.
14 . The non-transitory computer readable medium of claim 11 , wherein the display characteristic is associated with a color property.
15 . The non-transitory computer readable medium of claim 11 , wherein the at least one parameter value is an intersecting element.
16 . The non-transitory computer readable medium of claim 1 , wherein the JavaScript agent is further configured to cause display, via the user interface, of a notification indicating a threat associated with the nested we element.
17 . The non-transitory computer readable medium of claim 1 , wherein the JavaScript agent is further configured to block execution of the at least one portion of the code relating to the nested web element.
18 . The non-transitory computer readable medium of claim 1 , wherein the JavaScript agent is further configured to determine a source of the nested web element.
19 . A method for performing cybersecurity operations for protect against a manipulated user interface, the system comprising:
receive code for execution within a JavaScript runtime environment, the code including at least one portion relating to a nested web element; and
injecting a JavaScript agent into the at least one portion of the code, wherein the JavaScript agent is configured to:
identify at least one parameter value associated with the nested web element;
determine, based on the at least one parameter value, that the nested web element is configured to cause a hidden presentation of a display element within a user interface;
determine that the at least one code portion relating to the nested web element is associated with at least one input event; and
in response to the determination that the at least one code portion relating to the nested web element is associated with the at least one input event, prevent an occurrence of the at least one input event.
20 . A system for performing cybersecurity operations for protecting against a manipulated user interface, the system comprising:
at least one processor configured to:
receive code for execution within a JavaScript runtime environment, the code including at least one portion relating to a nested web element; and
injecting a JavaScript agent into the at least one portion of the code, wherein the JavaScript agent is configured to:
identify at least one parameter value associated with the nested web element;
determine, based on the at least one parameter value, that the nested web element is configured to cause a hidden presentation of a display element within a user interface;
determine that the at least one code portion relating to the nested web element is associated with at least one input event; and
in response to the determination that the at least one code portion relating to the nested web element is associated with the at least one input event, prevent an occurrence of the at least one input event.