OpenBSD sshd zostało ponownie połączone podczas uruchamiania

OpenBSD implementuje technikę zapobiegającą exploitom, która polega na losowym ponownym łączeniu pliku wykonywalnego sshd przy każdym uruchomieniu systemu. Ta technika ponownego łączenia była wcześniej używana w przypadku jądra i bibliotek libc.so, libcrypto.so i ld.so, a teraz będzie używana w przypadku niektórych plików wykonywalnych. W najbliższej przyszłości planowane jest wdrożenie metody również dla ntpd i innych aplikacji serwerowych. Zmiana jest już uwzględniona w gałęzi CURRENT i będzie oferowana w wydaniu OpenBSD 7.3.

Ponowne łączenie sprawia, że ​​przemieszczenia funkcji w bibliotekach są mniej przewidywalne, co utrudnia tworzenie exploitów przy użyciu metod programowania zorientowanego na zwrot (ROP). Korzystając z techniki ROP, atakujący nie próbuje umieścić swojego kodu w pamięci, lecz operuje na fragmentach instrukcji maszynowych dostępnych już w załadowanych bibliotekach, kończąc na instrukcji sterującego powrotu (z reguły są to końce funkcji bibliotecznych) . Działanie exploita sprowadza się do zbudowania łańcucha wywołań do podobnych bloków („gadżetów”) w celu uzyskania pożądanej funkcjonalności.

Źródło: opennet.ru

Dodaj komentarz