В OpenSSH код аутентификации вынесен в отдельный процесс sshd-auth

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3582
Зарегистрирован: 20.08.2022

#

В OpenSSH код аутентификации вынесен в отдельный процесс sshd-auth
Дата публикации:Tue, 15 Oct 2024 17:32:15 +0300




Разработчики OpenSSH продолжили разделение sshd на несколько отдельных исполняемых файлов. На реализованном в мае первом этапе разделения из 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
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=62052

Жизнь за Нер'зула!

Ответить