В OpenSSH кодът за удостоверяване е изнесен в отделен процес sshd-auth

Разработчиците на OpenSSH продължиха разделението на sshd на няколко отделни изпълними файла. В реализирания през май първи етап от разделението, функциите, свързани с обработката на сесии, бяха извлечени в отделен процес sshd-session, а в sshd остана само функционалността, необходима за приемане на нова мрежова свързаност и стартиране на sshd-session за всяка нова сесия. Вчера в кодовата база на OpenSSH бе направена промяна, която добави още един процес - sshd-auth, в който от sshd-session бе преместен кодът, изпълняващ аутентификацията.

Процесът sshd-auth се стартира от sshd-session и позволява допълнително изолиране на данните, свързани с аутентификацията, в адресното пространство на отделен процес, което предотвратява достъпа до тези данни в паметта в случай на атаки над кода, използван за обработка на етапите на свързването преди завършването на аутентификацията. Освен това, промяната малко ще намали консумацията на памет, тъй като свързаният с аутентификацията код сега присъства в паметта само по време на аутентификацията, а след това се освобождава при завършване на процеса sshd-auth.

По аналогия с sshd, ssh-session и ssh-agent за процеса sshd-auth е приложена операция за случайно прекомпозиране на изпълнимия файл по време на всяко зареждане на операционната система. Случайното прекомпозиране прави неправилно предсказуеми офсетите на функциите в изпълнимите файлове и библиотеки, което затруднява създаването на експлойти, използващи методи на връщащо-ориентирано програмиране (ROP - Return-Oriented Programming). При прилагане на техниката ROP атакуващият не се опитва да постави своя код в паметта, а работи с вече наличните парчета машинни инструкции, завършващи с инструкция за връщане на контрола (обикновено това са краища на функции). Работата на експлойта се свежда до изграждане на поредица от повиквания на подобни блокове („гаджети“) за получаване на необходимата функционалност.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster