Attack protection for WebRTC providers
AssigneeSap SE
InventorsMartin Johns, Christoph Haefner
Life of this patent
Estimating the term…
Abstract
WebRTC is vulnerable to malicious JavaScript, injected by cross-site scripting attacks or compromised or malicious script providers. Through these attacks, attackers can access a WebRTC connection and leak or monitor the audio and video data transmitted. By preventing modification of key WebRTC functions and preventing outgoing streams from being used more than once, these attacks can be thwarted.
Claims20
A system comprising:
- a memory that stores instructions;
- one or more processors in communication with a network, configured by the instructions to perform operations comprising:
- accessing first code from a first server for execution by a web browser;
- accessing second code for execution by the web browser in conjunction with the first code;
- executing a first portion of the first code by the web browser, the first portion of the first code causing a first function to become unmodifiable;
- executing the second code by the web browser after the execution of the first code, the second code attempting to modify the first function and failing due to the execution of the first portion of the first code;
- and
- executing a second portion of the first code by the web browser after the execution of the second code, the second portion of the first code using the first function to communicate via web real-time communication (WebRTC) over the network.
A method comprising:
- accessing, by a client device, first code from a first server, for execution by a web browser run on one or more processors;
- accessing second code, by the client device, for execution by the web browser in conjunction with the first code;
- executing, by the one or more processors, a first portion of the first code by the web browser, the first portion of the first code causing a first function to become unmodifiable;
- executing, by the one or more processors, the second code by the web browser after the execution of the first code, the second code attempting to modify the first function and failing due to the execution of the first portion of the first code;
- and
- executing, by the one or more processors, a second portion of the first code by the web browser after the execution of the second code, the second portion of the first code using the first function to communicate via web real-time communication (WebRTC) over a network.
A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:
- accessing first code from a first server for execution by a web browser;
- accessing second code for execution by the web browser in conjunction with the first code;
- executing a first portion of the first code by the web browser, the first portion of the first code causing a first function to become unmodifiable;
- executing the second code by the web browser after the execution of the first code, the second code attempting to modify the first function and failing due to the execution of the first portion of the first code;
- and
- executing a second portion of the first code by the web browser after the execution of the second code, the second portion of the first code using the first function to communicate via web real-time communication (WebRTC) over a network.
Dependencies are inferred from the claim text.