当前位置:网站首页>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.
版权声明
本文为[Baidu Developer Center]所创,转载请带上原文链接,感谢
https://chowdera.com/2021/11/20211125171653789p.html
边栏推荐
- ML2021 | (腾讯)PatrickStar:通过基于块的内存管理实现预训练模型的并行训练
- 元宇宙最缺的是内容,而云计算能帮上忙
- SIMXXX NDIS dials and starts automatically after booting
- 面试官会问你 最近读的一篇paper
- C# datagridview、datagrid、GridControl增加行号
- 惊喜,我克隆了对象的的声音
- 行业分析| 大势所趋:元宇宙
- 如何在GEC-6818上绘制彩虹图?
- WGS84(GPS)、火星坐标系(GCJ02)、百度地图(BD09)坐标系转换案例教程(附转换工具下载)
- EasyNVR视频点击开始录像提示“创建录像文件失败”,是什么原因导致的?
猜你喜欢
-
29.轮廓发现
-
ML2021 | (腾讯)PatrickStar:通过基于块的内存管理实现预训练模型的并行训练
-
29.輪廓發現
-
29. Contour Discovery
-
Easynvr Video Click to start Video prompt "CREATE Video file failed", What causes?
-
WGS84 (GPS), mars Coordinate System (gcj02), baidu Map (bd09) Coordinate System Conversion Case tutoriel (with conversion Tool Download)
-
Comment dessiner un arc - en - ciel sur le GEC - 6818?
-
节卡机器人获 C+ 轮融资,半年内完成两轮
-
腾讯加码移动机器人赛道-投资蓝芯科技
-
从RPA到超自动化,「弘玑Cyclone」获1.5亿美元C轮融资
随机推荐
- LR Approval Process Design, one - stop Solution to Office Problems
- Ml2021 | (Tencent) Patrick Star: mise en œuvre de la formation parallèle du modèle de pré - formation par la gestion de la mémoire par blocs
- Meilleures pratiques pour les entrepôts de données en temps réel de Wechat clickhouse
- (C language) implementation of Sanzi chess
- 從RPA到超自動化,「弘璣Cyclone」獲1.5億美元C輪融資
- De RPA à super Automation, hongji cycline a reçu 150 millions de dollars de financement de la série C
- Piste de robots mobiles Tencent plus Code - Investir dans la technologie Blue Core
- 容器探针-健康检查
- Le robot économiseur de cartes a obtenu le financement de la ronde C +, et deux rondes ont été achevées dans un délai de six mois.
- Sonde du récipient - bilan de santé
- 回顾“低代码”历史发展,是技术进步了还是倒退了?
- 坐标东京,诚招IT工程师
- 神奇的色调旋转滤镜hue-rotate
- EasyPlayerJS可以看见码率但是无法播放视频,是什么原因?
- RFID高频14443协议 大功率读写器/远距离读写器
- IO流实现深克隆
- IO流實現深克隆
- Io Stream implémentation of Deep cloning
- RFID High Frequency 14443 Protocol High Power Reader / Remote Reader Writer
- Easyplayerjs peut voir le débit mais ne peut pas lire la vidéo, quelle est la raison?
- Filtre rotatif de teinte magique Hue rotate
- Coordonnées Tokyo, recrutement d'ingénieurs informatiques
- Si l'on examine l'évolution historique du « faible Code », la technologie a - t - elle progressé ou régressé?
- Analyse de l'industrie | tendance générale: métacosme
- [学习报告]《LeetCode零基础指南》(第四讲) 一维数组)
- During the job interview, what means does HR have to know your marriage and childbirth?
- [學習報告]《LeetCode零基礎指南》(第四講) 一維數組)
- [rapport d'étude] leetcode Zero Basic Guide (session 4) 1D Array)
- Tips for promotion and salary increase of IT personnel large factory vs small factory
- Visual studio 2022 has been released. Here are my five favorite features!
- Performance problem analysis of yyds dry goods inventory how to eliminate invalid test
- Visual studio 2022 has been released. Here are my five favorite features!
- Black Hat Europe 2021议题解读:Wi-Fi Mesh中的安全攻击面
- CWE4.6标准中加入 OWASP 2021 TOP10
- 【并发技术系列】「多线程并发编程」技术体系和并发模型的基础探究(夯实基础)
- META|PyTorchVideo:用于视频理解的深度学习库
- Surprise, j'ai cloné la voix de l'objet.
- Ajouter le numéro de ligne pour C # datagridview, datagrid, gridcontrol
- 被下属骂,记一次矛盾升级——有心无心,蝴蝶效应?
- 被下屬罵,記一次矛盾昇級——有心無心,蝴蝶效應?