Здравствуйте, dr.Chaos, Вы писали:
DC>Здравствуйте, Ikemefula, Вы писали:
I>>Да, банальности. Для чего вводить защиту которая ничего не защищает, не ясно. I>>Проще и целесообразнее отдать эту защиту на откуп антивирусным компаниям.
DC>Тогда я тебе ещё раз повторю: эти средства снижают издержки на безопасность и у производителя софта и у пользователей, которым это надо (корпоративный сектор в частности). Давай разверну: большинство антивирей и прочих анти-... используют различные хаки, недокументированные АПИ и пр.
Ничего они ровным счетом не снижают. Микрософт не в состоянии разработать десяток другой защит.
DC>Для них нужен нормальный АПИ, тогда их разработка будет обходится дешевле. Кроме того сами производители софта с удовольствием наклеят на коробочку наклеечку: "Повышенна безопасность" при малых затратах (описать 10-к правил). Ты понимаешь что при наличии таких механизмов снизится стоимость снижения опасности взлома?
Взломы тоже удешевятся. Неужели это не понятно ?
Касперский в свох нтервью говорит очень просто на эту тему.
АПИ надо, но в для качественной работы софта, а не для повышения безопасности.
И про мегабезопасность в системах он же вроде просто как мне кажется объясняет ситуацию.
DC>Ну например, есть страница использующая уязвимость браузера и злоумышленник может выполнять любой код в контексте браузера с правами юзера. И теперь рассмотрим случай когда для браузера настроены политики, писать только в свои ветки реестра, читать только нужные, ограничен запуск чего бы то ни было, всякие вызовы COM и прочего, писать файлы можно. Короче Производитель постарался и настроил так, что права необходимо минимальны. Давай сценарии.
Ну, то есть, ты сразу обрезал процентов 80 того, что сейчас может использовать пользователь. Очень хороший подход.
Корпоративным клиентам проще и дешевле запретить использование IE и в обязательном порядке вводить Фоксы, оперы, сафари, хромы что бы не было одного стандартного или хотя бы доминирующего браузера на контору.
Но и здесь засада, вагон приложений использует IE, как с ними быть ?
Микрософт вложил в интеграцию вагоны денег, и теперь ты хочешь что бы они взяли и разом это похерили ?
Сейчас прокси, антивирусы более-менее нормально справляются и при этом без отрубания рук в виде запрета вызовов COM.
Если сейчас обрезать пользователям эти 80% имеющимися средствами то эффект будт такой ж как у тебя, но без издержек на написание мега-защиты.
I>>Пользователей нужно воспитывать, а не заставлять пользовать идеальную мега-защиту.
DC>О, как . Не ослышался ли я? Кто там говорил про отрубание рук? Лучший метод, видимо, отрубить руки?
Твои предложения это отрубание рук.
Неужели ты думаешь в Микрософте сидят дураки ?
Пользователя понемногу приучают думать про безопасность. Панацеи здесь нет и никогда не будет.
Здравствуйте, DOOM, Вы писали:
DOO>>> Отличать интерактивную операцию от неинтерактивной M>>А это разве возможно? DOO>Например, чтобы ShowOpenDialog (или как ее там) возвращала не имя файла, а уже дескриптор — про который, диспетчер объектов бы уже знал — открыт интерактивно для чтения (ну а в случае Save для записи).
Можно возвращать как-то криптоустойчиво модифицированное имя файла, например...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Mamut, Вы писали:
DOO>> Например, чтобы ShowOpenDialog (или как ее там) возвращала не имя файла, а уже дескриптор — про который, диспетчер объектов бы уже знал — открыт интерактивно для чтения (ну а в случае Save для записи).
M>Тогда это ложится на совести разработчиков — каждый файл открывать с соответствующим дескриптором
Почему? Просто у разработчика появляется 2 функции открытия файла — более ограниченнная CreateFile и менее ограниченная ShowOpenDialog — а там уж пусть сами думают, что им надо...
Здравствуйте, Erop, Вы писали:
E>Здравствуйте, DOOM, Вы писали:
DOO>>>> Отличать интерактивную операцию от неинтерактивной M>>>А это разве возможно? DOO>>Например, чтобы ShowOpenDialog (или как ее там) возвращала не имя файла, а уже дескриптор — про который, диспетчер объектов бы уже знал — открыт интерактивно для чтения (ну а в случае Save для записи).
E>Можно возвращать как-то криптоустойчиво модифицированное имя файла, например...
Да можно даже не криптоустойчиво — просто "отметить" (где-то в дебрях диспетчера объектов), что сей файл получил добро быть открытым на чтение/запись...
Здравствуйте, Andrei F., Вы писали:
AF>Что мешает Microsoft встроить в API ограничения, например — любое приложение по умолчанию имеет право писать на диск только в свой профиль в My Documents, или только в файлы с заданным расширением? Если приложение запущено не из Program Files — то прав на запись на диск нет вообще? Право ставить хуки, слать оконные сообщения в чужой процесс, использовать отладочное API — только по специальному разрешению?
Им мешает сделать это обилие программ, которые после такого нововведения перестанут работать.
Здравствуйте, Ikemefula, Вы писали:
I>Как ты будешь проверять, что программа не имеет прав записи куда либо, кроме My Documents или определенных расширений ?
В каком смысле? Рассказать, как это технически может быть реализовано?
I>Каким то программам надо будет давать права писать куда угодно, ткие программы и будут ломаться разынми спосбами.
Вот это правда. Думаю, из-за необходимости обеспечить совместимость с ранее написанными программами, внедрить такую штуку будет очень непросто...
Здравствуйте, gandjustas, Вы писали:
G>Да сделали, еще начиная с XP. Завывается ACL и priveleges. Вот только под учеткой с какими правами большинство пользователей работает?
Большинство пользователей работает под теми правами, которые получаются по дефолту. Интересно, что если в линуксе при инсталляции жать все кнопки по дефолту, получишь обычного бесправного юзера.
G>И вот в висте чтобы победить проблему сделали UAC, который права админа искуственно понижает, далеко не всем понравилась эта идея.
Значит, плохо сделали, с точки зрения user experience. Совершенно бесполезно делать защиту, рассчитанную на массового пользователя, которая постоянно задает непонятные вопросы.
Здравствуйте, criosray, Вы писали:
AF>>Есть какие-то проблемы определить — из какого файла запущен процесс?
C>Ну определили. Дальше что с этой информацией делать?
Посмотреть в табличку, чего программе можно делать, а чего нельзя. Именно так работает SELinux. Проблема в том, что в описаниях программ (где, собственно, и расписывается множество допустимых действий) слишком много ошибок. Реально под SELinux работать слишком сложно, много чего ломается.
Здравствуйте, criosray, Вы писали:
C>Замечательно. А теперь расскажите пожалуйста каким образом ОС узнает о том какой программе надо разрешать писать на диск, а какой — запрещать. Внимательно слушаю.
Ребят, я с вас хренею. А вы точно программисты? Если бы вам начальство поставило такую задачку, вы сказали бы, что это невозможно?
Здравствуйте, Ikemefula, Вы писали:
I>Ничего они ровным счетом не снижают. Микрософт не в состоянии разработать десяток другой защит.
Каких защит? Не понял о чём ты? Для .Net есть же CAS, это же можно сделать для натива.
I> Взломы тоже удешевятся. Неужели это не понятно ?
Не понятно, объясняй.
I>Касперский в свох нтервью говорит очень просто на эту тему.
Ну естественно, он продаёт заплаты для дыр, это хлеб было бы странно если б он говорил что-то иное.
I>АПИ надо, но в для качественной работы софта, а не для повышения безопасности.
Безопасность в качество не входит?
DC>>Ну например, есть страница использующая уязвимость браузера и злоумышленник может выполнять любой код в контексте браузера с правами юзера. И теперь рассмотрим случай когда для браузера настроены политики, писать только в свои ветки реестра, читать только нужные, ограничен запуск чего бы то ни было, всякие вызовы COM и прочего, писать файлы можно. Короче Производитель постарался и настроил так, что права необходимо минимальны. Давай сценарии.
I>Ну, то есть, ты сразу обрезал процентов 80 того, что сейчас может использовать пользователь. Очень хороший подход.
А зачем пользователю использовать что-то кроме того что предусмотрел разработчик?
I>Но и здесь засада, вагон приложений использует IE, как с ними быть ?
Для обычного юзера, положиться на дефолтные политики, кому надо что-то больше ужесточать их.
I>Сейчас прокси, антивирусы более-менее нормально справляются и при этом без отрубания рук в виде запрета вызовов COM.
антивирь не защищает на 100% от вирей. Фаирволл требует обучения, ты это называешь без отрубания рук?
I>Если сейчас обрезать пользователям эти 80% имеющимися средствами то эффект будт такой ж как у тебя, но без издержек на написание мега-защиты.
I>Твои предложения это отрубание рук.
Какие именно? Настроить политики для приложении, чтоб они имели только те права которые им нужны? Вот скажи мне зачем браузеру возможность запускать произвольные исполняемые файлы или обращаться к произвольным COM-объектам? Ты объясняй, объясняй зачем большинству приложений полные юзерские права?
I>Неужели ты думаешь в Микрософте сидят дураки ?
Нет просто их ситуация устраивает, пипл хавает
I>Пользователя понемногу приучают думать про безопасность. Панацеи здесь нет и никогда не будет.
Угу приучают сразу вырубить UAC. Или купить Каспера, который стоит доп денег и кроме того жрёт ресурсы.
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Здравствуйте, Mamut, Вы писали:
M>1. IE/FF/Opera/etc. должен сохранять куки только в одну определенную папку M>2. IE/FF/Opera/etc. должен сохранять скачиваемый файл туда, куда я захочу (кроме системных папок, естественно)
Сделать "менеджер сохранения файлов" сисмным сервисом. Который вывешивает, по запросу IE/FF/Opera/etc на экран понятный диалог, открывает файл, передает тому, кто его позвал, HANDLE открытого файла/
Это оставит возможность для IE/FF/Opera/etc. сохранять файлы там, где захочет пользователь, но на контексте этих программ невозможно будет записать файл куда угодно, не спросив перед этим человека.
M>3. IE/FF/Opera/etc. обзавелись злым плагином, скачаным с сайта плагинов, которые перенаправляют запись кук в левую папку.
M>Как отличить и запретить пункт 3.?
Никак. Нефига злому плагину хранить куки в левой папке.
M>1. Клиент ICQ должен писать только в папку Documents M>2. Мой собеседник присылает мне смешное фото, которое я должен смочь сохранить в папку /Users/dmitriid/Pictures/Funny/Unsorted, которая находится вне папки Documents
M>Как отличить пункт 1. от пункта 2.? Как разрешить пункт 2.?
Здравствуйте, Mamut, Вы писали:
M>Я так понимаю, *nix ты в глаза тоже не видел И судишь только по винде. Ты можешь внятно рассказать, чем существующая, например, в *nix'ах, модель плоха?
Тем, что если проломят мой FF, запущенный от имени простого пользователя, то доберутся до моих документов, которые не предназначены для свободного опубликования в интернете. И честно говоря, ущерб от этого может превышать ущерб от того, что просто разнесут операционную систему.
Здравствуйте, Mamut, Вы писали:
DOO>> Отличать интерактивную операцию от неинтерактивной
M>А это разве возможно?
Можно поенфорсить интерактивность той или иной операции. Например, засунуть диалог насчет открытия файла в специально обученный системный сервис, и дать только ему право открывать файлы где попало. А потом он возвращает HANDLE вызывающей программе, а она уже знает, что с этим HANDLE делать.
Здравствуйте, DOOM, Вы писали:
DOO>Можно с модификацией API? DOO>Например, чтобы ShowOpenDialog (или как ее там) возвращала не имя файла, а уже дескриптор — про который, диспетчер объектов бы уже знал — открыт интерактивно для чтения (ну а в случае Save для записи).
Ну строго говоря, можно и без модификации API. Например, получив имя файла от ShowOpenDialog (или как ее там), программа заодно получает право этот файл открыть.
Здравствуйте, Mamut, Вы писали:
M>То есть, если я напишу, что пишу куда угодно и что угодно (ну, в пределах пользовательской папки), то оно мне разрешит?
А от этого помогает другая вещь: в системе должен вестись учет, какие действия были фактически сделаны, кем, и на основе какого разрешения. Тогда если выяснится, что новый вирус заразил миллион компьютеров из-за того, что в описании фотошопа было открыто слишком много прав, то адобу придется как-то извиняться перед публикой. Это не тоже самое, что новый вирус заразил миллион компьютеров непонятно по чьей вине.
Здравствуйте, DOOM, Вы писали:
DOO>Идея, на самом деле, очень простая и, как ни странно, очень действенная. Для SELinux все, что надо это неабор стандартных заготовок под весь более-менее популярный софт + мощный инструмент дизайна политик. Кстати, может это все и есть — я никогда этим вопросом плотно не занимался.
Этот SELinux привел уже к формированию стойкой привычки среди администраторов: если что-то в системе не работает, для начала проверь, не включен ли SELinux
С ним беда та, что те политики, которые прилагаются к программам, содержат в себе изрядное количество мелких ошибок. И как тестировать, тоже не очень понятно, потому что какие-то файлы программа жует всё время, их легко оттестировать, а какие-то редко, и поэтому погоняв программу разумное время, все равно нельзя быть уверенным, что все с ней хорошо. Причем не все еще программы понимают, что их SELinux послал, и программа может даже не жаловаться, а просто тихо глючить.
Здравствуйте, criosray, Вы писали:
C>Вы не назвали ни одного типа проверки. Назовете или будете продолжать вилять из стороны в сторону, бросаясь пустыми словами и необоснованным заявлениями?
Ну давайте я назову. Проверки, имеет ли право данная программа делать ту или иную операцию. Например, открывать такой-то файл на чтение.
Здравствуйте, Andrei F., Вы писали:
AF>Что мешает Microsoft встроить в API ограничения, например — любое приложение по умолчанию имеет право писать на диск только в свой профиль в My Documents, или только в файлы с заданным расширением? Если приложение запущено не из Program Files — то прав на запись на диск нет вообще? Право ставить хуки, слать оконные сообщения в чужой процесс, использовать отладочное API — только по специальному разрешению? AF>Для файлов *.scr — вообще никаких прав, кроме вывода на экран? AF>Почему они этого не сделали?
Это надо будет перелопачивать весь массив кривых программ, которые писали, не думая про безопасность. Создавать профили безопасности для каждой программы, руководства для программистов писать. Гигантская работа, и вдобавок ненужная сейчас.
Компьютеры еще не настолько нужны в жизни, чтобы серьезно озаботиться о безопасности. Ну да, вирусные эпидемии, confiker сожрал наш квартальный отчет, потому мы его не сдали и т.д. Кому это интересно, кроме айтишников? Вот когда последнее ИП "Камаз Навозов" (гнилые фрукты по сниженным ценам!) будет рассчитываться через клиент-банк, а не наличкой, когда будт создана "кормовая база" для злоумышенников, тогда и начнется забота о безопасности.
Вообще говоря, невозможность создания непробиваемой защиты в операционке — это бред. Зайдите не под админом и попробуйте что-нибудь сделать с системой. Непробиваемость SeLinux доказана математически.
Любая защита может быть построена на одном из двух принципов:
1) Разрешено все, что не запрещено.
2) Запрещено все, что не разрешено.
В первом случае мы имеем бесконечную свободу действий, часть из которых надо перекрывать. Поскольку количество действий бесконечно, естественно, нельзя перекрыть все опасные. Это как раз про работу под админом.
Во втором случае и перекрывать ничего не надо, принцип наименьших привелегий в действии. И если браузеру надо сохранить файл где-то за пределами папки с конфигами, он вызовет SaveDialog, который вернет не имя файла, а handle. Как и было сделано в апплетах. Некоторым, вроде mamut'а, не мешало бы ознакомиться, прежде чем задавать якобы убийственные вопросы.
Итак:
1) Непробиваемая защита возможна.
2) Ответственность за поведение автомобиля на дороге несет водитель.
3) Спички детям не игрушка.
А посему, надо вводить ответсвенность владельцев компьютера за поведение компьютера. Штрафовать за рассылку спама и т.п. Взломали кого-то через прозрачный прокси на твоем компе? Штраф плати. И не разводи зоопарк у себя в системе. Ворд слишком сложно защитить? А мы напишем редактор на яве, правда по функциональности он будет в 10% от ворда, но норот и 5% не знает, и поэтому будет пользоваться.
Подобная инициатива, помимо прочих преимуществ, вызовет рост зарплат в IT-сфере и увеличение числа вакансий. Прежде чем протестовать, подумайте об этом.