Connexions chiffrées : l'âge des protocoles VPN en question

OpenVPN ou OldVPN ? 28
Accès libre
image dediée
Crédits : Elen11/iStock
Securité
Guénaël Pépin

Après plus d'une décennie de bons et loyaux services, OpenVPN serait en passe de trouver un remplaçant avec WireGuard. Son concepteur, Jason Donenfeld, estime que l'outil actuel est trop ancien et lourd pour être sûr. Plusieurs services VPN nous répondent avec leurs projets, dont une réécriture du serveur OpenVPN en Rust.

Depuis plusieurs années, OpenVPN est l'outil de référence pour les réseaux privés virtuels de particuliers. Open source, il est constamment scruté par de nombreux développeurs. Au fil des années pourtant, le projet a pris de l'embonpoint, au point de devenir un danger selon Jason Donenfeld, qui ambitionne de le supplanter avec WireGuard (voir notre analyse).

Le dernier événement date de fin juin. Après deux audits professionnels d'OpenVPN, le chercheur en sécurité Guido Vranken a remonté quatre vulnérabilités (rapidement comblées) après une séance de fuzzing, soit l'injection de données aléatoires. Une preuve que l'âge du logiciel est plus un problème qu'une vertu, pour Donenfeld. Nous avons posé la question à plusieurs spécialistes du chiffrement des connexions : OpenVPN est-il toujours fiable aujourd'hui ?

Des lignes de code et des paires d'yeux

« Historiquement, les tentatives de tunnels sécurisés ont été nombreuses, comme OpenVPN et IPsec, qui sont deux désastres, chacun à sa manière » tacle Jason Donenfeld. IPsec, dont la conception remonte au milieu des années 90, pâtirait notamment du manque de mises à jour des terminaux, laissant des vulnérabilités dans la nature, selon le créateur de WireGuard.

« Un problème commun à ces deux projets est leur taille massive. Ce sont des milliers de lignes de code, extrêmement complexes, illisibles, et impossibles à appréhender dans leur totalité » estime-t-il. Pour lui, même si un chercheur passe des semaines à lire le code, il ne trouvera pas toutes les vulnérabilités. Avec WireGuard, il propose donc une brique centrale de 4 000 lignes de code, intégrées dans le noyau du système. Dans les faits, OpenVPN a la plus grande visibilité, étant un standard de fait pour le chiffrement des connexions.

« Ce n'est pas demain que WireGuard sera aussi populaire qu'OpenVPN. En revanche la construction Noise [le framework derrière WireGuard] est très fiable d'un point de vue cryptographique. Le problème avec OpenVPN est plus la sécurité de son implémentation que de son design » pointe le spécialiste Jean-Philippe Aumasson.

« Quelques failles ont été récemment découvertes dans le logiciel, rapidement corrigées ; mais le protocole d'OpenVPN en lui-même reste robuste et n'a pas de problème sérieux à ma connaissance. Le fait qu'il soit simple et assez ouvert y est sûrement pour beaucoup » appuie Alice du service VPN français CCrypto.

Une question de configuration

Pour Andy Yen de ProtonVPN, fondé sur OpenVPN, les critiques de ce protocole peuvent en révéler les qualités. « Le nombre de lignes de code n'est qu'un facteur de la sécurité. Les autres incluent la maturité, la taille de la communauté des utilisateurs et l'audit du code. De ce point de vue, OpenVPN a un avantage fort, en tant que part importante du monde open source pendant plus d'une décennie, avec de nombreux audits au fil des ans » détaille-t-il.

Les chances de mal configurer un serveur OpenVPN sont aussi nombreuses, ce qui ne doit plus être le cas avec WireGuard. C'est l'une des principales critiques prêtées au logiciel historique, dont l'algorithme de chiffrement par défaut (BF-CBC) est sensible à certaines attaques, dont Sweet32, découverte il y a quelques mois.

« L'attaque ne fonctionne que dans certains cas difficiles à réaliser en pratique, et OpenVPN supporte d'autres algorithmes » relativise encore Alice de CCrypto. Changer l'algorithme de chiffrement semble être l'une des bonnes pratiques à la mise en place d'un serveur OpenVPN, dont la flexibilité contribue tout de même à la large base de code.

Pour les services VPN interrogés, il n'est pas encore question de se départir d'OpenVPN, qui bénéficie d'une grande compatibilité et fournit les outils nécessaires à sa bonne utilisation. Encore faut-il endurcir correctement le serveur. Côté utilisateurs, l'ancien protocole ne pose pas de problème majeur, avec une configuration assez simple des clients.

« Fournir un VPN simple d'utilisation est globalement réglé. Ce qui demande encore du travail, c'est d'obtenir un VPN qui fonctionne toujours de manière non-traditionnelle, dans des régimes lourdement censurés avec de l'inspection de paquets intrusive, ou même trouver des manières de contourner des blocages d'adresses IP » pense Andy Yen de ProtonVPN... Pour qui WireGuard « résout plutôt une question déjà résolue que de revoir le modèle opérationnel du VPN ».

Une réécriture du serveur OpenVPN en Rust

Pour ProtonVPN, si WireGuard est bien dans le radar, « il n'a pas encore atteint la maturité nécessaire pour le mettre en production dans un environnement avec de nombreuses menaces ». Selon lui, WireGuard devra aussi attendre une dizaine d'années avant d'être mature, si la communauté suit.

« Je ne pense pas remplacer OpenVPN ou même essayer de le faire pour l'instant, il nous convient bien. Mais il y a par exemple IPsec qui est une autre référence parmi les protocoles de VPN, qui est encore plus ancien et facile d'accès et intégré aux systèmes d'exploitation. On aimerait bien le proposer en plus d'OpenVPN un jour » détaille pour sa part Alice de CCrypto.

Cette dernière s'est lancée dans une réécriture open source du serveur OpenVPN en Rust, un langage compatible avec le C d'OpenVPN. L'un des principaux intérêts est une meilleure gestion de la mémoire, qui évite de commettre des erreurs courantes avec son grand frère, donc des failles.  L'autre avantage de Rust concerne les performances, l'une des faiblesses d'OpenVPN, qui s'exécute en espace utilisateur. Le passage à Rust doit aussi aider à l'optimiser.

« Le projet consiste aussi à réécrire entièrement le serveur pour repartir sur une base propre et récente, au lieu de devoir trainer des années de modifications et divers besoins accumulés » explique Alice de CCrypto. Sur le principe, le projet intéresse d'ailleurs ProtonVPN, qui se plaint également des performances de l'outil. Le service suisse regarde, pour sa part, du côté des techniques d'obfuscation sur la base d'OpenVPN, pour éviter l'inspection de paquets (DPI).


chargement
Chargement des commentaires...