Безопасность — проблема пользовательского интерфейса.
Говорят, есть очень простой способ обезопасить компьютер с Windows — просто выключить его. За этой шуткой скрывается серьезная мысль. А именно — очень просто создать безопасную систему, если вы пойдете на компромисс с функциональностью. Машина, которая ничего не делает, очень безопасна по своей природе. Проблема, стоящая перед разработчиками программного обеспечения заключается в том, как сбалансировать удобство и безопасность.
Сказка о Двух Моделях Безопасности
Многие люди утверждают, что UNIX является более безопасной, чем Windows. Однако когда требуют доказательств, они находят, что очень трудно указать на уязвимости в ядре NT. Действительно, на бумаге модель безопасности Windows явно превосходна — каждый объект имеет связанный список контроля доступа, и этот список проверяется ядром при каждой попытке доступа.
Модель UNIX, напротив, гораздо более примитивна. Только файлы имеют какой-либо контроль доступа (хотя, по справедливости говоря, большинство вещей в системе UNIX являются, как правило, файлами), который просто имеет разрешения для пользователя, группы, и всех.
Есть только два уровня безопасности:
* Пользователи могут делать все, что им позволил делать root
* Root может делать все.
Опыт подсказывает, что более простая модель обеспечивает большую безопасность, но это не всегда так. Например, VMS имеет одновременно подробную модель безопасности и превосходную репутацию по безопасности. Разница между VMS и Windows заключается в том, что VMS машины, как правило, запускаются людьми с большим опытом настройки и конфигурирования VMS. Если большая часть вашей работы — это понимание деталей модели безопасности, то вы, вероятно, придете к хорошему обеспечению безопасности этой системы. В отличие от этого, большое количество машин с Windows — это домашние машины, запускаемые людьми с маленькими познаниями в компьютерах или же вообще без знаний, или в небольших компаниях, не имеющих IT-персонала. Если пользователи VMS настраивают свою политику безопасности осторожно, то пользователи Windows попросту отключают меры безопасности, поскольку они слишком сложны для корректной настройки.
Возможно, ту же самую критику можно перенести и на UNIX. Чтобы сравнение было справедливым, давайте взглянем на Mac OS X. Построенная на ядре UNIX (хотя и не особенно традиционном во многих отношениях), OS X наследует модель безопасности UNIX. В OS X, система не препятствует пользователю в 90% случаев из того, что ему может потребоваться в повседневной деятельности. Для других видов деятельности, таких как установка обновлений, пользователю предлагается ввести пароль. Другими словами, система обеспечения безопасности держится в стороне от пути пользователя большую часть времени.