Po sześciu miesiącach rozwoju wydanie , otwartą implementację klienta i serwera do pracy z protokołami SSH 2.0 i SFTP.
Nowa wersja zasługuje na szczególną uwagę z powodu usunięcia podatności dotyczącej ssh, sshd, ssh-add i ssh-keygen. Problem występuje w kodzie analizy kluczy prywatnych typu XMSS i umożliwia atakującemu inicjowanie przepełnienia licznika. Podatność została oznaczona jako wykorzystywana, ale mało zastosowana, ponieważ wsparcie dla kluczy XMSS należy do eksperymentalnych możliwości, które są domyślnie wyłączone (w przenośnej wersji w autoconf nie przewidziano nawet opcji kompilacji do włączenia XMSS).
Główne zmiany:
- W ssh, sshd i ssh-agent kod, który uniemożliwia przywrócenie prywatnego klucza znajdującego się w pamięci operacyjnej w wyniku ataków poprzez boczne kanały, takich jak , i . Prywatne klucze są teraz szyfrowane podczas ładowania do pamięci i deszyfrowane tylko w momencie użycia, w przeciwnym razie pozostają zaszyfrowane. Przy takim podejściu, aby skutecznie przywrócić klucz prywatny, atakujący musi najpierw przywrócić losowo wygenerowany klucz pośredni o wielkości 16 KB, używany do szyfrowania głównego klucza, co jest mało prawdopodobne przy charakterystycznej dla nowoczesnych ataków częstotliwości błędów przywracania;
- W dodano eksperymentalne wsparcie dla uproszczonego schematu tworzenia i weryfikacji podpisów cyfrowych. Podpisy cyfrowe mogą być tworzone przy użyciu zwykłych kluczy SSH przechowywanych na dysku lub w ssh-agent i weryfikowane z użyciem podobnych do authorized_keys . Do podpisu cyfrowego wbudowane są informacje o przestrzeni nazw, aby uniknąć zamieszania podczas stosowania w różnych dziedzinach (na przykład dla e-maili i plików);
- ssh-keygen domyślnie przeszło na używanie algorytmu rsa-sha2-512 podczas certyfikowania podpisów cyfrowych z wykorzystaniem klucza RSA (w trybie CA). Takie certyfikaty są niekompatybilne z wersjami wcześniejszymi niż OpenSSH 7.2 (dla zapewnienia kompatybilności można nadpisać typ algorytmu, na przykład poprzez wywołanie „ssh-keygen -t ssh-rsa -s …”);
- W ssh w wyrażeniu ProxyCommand zrealizowano wsparcie dla rozwijania podstawienia „%n” (określonego w pasku adresu nazwy hosta);
- W listach algorytmów szyfrowania dla ssh i sshd do wstawiania domyślnie proponowanych algorytmów można teraz używać znaku „^”. Na przykład, aby dodać ssh-ed25519 do listy domyślnej, można wskazać „HostKeyAlgorithms ^ssh-ed25519”;
- W ssh-keygen zapewniono wyjście dołączonego do klucza komentarza przy wydobywaniu klucza publicznego z klucza prywatnego;
- W ssh-keygen dodano możliwość użycia flagi „-v” przy wykonywaniu operacji wyszukiwania kluczy (na przykład „ssh-keygen -vF host”), której wskazanie prowadzi do wyświetlenia wizualnej sygnatury hosta;
- Dodano możliwość używania jako alternatywny format do przechowywania kluczy prywatnych na dysku. Domyślnie wciąż używany jest format PEM, a PKCS8 może okazać się przydatny dla uzyskania kompatybilności z aplikacjami zewnętrznymi.
Źródło: opennet.ru
