Simple Science

La science de pointe expliquée simplement

# Informatique# Architecture des réseaux et de l'Internet

Identifier des bibliothèques QUIC pour améliorer la communication sur Internet

Une méthode pour identifier les bibliothèques QUIC aide à améliorer la sécurité et la performance en ligne.

― 7 min lire


Méthodes de détection deMéthodes de détection dela bibliothèque QUICaméliorer la sécurité sur internet.Identifie des bibliothèques QUIC pour
Table des matières

Le protocole QUIC est une nouvelle façon pour les ordinateurs de communiquer sur internet. Il propose différentes options pour sa construction, ce qui conduit à plusieurs versions de différents développeurs. Ces versions peuvent avoir des fonctionnalités uniques, des niveaux de performance variés et des problèmes de sécurité. Savoir quelle version un serveur utilise peut vraiment aider les chercheurs et les opérateurs à résoudre les connexions et à améliorer les services.

Dans ce travail, on propose une méthode pour découvrir quelles bibliothèques QUIC sont utilisées par les serveurs. On se concentre sur deux types d'infos : les Messages d'erreur et l'ordre des Paramètres de transport échangés pendant les connexions. En analysant ces aspects dans des scans internet, on découvre au moins un usage de 18 bibliothèques différentes à travers un bon nombre d'adresses internet.

Importance de l'identification des bibliothèques

Comme le protocole QUIC peut être construit par n'importe qui, une variété de bibliothèques est devenue courante. Des grandes entreprises et des groupes open-source ont développé leurs propres versions. Bien que ces bibliothèques suivent toutes les mêmes règles de base, elles peuvent tout de même varier dans leur fonctionnement. Ces différences peuvent avoir un impact sur la fonctionnalité et la sécurité des services qui les utilisent.

Quand les chercheurs et les opérateurs savent quelles bibliothèques un serveur utilise, ils peuvent mieux comprendre les risques de sécurité potentiels, les problèmes de performance et les moyens d'améliorer le service. Identifier les bibliothèques spécifiques en utilisation aide aussi à reconnaître les services compromis quand une bibliothèque a une vulnérabilité connue.

Contributions clés

  1. On propose une méthode pour trouver des bibliothèques basée sur certains messages d'erreur et l'ordre des paramètres de transport.
  2. On effectue des scans à l'échelle d'internet et on trouve au moins un déploiement pour 18 bibliothèques.
  3. On partage notre environnement de test pour aider les autres à évaluer les changements dans les bibliothèques QUIC.

Environnement de test pour l'évaluation des bibliothèques

Pour tester différentes bibliothèques, on a mis en place un environnement contrôlé avec plusieurs serveurs utilisant différentes bibliothèques QUIC. Chaque serveur est configuré dans son propre espace et peut être accédé séparément. Ça permet de réaliser des tests sans affecter les services en direct.

Notre configuration inclut toutes les implémentations de serveurs exemples connues début 2023. Ça prend en charge les handshakes de base et les requêtes HTTP/3. Les tests se font dans un espace sécurisé, garantissant qu'il n'y a pas de disruptions dans les connexions réelles.

Comment fonctionne l'identification des bibliothèques

On vise à identifier les bibliothèques en utilisant le moins de requêtes possibles tout en maintenant un taux de réussite élevé. À travers nos tests, on se concentre sur les messages d'erreur et l'ordre des paramètres de transport.

Messages d'erreur

Quand une connexion échoue, le serveur peut renvoyer un message d'erreur. Chaque bibliothèque a généralement son propre message ou format unique pour ces erreurs. En envoyant une requête spécialement conçue pour échouer, on peut déclencher ces messages et les utiliser pour l'identification.

On a trouvé que des valeurs spécifiques peuvent provoquer des messages d'erreur uniques de diverses bibliothèques. De cette manière, on peut efficacement les différencier selon ces réponses.

Paramètres de transport

Les paramètres de transport sont des valeurs échangées entre deux points durant un handshake. L'ordre dans lequel ces paramètres sont envoyés peut aussi aider à identifier les bibliothèques. La plupart des bibliothèques utilisent un ordre cohérent, tandis que quelques-unes peuvent le randomiser. En analysant ces motifs, on peut créer des identifiants pour chaque bibliothèque.

Scans à l'échelle d'internet

Après avoir établi nos méthodes, on a réalisé des scans étendus à travers internet pour trouver des déploiements QUIC. On a soigneusement sélectionné des cibles potentielles et collecté des données sans causer de dommages ou de perturbations.

On a résolu des milliers de noms de domaine pour trouver les adresses IP correspondantes. Cette recherche comprenait des enregistrements indiquant quels serveurs prennent en charge QUIC. Nos scans suivaient des directives éthiques pour s'assurer qu'on opérât sans causer de perturbations à des services.

Résultats des scans

De nos scans, on a découvert une large gamme de déploiements. Pour les adresses IPv4, on a identifié plus de 11 millions qui ont répondu à nos tests. Avec une configuration valide, des handshakes réussis ont été réalisés avec plus de 500 000 adresses. Utiliser des noms de domaine a significativement amélioré notre taux de réussite.

Dans notre analyse, on a observé des différences distinctes entre les services selon qu'on utilisait des noms de domaine pendant nos scans. Pour beaucoup de serveurs, ne pas utiliser un nom de domaine a conduit à des erreurs génériques. Ça montre à quel point il est critique d'inclure une identification correcte durant le processus de handshake.

Distribution des bibliothèques

Après avoir classé les bibliothèques en fonction de nos trouvailles, on a noté que chaque bibliothèque a été trouvée au moins une fois durant les scans. Les bibliothèques les plus visibles étaient celles fournies par de grandes entreprises. Akamai, Amazon et Google avaient la plus grande visibilité sur divers réseaux de serveurs.

On a aussi observé que certaines bibliothèques plus petites avaient une présence notable dans des environnements prêts pour la production, comme LiteSpeed et Caddy server. Ça indique qu'un mélange de bibliothèques populaires et de bibliothèques de niche est actuellement utilisé sur internet.

Stabilité et efficacité de nos méthodes

Nos méthodes d'identification ont montré un haut niveau de cohérence. Pour plusieurs requêtes dirigées vers la même cible, on a trouvé que la même bibliothèque était identifiée de manière cohérente, démontrant la fiabilité de notre approche.

De plus, on a comparé nos résultats avec les en-têtes de serveur HTTP, qui aident parfois à confirmer la bibliothèque utilisée. Dans de nombreux cas, l'info d'en-tête correspondait à nos bibliothèques identifiées. Ça montre l'exactitude de nos scans et notre méthode d'identification.

Conclusion et travaux futurs

En résumé, on a développé des méthodes efficaces pour identifier les bibliothèques QUIC en usage sur internet à travers les messages d'erreur et les paramètres de transport. Notre travail a révélé le déploiement de plusieurs bibliothèques, avec plus de 8,8 millions d'adresses IPv4 et 2,5 millions d'adresses IPv6 identifiables.

Bien que la variété des bibliothèques disponibles montre des progrès dans le développement de QUIC, ça ajoute aussi de la complexité et des implications de sécurité potentielles. À mesure que de nouvelles versions et bibliothèques continuent d'émerger, une analyse continue sera cruciale pour garder les services sécurisés et efficaces.

On espère que nos résultats publiés et notre environnement de test aideront d'autres à analyser les bibliothèques QUIC et à faire des améliorations à l'avenir. En comprenant mieux les implémentations des serveurs, toutes les parties impliquées peuvent travailler pour un internet plus stable et sécurisé.

Source originale

Titre: QUIC Hunter: Finding QUIC Deployments and Identifying Server Libraries Across the Internet

Résumé: The diversity of QUIC implementations poses challenges for Internet measurements and the analysis of the QUIC ecosystem. While all implementations follow the same specification and there is general interoperability, differences in performance, functionality, but also security (e.g., due to bugs) can be expected. Therefore, knowledge about the implementation of an endpoint on the Internet can help researchers, operators, and users to better analyze connections, performance, and security. In this work, we improved the detection rate of QUIC scans to find more deployments and provide an approach to effectively identify QUIC server libraries based on CONNECTION CLOSE frames and transport parameter orders. We performed Internet-wide scans and identified at least one deployment for 18 QUIC libraries. In total, we can identify the libraries with 8.0 M IPv4 and 2.5 M IPv6 addresses. We provide a comprehensive view of the landscape of competing QUIC libraries.

Auteurs: Johannes Zirngibl, Florian Gebauer, Patrick Sattler, Markus Sosnowski, Georg Carle

Dernière mise à jour: 2024-03-19 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2308.15841

Source PDF: https://arxiv.org/pdf/2308.15841

Licence: https://creativecommons.org/licenses/by-nc-sa/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Plus d'auteurs

Articles similaires