> man operating_systems
Переход на страницу  [1] 2
Модераторы: Roman I Khimov, Wanderer, Dron
Автор Добавил
Freeman
Четверг 20.10.2005 20:23
ID пользователя #3
Зарегистрирован: Четверг 01.07.2004 14:57
Сообщений: 207
Вот, решил поднять вопрос о безопасности. В первую очередь интересует теоретическая подоплека: от чего делается защита в системе. Как у врачей - лучше предупредить, чем потом лечить. Ну, а предупрежден, значит - вооружен. Врага надо видеть во всеоружии.

В безопасности я не спец, могу что-то и упустить. Надеюсь, вы поправите.

Наверное, вначале надо опасности разделить на:
- ошибки пользователя
- ошибки в ПО (баги)
- намеренное вредоносное воздействие, основывающееся на двух предыдущих пунктах

Бывают еще сбои в работе аппаратуры , но это уже тема несколько другого разговора. Туда же относится и работа в условиях ограниченности ресурсов.
Наверх
Chizh
Пятница 21.10.2005 00:06
ID пользователя #90
Зарегистрирован: Понедельник 13.09.2004 18:42
Сообщений: 170
В первую очередь - защита от несанкционированного доступа. Работает только в автономных системах.
Там где пользователь получает информацию извне, там нужна мощная защита от этой самой информации
Наверх
Сайт
Dron
Пятница 21.10.2005 10:53


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
А вот и не согласен!!! (хотя может ты сказал так невнятно

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

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

Но гораздо хуже когда всяким скриптам из интернета официально позволено делать что-то на компьютере жертвы. недопустимо!

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

Андрей Валяев
Наверх
Сайт
Chizh
Пятница 21.10.2005 12:35
ID пользователя #90
Зарегистрирован: Понедельник 13.09.2004 18:42
Сообщений: 170
Dron написал(а) ...
Пользователь хочет получать информацию извне. зачем ему мешать...

Конечно, имею ввиду защиту компьютера, а не пользователя

Dron написал(а) ...
надо просто делать так, чтобы эта информация не могла причинить вред системе.

Самое простое и правильное решение (к которому уже подходит MS) - изолированная среда. Пусть каждый сайт крутится в своём изолированном контексте, имея всё необходимое, но не имея возможности влиять на систему.
Наверх
Сайт
Freeman
Пятница 21.10.2005 14:50
ID пользователя #3
Зарегистрирован: Четверг 01.07.2004 14:57
Сообщений: 207
Dron написал(а) ...
Пользователь хочет получать информацию извне. зачем ему мешать... надо просто делать так, чтобы эта информация не могла причинить вред системе.

Ясен пень, что надо! Только как? Того, что делается сегодня - явно недостаточно.
Dron написал(а) ...
Понятно, что ошибки в ПО встречаются...
Они естественно могут стать потенциальным источником безопасности системы.
их надо исправлять.

Это опять слова. Хочется же не просто поболтать-поплакаться, а понять, почему это происходит и как с этим бороться.

Тут дело такое. Никому не приходилось программировать под БД? Программа может быть сколько угодно глючной, но в БД всегда верные и непротиворечивые данные. Надеюсь, Америки никому не открою, сказав, что это пресловутые предикаты - ограничения целостности, задаваемые на уровне базы средствами самой БД. Мне кажется, что модель безопасности в ОС-21 должна быть построена по тому же самому принципу.

Ошибки в ПО всегда были и будут - люди не безгрешны. Но целостность самой себя система должна контролировать сама, и это должно стать ее приоритетной задачей. Нельзя делить вопрос хранения/выполнения на файлы, ФС, модули, библиотеки и т. д. - должна быть единая модель с встроенным контролем отношений - читай целостности.
<span class='smallblacktext'>[ Редактирование пятница 21.10.2005 14:51 ]</span>
Наверх
Dron
Пятница 21.10.2005 15:05


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
Я вообще не очень то люблю Client-Side сайты... пусть сервер работает... песочницы - это конечно хорошо, но вот java, вроде песочница, однако и файлы пишет и че только не делает... чем постоянно подвергает систему опсаности.

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

ну про всякую медию - это и ежу понятно... (удивляюсь как люди пишут такие программы что просмотр jpeg приводит к падению программы в лучшем случае)

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

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

Тем самым мы как бы заранее предполагаем что приложение ненадежно...

где-то было про учет уязвимостей...

По любому - приложение должно иметь доступ к файлам (ну или, если фримену будет угодно, контейнерам).. следовательно любое приложение может повлиять на файлы, которые доступны пользователю...

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

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

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

во... это получается что-то типа ACL уровня приложений.

PS: с базами данных дела не имел.
[ Редактирование пятница 21.10.2005 15:21 ]

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

Андрей Валяев
Наверх
Сайт
Chizh
Пятница 21.10.2005 15:25
ID пользователя #90
Зарегистрирован: Понедельник 13.09.2004 18:42
Сообщений: 170
Dron написал(а) ...
Например программист прекрасно представляет требования своей программы. и может сказать например что программа никогда не пишет в файлы... а если и читает, то только оттуда-то... и система немедленно пресечет всякие несанкционированные действия.

Вот вот. Классифицировать надо программы. Как в жизни - дворник имеет право подметать, но не имеет права делать разметку дорог, и т.д.
Наверх
Сайт
Freeman
Пятница 21.10.2005 17:21
ID пользователя #3
Зарегистрирован: Четверг 01.07.2004 14:57
Сообщений: 207
Dron написал(а) ...
выполняемые модули - обязательно должны контролироваться... всякие цифровые подписи... но и то это не дает гарантии. (подделать подпись может и не получится, но кто сказал что мы доверяем тому человеку, который подписал файл?)

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

Вот вы опять пошли по проторенной дорожке. Такими понятиями ОС-21 не создашь. Где предикаты, мать-перемать? Да плевал я на вашу цифровую подпись с высокой колокольни!

Еще раз повторяю: система должна самостоятельно поддерживать собственную целостность и всячески помогать в этом пользователю.

Берем простой пример. Есть админ-параноик, любящий все делать своими руками и не верящий цифровой мишуре продажных буржуев. В его системе есть класс JPEG, разработанный его другом - русским и имеющий функцию GetBitmap(). В один прекрасный день на сайте по безопасности публикуется бюллетень, в котором говорится, что функция JPEG.GetBitmap имеет уявимость. Админ воодушевляется и:
- получает список классов, использующих данную функцию
- создает на нее триггер, включает аудит или каким-то другим способом посылает ее на#$й
- звонит тому самому другу и идет с ним в пивбар поговорить о бренности бытия

Описанная тобой проблема с браузером также просто решается ограничениями целостности. Берем другой пример.

Обычный пользователь ставит себе ОС-21. Он не специалист, но компьютера не боится и надписи на экране читает, особенно если они на родном языке. В процессе установки он выбирает предустановленную конфигурацию "пользователь", которая создает в системе различные триггеры и ограничения, в частности и для класса "браузер". Через какое-то время он узнает, что появился новый продвинутый браузер и хочет его себе поставить. Скачивает, но системный установщик выдает сообщение, что данный браузер не подходит под ограничения, установленные в его системе. В частности, пытается импортировать функции из запрещенных для браузера классов. Пользователь может или понизить уровень безопасности (т. е. фактически удалить ограничения/триггеры) или отказаться от установки.

Точнее, во! Даже не так - наоборот! По умолчанию все запрещено, а для разрешения надо явно указать связи. Получается - чем больше зависимостей - тем сложнее и нестабильнее система. Эмпирический закон в действии. Хотя, при правильной реализации ядра - будет как в Oracle.

И где тут цифровые подписи? По-моему, достаточно обычной математики. ИМХО, цифровые подписи создавались для доверия потенциально ненадежным источникам, например, людям. Программы же пока, слава богу, еще не перешли на неконтролируемый математически уровень. Или уже перешли?!
Dron написал(а) ...
Во, кстати мысля.
можно кончено вешать на программы ярлыки... (для пользователя естественно не заметные) которые будут рассматриваться системой и побуждать ее пресекать несанкционированные действия программы.

Будете навешивать ярлыки - будете получать #$й. А будут получать #$й пользователи - будут вас посылать на#$й. И т. д. Поэтому делаем наоборот: система посылает программы на#$й - они получают #$й .

Никакие ярлыки на#$й не нужны - достаточно секции экспорта классов/функций, бишь RTTI. RTTI один на всю систему и входит в стандарт выполнимого модуля, как сегодня соглашения о вызовах функций.

Не задекларировал программист в RTTI импорт какого-то класса - #$й он его получит. Придется декларировать. А вы - специалисты по безопасности, будете создавать связи, какому классу в какой конфигурации что можно импортировать. Нет ссылки в системе - получаешь #$й. Хочет, например, наследник класса Picture (тот же JPEG) сделать импорт Partition.Format() - получает что? Правильно - то самое.
<span class='smallblacktext'>[ Редактирование пятница 21.10.2005 18:01 ]</span>
Наверх
Dron
Пятница 21.10.2005 18:07


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
Хорошо, но это мы опять вернулись к тому, что не все языки одинаково полезны... а это недемократично.

Я честно говоря институтов не кончал и смутно представляю что такое предикаты.

А если создатель класса JPEG возьмет и задекларирует использование Partition.Format?
[ Редактирование пятница 21.10.2005 18:10 ]

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

Андрей Валяев
Наверх
Сайт
Chizh
Пятница 21.10.2005 18:20
ID пользователя #90
Зарегистрирован: Понедельник 13.09.2004 18:42
Сообщений: 170
Freeman написал(а) ...
А вы - специалисты по безопасности, будете создавать связи, какому классу в какой конфигурации что можно импортировать.

Так слишком обобщённо будет, и непонятно какой конкретно ресурс ты разрешаешь/запрещаешь. Может быть программе нужен доступ к одному файлу, тогда зачем программе предоставлять целый файловый сервер, с помощью которого можно стянуть хоть весь диск? Тогда очевидно, нужно использовать параметризованные классы


<span class='smallblacktext'>[ Редактирование пятница 21.10.2005 18:32 ]</span>
Наверх
Сайт
Переход на страницу  [1] 2  

Перейти:     Наверх

Транслировать сообщения этой темы: rss 0.92 Транслировать сообщения этой темы: rss 2.0 Транслировать сообщения этой темы: RDF
Powered by e107 Forum System

© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.