Après une année et demie de développement, la version 2.10 de hostapd/wpa_supplicant a été publiée, une suite conçue pour faire fonctionner les protocoles sans fil IEEE 802.1X, WPA, WPA2, WPA3 et EAP. Elle comprend l'application wpa_supplicant pour se connecter à un réseau sans fil en tant que client et le processus de fond hostapd pour faire fonctionner le point d'accès et le serveur d'authentification, incluant des composants tels que l'authentificateur WPA, le client/serveur d'authentification RADIUS et le serveur EAP. Les codes sources du projet sont diffusés sous licence BSD.
En plus de modifications fonctionnelles, la nouvelle version bloque un nouveau vecteur d'attaque par canaux auxiliaires, touchant la méthode de négociation de connexions SAE (Simultaneous Authentication of Equals) et le protocole EAP-pwd. Un attaquant ayant la capacité d'exécuter du code non privilégié sur le système d'un utilisateur se connectant à un réseau sans fil pourrait, en traçant l'activité du système, obtenir des informations sur les caractéristiques du mot de passe et les utiliser pour faciliter le craquage du mot de passe en mode hors ligne. Ce problème est causé par une fuite par canaux auxiliaires d'informations sur les caractéristiques du mot de passe, qui permettent, via des données indirectes telles que les variations de latence lors de l'exécution des opérations, de clarifier la justesse du choix des parties du mot de passe lors de sa tentative de craquage.
Contrairement à des problèmes similaires résolus en 2019, la nouvelle vulnérabilité est due au fait que des primitives cryptographiques externes utilisées dans la fonction crypto_ec_point_solve_y_coord() n'assuraient pas un temps d'exécution constant, indépendamment de la nature des données traitées. Sur la base d'une analyse du comportement du cache processeur, un attaquant ayant la possibilité de lancer du code non privilégié sur le même cœur de processeur pouvait obtenir des informations sur l'avancement des opérations avec le mot de passe dans SAE/EAP-pwd. Le problème concerne toutes les versions de wpa_supplicant et hostapd compilées avec le support de SAE (CONFIG_SAE=y) et EAP-pwd (CONFIG_EAP_PWD=y).
D'autres modifications dans les nouvelles versions de hostapd et wpa_supplicant :
- Ajout de la possibilité de compilation avec la bibliothèque cryptographique OpenSSL 3.0.
- Mise en œuvre du mécanisme de protection des balises proposé dans la mise à jour de la spécification WPA3, conçu pour protéger contre les attaques actives sur le réseau sans fil, manipulant la modification des trames Beacon.
- Ajout de la prise en charge du protocole DPP 2 (Wi-Fi Device Provisioning Protocol), définissant une méthode d'authentification par clé publique, utilisée dans la norme WPA3 pour faciliter la configuration des appareils sans interface d'écran. La configuration se fait à l'aide d'un autre appareil plus avancé déjà connecté au réseau sans fil. Par exemple, les paramètres pour un appareil IoT sans écran peuvent être définis depuis un smartphone sur la base d'un code QR imprimé sur le boîtier;
- Ajout de la prise en charge des identifiants de clé étendus (Extended Key ID, IEEE 802.11-2016).
- La mise en œuvre de la méthode de négociation de connexion SAE a ajouté la prise en charge du mécanisme de protection SAE-PK (SAE Public Key). Un mode d'envoi instantané de confirmation a été mis en œuvre, activé par l'option « sae_config_immediate=1 », ainsi qu'un mécanisme hash-to-element, activé en définissant le paramètre sae_pwe à 1 ou 2.
- La mise en œuvre de EAP-TLS a ajouté la prise en charge de TLS 1.3 (désactivée par défaut).
- De nouveaux paramètres (max_auth_rounds, max_auth_rounds_short) ont été ajoutés pour modifier les limites sur le nombre de messages EAP lors du processus d'authentification (ces limites peuvent avoir besoin d'être ajustées lors de l'utilisation de certificats très volumineux).
- Ajout de la 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 à un stade précoce de la connexion.
- Mise en œuvre du mécanisme Transition Disable, permettant de désactiver automatiquement le mode de roaming, permettant de passer d'un point d'accès à l'autre lors du déplacement, pour renforcer la sécurité.
- La prise en charge du protocole WEP a été supprimée des compilations par défaut (un retour à la prise en charge de WEP nécessite une recompilation avec l'option CONFIG_WEP=y). Fonctionnalité obsolète associée au protocole IAPP (Inter-Access Point Protocol) supprimée. La prise en charge de libnl 1.1 a été arrêtée. Ajout d'une option de compilation CONFIG_NO_TKIP=y pour une compilation sans prise en charge de TKIP.
- Des vulnérabilités dans la mise en œuvre de UPnP (CVE-2020-12695), dans le gestionnaire P2P/Wi-Fi Direct (CVE-2021-27803) et dans le mécanisme de protection PMF (CVE-2019-16275) ont été corrigées.
- Parmi les changements spécifiques à hostapd, on note 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 bande de fréquence de 6 GHz.
- Modifications spécifiques à wpa_supplicant :
- Ajout de la prise en charge des paramètres de mode point d'accès pour SAE (WPA3-Personal).
- Pour les canaux EDMG (IEEE 802.11ay), la prise en charge du mode P2P a été mise en œuvre.
- Amélioration de la prévision de la bande passante et de la sélection de BSS.
- Interface de gestion étendue via D-Bus.
- Ajout d'un nouveau backend pour le stockage des mots de passe dans un fichier séparé, permettant d'extraire des informations confidentielles du fichier de configuration principal.
- Nouvelles politiques ajoutées pour SCS, MSCS et DSCP.
Source : opennet.ru
