AF> Это всё суета и неважно. Можно долго придумывать и решать заковырки, но это ничего не даст. AF> Моя основная идея проста: AF> Права приложения должны определяться назначением этого приложения, а не тем кто его запускает — как это сделано сейчас. AF> Здесь будут возражения?
Будут. Потому что ты
а) не привел ни единого аргумента, что это важно и нужно или что это лучше существующей системы (ну или хотя бы лучше разграничения прав пользователей a la linux)
б) ты не привел примеров того, как это будет работать вообще (хотя я попросил рассказать, как это работает на примере того же AppArmor'а)
Ах, ну да — главный вопрос: как будет определяться назначение приложения?
Здравствуйте, Andrei F., Вы писали:
AF>Здравствуйте, criosray, Вы писали:
C>>Система спросит дать ли права этой программе. Если права будут даны, то те файлы, которые возможно удалить, будут удалены.
AF>Что спросит и какие права?
странный вопрос.
учетка — админ. Вопрос будет: запустить программу? И все. Ответ "да" сигналит о согласиит.
C>>Расширений существует тысячи, путей — неограниченное фактически количество вариантов. Как пользователю задать эти права и какой пользователь захочет заниматься этим?
AF>Портов тысячи, хостов в интернете миллионы — неограниченное фактически количество вариантов. Как пользователю задать эти права и какой пользователь захочет заниматься этим? AF>Нет, фаервол — это однозначно невозможно.
Портов 60 тыщ, используется 10. Разрешений два: пакеты внутрь или наружу.
Правила обычно простые: запрет всего, кроме трех сервисов.
На моем роутере вообще правил штук 7. Все остальное — запрет по дефолту.
А прикинь то же самое для софта на компе. Либо авторам файрвола придется набивать правила для кучи сторонних приложений в правила по дефолту. Либо юзер будет обламываться на каждом шагу.
Помню мое первое знакомство с Outpost. Поставил, запустил. Отвалились виндозные шары. Ладно, знающий чел подсказал какую настройку сменить. А комп другана вообще почти никогда нельзя было даже пропинговать из-за этого монстра.
В общем, дело на любителей. Хочешь заморачиваться — ставь и развлекайся. Втыкать ЭТО в ОСь.... Не надо!
Здравствуйте, March_rabbit, Вы писали:
M_>учетка — админ. Вопрос будет: запустить программу? И все. Ответ "да" сигналит о согласиит.
Да. О согласии разрешать абсолютно всё. Чудная защита.
M_>А прикинь то же самое для софта на компе. Либо авторам файрвола придется набивать правила для кучи сторонних приложений в правила по дефолту.
Почему бы и нет?
M_> Либо юзер будет обламываться на каждом шагу.
Не на каждом. Нормальные программы редко делают что-то сильно подозрительное.
Здравствуйте, Mamut, Вы писали:
M>а) не привел ни единого аргумента, что это важно и нужно или что это лучше существующей системы (ну или хотя бы лучше разграничения прав пользователей a la linux)
То, что существующая система не справляется с задачей — не аргумент?
M>б) ты не привел примеров того, как это будет работать вообще (хотя я попросил рассказать, как это работает на примере того же AppArmor'а)
Я описал достаточно, чтобы понять — если есть желание понимать. Если желания понимать нет, то я ничего не могу сделать
AF> M>а) не привел ни единого аргумента, что это важно и нужно или что это лучше существующей системы (ну или хотя бы лучше разграничения прав пользователей a la linux)
AF> То, что существующая система не справляется с задачей — не аргумент?
В винде — быть может (пока) не работает. В *nix'ах работает.
AF> M>б) ты не привел примеров того, как это будет работать вообще (хотя я попросил рассказать, как это работает на примере того же AppArmor'а)
AF> Я описал достаточно, чтобы понять — если есть желание понимать. Если желания понимать нет, то я ничего не могу сделать
Да нифига ты не описал. Все, что ты сказал — это «хачу фаервол только для локальных ресурсов». Как только стали появляться вопросы про «а как ты себе это представляешь?» ты почти сразу переходишь на
Это всё суета и неважно.
Все сводится к банальному:
— есть туева хуча приложений, которая может и будет писать куда угодно, кроме системных папок. Это текстовые и графические редакторы, да и вообще редакторы всех типов — от редаторов заметок, до дизайнера электрических схем.
— есть туева хуча приложений, которые в большинстве случаев должны писать только в определенные места, а когда надо — писать кдуа угодно. Это мессенджеры всех мастей (историю — в одно место, принимаемые файлы — куда угодно), почтовики (почту — в одно место, аттачменты — куда угодно), браузеры (историю и куки — одно место, скачиваемые файлы _ куда угодно)
— есть некоторое количество приложений, которые должны сидеть в своей норке и не высовываться. Сходу не придумаю, но, думаю, такие есть.
Как это разграничить правильно — неизвестно. Потому что WriteFile — он остается функцией WriteFile для любой из трех категорий.
При этом ты утверждаешь, что такую систему разграничений можно сделать так, чтобы не ломались
существующие приложения, не меняя API системы и т.п. Как только спрашиваешь тебя — как?, начинается — вы все тупые, нифига читать не умеете, все это — суета сует
ЗЫ. Мне все еще интересно, как с этим всем справляется AppArmor.
Здравствуйте, Andrei F., Вы писали:
AF>Здравствуйте, kochetkov.vladimir, Вы писали:
KV>>Я не использую selinux и apparmor. Подозреваю, что не я один. Значит ли это, что они бестолковые?
AF>А "Windows Integrity Mechanism" вообще кто-нибудь использует?
Здравствуйте, Andrei F., Вы писали:
AF>Что мешает Microsoft встроить в API ограничения, например — любое приложение по умолчанию имеет право писать на диск только в свой профиль в My Documents, или только в файлы с заданным расширением?
Ничего не мешает. Только люди такое покупать не станут.
> Если приложение запущено не из Program Files — то прав на запись на диск нет вообще? Право ставить хуки, слать оконные сообщения в чужой процесс, использовать отладочное API — только по специальному разрешению?
Эдак минимум половина софта сразу отвалится и перестанет работать.
AF>Почему они этого не сделали?
Во первых, любая защита преодолевается при наличии должного интереса.
Т.е. задача "щит и меч" не имеет решения в общем случае.
Сравнивать с AppArmor на линуксе некорректно, т.е. аудитория по кол.ву и качеству отличается радикально. Лунукс это приерно как Неуловимый Джо, хоть с защтой, хоть без неё, вирусы писать под него невыгодно.
Во вторых, безопасность или функциональность друг с другом не уживаются. Или то, или другое.
Это значит, для защитить можно только отрубая руки пользователям. Взять те же хуки — на них очень много вкусных вещей делается, про которые ты даже и не догадываешься, но пользуешь.
В третьих, безопасность увеличивает в разы время на тестирование, а стало быть это удорожание системы
В четвертых, сейчас уже поздно чтото радикально менять в этом плане.
Здравствуйте, Andrei F., Вы писали:
ДД>>Потому что это дополнительные материальные затраты, не несущие дополнительной прибыли.
AF>Как это не несущие? Надежная защита от троянцев и малвари стоит того, чтобы немного пошевелиться.
Как ты будешь проверять, что программа не имеет прав записи куда либо, кроме My Documents или определенных расширений ?
Каким то программам надо будет давать права писать куда угодно, ткие программы и будут ломаться разынми спосбами.
Например через Windows Update, инсталяторы и тд и тд. Пока на пользовательских компьютерах есть вагоны мусора, пиратские сборки и тд, с троянами бороться бессмысленно.
AF>Да и затраты невелики.
Ага, добавить еще один слой и оставить тестирование на нынешнем уровне ?
Здравствуйте, Ikemefula, Вы писали:
I>Во первых, любая защита преодолевается при наличии должного интереса. I>Т.е. задача "щит и меч" не имеет решения в общем случае.
Нормального качества защита ломается достаточно долго, чтобы ломающий за%;№ся и бросил.
Здравствуйте, Mamut, Вы писали:
M>ЗЫ. Мне все еще интересно, как с этим всем справляется AppArmor.
Просто есть набор правил и производитель софта относит свой софт к определённой категории или просто добавляет профиль. Но АппАрмор и СеЛинукс делает это только для ресурсов файловой системы. Менять код приложения особо не придётся. PolicyKit позволяет контроллировать общение между процессами.
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Здравствуйте, Andrei F., Вы писали:
AF> M>В винде — быть может (пока) не работает. В *nix'ах работает.
AF> никсы — Неуловимый Джо.
AF> M>Как только стали появляться вопросы про «а как ты себе это представляешь?»
AF> Я это себе представляю, как проверку прав доступа внутри "опасных" функций API на основе заданного набора правил. Аналог CAS, но для WinAPI.
Теперь экстраполируй это на несколько сотен тысяч приложений по тем категориям, что я описал. Привожу их еще раз, чтобы не забыть:
- есть туева хуча приложений, которая может и будет писать куда угодно, кроме системных папок. Это текстовые и графические редакторы, да и вообще редакторы всех типов — от редаторов заметок, до дизайнера электрических схем.
— есть туева хуча приложений, которые в большинстве случаев должны писать только в определенные места, а когда надо — писать кдуа угодно. Это мессенджеры всех мастей (историю — в одно место, принимаемые файлы — куда угодно), почтовики (почту — в одно место, аттачменты — куда угодно), браузеры (историю и куки — одно место, скачиваемые файлы _ куда угодно)
— есть некоторое количество приложений, которые должны сидеть в своей норке и не высовываться. Сходу не придумаю, но, думаю, такие есть.
Как это разграничить правильно — неизвестно. Потому что WriteFile — он остается функцией WriteFile для любой из трех категорий.
Экстраполируя это, ты получишь ответ на свой вопрос в изначальном сообщении. А ответ простой: необходимо перелопачивать API, ломая совместимость с приложениями, и необходимо переписывать приложения, чтобы они регистрировали свои действия в системе.
О проблеме составления и управления правилами доступа я лучше вообще умолчу
C> M>ЗЫ. Мне все еще интересно, как с этим всем справляется AppArmor.
C> Просто есть набор правил и производитель софта относит свой софт к определённой категории или просто добавляет профиль.
А профили типа «писать только в эту папку», «писать повсюду» и т.п.? Добавление делается автоматически или пользователь должен разрешить приложению записаться в ту или иную категорию? При обновлении приложения оно может перейти в другую категорию?
Как ты отличишь «зловредный» WriteFile, записывающий неверно куку из IE, от «незлонамерненного» WriteFile того же IE, который скачивает файл?
Как ты отличишь WriteFile из твоего любимого примера с ICQ, который должен писать только в документы, от WriteFile того же примера с ICQ, но который принимает файл, и который я сохраняю, куда угодно?