URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 129561
[ Назад ]

Исходное сообщение
"В OpenBSD для sshd применена перекомпоновка во время загрузки"

Отправлено opennews , 20-Янв-23 17:54 
В OpenBSD реализована техника защиты от эксплуатации уязвимостей, основанная на перекомпоновке исполняемого файла sshd со случайной перегруппировкой библиотек (libc.so, libcrypto.so, ld.so и т.п.)  при каждой загрузке системы.  В ближайшее время подобную защиту также планируется реализовать для ntpd и других серверных приложений. Изменение уже включено в состав ветки CURRENT и будет предложено в выпуске OpenBSD 7.3...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=58520


Содержание

Сообщения в этом обсуждении
"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 20-Янв-23 17:54 
Костыли какието

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 20-Янв-23 17:54 
Первое, что я делаю на этапе установки, хоть на очень старых компах, хоть на более современных, это rm -r /mnt/usr/share/relink

Если я буду продолжать так делать, sshd будет работать?


"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 20-Янв-23 21:55 
> rm -r /mnt/usr/share/relink

Но зачем?


"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 04:27 
на старых системах - потому что инсталляция по оом сдохнет. по новой - мне не надо КАЖДУЮ перезагрузку перекомпилировать ядро, оно жрёт проц и память. Ну и лишнее место занимает.

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 16:52 
> мне не надо КАЖДУЮ перезагрузку перекомпилировать ядро, оно жрёт проц и память

тогда тебе и опенбзд не нужна, раз ты не разделяешь ценностей и целей сообщества (и ничего там не перекомпилируется, изучи вопрос)


"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено ob2 , 22-Янв-23 02:00 
хорошо, перелинковывается, какая разница - жрёт и тормозит

ну да, до 6.1, вроде, этого не было, и тут вдруг появилось, и это сразу стало "ценностью сообщества". установщик нормально поддерживает тот факт, что в процессе установки я грохну /usr/share/relink, поэтому и мне жаловаться не на что. а уж что мне нужно, я сам решу


"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено kusb , 23-Янв-23 16:16 
Они просто дают инструменты, может быть перелинковывать всё при каждой загрузке это много.
Но ...может можно перелинковывать просто иногда или во время работы системы без блокировки других процессов? А перелинкованное ядро запустится при следующей загрузке.

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 20-Янв-23 22:38 
А зачем вам OpenBSD, если не секрет?

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 04:28 
Она мне удобна.

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 15:02 
Тогда зачем сносить relink?

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено ob2 , 22-Янв-23 02:01 
логично, потому что он мне неудобен и нигде не нужен

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 20-Янв-23 18:00 
> применена перекомпоновка во время загрузки

турбирующие обезьяны, сэр!

Ну можно же релинк сделать однажды после установки, но замедлять систему при каждой загрузке - это шедевр. Да, я знаю, это не только для ссш.


"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 20-Янв-23 22:47 
Это компромисс между перекомпоновкой перед каждым запуском бинарника и полным отсутствием таковой в принципе.

В теории, атакующий может использовать разные уязвимости: одну для считывания кода бинарника, другую — для подстановки своих данных, для собственно перехвата управления. Поэтому в идеале было бы рандомизировать содержимое .text перед каждым запуском программы. Но это слишком большие накладные расходы, такое почти никто не будет использовать.


"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 14:00 
Так жеж нетбзду мало кто использует, особенно на практике. Так что всё верно.

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 20-Янв-23 18:08 
А проверку воспроизводимости сборок это не подломает? Так-то куда интереснее знать что в системе изначально стоит не шерето чем защищать костылями заведомо скомпрометированный локалхост

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 20-Янв-23 18:39 
Перелинковываем бинарник на диске? Или все же в памяти?

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Онанист , 20-Янв-23 20:37 
А на диске-то зачем?

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 20-Янв-23 22:40 
Не ломает. Верификация происходит до собственно установки. В том и прелесть, что установочные образы — одинаковые, а ключевые системные компоненты, с точки зрения атакающих, — разные.

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 20-Янв-23 20:51 
R^X почему то не хотят сделать

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 20-Янв-23 22:41 
Работа идёт. К сожалению, Intel'овские процы изначально это не позволяли...

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 01:40 
Олё, болезный! x86_64 изначально уже предполагала эту фичу. Это архаичная x86 не поддерживала. Но её уже изжили.

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 20-Янв-23 21:29 
https://github.com/runsafesecurity/selfrando

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено анон , 20-Янв-23 22:06 
Сколько же костылей сделано, лишь бы не делать проц с современным контролем сегментов.

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 00:54 
Дак было же, сегментация 286-го. Дали тебе сегмент - и фиг ты из него вылезешь. Но в эпоху 64-битности её выпилили полностью.

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 01:31 
MMU с атрибутами страниц может все то же что сегментация, только гибче и круче. Заодно еще и paging под шумок может, позволяя кастомную обработку исключений. И если что - юзерская программа не имеет прямого доступа к управлению правами страниц. Так что если что-то идет не так, возможно стоит пропатчить кернелы на тему того как они это делают.

Тео впрочем предпочел вбить фееричный костыль на тему ASLR. Сделать ASLR нормально? А, фиг, давайте лучше линкером бинари на диске корежить будем. Ну, логично, блин, если системных программистов не осталось в системе - тогда вот так.


"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 09:39 
> Сделать ASLR нормально? А, фиг

Вообще-то в OpenBSD он там есть.


"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 10:26 
> Тео впрочем предпочел вбить фееричный костыль на тему ASLR. Сделать ASLR нормально?
> А, фиг, давайте лучше линкером бинари на диске корежить будем. Ну,
> логично, блин, если системных программистов не осталось в системе - тогда вот так.

Т.е. в линуксах системных погроммисто не осталось, так и запишем.


"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 12:47 
Самое главное что системные программы осталось на опеннет и они готовы рассказать не системным не программистам, как им надо было писать их программы

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 15:21 
ASLR и описанная технология друг друга не исключают, а дополняют.

А ASLR в OpenBSD имеется и работает уже десятка два лет как.


"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 20-Янв-23 21:29 
Ох-нно.

Теперь сисадмин даже не может проверить бинарник на предмет целостности.

Отличная идея для хакеров, поржал.


"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 20-Янв-23 21:53 
ты вот прям-пряи реально думаешь, что при каждом запуске бинарник сам себя  перезаписыаает на файловой системе, а не в памяти перетасовывает адреса? o_O

Ты случно не на расте пишешь hello world'ы?


"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено ivan_erohin , 20-Янв-23 22:05 
> Ты случно не на расте пишешь hello world'ы?

нет, на /bin/sh


"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 20-Янв-23 22:42 
Бинарник перезаписывается на диске. Но делает это не он сам, а /etc/rc.

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 20-Янв-23 22:31 
Ну всё, теперь все два локалхоста под управлением OpenBSD в безопасности. Можно больше не волноваться.

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 20-Янв-23 23:03 
И смешно, и правда))

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено pashev.ru , 20-Янв-23 23:32 
Coreduump в труху?

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 07:06 
Тихо, они ещё не до дебага не добрались

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 00:23 
В последнее время линукс дистроклепатели упариваются в разные методы реализации "консистентности" ОС на конечных ПК пользователей. Я говорю про всякие там федоры, vanilla os (кстати ЕМНИП в deepin концепция A/B разделов была реализована давным давно). А Эти я так полагаю модифицирует бинари на накопителе перед из загрузкой в озу?

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 00:50 
мир свернул куда-то не туда в эпоху системд и растов.

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено BorichL , 24-Янв-23 16:54 
Мир свернул не туда ещё во времена всёвытесняющего замещения тупopылoй интелловской архитектурой.

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 11:54 
> А Эти я так полагаю модифицирует бинари на накопителе перед из загрузкой в озу?

там просто .o файлы, из которых бинарник линкуется. проверяй .o файлы, кто мешает


"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 02:57 
Эй, экспертусы, поясните нибудь, чем это отличается от рандомизации адресного пространства (ASLR). Тут типа ещё офсеты функций и статических данных каждый раз новые внутри секций? Типа процедуры каждый раз по-новому переставляются относительно друг друга и т.д.?

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено www2 , 21-Янв-23 13:12 
Присоединяюсь к вопросу. Чем это отличается от ASLR?

Вмдимо, всё-таки имеется в виду, что случайные адреса получают секции .text из статически скомпонованных .o-файлов, входящих в состав sshd, а не динамически загружаемые .so-библиотеки, для которых и так есть ASLR.


"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 15:08 
ASLR разместит вашу секцию .text при запуске в произвольном месте оперативной памяти. При этом относительно друг друга все функции расположены по одним и тем же смещениям.

Перекомпоновка же даёт иное содержимое секции кода.

Так что эти технологии дополняют друг друга. И, да, ASLR в OpenBSD по умолчанию был включён куда раньше, чем в подавляющем большинстве Linux-дистрибутивов.


"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено www2 , 21-Янв-23 17:41 
Что-то я сомневаюсь, что компоновщик ещё и внутри каждого .o-файла будет менять адреса функций. Перетасовать .o-файлы - да, а внутри них что-то менять - вряд ли.

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 22:47 
sshd собирается не из одного .o файла

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено 1 , 23-Янв-23 10:10 
Приятно прочитать технический ответ.
А не "сам дурак".

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 10:45 
О давно не слыхал. Как там Тео поживает?

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 13:10 
Тео опять что-то придумал в пустоту.

"В OpenBSD для sshd применена перекомпоновка во время загрузк..."
Отправлено Аноним , 21-Янв-23 15:10 
Спасибо за ваше ценное аргументированное мнение. Мы обязательно учтём его в следующих релизах OpenBSD.