Wydanie hostapd i wpa_supplicant 2.10

Po półtora roku prac przygotowano wersję hostapd/wpa_supplicant 2.10, zestaw do obsługi protokołów bezprzewodowych IEEE 802.1X, WPA, WPA2, WPA3 i EAP, składający się z aplikacji wpa_supplicant do łączenia się z siecią bezprzewodową jako klient i proces w tle hostapd zapewniający działanie punktu dostępu i serwera uwierzytelniającego, w tym komponenty takie jak WPA Authenticator, klient/serwer uwierzytelniający RADIUS, serwer EAP. Kod źródłowy projektu rozpowszechniany jest na licencji BSD.

Oprócz zmian funkcjonalnych nowa wersja blokuje nowy wektor ataku typu side-channel wpływający na metodę negocjacji połączenia SAE (Simultaneous Authentication of Equals) oraz protokół EAP-pwd. Osoba atakująca, która ma możliwość wykonania nieuprzywilejowanego kodu w systemie użytkownika łączącego się z siecią bezprzewodową, może monitorując aktywność w systemie uzyskać informacje o charakterystyce hasła i wykorzystać je do uproszczenia odgadnięcia hasła w trybie offline. Problem wynika z wycieku zewnętrznymi kanałami informacji o cechach hasła, co pozwala na podstawie danych pośrednich, takich jak zmiany opóźnień podczas operacji, wyjaśnić prawidłowość wyboru części hasła w proces jego wyboru.

W odróżnieniu od podobnych problemów naprawionych w 2019 roku, nowa luka wynika z faktu, że zewnętrzne prymitywy kryptograficzne użyte w funkcji crypto_ec_point_solve_y_coord() nie zapewniały stałego czasu wykonania, niezależnie od charakteru przetwarzanych danych. Na podstawie analizy zachowania pamięci podręcznej procesora atakujący, który miał możliwość uruchomienia nieuprzywilejowanego kodu na tym samym rdzeniu procesora, mógł uzyskać informację o postępie operacji haseł w SAE/EAP-pwd. Problem dotyczy wszystkich wersji wpa_supplicant i hostapd skompilowanych z obsługą SAE (CONFIG_SAE=y) i EAP-pwd (CONFIG_EAP_PWD=y).

Inne zmiany w nowych wydaniach hostapd i wpa_supplicant:

  • Dodano możliwość budowania przy użyciu biblioteki kryptograficznej OpenSSL 3.0.
  • Zaimplementowano zaproponowany w aktualizacji specyfikacji WPA3 mechanizm Beacon Protection, mający na celu ochronę przed aktywnymi atakami na sieć bezprzewodową manipulującymi zmianami w ramkach Beacon.
  • Dodano obsługę protokołu DPP 2 (Wi-Fi Device Provisioning Protocol), który definiuje metodę uwierzytelniania za pomocą klucza publicznego stosowaną w standardzie WPA3 w celu uproszczonej konfiguracji urządzeń bez interfejsu ekranowego. Konfiguracja odbywa się przy użyciu innego, bardziej zaawansowanego urządzenia podłączonego już do sieci bezprzewodowej. Przykładowo parametry urządzenia IoT bez ekranu można ustawić ze smartfona na podstawie migawki kodu QR wydrukowanego na obudowie;
  • Dodano obsługę rozszerzonego identyfikatora klucza (IEEE 802.11-2016).
  • Do implementacji metody negocjacji połączenia SAE dodano obsługę mechanizmu bezpieczeństwa SAE-PK (SAE Public Key). Zaimplementowano tryb natychmiastowego wysyłania potwierdzeń, włączany opcją „sae_config_immediate=1”, a także mechanizm hash-to-element, włączany w przypadku ustawienia parametru sae_pwe na 1 lub 2.
  • Implementacja EAP-TLS dodała obsługę protokołu TLS 1.3 (domyślnie wyłączona).
  • Dodano nowe ustawienia (max_auth_rounds, max_auth_rounds_short) umożliwiające zmianę limitów liczby wiadomości EAP podczas procesu uwierzytelniania (zmiany limitów mogą być wymagane w przypadku korzystania z bardzo dużych certyfikatów).
  • Dodano obsługę mechanizmu PASN (Pre Association Security Negotiation) umożliwiającego nawiązanie bezpiecznego połączenia i zabezpieczenie wymiany ramek kontrolnych na wcześniejszym etapie połączenia.
  • Zaimplementowano mechanizm Transition Disable, który umożliwia automatyczne wyłączenie trybu roamingu, który umożliwia przełączanie się pomiędzy punktami dostępu podczas przemieszczania się, co zwiększa bezpieczeństwo.
  • Obsługa protokołu WEP jest wyłączona z kompilacji domyślnych (w celu przywrócenia obsługi WEP wymagana jest przebudowa z opcją CONFIG_WEP=y). Usunięto starszą funkcjonalność związaną z protokołem Inter-Access Point Protocol (IAPP). Zakończono wsparcie dla libnl 1.1. Dodano opcję kompilacji CONFIG_NO_TKIP=y dla kompilacji bez obsługi TKIP.
  • Naprawiono luki w implementacji UPnP (CVE-2020-12695), w procedurze obsługi P2P/Wi-Fi Direct (CVE-2021-27803) i w mechanizmie ochrony PMF (CVE-2019-16275).
  • Zmiany specyficzne dla Hostapd obejmują rozszerzoną obsługę sieci bezprzewodowych HEW (High-Efficiency Wireless, IEEE 802.11ax), w tym możliwość wykorzystania zakresu częstotliwości 6 GHz.
  • Zmiany specyficzne dla wpa_supplicant:
    • Dodano obsługę ustawień trybu punktu dostępu dla SAE (WPA3-Personal).
    • Obsługa trybu P802.11P jest zaimplementowana dla kanałów EDMG (IEEE 2ay).
    • Ulepszone przewidywanie przepustowości i wybór BSS.
    • Interfejs sterowania poprzez D-Bus został rozszerzony.
    • Dodano nowy backend do przechowywania haseł w osobnym pliku, co pozwala na usunięcie wrażliwych informacji z głównego pliku konfiguracyjnego.
    • Dodano nowe zasady dla SCS, MSCS i DSCP.

Źródło: opennet.ru

Dodaj komentarz