Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИБиЗИ_ч2.doc
Скачиваний:
98
Добавлен:
17.04.2015
Размер:
831.49 Кб
Скачать

Рекомендуемая литература:

  1. Взлом программного обеспечения: анализ и использование кода / Грэк Хогланд, Гари Мак-Гроу, Под ред. В.Иващенко . М.: Вильямс, 2005, 704c.

  2. Unix: руководство системного администратора / Эви Намет, Гарт Снайдер, Скотт Сибасс, Тренд Р.Хейн, СПб.: Издательская группа BHV, 2002, 928c.

  3. UNIX and Linux System Administration Handbook, 4th Edition / Evi Nemeth, Garth Snyder, Trent R. Hein, Prentice Hall, 2010, 1344c.

  4. Доступный UNIX: Linux, FreeBSD, DragonFlyBSD, NetBSD, OpenBSD / Федорчук А.В, СПб: БХВ-Петербург, 2006, 672c.

Тема 2. Проекты безопасности для Linux

2.1. Проект openwall

Openwall (дословный перевод с английского языка – Открытая Стена) GNU/*/Linux или "Owl" - представляет собой усовершенствованную в плане безопасности операционную систему, использующую Linux и GNU software в качестве основы и совместимую с другими основными дистрибутивами GNU/*/Linux. Owl ориентирована на использование в качестве серверной платформы, распространяется свободно и бесплатно .

Owl действительно предоставляет ряд возможностей помимо попыток быть более безопасной системой.

Прежде всего, Owl можно использовать в качестве основы для установки любого программного обеспечения, существующего для GNU/*/Linux систем. Она предоставляет совместимость с программными пакетами, созданными для других дистрибутивов Linux - например, Red Hat Linux.

Дополнительно, как серверная платформа, Owl включает в себя постоянно расширяющийся набор интернет-сервисов.

Owl использует интегрированную систему сборки, позволяющую собрать всю систему целиком из исходных текстов посредством одной простой команды ("make buildworld").

Owl поддерживает различные процессорные архитектуры (в данный момент это x86, x86-64, SPARC и Alpha), что позволяет вам использовать ее в различных ситуациях и помогает нам более оперативно обнаруживать и исправлять различные программные ошибки, тем самым повышая надежность программных пакетов Owl.

В Linux также имеются ограничения на объем памяти, доступ­ный выполняемому процессу. Сегменты разделяемой па­мяти могут существовать независимо от процессов, их использующих, что позволяет обойти соответствующие проверки. Включение опции Destroy shared memory segments not in use (Уничтожение сегментов разделяемой памяти не используется) вызывает уничто­жение этих сегментов, после того как они становятся невостребованны­ми. Активизация данного режима может привести к неработоспособности некоторых приложений.

Если в системе появляются проблемы с запуском некоторых прило­жений, необходимо воспользоваться утилитой chstk, позволяющей разре­шить отдельным приложениям выполнять соответствующие «незаконные» операции. При этом следует знать, что, при выключении тех или иных механизмов защиты системы, открываются так называемые “бреши”, через которые злоумышленник может проникнуть в систему. Поэтому, если требования по безопасности высоки, лучше отказаться от неизвестных программ.

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

Основной используемый метод - активная проверка исходных текстов на предмет наличия программных ошибок. Тем не менее, ввиду их большого объема, проверке подвергаются только "важные" фрагменты - в настоящий момент это код, выполняемый с привилегиями выше, чем у обычного пользователя, или используемый для обработки получаемых из сети данных. Только после соответствующей проверки в Owl включаются многие системные библиотеки, все SUID/SGID программы, все демоны и сетевые сервисы. Остальные программы могут проверяться будучи уже частью Owl. Потенциальные проблемы, обнаруженные в процессе проверки, решаются, или, в клинических случаях, могут быть причиной того, что данный компонент не включается в Owl. В общем случае, качество кода и подход к использованию им привилегий всегда учитываются, когда есть выбор между двумя и более реализациями какой-то определенной возможности. По мере развития проекта многие компоненты будут заменены на наши собственные реализации.

При добавлении пакетов в Owl программные компоненты настраиваются или, если необходимо, модифицируются с целью обеспечения безопасных настроек по умолчанию, применения принципа минимальных привилегий, и реализации разделения доступа. Использование безопасных настроек по умолчанию, когда дополнительные (потенциально опасные!) функции при необходимости нужно включать явно, позволяет нам более тщательно исследовать фрагменты кода, используемые с настройками по умолчанию. Дополнительные утилиты для администрирования системы (owl-control) позволяют управлять различными системными функциями - например, такими, как необязательные SUID/SGID программы - независимо от установки соответствующих пакетов. Для каждого пакета, входящего в Owl, будет документирован статус для оценки риска.

Анализ исходных текстов, будучи предпочтительным методом проверки программного обеспечения, не всегда применим. Обычно, если "дырявая" программа от стороннего разработчика устанавливается на безопасную в остальном систему - извечная борьба снаряда и брони завершается, причем не в вашу пользу. Единственное, что система может обеспечить - то, что возможный несанкционированный доступ будет ограничен привилегиями, которые были у данной программы. Тем не менее, в последнее время разработаны различные методы снижения как вероятности подобных случаев, так и последствий совершившейся атаки на "дырявую" программу. Owl использует некоторые из этих методов в различных частях системы.

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

За исключением отдельных случаев, не соответствующих нашим целям, Owl пытается сохранять максимальную совместимость с другими основными дистрибутивами GNU/*/Linux на уровне пакетов (в том числе бинарных).

В большинстве случаев, возможна установка готовых бинарных пакетов, предназначенных для определенных версий Red Hat Enterprise Linux, CentOS или Fedora, на компьютер, работающий под управлением Owl. Для Owl 2.0 и Owl 3.0, это относится к пакетам, собранным для RHEL4, CentOS 4 и FC3.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]