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

Исходное сообщение
"isolat - утилита для изолированного выполнения подозрительны..."

Отправлено opennews , 05-Янв-10 23:59 
В рамках проекта Isolate (http://code.google.com/p/isolate/) создана утилита, предназначенная для организации изолированного выполнения приложений с минимальными привилегиями и ограниченным доступом к X-серверу. Идея по созданию isolate возникла после того, как автор проекта столкнулся с уязвимостью в медиа-плеере, позволяющей выполнить код после открытия специально оформленного MP3-файла. Задача isolate - обеспечить возможность защиты системы при выполнении неблагонадежных программ или при обработке полученного из недоверительных источников контента.


В отличие от похожих по возможностям аналогов, например, завязанной на SELinux утилиты sandbox (http://www.opennet.me/opennews/art.shtml?num=23481), isolat является многоплатформенным приложением, одинаково хорошо работающим как в Linux, так и во FreeBSD. Для обеспечения изоляции в isolate использован метод динамического формирования croot-окружения, предложенный Daniel J. Bernstein в главе 5.2 документа "Размышления о безопаснос...

URL: http://lwn.net/Articles/368690/rss
Новость: http://www.opennet.me/opennews/art.shtml?num=24907


Содержание

Сообщения в этом обсуждении
"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено Аноним , 05-Янв-10 23:59 
Даешь виртуальную ОС для каждого приложения!!!

Сильно подозреваю, что вирусы начнут использовать дырки в chroot-окружении. Так что витки вооружений будут бесконечны.


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено anonymous , 06-Янв-10 00:15 
Возможно, но маловероятно, цель вируса запуститься на максимальном числе машин при приемлемой сложности вируса, а не на вообще всех. Да и не надо виртуальной ОС для каждого приложения(всё равно это бесполезно, процессам надо взаимодействовать => будут дырки), зато для случая когда нельзя, но очень хочется такая утилитка будет замечательна.

"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено уауауауауа , 06-Янв-10 11:34 
Взаимодействие процессов на уровне архитектуры должно быть максимально на высоком уровне с минимальным количеством функций.

"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено Аноним , 06-Янв-10 02:55 
а говорили, что уязвимости и вирусы только под Виндой ...

"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено аноним , 06-Янв-10 03:08 
Да, но пользователи-дебилы есть везде.

"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено pavlinux , 07-Янв-10 01:14 
Где, про вирусы сказано???


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено XoRe , 06-Янв-10 01:12 
"Откройте для себя chroot".

Имхо, DOS/Windows негативно отражается на нашем мышлении.
Такие вещи, как chroot, scp(sftp), клиент-серверная модель иксов, программа strings, и т.д. существуют в *nix уже очень долго.
Но пользователи все открывают и открывают для себя эти вещи (а так же то, что можно с ними делать).

chroot с обвязками (со скриптами, которые сами формируют окружение и т.д.) очень мощная штука.
В том числе - и на десктопе.
Добавить к этому какую-нибудь отслеживалку действий программы, и бороться с вирусами становится гораздо проще:
1. Подозрительная программа запускается в chroot.
2. Отслеживаются и записываются все её вызовы и обращения к файлам.
3. Формируется отчет, который отсылается куда следует.
Это действие можно автоматизировать до того, что пользователь нажимает правой кнопкой мышки на программе и выбирает "проверить на вирусную активность".


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено JL2001 , 06-Янв-10 01:24 
>Это действие можно автоматизировать до того, что пользователь нажимает правой кнопкой мышки
>на программе и выбирает "проверить на вирусную активность".

и что, кто то автоматизировал уже? или все ждут первой звезды в виде 90% десктопов?
зы: массовость на десктопах принесёт виръё качаемое и запускаемое, надо заранее готовить всякие авто-chroot для всего не с репозиториев например


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено аноним , 06-Янв-10 03:18 
>гораздо проще:

До конца каникул вам задание:
1) Запустите любую более-менее сложную програму под ktrace, посмотрите какой лог там получится и попробуйте его проанализировать и куда-нибудь отправить.
2) Попробуйте дать точное определение "вирусной активности", составьте полную таблицу всех возможных действий программы, рассортированых на две группы - вирусные/не вирусные (подсказка: это как минимум все сисколлы со всеми комбинациями параметров умножить на все возможные состояния системы). Будет ли эта таблица одинаковой для всех приложений?
3) Подумайте, как вы будете автоматически тестировать все пути выполнения программы. Также подумайте, как вы будете тестировать код, которого вообще нет (но должен быть, чтобы программа не превратилась во вредоносную).


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено XoRe , 06-Янв-10 13:57 
>>гораздо проще:
>
>До конца каникул вам задание:

По цене договоримся?)
Не студент уже, извините, за зачет не работаю.

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

Я думаю, что в *nix такие вещи делать проще.
И я думаю, что это по силу создателям бесплатных антивирусов.
А в gnome/kde можно будет нарисовать апплетик под эту функциональность)


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено Аноним , 06-Янв-10 16:44 
> По цене договоримся?)
> Не студент уже, извините, за зачет не работаю.

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


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено XoRe , 06-Янв-10 21:52 
>> По цене договоримся?)
>> Не студент уже, извините, за зачет не работаю.
>
>Если за бесплатно не работаете, зачем указываете кому и что делать?
>Если то что вы перечислили вам нужно, флаг вам в руки. И
>плата в виде респектов гарантируется.

Прошу прощения, но я не указывал)
Я лишь описал свою идею.
Возможно, кому-то она покажется интересной и её реализуют.


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено pavlinux , 07-Янв-10 01:17 
>>> По цене договоримся?)
>>> Не студент уже, извините, за зачет не работаю.
>>
>>Если за бесплатно не работаете, зачем указываете кому и что делать?
>>Если то что вы перечислили вам нужно, флаг вам в руки. И
>>плата в виде респектов гарантируется.
>
>Прошу прощения, но я не указывал)
>Я лишь описал свою идею.
>Возможно, кому-то она покажется интересной и её реализуют.

А где идея?! По пунктам можно?


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено XoRe , 09-Янв-10 20:08 
>[оверквотинг удален]
>>>
>>>Если за бесплатно не работаете, зачем указываете кому и что делать?
>>>Если то что вы перечислили вам нужно, флаг вам в руки. И
>>>плата в виде респектов гарантируется.
>>
>>Прошу прощения, но я не указывал)
>>Я лишь описал свою идею.
>>Возможно, кому-то она покажется интересной и её реализуют.
>
>А где идея?! По пунктам можно?

Идей несколько.
1. Опция "установить в чруте".
Будет актуально, когда в linux хлынет куча софта, который будет ставится не из рпозиториев.
Ну и с играми так же.
Плюс, это может быть полезно для того, чтобы узнать, какие файлы и куда устанавливаются.
Причем, узнать это ДО реальной установки.

2. Пункт в меню "проанализировать программу".
Запускается в чруте, собирается инфа о том, какие функции она пытается выполнить.
Формируется отчет и отправляется кому следует.


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено pavlinux , 09-Янв-10 21:26 
>>А где идея?! По пунктам можно?
>
>Идей несколько.
>1. Опция "установить в чруте".
>Будет актуально, когда в linux хлынет куча софта, который будет ставится не
>из репозиториев. >Ну и с играми так же. >Плюс, это может быть полезно для того,
> чтобы узнать, какие файлы и куда устанавливаются.
> Причем, узнать это ДО реальной установки.

/etc/skel - давно есть
useradd/groupadd - тоже
shmfs/tmpfs - уж лет как 10
mount --bind - недавно, но есть.
bourne AGAIN shell  - молчу.

складываем ... получаем
ID=$RANDOM

mkdir -p -m 0700 /trash/$ID/
groupadd  -g $ID
useradd -d /trash/$ID/ -g $ID -u $ID
mount -t shmfs none /trash/$ID/ -o size 2Gb,mode=0700,gid=$ID,uid=$ID
mkdir -p -m 0700 /trash/$ID/bin
chown -R $ID:$ID /trash/$ID

sudo -u $ID /tmp/instal.exe  :)


>2. Пункт в меню "проанализировать программу".
>Запускается в чруте, собирается инфа о том,
> какие функции она пытается выполнить.
>Формируется отчет и отправляется кому следует.

ldd /opt/google/chrome/chrome
readelf -a /opt/google/chrome/chrome
objdump -D /opt/google/chrome/chrome
objdump -d /opt/google/chrome/chrome | awk '{print $4" "$5" "$6 " "$7}' | tr " " "\n" | grep -v [:alfa:] | sort -u
strings /opt/google/chrome/chrome

......

У меня есть модулёк, который заменяет всё syscall на их же, но перед этим делает
sprintf(LOG_FILE, %d:%d:%d:%s:%d:%s\n", time, uid, gid, path, syscall_NR, syscall_NAME);

Дело в том,
1. Что это подобные проги, типа запуска из chroot, нужны для чайников.
2. Если это чайнег, собранная инфа ему вообще ни о чём не расскажет.
3. Если из chroot запускает не чайник, значит он боится не программу,
а результатов дальнейшей работы с ней юзеров, веба, других приложений.
4. Вариантов уязвимостей бесконечно много, 99.999% из них ещё не открыты.
5. Следовательно предсказание о текущей безобидности программы не означает
её безвредность в будущем. vmsplice - никто не ждал :)
6. Для UNIX подобных осей, а они вся сейчас такие, только морды разные, вполне
хватает знания о том что программа хочет UID = 0; И этого достаточно.
7. Если этого недостаточно, то это уже проблемы OS, а не юзера или приложения.


  Появление подобных программ, типа rkhunter, snort, Apparrmor, и т.п. ведёт к тупости админов, не понимания системы. Если человек не осознал и не изучил методы атак
на компьютеры, методы предохранения, (к проституткам тоже без презервативов ходите?),
способы защиты данных и сети. Так нах..я нам такие юзеры. Если у тебя украли счёт кредитной карты  и сняли всё бабло - САМ ВИНОВАТ.
  Да, это намного сложнее, чем купить сейф и положить туда все бумаги и номера счетов,
это труднее чем дойти до банка, и вручную перевести денег или оплатить счёта.
Но не труднее, чем прочитать "Основы компьютерной безопасности", "ОС Для чайников" и подобные, Воину и Мир в школе заставляли читать?! Ждёте указа ГосДумы о обязательной сертификации и получение прав на использование Компьютерной техники?!



"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено Gambler , 06-Янв-10 04:18 
По-хорошему, автоматизировать это надо до такого уровня, что по умолчанию все программы запускаются в chroot с минимумом привелегий. Тогда и анализировать ничего не надо. В полной изоляции вирусы нормальной системе просто не страшны. Если вирус не может изменять системные файлы, не может читать пользовательские, не может открывать сокеты или писать в память чужих процессов, то он не опасен. Только для такого надо будет основательно перестроить OC, да и сами приложения.

"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено upyx , 06-Янв-10 06:00 
Читайте выше:
"Да и не надо виртуальной ОС для каждого приложения(всё равно это бесполезно, процессам надо взаимодействовать => будут дырки)".
Если программа не сможет читать пользовательские файлы, какой вообще от нее прок?

В целом, идея изолирования данных которые не должны пересекаться правильная и очень не новая. Уверен, что многие применяют этот подход на практике, например, я, для работы с ценными данными, создал отдельный раздел, который примонтируется при необходимости, и отдельного пользователя, под которым эти данные доступны.
Вот только задача следить за тем какие данные должны взаимодействовать, а какие нет - задача пользователя. А что мы знаем о пользователях? :) Правильно, если пользователю оно надо и руки из правильного места, он найдет как это сделать сам, в противном случае - все ухищрения разработчиков бес-по-ле-зны. Так вот задача в том, чтобы дать возможность первым (заинтересованным пользователям) решить эту задачи без допгемора. Представленная утилита как раз шаг в этом направлении. А бороться со вторыми неэффективно из-за многократного превосходства сил.


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено Gambler , 06-Янв-10 09:22 
>Читайте выше:
>"Да и не надо виртуальной ОС для каждого приложения(всё равно это бесполезно, процессам надо взаимодействовать => будут дырки)".
>Если программа не сможет читать пользовательские файлы, какой вообще от нее прок?
>Вот только задача следить за тем какие данные должны взаимодействовать, а какие
>нет - задача пользователя. А что мы знаем о пользователях? :)
>Правильно, если пользователю оно надо и руки из правильного места, он
>найдет как это сделать сам, в противном случае - все ухищрения
>разработчиков бес-по-ле-зны.

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

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

Я знаю нескольких людей, которые основную часть приложений держат под виртуальными системами, именно для изоляции.

Файлы в виртуалку можно заливать через определенные shared директории. А другие директории можно смонтировать как readonly. Это уже делается, но делается через ненужныый слой виртуализации в userspace, хотя доступ к памяти и файлам в OC и так "виртуальный".

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

И не надо все проблемы безопасности сваливать на пользователя. Почитайте:

http://research.microsoft.com/en-us/um/people/cormac/papers/...

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

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

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


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено Вредонос , 06-Янв-10 12:01 
>В целом, идея изолирования данных которые не должны пересекаться правильная

Ничего не правильная. У вас для текстовых файлов только vi используется? :) Возьмите тот же латех - его исходники трогают как минимум три процесса! Что, для каждого делать разрешение? А для других исходников опять отвечать на вопросы? А как быть с промежуточными файлами компилляции?

Вирусы были, есть и будут есть, тут спасение только в бэкапах и внешних, незаражённых системах.


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено Crazy Alex , 06-Янв-10 14:39 
Лишь бы ЭТО было отключаемым... При разумной работе с компьютером (не о домохозяйках речь, конечно) эти навороты не нужны практические никогда. Всего-то надо - не запускать неизвестный софт да вовремя обновляться, ну и бэкапы никто не отменял (сейчас они, кстати, чуть ли не сами возникают - то в удаленном репозитории GIT, то еще по сети куда-то данные закинешь...)

"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено Tav , 06-Янв-10 07:36 
По-хорошему, любая программа в системе должна иметь доступ только к тем ресурсам, которые ей необходимы. Например, к своему каталогу конфигурации и только тем файлам пользователя, которые пользователь явно указал через диалог открыть/сохранить. Нормально все это можно было бы обеспечить в ОС с приложениями в управляемом коде, вроде Inferno, JNode или Singularity.

"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено null , 06-Янв-10 07:59 
Ну, вот SELinux как раз и обеспечивает.

"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено User294 , 06-Янв-10 08:04 
> с приложениями в управляемом коде

Даже трояны на яве с мобилок невзирая на воистину фашистские ограничения (каждый пук надо подтверждать) и то умудряются спамить и производить прочую левую активность, а вы говорите. Надежный способ только один - "в случае аварии выдерни шнур, выдави стекло" :P.


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено Tav , 06-Янв-10 16:57 
Я говорю о теории. На практике ошибки есть везде, особенно в закрытых непонятно-кем-написанных прошивках мобильников. С Java-апплетами тоже были неприятности, но сейчас дыры в реализации JavaScript браузеров как-то больше угрозы представляют.

"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено Аноним , 06-Янв-10 07:38 
А разве многопользовательские ОС, работающие с защищённым режимом процессора, не изолируют память одного процесса от покушений другого?

"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено User294 , 06-Янв-10 08:01 
Че-то я не понял нафиг сдался чрут. Хаксоров нынче интересует спам и проксики. Ну и как от этого поможет чрут? Ну будут срать не из основной системы так из песочницы. Результат в общем то одинаковый. И в чем тогда профит?

"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено Damon , 06-Янв-10 11:22 
>Ну будут срать не из основной системы так из песочницы. Результат в общем то одинаковый.

Не совсем. Это на сервере процесс выполняется неопределенно долго, а юзверы порой (обычно ночной) выключают ДЕСКТОП. А после включения, опять получай доступ... Несколько гиморно. А если брать вариант с пресловутым mp3, то после краха плюера, некоторая часть пользователей (а большая часть после нескольких попыток запустить) плюнет на этот файл. Т.ч. применительно к ситуации с mp3, "срать" из песочницы не получится. ИМХО, не панацея, но идея интересная, в принципе.
Все вышеописанное, ессно, относится к случаю, когда дальше песочницы проблемы не уплывут...


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено уауауауауа , 06-Янв-10 11:41 
>Че-то я не понял нафиг сдался чрут. Хаксоров нынче интересует спам и
>проксики. Ну и как от этого поможет чрут? Ну будут срать
>не из основной системы так из песочницы. Результат в общем то
>одинаковый. И в чем тогда профит?

Самое страшное - это руткит. Потому что ты о нем не знаешь, а он есть. А спаммера в песочнице прибить не трудно.


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено User294 , 07-Янв-10 18:29 
>Самое страшное - это руткит. Потому что ты о нем не знаешь,
>а он есть. А спаммера в песочнице прибить не трудно.

Вообще мне нравится по возможности игра на опережение. Режем все к такой-то фене на контейнеры, по одному на сервис. Ставим на хосте невидимый (из контейнеров) монитор изменений (и прочие причандалы по вкусу). Меняем системные утили в контейнерах на капканы сообщающие хосту что нас поимели. Бурчим под нос "welcome" и ждем хаксоров с их руткитами и чем там еще :). Которые при заходе на такое окружение с двойным дном незамедлительно вкусят все прелести своего же подхода на своей же шкуре. А даже если вдруг рута поимеют - да и хрен с ним. Слепить автоматом снапшотик на изучение да заглушить да и все дела, не долго радоваться будут. А потом поняв как пролезли - откатить на заведомо исправный снапшот и зафиксить дырку. Вот это да, современный подход к борьбе с хаксорами - клин клином вышибают :). Это правда для серверов актуально. А десктоп я просто предпочту на всякий пожарный с доверяемого LiveCD бутануть при изучении что за нафиг. Мало ли какое там у кого дерьмо в системе водится. Зная о том что руткиты - бывают, можно и заранее перестраховаться от них :)


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено JL2001 , 07-Янв-10 19:52 
я и на десктопе от такого бы не отказался, это уже больше похоже на действительно надёжный линукс

"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено XoRe , 06-Янв-10 13:45 
>Че-то я не понял нафиг сдался чрут. Хаксоров нынче интересует спам и
>проксики. Ну и как от этого поможет чрут? Ну будут срать
>не из основной системы так из песочницы. Результат в общем то
>одинаковый. И в чем тогда профит?

Сейчас активизировались смс-вирусы.
Очень неприятные штуки попадаются, скажу я вам.
Особенно, когда вирус только вышел и антивирусы его ещё не ловят.
Приходится делать это ручками.
Естественно, это под windows.
Но все же.

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

P.S.
Имхо, проксики - уже не так акутально.
Клиентские каналы растут, безлимиты множатся.
И от спама получше стали бороться.
Та же корбина по умолчанию блокирует исходящие от клиентов соединения на 25 порт.


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено Аноним , 06-Янв-10 08:09 
а есть еще вариант с ptrace исполняемого приложения и фильтрацией всех неугодных сисколлов.

"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено pavel , 06-Янв-10 10:21 
Посмотрите пожалуйста на следующую идею http://www.npp-itb.spb.ru/. Мне, например, подход авторов нравиться, только жаль что программы закрытые.

"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено Damon , 06-Янв-10 11:33 
>а есть еще вариант с ptrace исполняемого приложения и фильтрацией всех неугодных
>сисколлов.

На 100% не уверен, но разве SELinux и иже с ним не так работают?


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено Вредонос , 06-Янв-10 11:52 
По-моему, борьба с вирусами бессмысленна, как борьба со спамом в почте. Контрпример:
Есть суперзащищённый SESESELinux (даже и не линукс, а вообще любая ось). Мы ставим, например, "автоматический переключатель раскладки". Понятно, что это как минимум - вторжение на уровне системы, запретить которое мы не можем - нужен доступ к клавиатурным сообщениям любого приложения. А теперь берём браузер, заходим на страницу электронных платежей и вуаля! Наши пароли поплыли (в скрытом виде) через переключатель в какие-нть логи. Далее, приблуда просит автообновиться со своего сайта - понятно, что 99% юзеров захотят именно это - одной кнопкой решить проблему. Всё, пароли на свободе.
Второй принципиально неустранимый путь вредить - это доступ к файлам юзера. Ты открываешь один файл(естественно, убрав защиту от записи), попутно открываются ещё два и что-то там портится. Запрашивать открытие КАЖДОГО файла - это прямой путь в дурдом. А разрешать всё автоматом - прямой путь к решету.

"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено hate , 06-Янв-10 12:11 
>По-моему, борьба с вирусами бессмысленна, как борьба со спамом в почте.

  Совершенно безграмотное утверждение. Откуда у тебя такие "гениальные" мысли? Из опыта?
Так после таких заявлений даже школьники на форуме скажут что ты "круто прогнал".


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено Damon , 06-Янв-10 12:40 
>  Совершенно безграмотное утверждение. Откуда у тебя такие "гениальные" мысли? Из
>опыта?
>Так после таких заявлений даже школьники на форуме скажут что ты "круто
>прогнал".

Если выдрать фразу из контекста, то да, безграмотно, но в общем контексте мысль звучит правильно. Слишком силен мотив "... а вот у нас в ... все делается одной кнопкой! Зачем мне что-то учить, если я ВСЕ могу сделать одной кнопкой!". Вот и расплачиваются юзверы за неграмотность, переодической переустановкой оси, потерей данных и т.д. Обезъянки в экспериментах психологов тоже жмут на кнопочку и получают награду, только по ту сторону кнопочки сидит кто-то и контролирует эксперимент. Т.ч. продолжайте жать кнопочку, и тешить себя иллюзией, что все _У_ВАС_ под контролем! :-)


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено Crazy Alex , 06-Янв-10 14:51 
Если ставим этот самый переключатель невесть откуда бинарем, либо с сайта никому не известного автора - ССЗБ. Если же из репозитория, либо софтина хорошо известна (и, соответственно, почти с гарантией ее код смотрели) - проблемы вряд ли будут.

Но в целом - согласен - либо удобная (и вообще годная к использованию) среда, либо автоматическая защита. Можно еще вистовский UAC припомнить...


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено Аноним , 09-Янв-10 15:06 
>Если ставим этот самый переключатель невесть откуда бинарем, либо с сайта никому
>не известного автора - ССЗБ. Если же из репозитория, либо софтина
>хорошо известна (и, соответственно, почти с гарантией ее код смотрели) -
>проблемы вряд ли будут.
>
>Но в целом - согласен - либо удобная (и вообще годная к
>использованию) среда, либо автоматическая защита. Можно еще вистовский UAC припомнить...

UAC не работает... Он только пользователей напрягает и они думают что в безопасности. А на самом деле вирусам то пофиг))
8 из 10 вирусов UAC всё же пропускает... См. http://www.sophos.com/blogs/chetw/g/2009/11/03/windows-7-vul.../


"isolat - утилита для изолированного выполнения подозрительны..."
Отправлено JL2001 , 06-Янв-10 15:26 
>Второй принципиально неустранимый путь вредить - это доступ к файлам юзера. Ты
>открываешь один файл(естественно, убрав защиту от записи), попутно открываются ещё два
>и что-то там портится. Запрашивать открытие КАЖДОГО файла - это прямой
>путь в дурдом. А разрешать всё автоматом - прямой путь к
>решету.

программы которым надо "всё разрешать" чтоб они работали надо ставить с офф репозиториев системы или с офф репа программы при наличии у неё известности и открытых исходников (в этом случае в идеале ещё и собирать с исходников самому ;) )
а если ставить непойми что непойми откуда и разрешать прямой доступ к диску и в инет да ещё и пароль рута вводить в непонятное окошечко - это как жрать землю со скотобойни и жаловаться на болящий живот


"isolate - утилита для изолированного выполнения подозрительн..."
Отправлено pavlinux , 07-Янв-10 01:34 
Кто нить пытался запустить браузёр Chrome в chroot?!

1. Либо mount -o bind /tmp /chroot/chrome/tmp
либо отрубать -nolisten tcp у Хorg
2. Ему нужон /proc, так что без mount -o bind /proc /chroot/chrome/proc
не обойтись

3. Все chroot для Хрома составляет 413Mb, забавно, но это 4013 файлов !!!

4. Более того, я пытался запустить в /chroot не от рута, а от юзера, так и не вышло.

... Ща попробую эту тулузу


"isolate - утилита для изолированного выполнения подозрительн..."
Отправлено szh , 07-Янв-10 01:58 
> 1. Либо mount -o bind /tmp /chroot/chrome/tmp
> либо отрубать -nolisten tcp у Хorg

для доступа к X серверу нужно только пару файлов расшарить, а не весь /tmp/
предполагаю /tmp/.X11-unix/ и .ICE-unix

> 4. Более того, я пытался запустить в /chroot не от рута, а от юзера, так и не вышло.

и кажется для авторизации к Xorg файл из /var/run/gdm/... нужен (MIT-MAGIC-COOKIE)

> 2. Ему нужон /proc, так что без mount -o bind /proc /chroot/chrome/proc
> не обойтись

открой для себя pid namespaces и lxc - http://lxc.sourceforge.net/lxc.html
полагаю хрому можно оставить только вид на его процессы.


"isolate - утилита для изолированного выполнения подозрительн..."
Отправлено pavlinux , 07-Янв-10 02:16 
>> 1. Либо mount -o bind /tmp /chroot/chrome/tmp
>> либо отрубать -nolisten tcp у Хorg
>
>для доступа к X серверу нужно только пару файлов расшарить, а не
>весь /tmp/
>предполагаю /tmp/.X11-unix/ и .ICE-unix

Ну да, их
>
>> 4. Более того, я пытался запустить в /chroot не от рута, а от юзера, так и не вышло.
>
>и кажется для авторизации к Xorg файл из /var/run/gdm/... нужен (MIT-MAGIC-COOKIE)

.Xauthority

>
>> 2. Ему нужон /proc, так что без mount -o bind /proc /chroot/chrome/proc
>> не обойтись
>
>открой для себя pid namespaces и lxc - http://lxc.sourceforge.net/lxc.html
>полагаю хрому можно оставить только вид на его процессы.

30686 ?        Sl     0:00 /proc/self/exe --channel=30321.94042f70.1626825946 --type=extension --lang=ru --force-fieldtest=As
30694 ?        Sl     0:00 /proc/self/exe --channel=30321.94044ac0.590293936 --type=extension --lang=ru --force-fieldtest=Asy
30695 ?        Sl     0:00 /proc/self/exe --channel=30321.940466c0.777766351 --type=extension --lang=ru --force-fieldtest=Asy
30696 ?        Sl     0:00 /proc/self/exe --channel=30321


"isolate - утилита для изолированного выполнения подозрительн..."
Отправлено pavlinux , 07-Янв-10 03:05 
Не работает

/isolate /opt/google/chrome/google-chrome
Could not execute /opt/google/chrome/google-chrome: No such file or directory                
suse64:/media/disk/src/Secirity/isolate-read-only # ./isolate /opt/google/chrome/google-chrome
google-chrome          google-chrome.desktop                                                  
suse64:/media/disk/src/Secirity/isolate-read-only # ./isolate /opt/google/chrome/google-chrome
Could not execute /opt/google/chrome/google-chrome: No such file or directory                  
suse64:/media/disk/src/Secirity/isolate-read-only # ./isolate /opt/google/chrome/chrome
/usr/bin/xauth:  creating new authority file /root/992d59fe-Xauthority                
Could not execute /opt/google/chrome/chrome: No such file or directory                
suse64:/media/disk/src/Secirity/isolate-read-only # ./isolate firefoxc
terminate called after throwing an instance of 'std::runtime_error'  
  what():  File not found in $PATH                                    
suse64:/media/disk/src/Secirity/isolate-read-only # ./isolate firefox
Could not execute firefox: No such file or directory
suse64:/media/disk/src/Secirity/isolate-read-only # ^C
suse64:/media/disk/src/Secirity/isolate-read-only # exit
pavel@suse64:/usr/src/Secirity/isolate-read-only> ./isolate /usr/lib64/firefox/firefox
firefox     firefox.sh
pavel@suse64:/usr/src/Secirity/isolate-read-only> ./isolate /usr/lib64/firefox/firefox.sh
Could not execute /usr/lib64/firefox/firefox.sh: No such file or directory
/bin/rm: невозможно удалить `/tmp/isolation/9c042f2a/usr': Отказано в доступе
/bin/rm: невозможно удалить каталог `/tmp/isolation/9c042f2a/tmp': Отказано в доступе
/bin/rm: невозможно удалить каталог `/tmp/isolation/9c042f2a/libexec': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/9c042f2a/lib64/bash': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/9c042f2a/lib64/libreadline.so.6': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/9c042f2a/lib64/libncurses.so.5': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/9c042f2a/lib64/libdl.so.2': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/9c042f2a/lib64/libc.so.6': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/9c042f2a/lib64/libresolv.so.2': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/9c042f2a/lib64/libnss_files.so.2': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/9c042f2a/lib64/libnss_dns.so.2': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/9c042f2a/lib64/libnss_compat.so.2': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/9c042f2a/lib64/ld-2.10.1.so': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/9c042f2a/etc/nsswitch.conf': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/9c042f2a/etc/resolv.conf': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/9c042f2a/bin/sh': Отказано в доступе
WARNING: Could not delete /tmp/isolation/9c042f2a
pavel@suse64:/usr/src/Secirity/isolate-read-only> sudo ./isolate /usr/lib64/firefox/firefox.sh
root's password:
Could not execute /usr/lib64/firefox/firefox.sh: No such file or directory
pavel@suse64:/usr/src/Secirity/isolate-read-only>  ./isolate ls
Could not execute ls: Permission denied
/bin/rm: невозможно удалить `/tmp/isolation/e595e9c5/usr': Отказано в доступе
/bin/rm: невозможно удалить каталог `/tmp/isolation/e595e9c5/tmp': Отказано в доступе
/bin/rm: невозможно удалить каталог `/tmp/isolation/e595e9c5/libexec': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/e595e9c5/lib64/libselinux.so.1': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/e595e9c5/lib64/librt.so.1': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/e595e9c5/lib64/libpthread.so.0': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/e595e9c5/lib64/libdl.so.2': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/e595e9c5/lib64/libcap.so.2': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/e595e9c5/lib64/ld-linux-x86-64.so.2': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/e595e9c5/lib64/libc.so.6': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/e595e9c5/lib64/libattr.so.1': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/e595e9c5/lib64/libacl.so.1': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/e595e9c5/lib64/libresolv.so.2': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/e595e9c5/lib64/libnss_files.so.2': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/e595e9c5/lib64/libnss_dns.so.2': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/e595e9c5/lib64/libnss_compat.so.2': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/e595e9c5/lib64/ld-2.10.1.so': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/e595e9c5/etc/nsswitch.conf': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/e595e9c5/etc/resolv.conf': Отказано в доступе
/bin/rm: невозможно удалить `/tmp/isolation/e595e9c5/bin/ls': Отказано в доступе
WARNING: Could not delete /tmp/isolation/e595e9c5
pavel@suse64:/usr/src/Secirity/isolate-read-only> sudo ./isolate /usr/lib64/firefox/firefox.sh
Could not execute /usr/lib64/firefox/firefox.sh: No such file or directory
pavel@suse64:/usr/src/Secirity/isolate-read-only>

Более того, пути к библиотекам зашиты намертво  

===================================================================
--- isolate.cpp (revision 19)
+++ isolate.cpp (working copy)
@@ -547,9 +547,8 @@
       size_t n = 0;
       string_set *lbrrs = new string_set(), *pths = new string_set();

-      pths->insert("/lib");
-      pths->insert("/usr/lib");
-      pths->insert("/usr/local/lib");
+      pths->insert("/lib64");
+      pths->insert("/usr/lib64");

       while (n < shdr.sh_size && (data = elf_getdata(scn, data)) ) {
             char *bfr = static_cast<char *>(data->d_buf);
@@ -982,7 +981,7 @@
             string_set pths;
             pths.insert("/tmp");
             pths.insert("/bin");
-            pths.insert("/lib");
+            pths.insert("/lib64");
             pths.insert("/libexec");
             pths.insert("/etc");
             for (string_set::iterator i = pths.begin(); i != pths.end(); ++i) {
@@ -1147,7 +1146,7 @@

             /* We need to set this so that the loader can find libs in
              * /usr/local/lib. */
-            char * const nvrnmnt[] = { "LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib",
+            char * const nvrnmnt[] = { "LD_LIBRARY_PATH=/lib64:/lib:/usr/lib64:/usr/lib",
                                        "DISPLAY=:0.0",
                                        "HOME=/",
                                        "LOGNAME=isolator",


По коду, такое ощущение, что полный даун писал, ну или студент 2-ого курса, который на первом асилил Ц++

uname() и getenv(LD_LIBRARY_PATH), да вообще, весь getenv(), точно ниасили.


"isolate - утилита для изолированного выполнения подозрительн..."
Отправлено szh , 07-Янв-10 13:05 
> По коду, такое ощущение, что полный даун писал, ну или студент 2-ого курса, который на первом асилил Ц++
> uname() и getenv(LD_LIBRARY_PATH), да вообще, весь getenv(), точно ниасили.

Полагаю он принимает патчи.