The OpenNET Project / Index page

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



"Проект по портированию механизма изоляции pledge для Linux"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от opennews (??), 15-Июл-22, 14:33 
Автор стандартной Си-библиотеки Cosmopolitan и платформы Redbean  объявил о  реализации механизма изоляции pledge() для Linux. Изначально pledge разработан проектом OpenBSD и позволяет выборочно запретить приложениям обращения к неиспользуемым системным вызовам (для приложения формируется подобие белого списка системных вызовов, а остальные вызовы запрещаются). В отличие от доступных в Linux механизмов ограничения доступа к системным вызовам, таких как seccomp, механизм pledge изначально разработан с оглядкой на максимальное упрощение применения...

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


4. "Проект по портированию механизма изоляции pledge для Linux"  –13 +/
Сообщение от Аноним (4), 15-Июл-22, 14:39 
FreeBSD обгадили pledge(), хотя работа там уже большая проделана, думаю этот проект тоже не взлетит, никто ревьювить не будет, как и во фре. Время впустую.

// b.

Ответить | Правка | Наверх | Cообщить модератору

78. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (-), 18-Июл-22, 10:56 
Сабжу похрен будет его кто ревьюить или нет. У них там своя либа и свой враппер, поэтому они для желающих изображают "а линукс, типа, тоже умеет pledge()" путем трансляции.

Можете ревьюить, можете не ревьюить, а чтобы это получить есть я и есть вон тот автор. Третий в этой схеме лищний и оно состоится если 2 участника кодинга так решили, независимо от ващих ревью. Насколько оно надо - вопрос интересный, конечно. А эти клоуны из фри предложили чего-то лучше? Или как обычно промямлили "не надо, вот еще - кодить?!"

Ответить | Правка | Наверх | Cообщить модератору

6. "Проект по портированию механизма изоляции pledge для Linux"  +1 +/
Сообщение от Аноним (6), 15-Июл-22, 14:42 
Оно не будет адски тормозить со всеми этими проверками?
Ответить | Правка | Наверх | Cообщить модератору

8. "Проект по портированию механизма изоляции pledge для Linux"  +4 +/
Сообщение от Аноним (8), 15-Июл-22, 14:43 
Будет но что ты называешь адски? Это зависит от твоего самоощущения.  
Ответить | Правка | Наверх | Cообщить модератору

54. "Проект по портированию механизма изоляции pledge для Linux"  +4 +/
Сообщение от Аноним (54), 16-Июл-22, 12:32 
> После сборки и запуска модифицированного приложения...
> Утилита pledge ... не требует root-доступа
> Реализация не требует внесения изменений в ядро
> ...транслируются в правила SECCOMP BPF...

Юзера пускают с BPF в ядро, чтобы фильтровать этого самого юзера?!

Ответить | Правка | Наверх | Cообщить модератору

56. "Проект по портированию механизма изоляции pledge для Linux"  +1 +/
Сообщение от Аноним (54), 16-Июл-22, 12:39 
P.S. И вообще, что значит "модифицированного приложения"? Огораживаемое приложение надо сначала модифицировать?
Ответить | Правка | Наверх | Cообщить модератору

58. "Проект по портированию механизма изоляции pledge для Linux"  –2 +/
Сообщение от n00by (ok), 16-Июл-22, 13:04 
> P.S. И вообще, что значит "модифицированного приложения"? Огораживаемое приложение надо
> сначала модифицировать?

Это может иметь смысл для компонентов системы. Хэккер обнаружил технологическое отверстие, проник в систему и ничего толком не может сделать.

Ответить | Правка | Наверх | Cообщить модератору

60. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (54), 16-Июл-22, 13:37 
> технологическое отверстие, проник в систему

Значит, псевдо-защита уже не сработала, если прошла удалённая атака.

Ответить | Правка | Наверх | Cообщить модератору

62. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от n00by (ok), 16-Июл-22, 14:31 
Подменять "ошибка в программе" на "защита" - так себе приём риторики. Складывается впечатление, что оратор не видит разницы.
Ответить | Правка | Наверх | Cообщить модератору

66. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (54), 16-Июл-22, 17:02 
Хорошо. "Хэккер" ошибочно попал на твой комп. Он не хотел, но попал.
Ответить | Правка | Наверх | Cообщить модератору

67. "Проект по портированию механизма изоляции pledge для Linux"  +1 +/
Сообщение от n00by (ok), 16-Июл-22, 19:39 
Ну вот, попал он и пишет привычно:

perl.exe --skompilirovat-sploet

а тот ему в ответ "диск Ц не обнаружен"

Ответить | Правка | Наверх | Cообщить модератору

81. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (-), 18-Июл-22, 11:13 
По такой же технологии некто тигар на freebsd вырусы на хостинге тролил, мол, "пингвин не обнаружен". Но это весьма сыкотный способ сдерживания малвари.
Ответить | Правка | Наверх | Cообщить модератору

86. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от n00by (ok), 18-Июл-22, 11:34 
> это весьма сыкотный способ сдерживания малвари.

Так то да. Но в условном банке есть СБ, камеры, сигнализация, сейф с ключами. А тут эксперт предлагает, что если вон тот охранник проморгал, надо молча повиноваться и кассу в сумки выгружать.

Ответить | Правка | Наверх | Cообщить модератору

91. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (91), 19-Июл-22, 01:14 
Да, необычное окружение - может поломать вредителю планы, демаскировать его и проч. Скажем вводит вредитель ls чтобы понять куда попал, а ему - опа, intrusion detected. А зачем вебсерве нормальный ls?

Еще мне out of band тулсы нравятся. А просто потому что с точки зрения "если б я атаковал" я бы не хотел чтобы в меня "уровнем ниже" палочкой тыкали вот так. Значит как-то так и стоит делать.

Ответить | Правка | Наверх | Cообщить модератору

79. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (-), 18-Июл-22, 11:01 
> Значит, псевдо-защита уже не сработала, если прошла удалённая атака.

Ну конечно, многоступенчатые системы защиты, несколько линий обороны и прочие ненужно придумали лохи.

Ответить | Правка | К родителю #60 | Наверх | Cообщить модератору

61. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (54), 16-Июл-22, 13:40 
> может иметь смысл для компонентов системы

Если твой "Хэккер" уже в системе, сдались ему системные компоненты, он будет свои использовать, ведь сабжу рут не нужен.

Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

63. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от n00by (ok), 16-Июл-22, 14:37 
> он будет свои использовать, ведь сабжу рут не нужен.

Боюсь, это слишком сложный сценарий атаки, что бы я мог его понять.

Ответить | Правка | Наверх | Cообщить модератору

65. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (54), 16-Июл-22, 17:00 
> это слишком сложный сценарий атаки, что бы я мог его понять

"Учись, студент!" (с)

Ответить | Правка | Наверх | Cообщить модератору

68. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от n00by (ok), 16-Июл-22, 19:49 
Я и так могу с ещё более меньшим содержанием смысла произвольные слова скомбинировать.
Ответить | Правка | Наверх | Cообщить модератору

80. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (-), 18-Июл-22, 11:12 
> Боюсь, это слишком сложный сценарий атаки, что бы я мог его понять.

На mirai позырь. Делает такой себе "libc-типа" минимальный прямо из сисколов ядра. Поэтому ему плевать какие там версии либ, даже какой libc плевать. Запускать это, конечно, не стоит, но идеи на цитаты растащить в более мирных целях - почему нет?

Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

85. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от n00by (ok), 18-Июл-22, 11:25 
Так тут вызовы в ядре фильтруются, какая разница, если ли связывание с libc. Как бы для зловредов сисколы - это так себе достижение, позавчерашний день. Они массово не используется, поскольку Микрософт постоянно их меняет и эвристикам антивирусов команды перехода в шлюз не нравятся. В Linux такой проблемы нет. Если в мирных целях, то мне понятно, что условный "антивирус" в идеале ни с чем из системы линковаться не должен - это лишние вектора атаки на него.
Ответить | Правка | Наверх | Cообщить модератору

89. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (89), 18-Июл-22, 13:54 
> Так тут вызовы в ядре фильтруются, какая разница, если ли связывание с libc.

Если вот именно в ядре, и мы в его контексте - тогда по идее упс.

> Как бы для зловредов сисколы - это так себе достижение, позавчерашний день.
> Они массово не используется, поскольку Микрософт постоянно их меняет

Mirai линуксный и нацелен на IoT. А там в сислибах и архитектурах зоопарк, маздайным "футуристичным" кодерам ЭТО и не снилось. Пусть они вообще покажут такой кросс, потом что-то рассказывают. Они шагу с своего е...го х86 ступить не могут. Название пакости намекает у кого позавчерашний день. Но интересно оно как забавная технология кросса в основном. В остальном ничего этакого.

> и эвристикам антивирусов команды перехода в шлюз не нравятся. В Linux
> такой проблемы нет. Если в мирных целях, то мне понятно, что
> условный "антивирус" в идеале ни с чем из системы линковаться не
> должен - это лишние вектора атаки на него.

Ну да. На него тот же LD_PRELOAD например начнет действовать и его на...т точно так же как все остальное. А так то антивирусы сами руткит здорово напоминают, в целях самозащиты. Это как бы логично, и как бы причина по которой у меня никогда не будет ни винды, ни проприетарного антивируса, потому что blob-only софт с подобными привилегиями и возможностями лично я в моих системах тупо не потерплю.

Ответить | Правка | Наверх | Cообщить модератору

73. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от john_erohin (?), 17-Июл-22, 19:31 
> проник в систему

1) предлагаю вам уточнить - что значит "проник в систему" ?
иначе разговор ни о чем. а точнее - каждый о своем.

2) и можно ли с этой позиции повысить свои привилегии ?

Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

76. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от n00by (ok), 18-Июл-22, 08:44 
>> проник в систему
> 1) предлагаю вам уточнить - что значит "проник в систему" ?
> иначе разговор ни о чем. а точнее - каждый о своем.

Предлагаю оставлять при цитировании контекст: "Это может иметь смысл для компонентов системы".

Сначала определяем потенциально уязвимые компоненты. Например, клиент DNS получает данные из внешнего мира по сети, значит, при переполнении буфера/стека (они есть - пока не доказана корректность) может исполнить произвольный код. Нужна ли для работы DNS возможность загрузить драйвер или смонтировать файловую систему? Не нужна, значит имеет смысл запретить. В таком случае при эксплуатации уязвимости злоумышленнику будет затруднительно установить в систему руткит режима ядра. Теперь рассмотрим ssh сервер - вот тут уже не так всё однозначно и ограничения могут помешать легитимному пользователю.

> 2) и можно ли с этой позиции повысить свои привилегии ?

В моём понимании привилегии - это аппаратная фишка, кольца защиты, а не права пользователей. При эксплуатации уязвимости код может выполняться в ядре. И даже в этом случае возможно ограничить его в правах, но в общем случае потребуется механизм уровнем ниже, чем pledge.

Ответить | Правка | Наверх | Cообщить модератору

104. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от john_erohin (?), 24-Июл-22, 20:10 
> может исполнить произвольный код.

ок. вот что значит "проник в систему". пусть так будет.
а далее "произвольный код" (поскольку он произвольный, вышел в режим ядра, а хаксор хитер и коварен) отключает к биллгейтсовой матери SElinux, AppArmor и что там еще навешено, пусть будет pledge. на этом все.

Ответить | Правка | Наверх | Cообщить модератору

106. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от n00by (ok), 26-Июл-22, 07:03 
>> может исполнить произвольный код.
> ок. вот что значит "проник в систему". пусть так будет.
> а далее "произвольный код" (поскольку он произвольный, вышел в режим ядра, а

Код никуда на ходит, а располагается в памяти. Исполняет его процессор. При этом действуют механизмы защиты.

> хаксор хитер и коварен)

Довольно унылая на самом деле хитрость - сделать вид, что якобы можно из 3-го кольца изменить память ядра.

Ответить | Правка | Наверх | Cообщить модератору

107. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от john_erohin (?), 26-Июл-22, 13:17 
>> а далее "произвольный код" (поскольку он произвольный, вышел в режим ядра, а
> Код никуда на ходит, а располагается в памяти. Исполняет его процессор. При
> этом действуют механизмы защиты.

это были данные. они сперва оказались в памяти ядра,
а потом почему-то выполнились как код. как вам такой сценарий ?

>> хаксор хитер и коварен)
> Довольно унылая на самом деле хитрость - сделать вид, что якобы можно
> из 3-го кольца изменить память ядра.

есть документированные интерфейсы между юзерлэндом и ядром - сисколлы и всякие
нетлинки с BPE (BFE ? забыл как ее. помню что родом из Беркли).

Ответить | Правка | Наверх | Cообщить модератору

108. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от n00by (ok), 27-Июл-22, 14:43 
>>> а далее "произвольный код" (поскольку он произвольный, вышел в режим ядра, а
>> Код никуда на ходит, а располагается в памяти. Исполняет его процессор. При
>> этом действуют механизмы защиты.
> это были данные. они сперва оказались в памяти ядра,
> а потом почему-то выполнились как код. как вам такой сценарий ?

Это сценарий с отличной от нуля вероятностью. Полная вероятность события «проникновения» является суммой вероятности всех сценариев.

>>> хаксор хитер и коварен)
>> Довольно унылая на самом деле хитрость - сделать вид, что якобы можно
>> из 3-го кольца изменить память ядра.
> есть документированные интерфейсы между юзерлэндом и ядром - сисколлы и всякие
> нетлинки с BPE (BFE ? забыл как ее. помню что родом из
> Беркли).

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

Ответить | Правка | Наверх | Cообщить модератору

12. "Проект по портированию механизма изоляции pledge для Linux"  +1 +/
Сообщение от Жироватт (ok), 15-Июл-22, 15:04 
Всего лишь до уровня первопня на i9-11xxx
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

36. "Проект по портированию механизма изоляции pledge для Linux"  +2 +/
Сообщение от Аноним (-), 16-Июл-22, 00:42 
Это как бы от программы сильно зависит. Скажем чтобы активно считать вообще не надо системные вызовы делать.
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

42. "Проект по портированию механизма изоляции pledge для Linux"  +2 +/
Сообщение от Аноним (42), 16-Июл-22, 07:47 
Если программа которую Вы используете "лезет" туда, куда не следует, то ИМХО необходимо в консерватории что подкручивать.
А вот как подкручивать, это уже варианты различные.
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

64. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (54), 16-Июл-22, 16:58 
> программа ... "лезет" туда, куда не следует

Уже дырища в системе, поздно лечить.

Ответить | Правка | Наверх | Cообщить модератору

16. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от кофейник (?), 15-Июл-22, 16:37 
чой-та не понял...

можно ли этой штуковиной скрыть для приложения системный файл и запретить приложению выход в интернет?

а то не могу песочницу найти простенькую...

Ответить | Правка | Наверх | Cообщить модератору

25. "Проект по портированию механизма изоляции pledge для Linux"  +2 +/
Сообщение от Аноним (25), 15-Июл-22, 19:51 
$ firejail --blacklist=/etc --noprofile --net=none bash
Ответить | Правка | Наверх | Cообщить модератору

26. "Проект по портированию механизма изоляции pledge для Linux"  +1 +/
Сообщение от Аноним (26), 15-Июл-22, 20:45 
Чем это лучше unshare -n? Он же про другое спрашивает. Вот как в венде, пока программе не разрешишь доступ в сеть, она никуда не пойдёт.
Ответить | Правка | Наверх | Cообщить модератору

27. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (25), 15-Июл-22, 20:52 
Тем, что firejail точно имеет SUID флаг в любом дистрибутиве.
Человек спросил про изоляцию, я ответил, а от куда ты это всё домыслил, я хз.
Ответить | Правка | Наверх | Cообщить модератору

32. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (32), 15-Июл-22, 22:18 
Но ведь в винде только входящие порты запрещены
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

35. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (35), 15-Июл-22, 23:42 
Если галочку поставить?
Ответить | Правка | Наверх | Cообщить модератору

37. "Проект по портированию механизма изоляции pledge для Linux"  +1 +/
Сообщение от Аноним (-), 16-Июл-22, 00:45 
> Чем это лучше unshare -n?

Умеет в довольно продвинутые профайлы. Которые для популярных штук написаны не вами. И кроме unsharing'а умеет и в ограничения SECCOMP и т.п..

Пикантный нюанс состоит в том что чтобы непривилегированый юзер мог в такие вещи, права сперва надо подбросить (если такое разрешить в произвольном виде всем юзеры смогут создавать в системе хаос). И на этом бывало парочку стебных вулнов :)

Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

74. "Проект по портированию механизма изоляции pledge для Linux"  +1 +/
Сообщение от john_erohin (?), 17-Июл-22, 19:37 
> Вот как в венде, пока программе не разрешишь доступ в сеть, она никуда не пойдёт.

и даже сервер DNS не сможет запросить (и получить ответ) ?

ps: стандартный бикон из кобальта умеет DNS туннель.
виндовые локальные фаерволщики, вы бесполезны и не нужны.

Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

94. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (-), 19-Июл-22, 02:40 
Еще половина малвари просто просит браузер сходить на урлу. Предполагая что браузеру это скорее всего можно. Почему-то.
Ответить | Правка | Наверх | Cообщить модератору

105. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от john_erohin (?), 24-Июл-22, 20:34 
> просит браузер сходить на урлу

кстати ! если от имени "текущий юзер", и этот юзер - я,
то uMatrix, настроенный на паранойю, даст интересный эффект
("новый" урл просто не откроется). но это не для всех решение.

Ответить | Правка | Наверх | Cообщить модератору

44. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от кофейник (?), 16-Июл-22, 09:36 
> $ firejail --blacklist=/etc --noprofile --net=none bash

он SUIDный и проблемный по безопасности ...
https://www.opennet.ru/opennews/art.shtml?num=57337
https://www.opennet.ru/opennews/art.shtml?num=54564
и т.д.
для тех приложений которым доверяешь еще можно, но песочницы обычно про другое...


Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

47. "Проект по портированию механизма изоляции pledge для Linux"  +3 +/
Сообщение от Аноним (25), 16-Июл-22, 11:22 
Прекратите сами себя накручивать - использование firejail вполне безопасно. Даже если в теории у вас внезапно окажется древнее ядро, имеющее уязвимость, то вероятность того, что потенциально опасное приложение попытается не просто утянуть у вас данные, а именно применить нужный эксплойт... Короче все это работает в зависимости от фазы луны и вероятность плачевного исхода близится к нулю.
В любом случае - использование изоляции, гораздо надёжнее, чем светить чёрти какому приложению свои данные на диске.
Ответить | Правка | Наверх | Cообщить модератору

48. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (48), 16-Июл-22, 11:29 
>пока программе не разрешишь доступ в сеть, она никуда не пойдёт

Так приведённое выше "--net=none" не запретит программе никуда не идти?

Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

53. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (25), 16-Июл-22, 12:24 
Всё запущенное внутри изоляции, тупо не увидит сетевой интерфейс.
Ответить | Правка | Наверх | Cообщить модератору

82. "Проект по портированию механизма изоляции pledge для Linux"  +1 +/
Сообщение от Аноним (82), 18-Июл-22, 11:17 
> Так приведённое выше "--net=none" не запретит программе никуда не идти?

Куда ж ты пойдешь на машине без сети. В новом namespace сети - тупо интерфейсов изначально нет. Даже локалхоста, насколько я помню. Ходить некуда пока в namespace явно не помещен какой-то интерфейс все же позволяющий куда-то ходить.

Ответить | Правка | К родителю #48 | Наверх | Cообщить модератору

87. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (25), 18-Июл-22, 11:41 
локалхост там есть, но он не связан с интерфейсом реальной системы
Ответить | Правка | Наверх | Cообщить модератору

92. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (92), 19-Июл-22, 01:29 
> локалхост там есть, но он не связан с интерфейсом реальной системы

По-моему, lo создавать надо самому, если это на уровне именно создания namespace через unshare(). Firejail что-то такое может и на автомате делать.

Ответить | Правка | Наверх | Cообщить модератору

46. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от freehckemail (ok), 16-Июл-22, 11:04 
> можно ли этой штуковиной скрыть для приложения системный файл

Да, в описании написано, что можно указать списки директорий для чтения, записи и создания файлов (отдельно).

> и запретить приложению выход в интернет?

Ну конкретно за маршруты, чтобы только в Интернет нельзя было выйти -- нет. А вот работу с сетью целиком -- да.

Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

17. "Проект по портированию механизма изоляции pledge для Linux"  +6 +/
Сообщение от Аноним (17), 15-Июл-22, 16:41 
Т.е. ещё нужно активировать BPF в котором будет работать вирусня имеющая привилегии выше root? Спасиб.
Ответить | Правка | Наверх | Cообщить модератору
Часть нити удалена модератором

57. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от n00by (ok), 16-Июл-22, 12:57 
Привилегии - в процессоре. Привилегированный режим процессора, или режим ядра, он же 0-е кольцо защиты. У пользователей - права. Они ортогональны. Можно придумать код для ядра, который будет давать пользователю root отлуп. Можно придумать драйверок, который позволит делать гостю что угодно.
Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

72. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (72), 17-Июл-22, 18:34 
> Можно придумать код для ядра, который будет давать пользователю root отлуп.

Уже давно придумали, называется SELinux. Логинишься рутом, а тебе даже в /tmp писать нельзя. Был когда-то даже публичный сервер для демонстрации возможностей. Вроде так и не сломали.

Ответить | Правка | Наверх | Cообщить модератору

75. "Проект по портированию механизма изоляции pledge для Linux"  +1 +/
Сообщение от Аноним (-), 17-Июл-22, 20:31 
>> Можно придумать код для ядра, который будет давать пользователю root отлуп.
> Уже давно придумали, называется SELinux.

Кхе. Отсталые и вечнодогоняющие бзды и тут утянули инновации себе:


security.bsd.suser_enabled: processes with uid 0 have privilege

commit 68239103ca69ad700547a0a80b8af367f735e0d1
Author: rwatson <rwatson@FreeBSD.org>
Date:   Mon Jun 5 14:53:55 2000 +0000

    o Introduce kern.suser_permitted, a sysctl that disables the suser_xxx()
      returning anything but EPERM.
    o suser is enabled by default; once disabled, cannot be reenabled
    o To be used in alternative security models where uid0 does not connote
      additional privileges

Ответить | Правка | Наверх | Cообщить модератору

83. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (82), 18-Июл-22, 11:18 
Они даже CAPs-ы вроде не смогли...
Ответить | Правка | Наверх | Cообщить модератору

109. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (-), 27-Июл-22, 20:04 
>>> Можно придумать код для ядра, который будет давать пользователю root отлуп.
>> Уже давно придумали, называется SELinux.
> Кхе. Отсталые и вечнодогоняющие бзды и тут утянули инновации себе
> Date:   Mon Jun 5 14:53:55 2000 +0000
>

Еще и машину времени угнали, чтобы точно никто не догадался ...

Ответить | Правка | К родителю #75 | Наверх | Cообщить модератору

20. "Проект по портированию механизма изоляции pledge для Linux"  +1 +/
Сообщение от Аноним (-), 15-Июл-22, 17:43 
Надо отметить, что утилита-обёртка не может полностью заменить явный вызов pledge в коде, поскольку не позволяет последовательно сужать доступ к классам системных вызовов согласно логике программы.
Ответить | Правка | Наверх | Cообщить модератору

24. "Проект по портированию механизма изоляции pledge для Linux"  +1 +/
Сообщение от Аноним (24), 15-Июл-22, 19:40 
Сразу видно человека не разбирающегося в теме
Ответить | Правка | Наверх | Cообщить модератору

29. "Проект по портированию механизма изоляции pledge для Linux"  +5 +/
Сообщение от Аноним (-), 15-Июл-22, 21:32 
Буду рад развёрнутому ответу.
Ответить | Правка | Наверх | Cообщить модератору

21. "Проект по портированию механизма изоляции pledge для Linux"  +8 +/
Сообщение от Аноним (21), 15-Июл-22, 18:07 
По-моему, проблема в том, что тому же браузеру, самой уязвимой программе на моём ПК, нужны все возможные разрешения. Да, с каждым днём мы всё дальше от unix-пути
Ответить | Правка | Наверх | Cообщить модератору

23. "Проект по портированию механизма изоляции pledge для Linux"  +1 +/
Сообщение от Аноним (32), 15-Июл-22, 19:23 
Но вы же можете скачивать страницы через wget, а просматривать через less. Немножко неудобно, но зато unix-way
Ответить | Правка | Наверх | Cообщить модератору

28. "Проект по портированию механизма изоляции pledge для Linux"  +4 +/
Сообщение от Аноним (28), 15-Июл-22, 21:03 
> можете скачивать страницы через wget

в которых ничего нет, кроме (адресов) скриптов.

Ответить | Правка | Наверх | Cообщить модератору

30. "Проект по портированию механизма изоляции pledge для Linux"  +1 +/
Сообщение от Аноним (32), 15-Июл-22, 22:12 
Такие страницы не индексируются.

Скачать скрипты, скачать json ответы. Смотреть их через less

Ответить | Правка | Наверх | Cообщить модератору

31. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (32), 15-Июл-22, 22:15 
Нормальный такой unix-way уровня tar/gz где для получения списка файлов нужно весь архив разжать
Мы же любим unix-way?
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

39. "Проект по портированию механизма изоляции pledge для Linux"  +3 +/
Сообщение от gogo (?), 16-Июл-22, 01:35 
Ты в опаснасте? Тебя злая дядя такать пистолет и заставлять использовать тара-гзу? Ты моргать два раза, есля ето так.
Ответить | Правка | Наверх | Cообщить модератору

77. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от _kp (ok), 18-Июл-22, 10:49 
>>зато unix-way

Начала 80х годов прошлого века.

Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

95. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (95), 19-Июл-22, 08:53 
Проиграл с клоуна.
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

38. "Проект по портированию механизма изоляции pledge для Linux"  +1 +/
Сообщение от Аноним (-), 16-Июл-22, 00:48 
> По-моему, проблема в том, что тому же браузеру, самой уязвимой программе на моём ПК,
> нужны все возможные разрешения.

Ну оно их и получает. Вопрос только где и почему :). Так что вот тут оно видит Downloads и совершенно пустую ос. А вон там типок даже вывесил Zoom-у "камеру" через V4L2 loopback :D. И видит в результате зум "его морду, типа". А то что это фэйк-мувик с фэйк-камеры... ну... в этом мощь абстракций и состоит. Если кто хочет камеру, ее можно дать. Что он там увидит это не говорит.

Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

49. "Проект по портированию механизма изоляции pledge для Linux"  –1 +/
Сообщение от Аноним (-), 16-Июл-22, 11:31 
> По-моему, проблема в том, что тому же браузеру, самой уязвимой программе на моём ПК, нужны все возможные разрешения.

Отнюдь не все. Вот пример использования pledge и unveil для разных процессов огнелиса в OpenBSD:

https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/www/mozilla-.../

Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

34. "Проект по портированию механизма изоляции pledge для Linux"  +3 +/
Сообщение от freehckemail (ok), 15-Июл-22, 23:03 
https://justine.lol
Вот что скажу: это прекрасный хакер в лучшем смысле этого слова.
Justine Alexandra Roberts Tunney. Это имя надо запомнить.
Ответить | Правка | Наверх | Cообщить модератору

69. "Проект по портированию механизма изоляции pledge для Linux"  –1 +/
Сообщение от Аноним (69), 16-Июл-22, 20:00 
Модератор freehck опять мое сообщение удалил, про добавление этого механизма изоляции в systemd. :-(

В systemd уже есть изоляция сервисов на основе namespaces, а переставленный в новости механизм был бы хорошим дополнением.

Ответить | Правка | Наверх | Cообщить модератору

70. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от n00by (ok), 16-Июл-22, 20:09 
Дело в том, что "интегрировать в systemd" -- это здесь такая дежурная шутка. Потому не всегда понятно, что имеет ввиду автор сообщения. Я когда-то написал, что может иметь смысл добавить в пакетный менеджер функцию контроля за целостностью системы, наверное, тоже восприняли как "шутку".
Ответить | Правка | Наверх | Cообщить модератору

88. "Проект по портированию механизма изоляции pledge для Linux"  –1 +/
Сообщение от Аноним (-), 18-Июл-22, 12:11 
// disclaimer: я другой анон но разделяю взгляды того анона, поэтому...

> Дело в том, что "интегрировать в systemd" -- это здесь такая дежурная
> шутка. Потому не всегда понятно, что имеет ввиду автор сообщения.

При том 90% шутников - некомпетентные ламы заучившие в лохматые годы команды и решившие что других вариаинтов нет и быть не может. Им плевать что линух за годы ушел сильно вперед, что там куча фич. Так то clone() и unshare() довольно забавно сделаны. Namespaces вращаются вокруг них. Чем процесс от треда в линухе отличается? У процесса unshare()'d немного больше. А у контейнеров - еще немного больше. В принципе комбо флагов вроде даже можно получить "внеклассовые" абстракции. То что это никто не делает - ну, есть устаканившиеся варианты, они понятны пиплу, ими и пользуются.

> Я когда-то написал, что может иметь смысл добавить в пакетный менеджер функцию
> контроля за целостностью системы, наверное, тоже восприняли как "шутку".

А в какой пакетный менеджер это надо добавлять? У редхата есть, для дебиана отдельная утилса есть, а у какого-нибудь арча пакетник что так рудиментарный что эдак.

А что до системды: лично я тоже использую урезание прав системным сервисам системдой. Оно может и сисколы порубать, и юзера выставить, и unshare того или иного namespace сделать. Там есть свои тупняки, но, вообще, можно конфижком на полэкрана нехило доступ в систему порубать, при том вот именно unix way-ем такое не особо то и соберешь - просто потому что в процессе сборки изолированой арены нужные части системы уже недоступны. А зачем вебсерваку уметь вызывать баш? Чтобы скриптокиду было удобнее систему ломать? А вот хрен ему, удобно админу должно быть, хакерам наоборот. Иначе нахрен такая безопасность нужна?

Заодно там же всякие шедулеры и приоритеты им можно поставить и проч и все такое прочее. Идея всегда-резидентной привилегированой запускалки которая может отвесить все нужные сисколы в верном порядке, не развалив арену и не завися от внешних компонентов (которые в контейнерах становятся недоступны) имхо сама по себе ОК. Поцтер просто вовремя не угомонился и чересчур разогнался. Скажем нетворкд вышел странной хренью, но он вообще опционален.

Ответить | Правка | Наверх | Cообщить модератору

90. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от n00by (ok), 18-Июл-22, 15:24 
>> Я когда-то написал, что может иметь смысл добавить в пакетный менеджер функцию
>> контроля за целостностью системы, наверное, тоже восприняли как "шутку".
> А в какой пакетный менеджер это надо добавлять?

В том случае Михаил Шигорин кого-то озадачил вопросом "предложите что-то конкретное". Я предложил. Он так и не ответил. Наверное, решил, что шучу. А может я забыл.

> У редхата есть, для
> дебиана отдельная утилса есть, а у какого-нибудь арча пакетник что так
> рудиментарный что эдак.

К примеру, нажал я в mc на каком-то подкаталоге из /usr "удалить" и потом "ввод". Что будет дальше у Редхата и Дебиана? А если удаляем ld-linux.so? Или же кто-то наконец скомпилировал Z0mbie.Mistfall под Linux, когда мы узнаем о факте заражения? Всё это в принципе может решать "пакетник", поскольку именно у него есть вся необходимая информация, а наличие посторонних "антивирусов" (в кавычках - потому что без сигнатур толку может быть мало) не всем нравится. Но потом я узнал, что под "целостностью системы" некоторые понимают удовлетворение зависимостей пакетиков, а под "удовлетворением зависимостей" - присутствие записи в БД, а не наличие валидных файлов.

Ответить | Правка | Наверх | Cообщить модератору

93. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (-), 19-Июл-22, 02:24 
> В том случае Михаил Шигорин кого-то озадачил вопросом "предложите что-то конкретное". Я
> предложил. Он так и не ответил. Наверное, решил, что шучу. А может я забыл.

Тут что угодно может быть. Он периодически пытается допустим дебианщиков подъ...ть, с потугами доказать что альт типа-лучше. Но дебианщики так то умеют проблемы решать и по факту обычно оказывается если не тот, то альтернативный способ как нечто делать, и он тоже работает, в результате демо получается неубедительным.

> К примеру, нажал я в mc на каком-то подкаталоге из /usr "удалить"
> и потом "ввод". Что будет дальше у Редхата и Дебиана?

1) Нормальные люди под рутом в общем случае не сидят. Поэтому, в 99% случаев будет -EPERM от системы на подобные потуги.
2) Если вдруг я ну вот лох-лох, не выспался там, и под рутом все же вот это влупил - ну, это печально, однако все что мне грозит это ребут в rootfs или, если совсем уж все плохо (например /boot снес) - бут с флешки. А дальше - очень небольшое жонглирование с снапшотом - и вот уже OS опять на месте. Минуты за две. В примерно том виде как была. Заведомо логически консистентном. Как максимум это может быть немного устаревшим вариантом, ему может быть надо апдейты опять накатить или переделать недавние изменения конфигов (все важные изменения логично снапшотить).

И да, это все не пакетный менеджер а ФС обеспечивает. У нее это лучше получается. Заодно в принципе есть и некий список "недавних изменений". И лично я спер идею убунтуев, когда есть уровень менеджмента, он на 1 уровень выше /. Его в нормальном виде не видно, но при желании моунтабельно - и оттуда как раз можно снапшотами порулить.

> А если удаляем ld-linux.so?

initrd оно так то будет похрен, а операционка на флехе даже и выпиленый /boot вернуть может.

> Или же кто-то наконец скомпилировал Z0mbie.Mistfall под Linux,
> когда мы узнаем о факте заражения?

Надежнее всего бутанув с readonly носителя отдельную копию операционки, конечно, заведомо нормальную. Потому что если в ОС подозрение на руткит, доверять ей уже не стоит.

От некоторых развеселых экспонатов даже это не поможет. Вон тот хайтек патчащий фирмвари винчей и отдающий "не те" сектора плевать хотел. Однако, кмк у именно меня он "почему-то" облажается в парсинге, а я озадачусь вопросом WTF. Что такое JTAG я, таки, знаю. Так что в этом случае ценный экспонат, вероятно, улетит всем мыслимым аверам, для максимизации урона. Сделать невкусным соотношение gain/loss для атакующего - кажется мне удачной идеей.

> Всё это в принципе может решать "пакетник",

ИМХО, это все же не его задача. ФС со снапшотами это может делать намного фундаментальнее, куда меньше зависит от живости ОС и ее начинки - а менеджмент системы при этом начинает напоминать привычные виртуалки, с теми же терминами и свойствами вместо очередного наколенного кастома.

> поскольку именно у него есть вся необходимая информация,

В принципе да, НО...
1) Уметь repair снесенного usr значит что он должен хранить все скачаные архивы. Плюс 100500 к жрачу места системой на хранение полных архивов.
2) Ах да, снапшоты имеют интересную фичу: core set блоков только один, место занимает только "дельта". Если эту концепцию понять, потом все просто, логично и эффективно. И это понимают все кто продвинуто работал с виртуалками.
3) Пакетнику для работы нужна рабочая система. Он обычная программа. Конечно, можно его статически отстроить и проч. Но тогда фиксить его сам станет отдельной канителью для майнтайнеров с трекингом внутренних либ и дублированием его сущностей. Можно наверное в initrd положить. Но это порядком увеличит initrd - и это НЕ есть консистентное состояние: оно еще зависит от файлов с статусом пакетов и проч описывающими что установлено и т.п..
4) А продолб этого состояния в системе с пакетником так то довольно неприятный опыт. Снапшот что, он пакетник и его состояние синхронно откатит в взаимно-консистентное состояние. Врядли кто снапшотил уже порушеную систему.
5) Full reinstall всего что было в usr займет неиллюзорное время сравнимое с полным инсталлом системы. Именно поэтому продвинутый народ оперирует "образами", "снапшотами", "send" и тому подобным. Так тупо в цать раз быстрее. Откат снапшота не ворочает большую часть блоков, только указатели переставляет в вид когда теперь это прошлый view. А пакетник, таки, будет все 100500 гигабайтов телепать от и до.
6) В как минимум дебиановском пакетнике можно повесить хук делающий что угодно после инсталла пакета. В том числе и снапшот можно сделать. Нужно ли - вопрос номер два.
7) Side effect of CoW: "копирование" виртуалки с 20Гб диском, или даже образа винча на 2 терабайта чтобы "fsck" на нем прогнать занимает примерно секунду, и нового места это не занимает. Это тоже частный случай "unshare", но в этом случае блоков ФС: копия изначально референсится на те же блоки, по мере расхождения CoW делает свое дело. Только он это делает плавно. И те цать блоков которые fsck изменил "в run time" меня не парят как "занимаемое место". В отличие от идеи копировать 2 терабайта по настоящему. А видимость независимой копии, вот, есть. Конечно как и в случе с VM дельта может отрастать, если это не контролировать.

> под "целостностью системы" некоторые понимают удовлетворение зависимостей пакетиков,

Целостность системы весьма многогранный аспект. Есть еще допустим логическая консистентность: данные и конфигурация должны соответствовать бинарям. Ну вот представляете, автор может допустим формат конфига поменять в энной версии. У вас был старый usr, старый конфиг. Потом после апдейта пакета вы пропатчили конфиг. Стал новый usr, новый конфиг. Но если откатывать абы как, можно получить скажем новый usr/старый конфиг. И оно таки сломается. А когда после дурного отката это сделают цать программ сразу, станет интересно.

> а под "удовлетворением зависимостей" - присутствие записи в БД, а не
> наличие валидных файлов.

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

Более того - у MSI на вот подобной почве бывает неиллюзорное горе от ума.
- Инсталлю это, это и это...
- Ой, не получилось, давай-те ка я rollback сделаю!
- Упс. Оказывается, файл роллбэка или исходник пакета были повреждены. ERROR! FAIL! ПОЛУНДРА!11

В чем проблема? В такой системе вообще ничего не ставится и не удаляется. И черт его знает как это вышибить кроме как реинсталлом системы. Это то что вы получаете за идиотскую оверинженерию пакетника. Он становится тормозным, хлипким, и потом оказывается что те задачи лучше и консистентнее решались на других уровнях вообще.

Ответить | Правка | Наверх | Cообщить модератору

96. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от n00by (ok), 19-Июл-22, 09:33 
>> К примеру, нажал я в mc на каком-то подкаталоге из /usr "удалить"
>> и потом "ввод". Что будет дальше у Редхата и Дебиана?
> 1) Нормальные люди под рутом в общем случае не сидят. Поэтому, в
> 99% случаев будет -EPERM от системы на подобные потуги.

"Пакетник" тоже может дать отлуп - он знает, что вот эти файлы именно такой версии необходимы для корректной работы системы. Тогда перезагрузка не потребуется. РэдХат куда-то в эту сторону и движется с атомарным обновлением системы и доступом "только чтение" - такой подход проще.

Ответить | Правка | Наверх | Cообщить модератору

97. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (-), 19-Июл-22, 10:40 
> "Пакетник" тоже может дать отлуп - он знает, что вот эти файлы
> именно такой версии необходимы для корректной работы системы.

Это что, на каждый сискол мнение пакетника спрашивать? И сколько MIOPS/core получится? 0.0(0) примерно? Пакетник не часть ядра и не компонент миднайта. Хотя при сильном желании наверное можно какой-то плагин к миднайту сделать, но...

... но в стабильных дистрах придумали сильно более простой способ. В пределах релиза системные либы - той версии какой условиились, и ВЕСЬ СОФТ билдуется под НИХ. И софт в репах как правило по версиям лочится. Майнтайнеры по ходу дела бэкпортят секурити фиксы и проч. Это вообще совсем не как в винде но имеет ряд плюсов. В частности, поставив систему, можно лепить апдейты на все и вся не глядя практически - и ничего не сломается. А если вместо программы версии 1.2 влепят 3.3 выкаченый автором - ну а вот не факт что оно конфиг от 1.2 вообще сожрет, может автор все перепахал два раза?! Вот только я сегодня покодить хотел, вон тот проект, а вовсе и не разгребать такой факап за апдейтером. И вот тут отличие от винды очень на руку. Это с одной стороны относительно секурно и ВСЕ компоненты в системе патчатся одной софтиной, вовремя. С другой - не ломает систему. Да, это компромисс.

> Тогда перезагрузка не потребуется.

Если моя система еще работает я тоже могу снапшот подпихнуть без ребута. Но вот это при сносе usr уже не гарантировано.

> РэдХат куда-то в эту сторону и движется с атомарным обновлением
> системы и доступом "только чтение" - такой подход проще.

Кому оно надо было - и без всяких редхатов подобное сто раз делали. А вот именно редхат в технологиях пакетников вообще очень так себе господа. Во всяком случае что up2date, что yum, что dnf у них были тормозным, глюкавым сблювом, куском наколенной питонятины жрущей ресурсы и временами раздристывающее свою базу пакетов не хуже MSI installer. Почему за цать лет нельзя столь важный системный компонент сделать нормально а не вебмакаками я не знаю. Для меня это был аргумент развидеть редхаторбразных к чертям. Наверное по примерно тем же причинам альты взяли фронтом к rpm-у все же дебиановский apt, избавив себя от множества "радостей".

Ответить | Правка | Наверх | Cообщить модератору

98. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от n00by (ok), 19-Июл-22, 11:22 
>> "Пакетник" тоже может дать отлуп - он знает, что вот эти файлы
>> именно такой версии необходимы для корректной работы системы.
> Это что, на каждый сискол мнение пакетника спрашивать?

Нет. Самый очевидный вариант - нотификации ФС.

> И сколько MIOPS/core получится?

Касаемо pledge эти вопросы ведь никого не волновали. ;)

> 0.0(0) примерно? Пакетник не часть ядра и не компонент миднайта. Хотя
> при сильном желании наверное можно какой-то плагин к миднайту сделать, но...

Я не готов предметно обсуждать детали реализации, поскольку она никому не нужна.

Ответить | Правка | Наверх | Cообщить модератору

99. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (99), 19-Июл-22, 14:14 
> Нет. Самый очевидный вариант - нотификации ФС.

Нотификации приходят постфактум, в этот момент уже поздно отлуп возвращать. К тому же пакетник может быть не в форме после выноса /usr

Для эффективной реализации тут скорее напрашивается какой-то ядерный интерфейс где юзермод решает allow/deny но такого в ядре вроде нет и не понятно чего делать если хелпер в юзермоде упал например.

> Касаемо pledge эти вопросы ведь никого не волновали. ;)

Имхо это сильно менее позорно будет, чем БД пакетника на каждый чих лукапать. В нормальной ситуации обычные программы под обычным юзером вообще не могут "write" в систему.

> Я не готов предметно обсуждать детали реализации, поскольку она никому не нужна.

Ну да. А не нужна она потому что на прогу пытаются навесить не свойственный ей род занятий.

А так - у меня в usr _все_ файлы припасаны к тому или иному пакету. Лишний файл это баг. Отсутствующий файл это баг. Этот каталог просто не рулится мной мануально вообще. Даже самосбор это либо пакет собраный билдсистемой, либо checkinstall хотя-бы. А так чтобы вот именно левый или отсутствующий файл - ну нет, я как раз проникся прелестью унификации управления через пакетник, все только через него. Но он не ACL и не "system files protection". Это менеджер софта. И системного и не очень - там никакого особого деления на систему и не-систему нет. Я сам решаю что для меня "система" по большому счету.

Ответить | Правка | Наверх | Cообщить модератору

100. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от n00by (ok), 19-Июл-22, 16:12 
>> Касаемо pledge эти вопросы ведь никого не волновали. ;)
> Имхо это сильно менее позорно будет, чем БД пакетника на каждый чих
> лукапать.

ИМХО позорно другое. Для Виндоса, где как бы нет исходников ОС, одних только антируткитов написано штук десять. Проактивок всяких, наверно, и не счесть - они там что-то фильтруют и делают это грамотно (я слышал даже про откат состояний системы, и если люди за такое платят, значит оно не шибко тормозит). А здесь почему-то приходится объяснять, что я нигде не писал про запросы к БД пакетника, и мне бы в голову не пришла такая деталь реализации.

Ответить | Правка | Наверх | Cообщить модератору

101. "Проект по портированию механизма изоляции pledge для Linux"  +1 +/
Сообщение от Аноним (-), 19-Июл-22, 23:06 
> 3) Пакетнику для работы нужна рабочая система. Он обычная программа. Конечно, можно
> его статически отстроить и проч. Но тогда фиксить его сам станет отдельной канителью для майнтайнеров с трекингом внутренних либ и дублированием его сущностей.

Ну-ну.
https://github.com/freebsd/pkg/blob/master/mk/static-lib.mk


% ldd -f "%o\n" /usr/local/sbin/pkg
libelf.so.2
libjail.so.1
libssl.so.111
libcrypto.so.111
libarchive.so.7
libbz2.so.4
libz.so.6
liblzma.so.5
libprivatezstd.so.5
libm.so.5
libutil.so.9
libmd.so.6
libthr.so.3
libc.so.7
libbsdxml.so.4

% ldd /usr/local/sbin/pkg-static
ldd: /usr/local/sbin/pkg-static: not a dynamic ELF executable


Просто поменьше пихтончика и свистелок с перделками в пакетник пихать надо (или делать зависимости опциональными).

Но вы конечно можете рассказать, что это унылая отсталость, а настоящий пакетник должен иметь зависимости от 100500 сторонних либ, которые (почему-то) нужно "трекать" только для сборки статик-версии (ведь у динамически слинкованой есть автозащита от поломки при обновлении либ, ага).

Ответить | Правка | К родителю #93 | Наверх | Cообщить модератору

102. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от n00by (ok), 20-Июл-22, 06:14 
Как я успел понять из недавней темы про руткит с LD_PRELOAD, в GNU/Linux сформировалась некая религия вокруг glibc. Линковаться с библиотекой следует не так как того требует задача, а согласно учению гуру. Отсюда и остальные артефакты мышления: перегрузить боевую систему "на пару минут" и восстановиться из резервной копии это норма, а уведомление об удалении файла и дублирование жизненно важных so-шек - это слишком поздно и много места занимает (и лучше бы он ответил "как в венде" -- мне тоже такое решение не нравится, как не надёжное).
Ответить | Правка | Наверх | Cообщить модератору

71. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (69), 16-Июл-22, 21:16 
хорошим дополнением именно за счет простоты настройки
Ответить | Правка | К родителю #69 | Наверх | Cообщить модератору

84. "Проект по портированию механизма изоляции pledge для Linux"  +3 +/
Сообщение от Аноним (-), 18-Июл-22, 11:21 
Космополитан, лол. :3
Ответить | Правка | Наверх | Cообщить модератору

103. "Проект по портированию механизма изоляции pledge для Linux"  +/
Сообщение от Аноним (-), 22-Июл-22, 15:13 
Угадайте, кто в первую очередь будет использовать этот pledge. Гугля.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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