Pull to refresh
29
0
Lsh@Lsh

Пользователь

Send message
Не знал об этом, честно.
Вот как раз недавно мысля пришла про усовершенствование интерфейса Unity:
brainstorm.ubuntu.com/idea/27433/
image

Вроде банально, но почему то до сих пор не встречалось ничего такого.
А нельзя на основе этой технологии делать недорогие «планшеты» для дизайнеров?
В таком случае не будет пропорционального увеличения стоимости в зависимости от площади.
Спасибо за ссылку!
Не я один заметил проблему.
А ведь в PAM есть такая штука, которая подменяет содержимое /tmp на содержимое другой директории в домашней директории пользователя, обращающегося к /tmp.
Почему то это не применяется, а, как мне кажется, надо бы. Незачем в общей директории всем срач разводить, даже несмотря на то, что ее содержимое очищается при перезагрузке.
Очистку временной папки пользователя можно прописать в .profile.
Можно смонтировать директорию /tmp через опцию bind c опцией noexec.
Не пробовал, но не вижу причин чтобы не получилось.
В тексте есть ответ на этот вопрос.
1. Приложение может само себе урезать права без возможности вернуть обратно.
Если через уязвимость приложение будет взломано, то поднять права уже будет невозможно.

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

3. Один процесс может изменять профиль привилегий другого процесса, в том числе и повышать привилегии, т.е. разрешать то что было запрещено. Список программ, которые могут так делать четко ограничен — это диалоги открытия/сохранения файлов (возможно добавятся еще какие-то программы), список может править только root, хранится он где-нибудь в /etc/apparmor/trusted_apps и не доступен ни на чтение ни на запись никому кроме root'а. Сами привилегированные приложения (для примера пусть это будут gtk-open-dialog и gtk-save-dialog) предельно просты, там просто нечего ломать, кода в них минимум.
Задачи такой программы:
— показать пользователю диалог
— передать приложению имя выбранного файла
— внести изменения в профиль приложения, добавив туда разрешение читать или писать выбранный файл
Сама такая программа (диалог) может быть огорожена своим профилем вообще от всего. Диалогу не надо ничего писать, не надо ничего читать, надо только получать содержимое директорий. Ломать там нечего, а если есть, то сделать все равно ничего не получится, т.к. сам диалог ограничен еще больше чем приложение вызвавшее его.
>а то и вовсе допилить AppArmor например.
А я и пишу, что его неплохо бы доработать…
>я полон пессимизма. Часто пользователи соглашаются со всем, даже не читая.
Так и я тоже. Я об этом и пишу, что такие окна будут не нужны если приложение имеет безопасный профиль. А вот если небезопасный, то можно показать большое красное окно, где будет написано «Вы запускаете опасное приложение! Вы уверены?». Т.к. таких сообщений будет гораздо меньше, то и обращать внимание на них будут больше.
Да, так и есть. А где можно почитать про то, как оно в Mac OS X?
>В linux часто графические программы — это только надстройка над консольными. Как их ограничивать — не понятно.
Графическая надстройка запускает консольное приложение уже с нужным профилем безопасности, см. пункт 2.

>Профили в самом приложении — не нужны, так как для всех языков программирования сложно сделать единое API.
Да, единое API в linux это «очень сложно»… /proc/[pid]/apparmor/profile — вот вам единое API для всех языков.

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

>Этим должно заниматься приложение, запущенное от другого пользователя, чтобы «плохой процесс» с ним ничего не мог сделать.
А что может другой процесс сделать?
> Или отдавать приоритет при объединении списков меню системным файлам перед файлами в директории пользователя.
И как тогда пользователь сможет править меню? Правки в меню и делаются .desktop-файлами в домашней директории пользователя.
Вот как раз тут то и будут полезны описанные мной механизмы. Как правило повышение привилегий делается через какое нибудь хитрое место. Вышеописанные механизмы это, грубо говоря, список того что можно делать программе, очень вероятно, что хитрые выкрутасы со спец. файлами и т.п. туда не попадут.
>Да и как говорится, если у пользователя нет знаний или в простонародье «руки кривые» тут уже никакие антивирусы и безопасность не спасет
Что то не вяжется с:
>он сам скачает себе _ядро_ с кучей зловредов
Собрать ядро с кривыми руками и без знаний трудновато будет. В ходе этого процесса руки выпрямятся и знания появятся.

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

>Скачивание левого софта отпадает — репозитарии
А если чего то нет в репозитории? А так пользователь получит больше свободы.

>Дыры быстро латаются в opensource программах
Но они существуют и могут лататься не быстро, зависит от многих факторов. В случае применения данных механизмов их можно будет латать хоть месяц, все равно они будут безопасны.

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

>В случае ботнета все будет заметно.
Во время атаки. А до атаки? У меня комп сутками работает, качает чего нибудь, например. Но сижу я за ним далеко не сутками. В мое отсутствие может много чего произойти.

>Теперь возмем локеры
А как же бабушка админа? А если внук уехал? А вместо любимого сериала гей-порно…
Тут не только про локеры тут в общем.

>Под Linux не нужен антивирус по причине того
Так и я говорю, что не нужен.

>проще залатать правильно дыру и залить в репозитарий исправление
Да, но тут все дыры станут безопасными, т.е. одна затычка на все дыры.
Список того что можно запускать тоже может быть в профиле безопасности. Соответственно, браузеру можно будет запускать gtk-save-dialog и gtk-open-dialog.
1. Там очень немного кода и уязвимость маловероятна.
2. К этим диалогам можно применить свои профили. Им вообще ничего не надо читать/писать, ни одного файла, только показывать список файлов, даже если там будет уязвимость (хотя совершенно не ясно как ее эксплуатировать, если программа не открывает ни одного файла, не лезет в сеть и т.п.) опять же ничего нельзя будет испортить. У них есть одна специальная привилегия — правка профилей других процессов. Можно ограничить еще жестче, правка профиля только родительского процесса.
Как написали выше, рут просто ССЗБ.
Но, ничего не мешает применить профиль безопасности и к приложению запущенному с правами рута. По идеи, все должно быть безопасно.
Пожалуйста, пишите комментарии. Интересно узнать мнение компетентных в данном вопросе людей. Спасибо!
В принципе, да, можно в пакет.
Я исходил из того что:
— если приложений с профилями будет много, то их как сейчас надо будет перечитывать при загрузке системы
— большая гибкость, например разные профили в зависимости от режима работы приложения
А как его запустить? Я видел винлоки при которых и мышь не двигается, курсора на экране нету.
Кроме ввода текста в поле для разлочки ничего с клавиатуры сделать нельзя.

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity