Comment les VPN sont détectés et bloqués par les services de streaming

Pour lutter contre les multi-comptes, les services de streaming bloquent les VPN.
C'est notamment le cas de Netflix, M6Replay, Primevidéo et bien d'autres.
Certains sites internet pour des raisons de sécurité peuvent bloquer les VPN.
Mais comment ces services internet savent que vous utilisez un VPN ?
Comment détectent-il que vous avez un VPN ?

Il existe plusieurs méthodes pour détecter que connexion passe par un VPN.
Dans cet article, vous trouverez les principales.

Comment les VPN sont détectés et bloqués par les services de streaming

Pourquoi VPN sont bloqués ?

La plupart des services de streaming bloquent et interdisent l'utilisation de VPN.
Le but est d'éviter les comptes multiples mais aussi le blocage géographique pour éviter de contourner des restrictions locales.
En effet, sur NetFlix US on peut avoir des films dont la sortie n'est pas autorisée en France.

A partir de là, on peut avoir des messages du type Proxy ou VPN non autorisés.

PrimeVidéo d'Amazon : Proxy ou VPN non autorisés

Même chose sur Netflix avec une erreur de streaming à cause de l'utilisation de VPN.

Netflix erreur streaming car utilisation de VPN et proxy

Enfin certains sites internet peuvent aussi bloquer les VPN.
Dans ces cas là, on peut avoir des erreurs 403, accès refusé.

Vous allez voir qu'il n'est pas très difficile de détecter l'utilisation d'un VPN pour mettre en place des filtres et blocages.

Comment les VPN sont détectés et bloqués

Il existe plusieurs méthodes.
On pourrait bannir chaque adresse IP de chaque serveur VPN.
Mais il est relativement facile de contourner cela en créant de nouveaux serveurs VPN.
C'est la limite des listes noires et blacklist.

ASN : Autonomous System Number

Une autre méthode consiste à détecter les VPN par les Autonomous System Number (ASN).
Les fournisseurs d'accès internet, hébergeur ou autres organismes ont des adresses IP qui leur sont délivrées par les registres internet régionales.
Tout ceci est fait de manière cohérente et chaque routes sont enregistrées dans des ASN.

Par exemple ci-dessous GLOBALASX qui appartient à M247 utilise l'AS9009 qui comprend les IP de 188.214.122.0 à 188.214.122.255.

La détection de VPN par l'ASN
Un internaute qui passe par une IP OVH (Hébergeur de serveurs dédiés) utilise forcément un intermédiaire VPN ou Proxy qu'un utilisateur qui passe par une IP Free ou Orange.

A partir de là, il est très facile d'identifier un hébergeur ou un fournisseur d'accès internet.
Or les VPN utilisent des serveurs dans le monde mais souvent avec les mêmes hébergeurs (M247, Portlane AB, etc).
Le site suivant s'était amusé à énumérer les hébergeurs des VPN.
Ce qui d'ailleurs pose un problème de concentration et possible surveillance.

Il suffit alors de bannir ou bloquer les ASN des hébergeurs pour ne laisser que les ASN correspondant à des adresses IP de fournisseur d'accès internet (xDSL, Fibre).
Par exemple pour M247, ils possèdent les ASN 9009 et 16247.

La détection de VPN par l'ASN

Par exemple le site suivant bloque l'ASN 16276 (qui apaprtient à OVH).
La consultation retourne un Access denied - error 1005 par CloudFlare.

Access denied - error 1005 par CloudFlare lors de l'accès à un VPN

TTL et nombre de sauts (sauts et hop)

Qu'est-ce que le TTL et nombre de sauts

Il existe une autre méthode pour détecter les VPN à travers le nombre de sauts (hops) et TTL.
Cette méthode est relativement efficace.

Dans le protocole TCP/IP, on définit le TTL (Time to Live) qui correspondant à la durée de vie d'un paquet. Ce dernier se trouve dans l'en-tête de chaque paquet TCP/IP.
L’émetteur définit un compteur (max 255), lorsque le paquet traverse un routeur, ce dernier décrémente le TTL.
S'il est à zéro, le paquet est détruit (drop), cela afin d'éviter les boucles infinies.
Ainsi il définit aussi un nombre maximale de routeur que le paquet peut traverser soit donc de sauts (hop).

Mais chaque système d'exploitation définit un TTL différent.

  • Linux kernel 2.4 (circa 2001): 255
  • Linux kernel 4.10 (2015): 64
  • Windows XP, 10 et Server : 128
  • MacOS (2001): 64

Cette information permet potentiellement de déterminer l'OS utilisé par un émetteur mais aussi de détecter les VPN.
En effet, lors de l'utilisation d'un VPN, vous ajoutez un intermédiaire et donc un ou plusieurs routeurs ce qui décrémente le TTL.
Avec un VPN, vous aurez un TTL moins élevés qu'avec une connexion classique résidentielle.

Les empreintes et analyse des paquets TCP/IP permettent de déterminer le type de connexion.

La détection de VPN avec les empreintes numériques TCP/IP

Certains services le font très bien à travers les empreintes numériques TCP/IP notamment :

Par exemple doileak indique qu'il sagit d'une connexion DSL car la connexion s'est faites avec 14 sauts.

La détection de VPN avec les empreintes numériques TCP/IP

Alors que ci-dessous la connexion provient d'un VPN car il y a 13 sauts.

La détection de VPN avec les empreintes numériques TCP/IP

BrowserLeaks va plus loin avec un TCP/IP Fingerprint plus poussé.
Il indique

  • L'OS de l’émetteur
  • Le type de lien PPoE pour une DSL, IPSec ou VPN
  • Le MTU (Maximum transmission unit) la taille maximale des paquets. Selon le type de connaissance, ce dernier diffère.
  • Le nombre de sauts
La détection de VPN avec les empreintes numériques TCP/IP
La détection de VPN avec les empreintes numériques TCP/IP

Avec ProtonVPN, la détection de VPN par l'empreinte numérique TCP/IP ne fonctionne pas.

La détection de VPN avec les empreintes numériques TCP/IP sur ProtonVPN

Avec CyberGhost, la détection de VPN fonctionne.

La détection de VPN avec les empreintes numériques TCP/IP sur CyberGhost

Enfin avec NordVPN, ça ne fonctionne pas mais les résultats sont loin d'une connexion DSL en Windows.
On peut donc supposer que la connexion passe par un intermédiaire.

La détection de VPN avec les empreintes numériques TCP/IP sur NordVPN
Ici on parle de détection de VPN, mais ces méthodes peuvent aussi aider à détectes les robots et bots sur la toile.

Conclusion et liens

Comme vous pouvez le constater, il est très facile de détecter l'utilisation d'un VPN pour le bloquer.
Malheureusement, il n'existe pas de contre mesure efficace.
Si un service internet décide de bloquer les VPN, il pourra le faire sans problème.