Après un an et demi de développement, hostapd/wpa_supplicant 2.10 est disponible. Cette suite logicielle prend en charge les protocoles sans fil IEEE 802.1X, WPA, WPA2, WPA3 et EAP. Elle comprend l'application wpa_supplicant, permettant la connexion à un réseau sans fil en tant que client, et le processus hostapd, qui gère le point d'accès et le serveur d'authentification. Ce dernier inclut des composants tels que l'authentificateur WPA, le client/serveur d'authentification RADIUS et le serveur EAP. Le code source du projet est distribué sous licence BSD.
Outre les modifications fonctionnelles, cette nouvelle version bloque une nouvelle faille de sécurité par canal auxiliaire affectant la méthode de négociation de connexion SAE (Authentification simultanée des égaux) et le protocole EAP-pwd. Un attaquant capable d'exécuter du code non privilégié sur le système d'un utilisateur connecté à un réseau sans fil peut, en surveillant l'activité du système, obtenir des informations sur les caractéristiques du mot de passe et les utiliser pour faciliter des attaques par force brute hors ligne. Ce problème est dû à une fuite de ces caractéristiques via des canaux auxiliaires, permettant ainsi de vérifier indirectement la validité des composants du mot de passe lors d'attaques par force brute, grâce à des données telles que les variations de latence des transactions.
Contrairement aux problèmes similaires corrigés en 2019, cette nouvelle vulnérabilité est due à l'utilisation de primitives cryptographiques externes dans la fonction `crypto_ec_point_solve_y_coord()`, qui ne garantissent pas des temps d'exécution constants quelle que soit la nature des données traitées. En analysant le comportement du cache du processeur, un attaquant capable d'exécuter du code non privilégié sur le même cœur pourrait obtenir des informations sur la progression des opérations de mot de passe dans SAE/EAP-pwd. Toutes les versions de `wpa_supplicant` et `hostapd` compilées avec la prise en charge de SAE (`CONFIG_SAE=y`) et d'EAP-pwd (`CONFIG_EAP_PWD=y`) sont vulnérables.
Autres modifications apportées aux nouvelles versions de hostapd et wpa_supplicant :
- Ajout de la possibilité de compiler avec la bibliothèque cryptographique OpenSSL 3.0.
- Le mécanisme de protection des balises proposé dans la mise à jour de la spécification WPA3 a été implémenté. Il est conçu pour protéger un réseau sans fil contre les attaques actives qui manipulent les modifications apportées aux trames de balise.
- La prise en charge du protocole DPP 2 (Wi-Fi Device Provisioning Protocol) a été ajoutée. Ce protocole définit une méthode d'authentification par clé publique utilisée dans la norme WPA3 afin de simplifier la configuration des appareils sans écran. La configuration s'effectue à l'aide d'un autre appareil, plus avancé, déjà connecté au réseau sans fil. Par exemple, les paramètres d'un appareil IoT sans écran peuvent être configurés depuis un smartphone grâce à un code QR imprimé sur le boîtier de l'appareil.
- Ajout de la prise en charge de l'identifiant de clé étendu (IEEE 802.11-2016).
- La prise en charge du mécanisme de sécurité SAE-PK (clé publique SAE) a été ajoutée à la méthode de négociation de connexion SAE. Un mode de confirmation immédiate, activé par l'option « sae_config_immediate=1 », ainsi qu'un mécanisme de hachage en élément, activé en définissant le paramètre sae_pwe sur 1 ou 2, ont été implémentés.
- La prise en charge de TLS 1.3 a été ajoutée à l'implémentation EAP-TLS (désactivée par défaut).
- Ajout de nouveaux paramètres (max_auth_rounds, max_auth_rounds_short) pour modifier les limites du nombre de messages EAP lors de l'authentification (modifier les limites peut être nécessaire lors de l'utilisation de certificats très volumineux).
- Ajout d'une prise en charge du mécanisme PASN (Pre Association Security Negotiation) pour établir une connexion sécurisée et protéger l'échange de trames de contrôle dès les premières étapes de la connexion.
- Un mécanisme de désactivation de transition a été mis en place, permettant la désactivation automatique du mode d'itinérance, qui permet de basculer entre les points d'accès lors de vos déplacements, afin d'améliorer la sécurité.
- La prise en charge du protocole WEP a été supprimée des versions par défaut (une recompilation avec l'option CONFIG_WEP=y est nécessaire pour la rétablir). Les fonctionnalités obsolètes liées au protocole IAPP (Inter-Access Point Protocol) ont été supprimées. La prise en charge de libnl 1.1 est abandonnée. L'option de compilation CONFIG_NO_TKIP=y a été ajoutée pour compiler sans prise en charge de TKIP.
- Les vulnérabilités dans l'implémentation UPnP (CVE-2020-12695), le gestionnaire P2P/Wi-Fi Direct (CVE-2021-27803) et le mécanisme de protection PMF (CVE-2019-16275) ont été corrigées.
- Parmi les changements spécifiques à hostapd, on peut noter l'extension de la prise en charge des réseaux sans fil HEW (High-Efficiency Wireless, IEEE 802.11ax), y compris la possibilité d'utiliser la gamme de fréquences de 6 GHz.
- Modifications spécifiques à wpa_supplicant :
- Ajout de la prise en charge des paramètres du mode point d'accès pour SAE (WPA3-Personnel).
- Pour les canaux EDMG (IEEE 802.11ay), la prise en charge du mode P2P a été implémentée.
- Amélioration de la prédiction de la bande passante et de la sélection du BSS.
- L'interface de contrôle via D-Bus a été étendue.
- Ajout d'un nouveau système de stockage des mots de passe dans un fichier séparé, vous permettant ainsi de déplacer les informations sensibles hors du fichier de configuration principal.
- Ajout de nouvelles politiques pour SCS, MSCS et DSCP.
Source: opennet.ru
