当前位置:网站首页>Black hat Europe 2021 Topic Reading: Security attacks in Wi - Fi Mesh

Black hat Europe 2021 Topic Reading: Security attacks in Wi - Fi Mesh

2021-11-25 17:22:03 Baidu Developer Center

Ces dernières années,Avec le développement de la technologie d'interconnexion de toutes choses,MeshL'essor de la technologie,MeshLa technologie est une technologie de réseautage,Plusieurs points d'accès peuvent être regroupés en un seul réseau pour fournir des services,Par rapport à la traditionWiFiTechnologie de réseautage,MeshRéseau plus stable,Plus vite.,Plus extensible.EtWiFi MeshEt par l'auto - Organisation,Autogestion,Caractéristiques de la guérison autonome,Occupe une place importante dans le futur scénario d'interconnexion de toutes choses.

PourWiFi MeshLes scènes émergentes,Cette foisBlack Hat Europe 2021Assemblée générale,Baidu Security a partagé les questions en ligne《BadMesher: New Attack Surfaces of Wi-Fi Mesh Network》,La question a été principalement examinée.WiFi MeshSurface d'attaque de sécurité dans,Conception et mise en œuvre d'un ensemble d'outils automatisés d'exploitation des vulnérabilitésMeshFuzzer,Et il montre l'effet de l'exploitation de la vulnérabilité réelle.

Interprétation du sujet

Concepts de base

EasyMeshConcept

EasyMesh- Oui.WiFiUn système de certification normalisé lancé par l'Alliance,Il a traversé trois étapes de développement:

Fig. 1 EasyMeshProcessus de développement

2018Année,MeshLa technologie est mise en œuvre pour chaque fabricant,Absence de normes harmonisées,Par conséquent, les appareils de différents fabricants ne peuvent pas être interconnectés.

2019Année,WiFiLancement de l'AllianceEasyMesh V1Version,IntroduitOnboardingProcessus etAuto-ConfigProcessus,Et utiliser1905Protocole de contrôle pour la mise en œuvreMeshLa plupart des fonctions de contrôle.

2020Année,WiFiLancement de l'AllianceEasyMesh V2EtV3Version,V3La version enrichit les fonctionnalités de contrôle,En particulier, les caractéristiques de sécurité sont ajoutées,Ajout de contrôles d'autorisation et d'intégrité aux messages de contrôle.

Actuellement adoptéEasyMeshDes dizaines de fabricants certifiés,Il s'agit notamment deMediatek、Huawei、ZTEAttendez..

EasyMeshArchitecture

EasyMeshL'architecture de 2Comme indiqué,Il contient deux liens clés,Deux acteurs clés.

Fig. 2 EasyMeshSchéma

Liens critiques

1、FronthaulLiens:Se réfère à l'expositionWiFiLiens,C'est - à - dire que nos téléphones sont connectés correctementSSID

2、BackhualLiens:C'est caché.WiFiLiens,C'est - à - dire qu'il ne peut pas être recherchéSSID,Est spécialement conçu pourMeshLiens fournis

Principaux acteurs

1、ControllerRôle:MeshGestionnaire de réseau,OrientationAgentEnvoyer les commandes de contrôle,Pour finirMeshGestion du réseau,Atteindre l'auto - Organisation,Autogestion,Effet de la guérison autonome

2、AgentRôle:MeshExécuteur du réseau,Par acceptationControllerCommande de contrôle pour l'exécution des tâches,Et versControllerRésultats de la mise en œuvre de la rétroaction

Les rôles ici ne sont pas spécifiques à l'appareil,Est une entité logique,Un appareil peut être utilisé à la fois commeControllerPeut également être utilisé commeAgent,Ou en même tempsContrllerEtAgent.

MeshProcessus de construction du réseau

ToutMeshLe processus de construction du réseau est divisé en:2Pas:

1、Onboarding

2、DiscoveryEtConfiguration

OnboardingProcessus

OnboardingLe processus est d'aider un non - membreMeshL'appareil du réseau rejointMeshRéseau,Nous appelons les appareils qui ne sont pas connectés au réseauEnrolleeMatériel,Tout le processus passe par1905 Push Button ConfiguerationAccord(Abréviation1905 PBC)Pour y arriver.,1905 PBCComprend les éléments suivants:3Caractéristiques:

1、Caractéristiques1:L'accès au réseau doit être effectué par les deux partiespush button

2、Caractéristiques2:Basé surWiFi Protected SetupRéalisation

3、Caractéristiques3:Basé surTLV

De la figure 3Comme vous pouvez le voir,1905 PBCInMulti-AP ExtensionPartiellement marqué,C'est - à - dire que l'étiquette obtientBackhaulDeSSID.Donc,EntolleeL'équipement peut passer par1905 PBCPour obtenirMeshCertificat d'accès au réseau pour le lien.

Fig. 3 Multi-AP Extension

ToutOnboardingVoir le diagramme 4Comme indiqué:

Fig. 4 OnboardingProcessus

Commencez par les deux appareilsPush Button,Mettre les deux appareils dans l'état du réseau de distribution.

Deuxièmement,EnrolleeL'appareil passe par1905 PBCViens avec moi.Fronthaul SSIDInteraction,Passe.M1-M8Après le processus,FinalExisting AgentOui.BackhualDeSSIDEtpasswordRetour àEnrolleeMatériel,AprèsEnrolleeL'appareil peut être connectéBackhaul SSID,AdhésionMeshRéseau.

Jusqu'ici.OnboardingProcessus terminé.

DiscoveryEtConfigurationProcessus

Le processus global est illustré dans le diagramme ci - dessous. 5Comme indiqué:

Fig. 5 DiscoveryEtConfigurationProcessus

À compléterOnboradingAprès le processus,EnrolleeL'appareil doit être trouvéMeshDans le réseauControllerPour obtenir le courantMeshConfiguration de base du réseau,Ici, on utiliseIEEE1905.1aProtocole de contrôle,EnrolleeL'appareil passe par“AP Autoconfig Search”Paquets de diffusion pour détecterControllerExiste - t - il?,S'il existe dans le réseauController, EtControllerJe répondrai“AP Autoconfig Response”, EnrolleeL'appareil a été trouvé avec succèsController,Jusqu'ici.,DiscoveryProcessus terminé.

ConfigurationLe processus est de mettre le courantMeshLes informations de configuration du réseau sont synchronisées avecEnrolleeMatériel,Par exemple:MeshNom d'utilisateur Mot de passe pour le réseau,CommunicationsChannelLe choix de,Paramètres de maintien de la stabilité du réseau, etc.,C'est par“AP Autoconfig Wifi Sample Configuration”Pour y arriver.,EnrolleeL'appareil a été acquis.MeshConfiguration de base du réseau,C'est vrai.AgentEn tant que membreMeshDans la famille élargie,Tout ça.Mesh Achèvement de la construction du réseau.

MeshProcessus de contrôle du réseau

MeshLa maintenance et la gestion du réseau sont un projet important,AdoptionIEEE1905.1aPour réaliser,IEEE1905.1aEssentiellement un protocole entre la couche physique et la couche réseau,Est une technologie de contrôle filaire ou sans fil qui définit le réseau domestique.InMeshDans la scène,IEEE1905.1aC'est un transporteur.,Fournit une variété de protocoles de contrôle tels que la découverte d'appareils、Configuration du périphérique、Gestion du matériel, etc.,Toute sa mise en œuvre est basée surType-Length-Value,SectionEasyMeshLe Protocole de contrôle est indiqué dans le tableau ci - dessous. 1Comme indiqué:

Message type

Protocol

Value

1905 Topology Notification message

STA capability

0x0001

Multi-AP Policy Config Request message

Multi-AP configuration

0x8003

Unassociated STA Link Metrics Response message

Link metric collection

0x8010

Backhaul Steering Request message

Backhaul optimizatio

0x8019

Client Disassociation Stats message

Data Element

0x8022

......

……

……

Tableau 1 SectionEasyMeshProtocole de contrôle

Choisissez ici“Multi-AP Policy Config Request Message”Par exemple,Vous pouvez voir l'image 6Le mot de commande correspondant est 0x8003,Plus précisémentStreeing PolicySatisfait aux exigences de baseTLV,Vous pouvez voir l'image 6MoyenneTypePour0x89,lenPour21,EtvalueCorrespond àpayload.

Fig. 6 Multi-AP Policy Config Message

Analyse de la surface d'attaque

J'ai tout analysé.MeshProcessus de mise en réseau et de contrôle du réseau,Regardons la surface réelle de l'attaque.,Le vecteur de l'attaque est deux protocoles clés:

1、1905 Push Button Configuration Protocol

2、IEEE 1905.1a Control Protocol

Correspond à deux faces d'attaque critiques:

1、Attaquer le processus de construction du réseau

2、Attaquer le processus de contrôle du réseau

AttaqueMeshProcessus de construction du réseau

AttaqueExisting Agent

Attaquant:“Bad“ Enrollee Agent

La victime:Exixting Agent

Vecteur d'attaque:1905 Push Button Configuration Protocol(M1、M3、M5、M7)

L'ensemble du processus d'attaque est illustré dans la figure 7Comme indiqué

Fig. 7 AttaqueExisting Agent

L'attaquant a construit unEnrolleePour attaquerExisting Agent,Est basé sur1905 PBCTransmitting difformityM1、M3、M5、M7Pour attaquer,DéclencheurExisting AgentInM1、M3、M5、M7En coursTLVVulnérabilité d'analyse pour.

AttaqueEnrollee Agent

Attaquant:“Bad” Existing Agent

La victime:Enrollee Agent

Vecteur d'attaque:1905 Push Button Configuration Protocol(M2、M4、M6、M8)

L'ensemble du processus d'attaque est illustré dans la figure 8Comme indiqué

Fig. 8 AttaqueEnrollee Agent

L'attaquant a construit unExisting AgentPour attaquerEnrolleeMatériel,Est basé sur1905 PBCDéformableM2、M4、M6、M8Pour attaquer,DéclencheurEnrolleeL'équipement estM2、M4、M6、M8En coursTLVAnalyser la vulnérabilité.

AttaqueMeshProcessus de contrôle du réseau

Analyse terminéeMeshSurface d'attaque construite,Regarde encoreMeshLa surface d'attaque contrôlée par le réseau.

Attaquant:“Bad” Existing Agent

La victime:ControllerEt autresExisting Agent

Vecteur d'attaque:IEEE 1905.1a Control Protocol

Un attaquant peut envoyer une anomalie1905Le paquet déclencheControllerEtExisting AgentMoyenne1905 TLVVulnérabilité d'analyse pour,Fig. 9C'est nous qui ciblons“AP_AUTOCONFIGURATION_WSC_MESSAGE”Paquets malveillants conçus,Je vois.,On est là.SSIDDelenPartiellement rempli0xFF,Et la réalitéSSIDJusqu'à64,Et dansSSIDDepayloadRemplissez tout dans la section0xFF,De la figure 10Comme vous pouvez le voir dans les paquets réellement obtenus,EffectifSSIDPartiellement rempli de ce que nous remplissons0xFFDePayload,Ça ne correspond pas.SSIDAttentes analytiques.

Fig. 9 Transmission analogique déforméeIEEE 1905.1aKit de contrôle

Fig. 10 EffectifIEEE 1905.1aKit de contrôle

Outils automatisésMeshFuzzer

MeshFuzzerArchitecture

La nôtre.MeshfuzzerContient deuxFuzzingSous - système,Ils s'adressent respectivement à1905 PBCDeFuzzingEt pour1905.1aDeFuzzing,La structure générale est illustrée à la figure ci - dessous. 11Comme indiqué.

Fig. 11 MeshFuzzerArchitecture

La partie supérieure est conçue pour1905 PBCDeFuzzingSous - système,Nous utilisons la salle d'équipement réelleWPSDonnées interactives comme entrée,Après nousTLV Système de variation,Utilisez enfin notre802.1Pour l'expédition,En même temps, connectez l'appareil en série,Surveillance en temps réelcrashÉtat de.

La deuxième moitié est conçue pourIEEE 1905.1aDeFuzzingSous - système,Nous avons réalisé la plupartEasyMeshChamp du Protocole de contrôle dans,Même après notreTLVSystème de variation,Utilisez enfin notre1905L'employeur pour l'employeur,Grâce à1905Paquets pour la surveillancecrashÉtat de.

Stratégie de variation

Parce que les deux protocoles cibles sont basés surTLVRéalisé,Nous pouvons utiliser une stratégie de mutation unifiée pour aider efficacementFuzzingEn cours.

Stratégie de variation1:Champ de longueur variable,Déclenché par une longueur trop longue ou trop courteTLVQuelques vulnérabilités générales de corruption de mémoire résolues,Par exemple, une longueur trop courte peut entraîner une lecture excessive,Ou débordement d'entiers,Trop long peut causer des problèmes tels que l'écriture hors ligne,Fig. 12Est l'effet que nous avons réellement testé en changeant le champ de longueur en trop court.

Stratégie de variation2:Pour lesTLVAjout et suppression aléatoires de blocs,Cela pourrait entraîner une vulnérabilité logique liée à la corruption de la mémoire,Par exemple:Double-Free、UAFAttendez.,Fig. 13C'est une augmentation aléatoire de nos tests.TLVEffets des blocs.

Fig. 12 Champ de longueur trop court

Fig. 13 Paire aléatoireTLVBloc à ajouter

FuzzingProcessus de construction du réseau

Sélection du matériel et des logiciels

Matériel:SélectionnerUbuntuOu une tarte aux framboises.4,Sans filUSBCarte réseau pour l'émission de paquets.

Section des logiciels:Oui.wpa_supplicantPour personnaliser notreFuzzer,La raison en estwpa_supplicantSoutien en soi1905 PBCAccord,Nous pouvons donc ajouter notre stratégie de mutation à ses différentes étapes,Réalisation efficace et stableMeshAu stade de la construction du réseauFuzzingLe travail.

Fig. 14 wpa_supplicantCode de mise en œuvre

EffectifFuzzing Existing Agent

Nous utilisons les personnalisations ci - dessusFuzzingOutils,Pour simuler l'ensemble1905 PBCProcessus,Et oui.M1、M3、M5、M7Injection par étapesFuzzing Payload,Fig. 15C'est nous.FuzzingEn cours,CapturéM7PhaseTLVLog d'écrasement pour la vulnérabilité d'écriture transfrontalière causée par l'analyse,Fig. 16Est le paquet réel que nous avons saisi.

Fig. 15 M7Écrivez le problème au - delà des limites de la phase

Fig. 16 M7Écrire le paquet réel au - delà de la limite de phase

La façon dont nous surveillons les pannes est de fairePingDétecter et saisir les journaux d'écrasement en temps réel sur le port série.

EffectifFuzzing “Existing” Agent

NetworkProcessus de construction un autre rôle de victimisation,Non connecté“Enrollee”,Nous simulons une attaque malveillante“Existing” AgentAllez, viens.fuzzing “Enrollee”.C'est pour s'assurer que JeanEnrolleeMaintenir l'adhésionMeshÉtat du réseau,Nous avons écrit un script,Comme le montre la figure 17Comme indiqué.

Fig. 17 EnrolleeMaintenir l'adhésionMeshScript réseau

On est là.M2、M4、M6、M8Phase injectéeFuzzing Payload,Fig. 18C'est nousFuzzingEn cours,DéclenchéM6PhaseTLVVulnérabilité d'écriture transfrontalière due à l'analyse.Fig. 19Est le paquet réel que nous avons saisi.

Fig. 18 M8Écrivez le problème au - delà des limites de la phase

Fig. 19 M8Écrire le paquet réel au - delà de la limite de phase

Ici, la façon dont nous surveillons les crash est toujours de fairePingDétecter et saisir les journaux d'écrasement en temps réel sur le port série.

FuzzingProcessus de contrôle du réseau

Sélection du matériel et des logiciels

Matériel:J'ai choisi.Macbook Pro,Parce queMacbook ProPeut être mieux supporté1905Envoi de paquets.

Section des logiciels:Sélection d'une bibliothèque open source existantepyieee1905,Nous pouvons donc nous baser surpyieee1905Pour développer des champs de protocole personnalisés,Cela nous réduira considérablementFuzzerCharge de travail de développement,Nous devons juste réaliserEasyMeshLe Protocole de contrôle permet de contrôler la partie réseauFuzzingTests.

Fig. 20 pyieee1905

Module de surveillance

Parce que1905La plupart des modules de traitement sont des processus individuels,Nous ne pouvons pas capturer l'écrasement directement sur le port série,Impossible d'envoyer à l'appareilPingDétecter les paquets pour surveiller1905État de fonctionnement du processus,Ici, nous choisissonsEasyMeshC'est ce que1905 Topology Query Message,Le paquet est pour l'appareil1905Capacité de détecter le soutien mutuel entre les processus,Réponse de l'appareil au paquet,On le saura facilement.,Sur l'équipement1905Le processus a - t - il survécu?,Ou si elle fonctionne correctement.

Fig. 21 Topology Query Message

Chaque fois qu'on envoie unFuzzing Payload,Il sera envoyé une fois.1905 Topology Query,En cas de réponse,Description1905 DaemonFonctionnement normal,Si aucune réponse n'est reçue,Description1905 DaemonIl y a peut - être un problème,Nous enregistrerons l'envoiFuzzing PayloadEnregistrer localement,Et attendre le redémarrage du processus.

Fig. 22 1905 Surveillance et sauvegarde des crash

Fig. 23 Effondrement réel

Effet réel

Nous utilisonsMeshFuzzerInMediatek MT7915DeEasyMeshPlusieurs emplacements trouvés dans la solutionTLVVulnérabilité à la corruption de la mémoire due à l'analyse,Et a découvert1Problèmes de sécurité en violation des critères de conception de la sécurité,Acquis de façon cumulative19- Oui.CVE,La liste des questions est présentée dans la figure ci - dessous. 24Comme indiqué,Pour l'instantMediatekTous les problèmes ont été corrigés et des correctifs de sécurité ont été produits..

Fig. 24 MT7915Questions de sécurité

Conseils de sécurité

Pour le traitementTLVVulnérabilité à la corruption de la mémoire due à l'analyse,Nous recommandons une analyse complète du paquet,Puis vérifiez le type et la longueur un par un,Traitement final,Jeter les paquets lorsque la vérification de la longueur et du type échoue.

Un bon exemple estwpa_supplicant,Fig. 25Montré danswpa_supplicantTraitementTLVProcessus d'emballage,Suivre l'analyse->Distribution->Validation->Processus de traitement.

Fig. 25 C'est vraiTLVExemples de traitement

Contre les violations des critères de conception de la sécurité,EasyMesh V3Une section de la norme décrit spécifiquement1905Sécurité du Protocole.Par exemple,Pour isoler Backhaul Et FrontHaul Liens,La somme de contrôle de l'intégrité du message doit être ajoutée1905Le paquet est chiffré,Il est conseillé aux fabricants deEasyMeshHeure,Respect des dispositionsEasyMeshCritères,Réalisation1905Sécurité du Protocole.

Résumé

L'ensemble du sujet est résumé comme suit::

1、On a trouvéWiFi MeshPlusieurs faces d'attaque de sécurité dans,Un attaquant peutMeshPhase de construction du réseau et phase de contrôle du réseauMeshLes appareils du réseau attaquent;

2、Nous avons développé un outil automatisé d'exploitation des vulnérabilitésMeshFuzzer,Peut exploiter automatiquement le fabricant dans la mise en œuvreEasyMeshVulnérabilité à la sécurité introduite par;

3、Dans la pratique,On est là.MT7915ChipEasyMeshPlusieurs problèmes de sécurité ont été identifiés dans la solution,J'ai19- Oui.CVE,Et donner les suggestions de réparation correspondantes.

Cliquez sur Entrée pour plus d'informations techniques~~

版权声明
本文为[Baidu Developer Center]所创,转载请带上原文链接,感谢
https://chowdera.com/2021/11/20211125171653789p.html

随机推荐