IP Library Granted Patent US 10,609,067
Granted Patent B2
US 10,609,067 · App. 16/386,083 · Granted Mar 31, 2020

Attack protection for webRTC providers

Inventors: Martin Johns (Karlsruhe, DE); Christoph Haefner (Karlsruhe, DE)
Assignee: SAP SE
H04L63/1441H04L63/08H04L63/1416H04L63/1466H04L65/608H04N5/225
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,609,067
App. No.
16/386,083
Granted
Mar 31, 2020
Kind
B2
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.

Claims (48)

1. 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 modifying a first function to prevent web real-time communication (WebRTC) streams from being used more than once; and

executing the second code by the web browser after the execution of the first code, the second code attempting use a WebRTC stream that is already in use and failing due to the execution of the first portion of the first code.

2. The system of claim 1 , wherein the second code is received from a second server distinct from the first server.

3. The system of claim 1 , wherein:

the preventing of WebRTC streams from being used more than once prevents WebRTC streams generated at the system from being used more than once.

4. The system of claim 1 , wherein:

the execution of the first portion of the first code further causes WebRTC connections to be allowed only between end-users with valid identity assertions.

5. The system of claim 1 , wherein:

the execution of the first portion of the first code further causes attempts to create more than one stream for a device to fail.

6. The system of claim 1 , wherein:

the execution of the first portion of the first code further causes attempts to create WebRTC connections to be authenticated by the first server.

7. The system of claim 1 , wherein:

the preventing of WebRTC streams from being used more than once prevents WebRTC streams received by the system from being used more than once.

8. 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 modifying a first function to prevent web real-time communication (WebRTC) streams from being used more than once; and

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 use a WebRTC stream that is already in use and failing due to the execution of the first portion of the first code.

9. The method of claim 8 , wherein the second code is received from a second server distinct from the first server.

10. The method of claim 8 , wherein:

the preventing of WebRTC streams from being used more than once prevents WebRTC streams generated at the client device from being used more than once.

11. The method of claim 8 , wherein:

the execution of the first portion of the first code causes WebRTC connections to be allowed only between end-users with valid identity assertions.

12. The method of claim 8 , wherein:

the execution of the first portion of the first code further causes attempts to create more than one stream for a device to fail.

13. The method of claim 8 , wherein:

the execution of the first portion of the first code causes attempts to create WebRTC connections to be authenticated by the first server.

14. The method of claim 8 , wherein:

the preventing of WebRTC streams from being used more than once prevents WebRTC streams received by the client device from being used more than once.

15. A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a device, cause the device 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 modifying a first function to prevent web real-time communication (WebRTC) streams from being used more than once; and

executing the second code by the web browser after the execution of the first code, the second code attempting use a WebRTC stream that is already in use and failing due to the execution of the first portion of the first code.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the second code is received from a second server distinct from the first server.

17. The non-transitory machine-readable storage medium of claim 15 , wherein:

the preventing of WebRTC streams from being used more than once prevents WebRTC streams generated at the device from being used more than once.

18. The non-transitory machine-readable storage medium of claim 15 , wherein:

the execution of the first portion of the first code further causes WebRTC connections to be allowed only between end-users with valid identity assertions.

19. The non-transitory machine-readable storage medium of claim 15 , wherein:

the execution of the first portion of the first code further causes attempts to create more than one stream for a device to fail.

20. The non-transitory machine-readable storage medium of claim 15 , wherein:

the execution of the first portion of the first code further causes attempts to create WebRTC connections to be authenticated by the first server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2019
From: JOHNS, MARTIN; HAEFNER, CHRISTOPH
To: SAP SE
Reel/Frame 049867/0147 →
Continuity (2)
Continuation 15373883 · Dec 9, 2016
Related Publication 20190245886A1 · Aug 8, 2019