Opublikowano wersję OpenSSH 9.9, otwartej implementacji klienta i serwera do pracy z protokołami SSH 2.0 oraz SFTP. Główne zmiany:
- W ssh i sshd dodano wsparcie dla hybrydowego algorytmu wymiany kluczy „mlkem768x25519-sha256”, odpornego na ataki kwantowe, będącego kombinacją X25519 ECDH i algorytmu ML-KEM (CRYSTALS-Kyber), niedawno sformalizowanego przez Amerykański Narodowy Instytut Standardów i Technologii (NIST). ML-KEM wykorzystuje metody kryptografii oparte na rozwiązaniu problemów teorii siatek, których czas rozwiązania nie różni się na klasycznych i kwantowych komputerach.
- Do pliku konfiguracyjnego sshd_config dodano słowo kluczowe „RefuseConnection”, po jego ustawieniu sshd kończy połączenia po pierwszej próbie autoryzacji. W dyrektywie PerSourcePenalties dodano klasę „refuseconnection”, która jest stosowana, gdy połączenie zostaje zakończone po aktywacji „RefuseConnection”.
- W kliencie ssh zaprzestano wsparcia dla kompresji danych przed przejściem procesu autoryzacji, co znacznie zwiększa powierzchnię ataku na serwery SSH i stwarza ryzyko zastosowania pośrednich metod analizy informacji przesyłanych w trakcie autoryzacji. W serwerze sshd kompresja przed autoryzacją została wyłączona wcześniej.
- W ssh i sshd podczas analizy argumentów dyrektywy „Match” zastosowano zasady podobne do zasad powłoki dotyczących pracy z ciągami zawartymi w cudzysłowach, które wspierają zagnieżdżone otoczenie i ucieczkę przy użyciu znaku „\”.
- W pliku konfiguracyjnym ssh_config w dyrektywie „Include” zapewniono wsparcie dla zmiennych środowiskowych i substytucji „%”, takich jak w dyrektywie „Match Exec”.
- W sshd_config w dyrektywie Match dodano opcję „invalid-user”, która jest wyzwalana podczas próby zalogowania się z niepoprawną nazwą użytkownika.
- W ssh i sshd wprowadzono szybszą implementację algorytmu „Streamlined NTRUPrime”. Dla hybrydowego algorytmu wymiany kluczy Streamlined NTRUPrime/X25519 dodano możliwość użycia nazwy „sntrup761x25519-sha512”, oprócz specyficznej dla SSH nazwy „sntrup761x25519-sha512@openssh.com”.
- W ssh, sshd i ssh-agent dodano ochronę przed występowaniem prywatnych kluczy w plikach core działającą w OpenBSD, Linux i FreeBSD.
- Obsługa kluczy została przestawiona na wykorzystanie API EVP_PKEY, dostarczanego przez bibliotekę libcrypto.
- W sshd dodano losowe zmienienie czasu oczekiwania na połączenie (LoginGraceTime) w granicach 4 sekund, aby utrudnić określenie wygaszenia czasu.
- Rozwiązano problemy z budowaniem z biblioteką Musl.
Źródło: opennet.ru
