LinuxForum.Fans
Тема

Файл "Сценарий оболочки Unix"

Автор: kostik 24 сообщений 4901 просмотров
#152433

Насколько оправданно использование таких программ в Linux? Например скачиваю программу Koyote для отправки СМС сообщений, или Tor Browser Bundle, которые без установки работают, после извлечения из архива, запускается Tor и браузер namoroka, koyote тоже работает. Я полный чайник в программирование, просто интересно, как отражается на безопасности ОС, использование таких программ, устанавливающихся и запускающихся без root.

#152446
kostik написал:
Насколько оправданно использование таких программ в Linux?

вопрос не имеет смысла, ибо Linux чуть более чем полностью состоит из сабжей.

kostik написал:
которые без установки работают, после извлечения из архива, запускается Tor и браузер namoroka, koyote тоже работает. Я полный чайник в программирование, просто интересно, как отражается на безопасности ОС

очень положительно, ибо вы можете запускать такие программы от отдельного пользователя, которому что-то можно запретить. и программа будет делать только то, что должна. Она например физически не сможет удалить ваши документы. а программа в системе имеет хозяина root, и может ВСЁ. Как вирус в маздае. Самое страшное то, что маздай об этом хоть предупреждает, а линукс - нет :(

#152468
drBatty написал:
а программа в системе имеет хозяина root, и может ВСЁ.

Это кто вам такие глупости сказал? Плюньте ему в лицо.

#152487
shumomer написал:
Это кто вам такие глупости сказал? Плюньте ему в лицо.

Вы хотите сказать что init работает от обычного пользователя? или make world тоже? :D

#152498
drBatty написал:
а программа в системе имеет хозяина root, и может ВСЁ.
shumomer написал:
Это кто вам такие глупости сказал? Плюньте ему в лицо.

это я сказал. мне доказать? сделать пакет под вашу ОС, который rm- rf /* делает? ума большого не нужно...

#152503

сделай и дай мне
сойдет за антивирус
его часто спрашивают
:D :D

#152514

drBatty написал:
это я сказал. мне доказать? сделать пакет под вашу ОС, который rm- rf /* делает? ума большого не нужно.
То есть, можно написать сценарий, если я запущу этот файл, без права root, он может сделать rm- rf /*, я правильно понял?
#152521
kostik написал:
То есть, можно написать сценарий, если я запущу этот файл, без права root, он может сделать rm- rf /*, я правильно понял?

да. в ЛЮБОЙ ОС. Но:

1) скрипт уничтожит не всё, а только то, что принадлежит идиоту, который запустил его.
2) программы ставят с правами рута. скрипт во время установки может уничтожить всё что пожелает.
3) в Linux скрипты по умолчанию не имеют права исполнятся, потому скрипт из интернета не запустится.
4) зато архивы сохраняют права - если враг подсунул архив, и мы его распаковали, то скрипт запустится.

#152524

скрипт уничтожит не всё, а только то, что принадлежит идиоту, который запустил его. зато архивы сохраняют права - если враг подсунул архив, и мы его распаковали, то скрипт запустится.
если архив в каталоге home, если я распакую и запущу исполняемый файл, может он добраться до корневого каталога?
#152527
kostik написал:

если архив в каталоге home, если я распакую и запущу исполняемый файл, может он добраться до корневого каталога?

Скрипт-то посмотрите. Если запустите с правами root, то какая разница, откуда запустите, из /home, /tmp или еще откуда

#152535
drBatty написал:
а программа в системе имеет хозяина root, и может ВСЁ.

Не стоить путать термин "программа" и "процесс". Это разные сущности.
Если программа /bin/rm имеет хозяина (владельца) root, это еще не о чем не говорит.
Важно от имени какого пользователя будет работать процесс, выполняющий данную программу.
Вы конечно это все знаете, это я для топикстартера поясняю.

#152573
anonymous.ru написал:
Если программа /bin/rm имеет хозяина (владельца) root, это еще не о чем не говорит.

говорит. если установлен бит 4000. А теперь подумайте: почему злоумышленник не может установить этот бит (SUID) при создании пакета? Кто ему помешает? А ТС говорит о программах, которые ставятся в юзерспейс, без прав рута. Такие программы имеют доступ только к каталогам того, кто их запустил, и их очень просто отделить. Вот список:

1) firefox. Отличная вещь, но требует флеш от ненавистной адобы.
2) opera нет сырцов
3) гуглохром - не нашёл сырцов
4) скайп - нет сырцов
5) wual сырцы есть, но сами авторы не рекомендуют запуск и установку под рутом.
6) wine ваш К.О.
7) VB (не OSE). но её вообще лучше не юзать, ибо она права рута хочет.
8) sysinfo автор не хочет выкладывать сырцы :( к счастью, 99% функционала работает и так :)

#152575
kostik написал:
если архив в каталоге home, если я распакую и запущу исполняемый файл, может он добраться до корневого каталога?

вы можете?
значит и скрипт сможет. скрипт == набор команд, и может он всё то, что можете вы. только быстрее.

#152596

drBatty,
Понаписал много, выкинул, оставлю только это:

Откуда взялось вот это безапелляционное заявление, которое я и цитировал изначально?

drBatty написал:
программа в системе имеет хозяина root

Собственно про это я и сказал - бред. Или вы таки готовы утверждать что "программа в системе" только от рута может исполняться?

#152677
shumomer написал:
Откуда взялось вот это безапелляционное заявление, которое я и цитировал изначально?

программа в системе имеет хозяина root

Собственно про это я и сказал - бред. Или вы таки готовы утверждать что "программа в системе" только от рута может исполняться?

не "бред", а правило. из которого у меня есть аж 7 исключений:
[console]ksu@ksu:~$ find /usr/ -executable ! -user root -ls
188255 4 drwxr-xr-x 3 news news 4096 Ноя 12 2009 /usr/lib/nn
188258 4 drwxr-xr-x 2 news news 4096 Ноя 12 2009 /usr/lib/nn/help
188257 4 -rwxr-xr-x 1 news news 1059 Ноя 12 2009 /usr/lib/nn/upgrade_rc
188277 16 -rwxr-xr-x 1 news news 12630 Ноя 12 2009 /usr/lib/nn/aux
find: `/usr/lost+found': Отказано в доступе
60537 4 -rwxr-xr-x 1 news news 3304 Ноя 12 2009 /usr/bin/nnstats
5518 40 -rwsr-sr-x 1 daemon daemon 40616 Июл 29 2010 /usr/bin/at
60539 4 -rwxr-xr-x 1 news news 1371 Ноя 12 2009 /usr/bin/nnusage
60538 228 -rwxr-xr-x 1 news news 231376 Ноя 12 2009 /usr/bin/nn
60536 4 -rwxr-xr-x 1 news news 970 Ноя 12 2009 /usr/bin/nngrab
[/console]
программа в системе может исполнятся лишь от имени того, кому хозяин разрешил (root в 99.9% случаев. и в остальных тоже, ибо юзер news даже залогиниться не может). кроме того, программа ставится с правами рута, а значит - может ВСЁ.

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

В данном случае это не важно, ибо ВСЕ юзерские данные доступны этому скрипту. А то, что скрипт не сможет порушить систему - не играет роли для юзера (переставит, не впервой).

Итого: скрипты опасны.

#152760
drBatty написал:
говорит. если установлен бит 4000.

Это да. Suid -бит говорит, а не просто факт того, что хозяин файла - root.
И конечно всем известно, что в линуксе Suid на скриптах не работает.
И конечно можно монтировать /home с опцией nosuid.

#152762
drBattyВ написал:
данном случае это не важно, ибо ВСЕ юзерские данные доступны этому скрипту. А то, что скрипт не сможет порушить систему - не играет роли для юзера (переставит, не впервой).

Итого: скрипты опасны.

Это кстати факт!
Вредоносные программы, работающие с правами пользователя, тоже могут быть вредны и опасны. Следовательно, потенциально опасны все дыры в браузерах, позволяющие выполнить произвольные команды от имени пользователя :)

#152767
anonymous.ru написал:
Это да. Suid -бит говорит, а не просто факт того, что хозяин файла - root.

при установке ПО скрипт может поставить suid бит на любой свой файл. легко и не принуждённо. и молча.

anonymous.ru написал:
И конечно всем известно, что в линуксе Suid на скриптах не работает.

зато прекрасно работает ВНУТРИ скрипта.

anonymous.ru написал:
И конечно можно монтировать /home с опцией nosuid.

можно. и нужно. и не только /home, но и ВСЕ разделы кроме rootfs и /usr. Особенно те, куда может писать юзер (/var/ /tmp). И не только nosuid, но и noexec. Это спасает от многих эксплоитов, но против установки в систему бессильно. Кроме того, это никак не отменяет потерю данных самого юзера (а остальное хранить не имеет смысла).

Войдите или зарегистрируйтесь, чтобы ответить.