Re[27]: В Windows теперь нужно писать ./my.exe
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 06.07.23 09:09
Оценка:
Здравствуйте, Pauel, Вы писали:

P>>>Еще раз и медленно — ограничивать нужно доступ к конфигам. В самих конфигах пишите что вам вздумается. Если к ним нет левого доступа, то всё в порядке.


N>>Теперь осталось понять, какой доступ левый и как это определить. Только вот тут почему-то и начинаются сложности.


P>В том то и дело, что с нынешним подходом это крайне проблематично — home это россыпь конфигов и скриптов.


А вы не предложили ничего конструктивного взамен, и не сможете.

P>>>Именно. Все трояны-вирусы в той или иной степени именно на этом и существуют. Потому и закрывают те или иные возможности, которыми легко злоупотребить.


N>>И вот их обычно закрывают раздельными пользователями и вложенными виртуалками разной степени навороченности — это уже работает — а не мифическими "запретим ставить исполняемость тем, кто сегодня непохож на инсталлятор".


P>Этот мифический запрет почему то отлично реализован в Андроиде.


В Android работает не это, а две других вещи в комплексе —
1) Каждая программа в своей песочнице (как минимум под своим uid), взаимные действия и с общими данными — реализованы через шлюзы.
2) Программы явно получают права на внешние действия и это регулируется пользователем (кроме того, чему система даёт неотменяемые права).
И это тем не менее не устраняет проблемы типа если программе дали доступ к Downloaded files, то она способна стереть оттуда всё, что не понравится. Потому что это уже в пределах одной "гранулы" прав.
The God is real, unless declared integer.
Re[9]: В Windows теперь нужно писать ./my.exe
От: · Великобритания  
Дата: 06.07.23 09:11
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE>·>sudo apt-get install git

BFE>·>Отсюда: https://git-scm.com/download/linux
BFE>И будет установлено какое-то старьё.
А в дебиане нельзя разве дополнительную репу ppa:git-core/ppa добавить?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[9]: В Windows теперь нужно писать ./my.exe
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 06.07.23 09:38
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE>Здравствуйте, netch80, Вы писали:


N>>Но если тебе надо заменить системный git, то единственным правильным способом является собрать пакет из нужной версии и уже средствами пакетного менеджера установить его вместо текущего.

BFE>Мда...
BFE>Тяжело быть параноиком.

Так тут вопрос даже не столько security, сколько safety.
Иначе апгрейд придёт, заменит тебе git, а ты и не заметишь.

В системах с пакетным менеджером через него крайне желательно делать всё в тех пределах, в которых он действует. Например /usr/bin туда входит, а /usr/local/bin (в большинстве Linux-систем) — нет.
The God is real, unless declared integer.
Re[9]: В Windows теперь нужно писать ./my.exe
От: amironov79  
Дата: 06.07.23 11:22
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE>·>sudo apt-get install git

BFE>·>Отсюда: https://git-scm.com/download/linux
BFE>И будет установлено какое-то старьё.

Сидеть на дебиане и требовать последние версии... В бэкпортах смотрел? Там тоже старье?
Re[7]: В Windows теперь нужно писать ./my.exe
От: amironov79  
Дата: 06.07.23 11:23
Оценка:
Здравствуйте, B0FEE664, Вы писали:

M>>Если оно что-то и удалит, то только свою песочницу. Там особо терять нечего.

BFE>Разве от сценария описанного здесь
Автор: Pzz
Дата: 30.06.23
это не спасает? А если спасает, то зачем subj?


Сабж в других сценариях спасает.
Re[28]: В Windows теперь нужно писать ./my.exe
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 06.07.23 11:35
Оценка:
Здравствуйте, netch80, Вы писали:

N>2) Программы явно получают права на внешние действия и это регулируется пользователем


Ну то есть вы понимаете, что ничего мифического здесь нет.
Re[21]: В Windows теперь нужно писать ./my.exe
От: Conductor СССР  
Дата: 06.07.23 13:37
Оценка:
Здравствуйте, netch80, Вы писали:

N>В Ubuntu, например, стандартный ~/.bash_profile содержит такие интересные заклинания:


N>
N># set PATH so it includes user's private bin if it exists
N>if [ -d "$HOME/bin" ] ; then
N>    PATH="$HOME/bin:$PATH"
N>fi

N># set PATH so it includes user's private bin if it exists
N>if [ -d "$HOME/.local/bin" ] ; then
N>    PATH="$HOME/.local/bin:$PATH"
N>fi
N>


Спасибо. Да, это я лажанулся, сейчас посмотрел — в debian по дефолту то же самое. Просто у меня в актуальном этого нет, видимо, когда рабочую версию делал — выкинул, давненько это было.

C>>Создать подкаталог и там распаковать — что-то мешает?


N>Pauel считает, что юзер рано или поздно пойдёт распаковывать напрямую в хомяке.


Да это я понял. Рано или поздно юзер много чего может сделать — свободный человек. Комп, например, в окно выкинуть. Видимо, чтобы это ему не удалось, на окна требуется решётки поставить. И стекло пуленепробиваемое. А лучше — и то, и другое. А юзера — зафиксировать. Наручниками к кровати. Ну, чтобы как бы чего не вышло. А еще лучше — юзера вообще устранить. Нафиг он нужен, мешок кожаный?

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


N>Ну вообще-то есть варианты, типа, это был не Вася...


Васю можно и спросить: "Вася, скотина ты эдакая, ты мне архив присылал?" Или договориться с Васей изначально, что если он что-то присылает, то он об этом извещает. Тут, конечно, можно ситуацию и дальше развить — Васю подменили по всем фронтам. Но тут уже начинает работать правило, что (банальные вещи от КО): 1. если захотят взломать — взломают, абсолютной защиты не существует; 2. приемлемая защита заключается в том, чтобы стоимость взлома превышала полученную выгоду.
Re[29]: В Windows теперь нужно писать ./my.exe
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 06.07.23 14:27
Оценка:
Здравствуйте, Pauel, Вы писали:

P>Здравствуйте, netch80, Вы писали:


N>>2) Программы явно получают права на внешние действия и это регулируется пользователем


P>Ну то есть вы понимаете, что ничего мифического здесь нет.


И при этом я понимаю, что это совсем другой подход с другими особенностями и последствиями, и переносить его результаты на тему обсуждения, как вы пытаетесь делать, просто некорректно.
The God is real, unless declared integer.
Re[7]: В Windows теперь нужно писать ./my.exe
От: maxkar  
Дата: 09.07.23 10:38
Оценка:
Здравствуйте, B0FEE664, Вы писали:

M>>Если оно что-то и удалит, то только свою песочницу. Там особо терять нечего.

BFE>Разве от сценария описанного здесь
Автор: Pzz
Дата: 30.06.23
это не спасает? А если спасает, то зачем subj?

Спасает, но только когда мы в песочнице. И ключевой момент здесь в "когда". При сборке проекта (или запуске загруженных бинарников) я прекрасно знаю, что выполняю непроверенный код из потенциально случайных источников. Но при этом далеко не всегда при работе я намерен выполнять внешний код. Может быть, я скачал логи приложения, полученные от клиента, и будут их анализировать. Или какой-то проект, где я хочу просто пролистать исходники. Или, например, документацию к SDK, из которой можно взять какие-то фрагменты кода. С точки зрения максимальной безопасности стоит распаковывать эти проекты в песочнице. Ну хотя бы на случай, если в архиваторе есть ошибки работы с памятью, которые могут приводить к выполнению произвольного кода. Но я еще не дорос до такого уровня паранойи. Мне лень песочницы заводить под сценарии, где я только читаю внешние ресурсы. И вот в этом случае как раз очень удобно знать, что можно спокойно распаковывать архивы и работать с полученным результатом. У меня получается очень небольшой круг опасных операций (запуск кода из внешних источников). Если же разрешать выполнение файлов из текущего каталога, круг опасных операций становится гораздо шире. В него автоматически попадают все внешние (не встроенные в командную оболочку) программы. Это делает повседневную жизнь очень неудобной.
Re: В Windows теперь нужно писать ./my.exe
От: BSOD  
Дата: 09.07.23 11:22
Оценка: :)
Здравствуйте, Shmj, Вы писали:

S>Зачем же? Лишняя сущность...

Интересное дело. Поиск и в текущей директории и в PATH — эта фича тянется еще с ранних версий MS-DOS с восемдесят бородатого года.
Не прошло и полвека, как решили исправить.

Я может и прошло, если считать CP/M. Как там было с сабжем в CP/M не знаю, не копенгаген.

А вот интересно, если добавить текущий каталог в PATH, можно ли эмулировать старое поведение?..

PS. А официальное подтверждение со ссылками можно? Хочу понять с какой версии действует это изменение...


Расходимся, описанное поведение касается только PowerShell, ничего нового.
Sine vilitate, sine malitiosa mente
Отредактировано 09.07.2023 13:51 BSOD . Предыдущая версия .
Re[2]: В Windows теперь нужно писать ./my.exe
От: Shmj Ниоткуда  
Дата: 09.07.23 12:13
Оценка:
Здравствуйте, BSOD, Вы писали:

BSO>PS. А официальное подтверждение со ссылками можно? Хочу понять с какой версии действует это изменение...


Тут дело в том что по умолчанию как терминал теперь открывается PowerShell. И даже цвет убрали — ранее по умолчанию она была синей, а теперь черная.

Ну и я не глянул, подумал что стандартная консоль, т.к. открылась по терминалу и черного цвета. А оно ПоверШелл.
Re[3]: В Windows теперь нужно писать ./my.exe
От: BSOD  
Дата: 09.07.23 12:35
Оценка: :)
Здравствуйте, Shmj, Вы писали:

BSO>>PS. А официальное подтверждение со ссылками можно? Хочу понять с какой версии действует это изменение...

S>Тут дело в том что по умолчанию как терминал теперь открывается PowerShell. И даже цвет убрали — ранее по умолчанию она была синей, а теперь черная.
S>Ну и я не глянул, подумал что стандартная консоль, т.к. открылась по терминалу и черного цвета. А оно ПоверШелл.

PowerShell это одно, а cmd.exe — это другое , нельзя сравнивать.
В PowerShell описанное тобой поведение было изначально.

Я правильно понял, что поведение cmd.exe не изменилось, ты имел в виду только PowerShell???
Sine vilitate, sine malitiosa mente
Re[4]: В Windows теперь нужно писать ./my.exe
От: Shmj Ниоткуда  
Дата: 09.07.23 13:32
Оценка:
Здравствуйте, BSOD, Вы писали:

BSO>Я правильно понял, что поведение cmd.exe не изменилось, ты имел в виду только PowerShell???


Написал же — попутал, т.к. на заголовок не глянул а экран был черным (привык что PowerShell по умолчанию синий). Открыл по клику правой кнопки, выбор в меню терминал. Думал что это CMD. А потом тему уже было поздно удалять — уже начался холивар.
Re[4]: В Windows теперь нужно писать ./my.exe
От: m2user  
Дата: 17.07.23 09:33
Оценка:
Pzz>А ты, такой, говоришь ls стоя в этой внутренней директории, вынутой из архива. Ну, чтобы список файлов посмотреть. А потом уже всякое такое говоришь, уже не компьютеру, а ртом, чего я даже воображать не буду, чего говоришь.

Разве AppArmor не защитит от такой ситуации (странно, что его в этой теме не упоминали)?
Насколько я понимаю, там правила, основанные на полных путях, т.е. ls из домашней директории он не даст запустить, пока ты для него новое правило не создашь.

Пишут, что AppArmor в Debian из коробки:

If you are using Debian 10 "Buster" or newer, AppArmor is enabled by default so you can skip this step.

apparmor debian
Re[5]: В Windows теперь нужно писать ./my.exe
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 17.07.23 09:45
Оценка:
Здравствуйте, m2user, Вы писали:

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


M>Разве AppArmor не защитит от такой ситуации (странно, что его в этой теме не упоминали)?

M>Насколько я понимаю, там правила, основанные на полных путях, т.е. ls из домашней директории он не даст запустить, пока ты для него новое правило не создашь.

M>Пишут, что AppArmor в Debian из коробки:


А в контейнерах? А если не Debian?
И вообще эта защита в Unix создавалась лет за 30 до AppArmor и минимум за 15 до самых ранних его аналогов.
The God is real, unless declared integer.
Re[6]: В Windows теперь нужно писать ./my.exe
От: m2user  
Дата: 29.07.23 06:46
Оценка:
M>>Разве AppArmor не защитит от такой ситуации (странно, что его в этой теме не упоминали)?
M>>Насколько я понимаю, там правила, основанные на полных путях, т.е. ls из домашней директории он не даст запустить, пока ты для него новое правило не создашь.

M>>Пишут, что AppArmor в Debian из коробки:


N>А в контейнерах? А если не Debian?


я не проверял, но в интернетах пишут, что AppArmor в контейнерах должен работать.
(https://discuss.linuxcontainers.org/t/apparmor-inside-debian-container/10332)

На Ubuntu тоже AppArmor.
На RHEL и деривативах вроде SELinux аналогичную защиту должен обеспечивать.
Т.е. средства на базе LSM (Linux Security Modules) вполне используются, а не какая-то экзотика.

N>И вообще эта защита в Unix создавалась лет за 30 до AppArmor и минимум за 15 до самых ранних его аналогов.


Это понятно, но я больше про современный подход к ситуации, описанной в комментарии на который я отвечал.

В треде упоминались такие способы как цифровая подпись исполняемых файлов и всевозможные способы создания изолированного окружения.
Тогда как AppArrmor выглядит гораздо более простым решением.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.