| IwanS | Дата: 16:57 06.07.2008 | Сообщение # 1 |
Администратор
Сообщений: 1850
Статус: не в сети
| Всем привет! Разговор в группах новостей Microsoft подтолкнул меня на мысль: "а как же все-таки сделать безопасную ОС?". Я попробую сформулировать несколько тезисов, отражающих мое видение ситуации: Четкое разграничение функций системных каталогов. Важно, чтобы каждый системный каталог имел четкую функцию. Например, в одном хранились общие библиотеки, в другом - системные программы, в третьем - общие конфигурационные файлы, в четвертом - системные отчеты. Вы, конечно, вспомните элементы unix, я не боюсь признать, что планирование размещения системных файлов unix всяко лучше устройства windows, где даже в системном каталоге хранится всякий мусор типа 0.txt или _default.pif. Четкое разграничение прав на системные каталоги. Например, на каталог с системными программами должен стоять четкий и однозначный запрет на запись. В связи с этим необходимо ввести разные уровни доступа: каждая программа должна иметь доступ на запись только к тем файлам, которые она непосредственно и создавала. Доступ на запись к системным конфигурационным файлам (читай, реестру) должны иметь только специально сертифицированные программы. Даже доступ на чтение должен быть не ко всему подряд, а только на некоторый ограниченный набор конфигурационных файлов. Отдельный временной каталог, в котором бы хранились все временные файлы, и %temp%, и temporary internet files, и все остальные. Сейчас же временные файлы хранятся везде, начиная от c:\windows\temp и заканчивая рабочей папкой пользователя. Ограничение возможностей запущенных программ. Это мое видение идеального UAC. Программа не должна иметь возможности во-первых создавать другие программы (это принципиально), во-вторых прописать себя в автозапуск любым возможным способом, и не должна иметь возможности подключить свои компоненты к другим программам. Естественно, все это должно ограничиваться уровнем допуска программы ввиду второго пункта. Защита от дурака должна быть: вот запрещено программе прописывать себя в реестр и все тут. Такие возможности должны быть среди функций самой ОС. Расширение функционала ОС. В саму операционную систему должны быть включены те функции, которые обычно возлагаются на программы, а именно: прописывание программы в автозапуск, регулировка файловых ассоциаций, ассоциаций протоколов, и кое-каких других. Мощный файрволл. Вот из всего функционала ОС файрволлу, по моему мнению, должно уделяться больше внимания и подход должен быть серьёзным. Я возмущен, что формально Windows Firewall и дает запрос на допуск программы в интернет при попытке последней установить связь, но на деле любая программа может прописать себя в допуск в обход запроса. Простой пример: игра C&C3: Tiberium Wars, в которой при первой попытке настройки сети выдается запрос "Прописаться в исключения файрволла?" и при нажатии положительного ответа CnC каким-то чудодейственным образом прописывается в правила файрволла без запроса последнего. Кое-какие программы прописываются даже без запроса. Надо уделять больше внимания именно контролю сетевой активности. Установить для автозапускающихся программ пониженный уровень доступа. Занижение по сравнению со стандартным уровнем доступа для программ автозагрузки вполне оправдано - ведь какая их основная задача? Отобразить менюшку с описанием содержания диска? Тогда зачем создавать потенциальную уязвимость и разрешать этим программам, скажем, изменять стартовую страницу или какие-то системные параметры? И самое главное - никакого доступа в интернет и записи файлов на винчестер. Запретить любое управление несвоими окнами. Вирусы последнее время используют возможность перехвата управления системными окнами и простого уничтожения процессов. Например, запускаешь Диспетчер задач, а он раз и закрылся. Простой вопрос - зачем программе иметь возможность управлять чужими окнами? Практической пользы от этого немного, а потенциальная опасность велика. Выкинуть из ОС "левые" возможности и файлы. Например, у меня в папке c:\windows\system32 есть файл mplay32.exe. Зачем он там нужен?! В системе полно всякого хлама, который никому и не нужен, а существует с туманным оправданием поддержания совместимости со старыми программами. Разногласия идут из отсутствия стандарта, поэтому этот самый стандарт нужно делать. Это далеко не все, если кого заинтересует - я могу написать ещё. Также я уверен, что Windows в своей текущей реализации (Vista SP1) - это тупиковый путь в попытке обеспечить совместимость простым копированием файлов на то месте, где они когда-то были. Складывается ощущение, что разработчиком просто по-человечески надоело дорабатывать имеющееся и они решили "попрограммировать для души". Ладно, хватит пока, чтобы читатель не пугался объема написанного
|
|
| |
| |