Skip to main content

How to prevent WebRTC spying in Chrome

New technologies are more often than not a double-edged sword. While they add or improve functionality on the one hand, they may also introduce undesirable features.

This is for instance the case when it comes to WebRTC. It brings real-time communication capabilities to web browsers via JavaScript apis. Think Skype but without plugins or third-party software installation.

While that is great for Internet users who use new services making use of WebRTC, others are left with privacy issues because of it.

Mozilla has integrated WebRTC in Firefox 22 and Google in Chrome 23. While Firefox users can toggle a preference to disable WebRTC in the browser, Chrome users cannot disable it natively.

It is interesting to note at this point that Chrome Android users can disable WebRTC, while desktop users cannot. To do so, the following link needs to be loaded and set to enable: chrome://flags/#disable-webrtc

WebRTC can be used to spy on users

WebRTC leaks

information that get revealed

Privacy advocates have two issues in regards to WebRTC. The first is that it is possible to detect the local IP address of the device used to load the WebRTC service, the second that device fingerprinting may be used in some browsers, Chromium-based for example, to fingerprint the system.

Fingerprinting refers to creating unique identifiers for devices so that they can be recognized even if some variables change (like the browser version or IP address).

How to protect yourself in Chrome

There are several solutions to the privacy issue. The most straightforward option is to install the Chrome extension WebRTC Block which blocks the WebRTC feature in Chromium-based browsers.

This option is only viable for users who don't use WebRTC. While it may be possible to turn the extension on or off based on your communication needs, it is not something that is really comfortable to do.

In regards to fingerprinting, previous versions of Chrome had an option to disable device enumeration on the chrome://flags page. This feature has been removed from Chrome recently and is no longer available.

Chrome provides websites with media device hashes and there is little that you can do about it as there are no options anymore to disable this from happening.

One way to deal with it is to clear "cookies and other site and plug-in data" regularly in the browser. Doing so will generate a new hash so that spying sites cannot identify you anymore based on that.

Besides that, starting Chrome in Incognito Mode will also render the fingerprint useless for that session.

How to test

In case you are wondering, here are links to scripts that reveal information about your system when WebRTC is enabled.

  1. Browserleaks - Detects if WebRTC is enabled, your local IP address, and other related information.
  2. Detection on JSFiddle - Uses WebRTC to look up and display the local IP address.
  3. JSFiddle script with with live host probing
  4. What Is My Browser - Displays fingerprinting information such as the local and remote IP address, browser, plugins, location, screen resolution and more.

These test websites should work in all modern web browsers. Success depends on the implementation of WebRTC mostly though.

This article was first seen on ComTek's "TekBits" Technology News

HOME