| |
| 2.2, Вадим Жуков (?), 09:50, 05/10/2026 [^] [^^] [^^^] [ответить]
| +6 +/– |
chroot меняет видимую структуру каталогов и доступен только для root. Так как если его разрешить использовать обычным пользователям, это само по себе станет вектором для атак: представьте себе, что атакующий воссоздаёт /etc, /usr, /var и т.д. в своей папке, а потом делает chroot и провоцирует срабатывание чужого кода, который честно считывает параметры работы и доступа из, казалось бы, доверенных каталогов.
| | |
| |
| 3.14, Аноним1234 (?), 11:00, 05/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
>chroot меняет видимую структуру каталогов и доступен только для root.
chroot запускается без прав суперпользователя в комлпекте с unshare (если речь идёт о Linix).
>Так как если его разрешить использовать обычным пользователям, это само по себе станет вектором для атак: представьте себе, что атакующий воссоздаёт /etc, /usr, /var и т.д. в своей папке, а потом делает chroot и провоцирует срабатывание чужого кода, который честно считывает параметры работы и доступа из, казалось бы, доверенных каталогов
Ничего не понял. Можно на кокретном примере. Допустим я пишу свой http/ftp/smb сервер. Я не хочу, чтобы кто-то получив доступ к нему не мог выбраться в систему (собственно так они и устроены). В чём проблема в том, что хакер подсуент /etc, /usr, /var в домашнюю папаку своего пользователя?
| | |
| |
| 4.22, Аноним (22), 11:12, 05/10/2026 [^] [^^] [^^^] [ответить]
| +2 +/– | |
> Допустим я пишу свой ... smb сервер...
у нас про безопасность тред или как, лол
| | |
|
| 3.17, Аноним (17), 11:07, 05/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Сам системный вызов не требует повышенных привилегий, нужна только капа на вызов chroot. Никаких проблем от того что пооцесс с отдельным UID сам себя посадит в отдельный рут нету (ну или не должно быть, если только в ядре не делали какие-то идиотские предположения по этому поводу).
| | |
|
|
| 1.3, Аноним (3), 09:54, 05/10/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
Почему изначально к системным частям фс и переменным имеют доступ все и каждый?
| | |
| |
| 2.5, Аноним (5), 10:15, 05/10/2026 [^] [^^] [^^^] [ответить]
| –2 +/– |
Потому что всем было просто класть на безопасность)
Если почитать воспоминания "отцов основателей" (они же диды бракоделы) про реакцию сообщества программистов на червь морриса, то они там офигенно обделались.
Раньше можно было просто писать забивая на проверки, а теперь придется думать.
Ну и второе, а чего вы хотели от базарной разработки?
| | |
| |
| 3.12, YetAnotherOnanym (ok), 10:53, 05/10/2026 [^] [^^] [^^^] [ответить]
| +5 +/– |
О, а вот ещё один обожжённый исповедями дидов.
Хотел бы я посмотреть работу твоего кода на железе 1970-х гг.
| | |
| |
| 4.27, Аноним (27), 11:27, 05/10/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
Не приписывай свои фантазии незнакомым людям)
Древним акса-калам на которых так любят наяривать местные было реально пофигу.
Упало? Ну и черт с ним.
Dennis once fed a couple-of-thousand-byte line on standard input to everything in /bin. Crashes abounded, but so what? Wasn't a crash just an ungraceful way for a program to say "I can't handle this"? Not until the Morris worm (1988) did folks wake up to the real danger of overflows.
> Хотел бы я посмотреть работу твоего кода на железе 1970-х гг.
Думаешь tinyAVR мощнее железа на котором ваяли тот же юникс?
| | |
| |
| 5.32, qqq (??), 12:47, 05/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Думаешь tinyAVR мощнее железа на котором ваяли тот же юникс?
у вас уже многопроцессная и многопользовательская система общего назначения на нем работает? С приемом произвольных данных от произвольных пользователей и возможностью собирать свой код в системе?
| | |
| 5.42, Аноним (42), 15:24, 05/10/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
>Древним акса-калам на которых так любят наяривать местные было реально пофигу.
Так ты сам же врёшь. Во те времена это было не актуально. А раз неактуально то никто на это не обращал внимания. Всё логично. Осозание пришло потом. Люди защищаются в ответ на действия хулиганов. Именно в ответ. И это называется нормальным течением событий. Если бы в те времена, кто-то бы озаботился вопросами безовасности 2026 года, то его посчитали бы сумашедшим.
Спустя полвека, легко критиковать.
| | |
| 5.44, Инопланетянин (?), 15:34, 05/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Древним акса-калам на которых так любят наяривать местные было реально пофигу.
Ну современные акса-калы всем покажут как надо? Ведь правда? Ведь покажут же?
Только постойте-ка. Почему то они пользуются наработками древних акса-калов...
| | |
|
|
|
| 2.10, Жироватт (ok), 10:30, 05/10/2026 [^] [^^] [^^^] [ответить]
| +8 +/– |
Как и во всех системах - да. Какой путь может отобразить система - на такой и имеют.
Правда, во время реального чтения/записи/траверса ОС применяет ACL и непривилегированная программа просто не сможет даже прочитать закрытый для траверса каталог, но само создание дескриптора через open() это не проверяет - это не его работа.
Так что да, хакер и солонки.
| | |
| 2.11, Аноним (11), 10:42, 05/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Ты такие вопросы тоже задаёшь, когда кодишь под огороженный контейнер или его дебажишь?
| | |
| 2.23, Аноним (23), 11:21, 05/10/2026 [^] [^^] [^^^] [ответить]
| +5 +/– |
Потому что везде проталкивать "безопасность" это ненормально.
| | |
|
| 1.8, Аноним (8), 10:23, 05/10/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
В openbsd нет механизмой apparmor/selinux чтобы можно было сделать ограничения доступа к ФС для процессов?
| | |
| |
| 2.24, Аноним (22), 11:23, 05/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
да везде всё есть - на какой-нить винде вы без суперюзера и мусор с родного рута С:\ не вынесите, но вот специально оформленная веб-страница... как пруф могу менее месячной давности новость подложить - плойку5 вскрыли, по-моему также через веб-кит встроенный, что там, итерация фряхи?
| | |
|
| 1.9, Жироватт (ok), 10:25, 05/10/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Теперь осталось уговорить всех и каждого писателя софта использовать openat(), вместо привычной и давно указанной во всех пособиях, хендбуках и манах open().
| | |
| |
| 2.18, Аноним1234 (?), 11:07, 05/10/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Теперь осталось уговорить всех и каждого писателя софта использовать openat(), вместо привычной
> и давно указанной во всех пособиях, хендбуках и манах open().
И сделав тем самым свой софт несовместимый ни с чём кроме беты openbsd либо добавить дефайны типа ifdef OPENBSD_VERSION_XX > YY
| | |
| 2.26, Аноним (26), 11:27, 05/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Алло, знатоки! openat описана в том же мане, что и open. И в линуксовом тоже, ага.
| | |
|
| 1.19, Аноним (19), 11:08, 05/10/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Только сразу продумайте, что будет, если в каталоге будет вложенный каталог, который является символической ссылкой на /
А то будет как всегда.
| | |
| |
| 2.37, Аноним (36), 14:16, 05/10/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
так он далек от понятия безопасность. За место того, чтобы проектировать по определению (дизайну) безопасную систему, он костыляет курам на смех.
| | |
|
| 1.33, Аноним (33), 13:10, 05/10/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– | |
Не ожидал такого бреда от самого безопасного.
> вызовы openat() с абсолютным путём или с переходом вверх через ".." будут завершаться ошибкой ENOENT
А тео не помнит сколько сотен способов сбежать из линуксового chroot было потому что он на таких проверках строился?
> В случае атаки, приводящей к выполнению кода, таблица файловых дескрипторов процесса будет содержать менее функциональные "dirfd", что будет ограничивать поверхность атаки.
Подумать только. А просто наоткрывать новых дескрипторов при RCE без pledge/unveil кто запретит? Тео изобрёл security through inconvenience.
> но сделать это при помощи функций unveil() и pledge() не представлялось возможным
А может лучше эти изобретения допилить до уровня, где ими можно пользоваться в настоящих приложениях?
| | |
|