W OpenSSH kod uwierzytelniania przeniesiono do osobnego procesu sshd-auth.

Deweloperzy OpenSSH kontynuowali rozdzielanie sshd na kilka oddzielnych plików wykonywalnych. W pierwszym etapie rozdzielenia, zrealizowanym w maju, funkcje związane z obsługą sesji zostały przeniesione z sshd do oddzielnego procesu sshd-session, pozostawiając w sshd jedynie funkcjonalność potrzebną do odbierania nowego połączenia sieciowego i uruchamiania sshd-session dla każdej nowej sesji. Wczoraj do kodu podstawowego OpenSSH wprowadzono zmianę, która dodaje jeszcze jeden proces — sshd-auth, w który przeniesiono kod odpowiedzialny za autoryzację.

Proces sshd-auth jest uruchamiany z sshd-session i umożliwia dodatkowe izolowanie danych związanych z autoryzacją w przestrzeni adresowej oddzielnego procesu, co uniemożliwia dostęp do tych danych w pamięci w przypadku ataków na kod używany do obsługi faz połączenia przed zakończeniem autoryzacji. Co więcej, zmiana nieco zmniejszy zużycie pamięci, ponieważ kod związany z autoryzacją jest teraz obecny w pamięci tylko w momencie przeprowadzania autoryzacji, a następnie jest usuwany po zakończeniu procesu sshd-auth.

Podobnie jak w przypadku sshd, ssh-session i ssh-agent, dla procesu sshd-auth zastosowano operację losowego przekształcania pliku wykonywalnego podczas każdego uruchomienia systemu operacyjnego. Losowe przekształcanie sprawia, że przesunięcia funkcji w plikach wykonywalnych i bibliotekach są trudne do przewidzenia, co utrudnia tworzenie exploitów wykorzystujących techniki programowania oparte na powrocie (ROP — Return-Oriented Programming). W przypadku użycia techniki ROP atakujący nie próbuje umieścić swojego kodu w pamięci, lecz operuje już istniejącymi fragmentami instrukcji maszynowych kończących się instrukcją zwrotu kontroli (zwykle są to zakończenia funkcji). Działanie exploitu sprowadza się do budowania łańcucha wywołań takich bloków („gadżetów”) w celu uzyskania pożądanej funkcjonalności.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster