OpenSSH znowu się dzieli: ujawniono nowy plik wykonywalny do uwierzytelniania
Proces podziału sshd postępuje wraz z sshd-auth, izolując uwierzytelnianie w osobnym pliku binarnym i zmniejszając powierzchnię ataku przed uwierzytelnieniem w OpenSSH.
Trwają wysiłki mające na celu zwiększenie bezpieczeństwa OpenSSH poprzez rozdzielenie funkcji na osobne binaria, a najnowszy rozwój wprowadza nowe binarium, sshd-auth.
Ta zmiana jest częścią szerszej strategii OpenBSD mającej na celu uczynienie implementacji OpenSSH jeszcze bezpieczniejszą i bardziej wydajną.
Damien Miller, programista OpenBSD, niedawno zatwierdził tę nową aktualizację, której celem jest dalsze rozdzielenie funkcji sshd poprzez utworzenie dedykowanego pliku binarnego do uwierzytelniania użytkowników.
Jak stwierdzono w wiadomości o commicie, cel jest prosty: „Oddzielenie tego kodu do osobnego pliku wykonywalnego zapewnia, że krytyczna powierzchnia ataku w fazie przed uwierzytelnieniem ma całkowicie odizolowaną przestrzeń adresową od kodu używanego do reszty połączenia.”
Innymi słowy, skutecznie minimalizuje to ryzyko poprzez izolowanie etapu przed uwierzytelnieniem i zmniejszenie ogólnej powierzchni podatnej na ataki.
Co więcej, to podejście oferuje dodatkową korzyść: niewielką oszczędność pamięci operacyjnej. Po zakończeniu fazy uwierzytelniania kod uwierzytelniający zostanie zwolniony, uwalniając pamięć dla innych zadań.
Ta zmiana została już włączona do testowych wersji OpenBSD i była testowana od zeszłego tygodnia. Podobnie jak w przypadku innych komponentów, takich jak sshd, ssh-session i ssh-agent, nowy plik binarny sshd-auth będzie losowo ponownie łączony podczas uruchamiania systemu, dodając kolejną warstwę ochrony.
Aby uzyskać więcej informacji, zapoznaj się z ogłoszeniem w OpenBSD Journal.
Jak to się ma do innych implementacji OpenSSH
Jak zapewne wiesz, OpenSSH jest częścią projektu OpenBSD i jest szeroko stosowany w różnych systemach operacyjnych, w tym w Linuksie. Tak więc zmiany wprowadzone w wersji OpenSSH dla OpenBSD często znajdują odzwierciedlenie w innych implementacjach, ponieważ wspólne jest rdzeniowe oprogramowanie.
Oznacza to, że ulepszenia, takie jak rozdzielenie funkcji na osobne pliki binarne, w końcu trafią do Linuksa i innych systemów opierających się na OpenSSH.
