Création de l'Étude de cas Custom App-IDs: Fortnite

Création de l'Étude de cas Custom App-IDs: Fortnite

47483
Created On 09/25/18 19:10 PM - Last Modified 06/12/23 16:04 PM


Resolution


Demande client

 

Fortnite est un jeu multijoueur en ligne, pour PC et autres appareils. Ce jeu est commun parmi les élèves d'âge scolaire et est L'un des nombreux jeux tels que les pensionnats ont besoin pour accueillir sur leur réseau.

 

Les app-IDs pré-définis sont fournis pour un certain nombre de jeux bien connus. Cependant, pour les jeux très nouveaux ou peu communs, les app-IDs peuvent ne pas être disponibles. En outre, ces jeux sont fréquemment mis à jour, et les formats de communication peuvent changer rapidement. Par conséquent, même les jeux avec des APP-IDS prédéfinis peuvent échouer jusqu'à ce que la modification puisse être identifiée et de nouvelles signatures soient libérées. Palo Alto Networks offre la possibilité de créer des APP-IDS personnalisés, permettant aux administrateurs d'utiliser un large éventail de facteurs dans le trafic réseau pour identifier les applications.

 

Une grande partie du trafic réseau associé à de tels jeux s'exécutent à travers les protocoles réseau communs, tels que https. Toutefois, certains trafic, en particulier la communication dans le jeu nécessite des protocoles plus rapides avec moins de frais généraux. Par conséquent, il est courant d'observer les flux UDP sur les ports élevés, classés par le NGFW comme'unknown-UDP'.

Les écoles et d'autres organisations ont généralement l'obligation de bloquer un tel trafic non identifié, et il est donc nécessaire d'identifier et de créer des APP-IDs personnalisés pour ces schémas de trafic. En raison de la nécessité pour ce trafic d'être aussi léger que possible, la quantité de contenu arbitraire dans ces messages qui peuvent être utilisés comme une signature est faible.

 

Processus

Trouver le trafic non identifié

 

La plupart des jeux en ligne de communiquer dans une variété de façons différentes. Par exemple, lorsque le jeu est lancé pour la première fois, le trafic HTTPS est utilisé pour authentifier l'utilisateur sur un serveur de comptabilité, et fournir au client de jeu des informations sur les jeux et les serveurs en cours d'exécution, communément appelé lobby. Lorsque le jeu lui-même commence, une session de communication est établie au serveur de jeu pour fournir des informations sur les mouvements des joueurs et l'état du jeu. La plupart de ce trafic est envoyé à des emplacements non prévisibles, et un certain trafic est envoyé à travers des ports imprévisibles.

Toutefois, une grande partie du trafic sera identifiée comme une application, même si elle est aussi large que «SSL», et ces applications sont généralement autorisés à travers le pare-feu. La première étape est donc d'identifier le trafic spécifique qui est bloqué, et cela peut être fait facilement à partir du journal de trafic NGFW, via l'onglet moniteur. L'Ajout de colonnes supplémentaires, telles que «to port», peut aider à identifier le trafic plus tard.

 

Capture d'Écran 2018-04-12 à 10.46.47. pngIdentification de la session dans le journalde trafic collecter des échantillons de trafic de plusieurs clients

 

Il est nécessaire de collecter des captures de paquets de plusieurs clients afin de trouver les signatures correctes dans ce trafic. Les captures de paquets peuvent être effectuées localement sur le client, via Wireshark, ou en utilisant le pare-feu. Pour éliminer les modèles qui sont liés aux utilisateurs, ou machines, il est nécessaire de collecter une large gamme de captures de paquets, à partir de différentes machines, et avec différents comptes d'utilisateurs. Cela garantit que seules les signatures pertinentes au jeu sont identifiées.

 

Analyser les captures de paquets et exporter les flux de trafic pertinents

 

Une fois que les captures de paquets ont été collectées, les flux de trafic pertinents peuvent être identifiés et exportés, en utilisant les fonctionnalités de Wireshark'follow TCP stream'et'follow UDP stream'.

Pour chaque capture de paquet, utilisez la sortie du moniteur du pare-feu pour comprendre la nature du flux en question, par exemple, le port UDP 9011, et utilisez le filtre Wireshark pour trouver ce trafic.

 

Capture d'Écran 2018-04-12 à 10.52.41. pngUtilisation de Wireshark pour identifier le flux UDP Fortnite

 

Cliquez avec le bouton droit sur un paquet dans ce flux, puis sélectionnez suivre > flux UDP. Sélectionnez'Show and Save data As hex Dump', puis cliquez sur Enregistrer sous... pour produire des données dans un fichier texte.

 

Capture d'Écran 2018-04-12 à 10.55.56. pngWireshark-suivez le flux UDP

Répétez cette étape pour chaque capture de paquets.

 

Rechercher des modèles de données similaires dans chaque sortie de flux

 

Maintenant qu'une variété d'échantillons de flux de données ont été créés, ces flux peuvent être comparés pour trouver les modèles identiques. UNE commande comme dwdiff est utile ici. Contrairement aux autres outils diff, qui s'appuient sur des lignes de données correspondantes, dwdiff fonctionne en faisant correspondre les données au niveau du mot. Dwdiff est une commande qui s'exécute dans le shell BASH. Il est également disponible pour les appareils Mac selon ces instructions (des résultats similaires devraient être possibles avec la commande wdiff, disponible pour Windows). L'utilisation de la commande de la manière suivante va créer un nouveau fichier contenant les chaînes correspondantes...

 

dwdiff-12 STREAM1. txt stream2. txt > diff1. txt

 

La sortie de cette commande peut ensuite être exécutée contre d'autres flux pour affiner les modèles similaires...

 

dwdiff-12 diff1. txt stream3. txt > diff2. txt

 

Le fichier résultant montrera tous les modèles qui correspondent à tous les flux.

 

Capture d'Écran 2018-04-12 à 11.00.30. pngSortie de la commande dwdiff affichant la signature

 

Ajouter une signature à Custom App-ID

 

Tout tableau hexadécimal résultant de plus de 7 octets peut être ajouté à un ID d'application personnalisé via l'interface NGFW. Pour créer un nouvel App-ID, connectez-vous au NGFW et naviguez jusqu'à objets > applications > Add. Vous pouvez également sélectionner un ID d'application personnalisé existant que vous souhaitez mettre à jour.

Configurez les caractéristiques de l'Application dans les onglets configuration et avancé. Ensuite, sous signatures, ajoutez une nouvelle signature à l'application. Créer une nouvelle condition, sélectionnez'Pattern match'en tant qu'opérateur, sélectionnez le contexte correct et entrez le motif hexadécimal trouvé, entouré par les paramètres/x.

 

Capture d'Écran 2018-04-12 à 11.02.49. pngCréation d'une signature App-ID personnalisée

Une fois toutes les signatures ajoutées, validez la configuration et le test du pare-feu. Si la signature a fonctionné, le trafic précédemment inconnu doit résoudre le nom de l'App-ID personnalisé. La politique peut alors être configurée pour définir comment et quand le jeu devrait être autorisé (c'est à dire, les pensionnats après les heures d'école). Enfin, testez le jeu pour vérifier que le pare-feu identifie correctement l'application.

 

Capture d'Écran 2018-04-12 à 11.07.00. png

 

Mises à jour

 

Lors du test de la signature de l'application, une nouvelle version du client Fortnite a été libérée, et après cette mise à jour, la signature App-ID n'a pas réussi à identifier le trafic. Pour résoudre, nous avons répété les étapes ci-dessus avec le nouveau client, et a constaté que la signature trouvée précédemment changé (bien que la nouvelle signature était cohérente sur tous les périphériques exécutant le nouveau client.)

 

Conclusion

 

Une approche basée sur la signature est le moyen le plus efficace d'identifier positivement le trafic d'applications, et où les ports et adresses IP imprévisibles sont utilisés par les applications, il peut être le seul moyen. Les pare-feu de la prochaine génération de Palo Alto Networks offrent la possibilité de créer des «APP-IDS» personnalisés, à l'Aide de signatures trouvées dans les flux de trafic d'applications. Pour les organisations qui utilisent des applications sur mesure ou inhabituelles, app-ID est un moyen efficace de permettre de telles applications tout en appliquant une approche de confiance zéro pour le trafic réseau.



Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClVKCA0&lang=fr&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language