The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

15.10.2024 17:32

Разработчики 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 атакующий не пытается разместить свой код в памяти, а оперирует уже имеющимися кусками машинных инструкций, завершающихся инструкцией возврата управления (как правило, это окончания функций). Работа эксплоита сводится к построению цепочки вызовов подобных блоков ("гаджетов") для получения нужной функциональности.

  1. Главная ссылка к новости (https://undeadly.org/cgi?actio...)
  2. OpenNews: Релиз OpenSSH 9.9 с поддержкой алгоритма постквантового шифрования ML-KEM
  3. OpenNews: Релиз OpenSSH 9.8 с отключением алгоритма DSA и дополнительными механизмами защиты
  4. OpenNews: Уязвимость в OpenSSH, позволяющая удалённо выполнить код с правами root на серверах с Glibc
  5. OpenNews: В OpenSSH добавлена встроенная защита от атак по подбору паролей
  6. OpenNews: Проект OpenSSH разделяет sshd на несколько исполняемых файлов
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62052-ssh
Ключевые слова: ssh, openssh
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (33) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, qweo (?), 17:45, 15/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Ещё немного, и повторят архитектуру inetd и иже с ним :-)
    Молодцы, на самом деле!
     
     
  • 2.9, Аноним (9), 18:28, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати, очень  хоршая штука. Недавно работал только xinetd. Опция запуска с учетом времени суток вообще киллерфича.
     

  • 1.2, Аноним (2), 17:47, 15/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Здорово, ещё один левый процесс...
     
     
  • 2.4, Аноним (4), 17:52, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё один вектор атаки.
     
     
  • 3.8, Имя (?), 18:14, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Наоборот, старую кодяру разнесли по разным процессам ОС. Тем самым изолировали разные участки кода и данных друг от друга. Это может уменьшить неприятности от атаки, опирающейся уязвимость в коде.
     
  • 3.10, Аноним (9), 18:28, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ой ли, прям вертор...
     
     
  • 4.19, MaleDog (?), 19:27, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Мало до этого было атак с манипуляцией параметрами запуска приложений? Если код сложный, то почему просто не вынести в либы. Зачем новый процесс порождать?
     
     
  • 5.22, Аноним (22), 20:15, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Зачем новый процесс порождать?

    ща прибежит Мяю и пояснит, для МАС

     
  • 5.24, Аноним (24), 20:37, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как бы, отдельный процесс - отдельное адресное пространство.
     
  • 2.11, Аноним (11), 18:37, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    То тут идет онанирование «одна задача — один процесс», то тебе теперь не нравится, что задача вынесена в отдельный процесс
    Вы бы определились, блин!
     
     
  • 3.12, Аноним (2), 18:46, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так разные онанимы.
     
     
  • 4.29, Аноним (29), 21:12, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Так разные онанимы.

    Да едины мы, едины - просто ты новенький, других пока не слышишь и считаешь что один-единственный в голове нашего общего тела ...
    Глянь на часы - куда две с половиной минуты делись? (а это я ответ писал, нашими общими руками) ...

     

  • 1.3, Аноним (4), 17:50, 15/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Это жжжж не проста. Будут внедрять  в системд? Уверен что это сделано не для удобства пользователей.
     
     
  • 2.5, DeerFriend (?), 18:06, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    демона выкинут, оставят системд.сокет
     
     
  • 3.6, DeerFriend (?), 18:08, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А энтузиасты будут прикручивать оставшееся к интетд, чтобы запускалось на диване.
     
     
  • 4.25, Аноним (24), 20:40, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Лучше подумай, как оно тогда на OpenBSD должно работать.
     
  • 3.15, Аноним (-), 19:04, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это было бы великолепно в плане унификации и приведению к единому стандарту, а не каши из разношерстных утилит. Ещё бы так сделали с GUI, то авось пересилили бы те 0.01% на десктопе.
     
     
  • 4.26, Аноним (24), 20:42, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >4% не считая ХромойОС.
     
  • 2.35, Аноним (35), 23:00, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    какой systemd в openbsd?
     

  • 1.7, Аноним (7), 18:12, 15/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Надо процессы запуска и остановки процессов выделить в отдельные процессы.
    И да поглотит все рекурсия в бесконечном цикле!
     
     
  • 2.16, Аноним (16), 19:04, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И чтоб каждый файл, каждый юзер -- всё в докере!
     
     
  • 3.18, MaleDog (?), 19:22, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А потом еще придумать костыли как дать процессам доступ к файлам чужих пользователей. "Приложение sftpd pid 36489 просит доступ к фото". После разрешения предоставляем доступ ко всем jpg и png на разделе.  Андроид?
     
     
  • 4.23, Аноним (22), 20:16, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > А потом еще придумать костыли как дать процессам доступ к файлам чужих пользователей.

    Так есть же - МАС.

     

  • 1.14, Аноним (-), 19:02, 15/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > В OpenSSH код аутентификации вынесен в отдельный процесс sshd-auth

    Это хорошо или плохо? Что меняет для конечных пользователей?

     
     
  • 2.20, kusb (?), 19:41, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Может быть не взломают. Это и сделано для конечных пользователей, на самом деле.
     

  • 1.17, Аноним (17), 19:11, 15/10/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

  • 1.21, Аноним (21), 19:51, 15/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ну блин, R^X не пробовали? Вообще всё ROP отрезает.
     
     
  • 2.27, Аноним (24), 20:47, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Точно, RDX вообще всё напрочь отрезает.
     

  • 1.30, Аноним (30), 21:16, 15/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Количество уязвимостей в программе зависит от количества ошибок в ней. А количество ошибок зависит от густоты ошибок в коде и объёма кода. А густота ошибок зависит от языка программирования. От разделения программы на несколько процессов объём кода и язык программирования не изменились.
    Какой вывод?
     
     
  • 2.31, Аноним (31), 21:32, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вывод: ты не понимаешь, о чём говоришь.
     

  • 1.34, Аноним (34), 22:37, 15/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вопрос взаимодействия процессов и передачи данных между ними. Сколько багов возникает при передаче через аргументы при старте процесса...
     
     
  • 2.37, Аноним (35), 00:49, 16/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    17. Возникает 17 багов. Раз вам так интересно.
     

  • 1.36, Аноним (36), 23:27, 15/10/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру