4. Отсутствие контроля целостности средств обеспечения безопасности. Во многих
ОС слабое внимание уделено контролю целостности самих механизмов, реализующих
функции защиты. Как уже говорилось, в условиях распространения РПС контроль
целостности приобретает решающее значение. Во многих системах возможна прозрачная
для служб безопасности подмена компонентов. В ОС Unix традиционно система
построена таким образом, что для обеспечения ее функционирования многие процессы
должны выполняться с уровнем полномочий, превышающим обычный пользовательский
уровень(с помощью механизма замены прав пользователя на права владельца
программы). Все такие приложения являются потенциальной брешью в системе защиты,
т.к. нуждаются в проверке на безопасность при установке в систему и постоянном
контроле целостности. С точки зрения безопасности такая ситуация нежелательна — не
соблюдается принцип минимальной достаточности при распределении полномочий
пользователей и процессов. Круг критичных приложений, и приложений и
пользователей, обладающих высоким уровнем привилегий должен быть максимальной
ограничен. Этого можно достигнуть путем последовательного применения принципа
локализации функций обеспечения безопасности и целостности в рамках ядра ОС.
Пример — U1.
5. Ошибки, допущенные в ходе программной реализации систем обеспечения
безопасности. Эта группа причин нарушения безопасности будет существовать до тех
пор, пока не появятся технологии программирования, гарантирующие производство
безошибочных программ. По-видимому, такие технологии не появятся, и ошибки такого
рода будут возникать всегда. Тщательное тестирование и верификация программных
продуктов (особенно реализующих функции защиты) позволит сократить вероятность
появления подобных ошибок до минимума. Примеры: МТ1, MU2, DT1, D1, U2, U3, U7,
U11, U12.
6. Наличие средств отладки и тестирования в конечных продуктах. Многие
разработчики оставляют в коммерческих продуктах т. н "люки", дыры, отладочные
возможности и т.д. Наиболее известные примеры — отладочная опция в программе
sendmail и встроенный отладчик ОС Novell NetWare Причины, по которым это
происходит, вполне понятны — программные продукты становятся все более сложными,
и отладить их в лабораторных условиях становится просто невозможно. Следовательно,
для определения причин сбоев и ошибок уже в процессе эксплуатации, разработчикам
приходится оставлять в своих продуктах возможности для отладки и диагностики.
Очевидно, что для тех ситуаций, где безопасность имеет решающее значение
применение подобной практики недопустимо. Пример U10.
7. Ошибки администрирования. Наличие самых современных и совершенных
средств защиты не гарантирует систему от возможных нарушений безопасности, т к.
остается человеческий фактор — администратор, управляющий средствами обеспечения
безопасности, может совершить ошибку, и все усилия разработчиков будут сведены на
нет. Неграмотное администрирование является достаточно распространенной причиной
нарушений безопасности, но легко может быть списано на разработчиков средств
защиты
Предложенный подход к классификации причин нарушения безопасности в
отличие от существующих подходов (в частности от описанных выше) позволяет
определить полное множество независимых первопричин нарушений безопасности,