Как построить защищенную информационную систему. КнигаРефераты >> Программирование и компьютеры >> Как построить защищенную информационную систему. Книга
2. Неправильное внедрение модели безопасности. Несмотря на правильный выбор модели безопасности, ее реализация и применение к архитектуре конкретной ОС в силу свойств самой модели или ОС было проведено неудачно. Это означает, что в ходе реализации были потеряны теоретические достижения, полученные при формальном доказательстве безопасности модели. Это наиболее распространенная причина нарушения безопасности ВС. Обычно неправильное внедрение модели безопасности в систему выражается в недостаточном ограничснии доступа к наиболее важным для безопасности системы службам и объектам, а также во введении различных исключений из предусмотренных моделью правил разграничения доступа типа привилегированных процессов, утилит и т. д. В качестве примеров можно привести случаи I1, I4, I6, I7, MU3, Bl. UN1, U4, U5, U14 из Приложения IV.
3. Отсутствие идентификации и/или аутентификации субъектов и объектов. Во многих современных ОС (различные версии Unix, Novell NetWare, Windows) идентификация и аутентификация субъектов и объектов взаимодействия находятся на весьма примитивном уровне — субъект может сравнительно легко выдать себя за другого субъекта и воспользоваться его полномочиями доступа к информации. Кроме того, можно внедрить в систему «ложный» объект, который будет при взаимодействии выдавать себя за другой объект. Часто идентификация и аутентификация носят непоследовательный характер и не распространяются на все уровни взаимодействия; так, например, в ОС Novell NetWare предусмотрена аутентификация пользователя, но отсутствует аутентификация рабочей станции и сервера. В стандартной версии ОС Unix аутентификация пользователей находится на очень примитивном уровне: программы подбора пароля легко справляются со своей задачей при наличии у злоумышленника идентификатора пользователя и зашифрованного пароля. Ряд служб ОС Unix (в первую очередь сетевые службы, использующие стек протоколов TCP/IP) и всемирная информационная сеть Internet в силу сложившихся обстоятельств и необходимости соблюсти требования по совместимости в глобальном масштабе вообще не предусматривают аутентификации при сетевых взаимодействиях [21] (пример MU1 из Приложения IV).
4. Отсутствие контроля целостности средств обеспечения безопасности. Во многих ОС контролю целостности самих механизмов, реализующих функции защиты, уделяется слабое внимание, но, как уже говорилось, в условиях распространения РПС контроль целостности приобретает решающее значение. Многие системы допускают прозрачную для служб безопасности подмену компонентов. Например, ОС Unix традиционно построена таким образом, что для обеспечения ее функционирования многие процессы должны выполняться с уровнем полномочий, превышающим обычный пользовательский уровень (с помощью механизма замены прав пользователя на права владельца программы). Такие приложения являются потенциальной брешью в системе защиты, так как нуждаются в проверке на безопасность при установке в систему и постоянном контроле целостности в ходе эксплуатации. С точки зрения безопасности, такая ситуация является недопустимой, так как не соблюдается принцип минимальной достаточности при распределении полномочий процессов и пользователей. Список критичных приложений и пользователей, обладающих высоким уровнем привилегий, должен быть максимально ограничен. Этого можно достичь путем последовательного применения принципа локализации функций обеспечения безопасности и целостности в рамках ядра ОС (пример U1 Приложения IV).
5. Ошибки, допущенные в ходе программной реализации средств обеспечения безопасности. Эта группа причин нарушения безопасности будет существовать до тех пор, пока не появятся технологии программирования, гарантирующие производство безошибочных программ. По-видимому, такие технологии не появятся и ошибки такого рода будут возникать всегда. Исчерпывающее тестирование и верификация программных продуктов (особенно реализующих функции защиты) позволяют сократить вероятность появления подобных ошибок (примеры МТ1, MU2, DT1, Dl, U2, U3, U7, |U11, U 12 Приложения IV).
6. Наличие средств отладки и тестирования в конечных продуктах. Многие разработчики оставляют в коммерческих продуктах т. н. «люки», «дыры», отладочные возможности и т.д. Наиболее известные примеры — отладочная опция в программе sendmail и встроенный отладчик ОС Novell NetWare. Причины, по которым это происходит, вполне понятны — программные продукты становятся все сложнее, и отладить их в лабораторных условиях становится просто невозможно. Следовательно, для определения причин сбоев и ошибок уже в .процессе эксплуатации разработчикам приходится оставлять в своих продуктах возможности для отладки и диагностики в ходе эксплуатации. Очевидно, что для тех ситуаций, где безопасность имеет решающее значение, применение подобной практики недопустимо (пример U 10 Приложения IV).
7. Ошибки администрирования. Наличие самых современных и совершенных средств защиты не гарантирует от возможных нарушений безопасности, так как в безопасности любой системы присутствует человеческий фактор — администратор, управляющий средствами обеспечения безопасности, может совершить ошибку, и все усилия разработчиков будут сведены на нет. Ошибки администрирования являются достаточно распространенной причиной нарушений безопасности, но часто списываются на ошибки разработчиков средств защиты.
Предложенный подход к классификации причин нарушения безопасности в отличие от существующих подходов позволяет определить полное множество независимых первопричин нарушений безопасности, несводимых одна к другой. и образующих ортогональное пространство факторов, определяющих реальную степень безопасности системы.
Рис. 3.1 Таксономия прпичин нарушения безопасности ВС
3.4.2. Взаимосвязь таксономии причин нарушения безопасности и классификации ИЗ
Рассмотрим взаимосвязь между рассмотренной таксономией причин возникновения ИЗ и предложенной в работе [1] классификацией источников появления и этапов внедрения ИЗ.
Сопоставление предложенной таксономии причин нарушения безопасности и классификации источников появления ИЗ [I] показано на рис. 3.2.
Рисунок 3.2 демонстрирует, что источником появления наибольшего количества категорий ИЗ является неправильное внедрение модели безопасности и ошибки в ходе программной реализации. Это означает, что эти причины являются более значимыми и должны быть устранены в первую очередь.
На рис. 3.3 показано соответствие между причинами нарушений безопасности и классификацией ИЗ по этапу внесения [I].
Из рис 3.3 видно, что появление основных причин нарушения безопасности закладывается на этапе разработки, причем в основном на стадии задания спецификаций. Это вполне ожидаемый результат, так как именно этап составления спецификаций является одним из самых трудоемких, а последствия ошибок в спецификациях сказываются на всех дальнейших этапах разработки и распространяются на все взаимосвязанные компоненты системы.