Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Механизмы защиты в ОС UNIX




Идентификация и аутентификация. Рассмотрим стандартную процедуру идентификации и аутентифи­кации пользователя. Система ищет имя поль­зователя в файле /etc/passwd и, если пользователь идентифицируется (т. е. его имя найдено), аутентификация заключается в сравнении об­раза аутентификации от введенного пароля с эталоном. При этом пре­дусмотрены некоторые правила относительно характеристик пароля и возможности его изменения. Но, как показала практика, этих правил недостаточно для реализации надежной защиты.

В надежной системе стандартная процедура идентификации и ау­тентификации расширена. В ней предусмотрено больше правил, ка­сающихся типов используемых паролей. Введены процедуры генера­ции и изменения паролей. Изменены местоположение и механизм за­щиты некоторых частей базы данных паролей. Администратору аутен­тификации предоставлены дополнительные возможности для контроля за действиями пользователей.

Для усиления качественных и количественных характеристик про­цедур идентификации и аутентификации в UNIX существуют следующие средства.

 Задание администратором учета пользователей и терминалов оп­ределенных требований на пароли:

1) ограничение минимальной длины вводимого пользователем пароля;

2) требование наличия в пароле обязательного минимального ко­личества букв нижнего регистра, букв верхнего регистра, цифр и спе­циальных символов;

3) запрещение пользователю введения собственных паролей; раз­решение вводить только пароли, созданные системой.

 Задание администратором временных ограничений по частоте сменяемости и времени жизни паролей. При этом для удобства пользо­вателя возможно задание интервала между началом требования смены пароля и окончанием срока его действия.

 Автоматическое блокирование пользователя на входе в систему по старости пароля, по числу неуспешных попыток входа.

 Задание количества и номеров терминалов для входа в систему для каждого пользователя.

 Проверка системой паролей пользователей при вводе на их семан­тические и контекстуальные особенности (вхождение идентификатора, имени пользователя, повторяемость символов и т. д.).

 Хранение зашифрованных паролей не в /etc/passwd, как в старых версиях, поскольку этот файл открыт для чтения всем пользовате­лям, а в закрытом от доступа отдельном файле.

 Получение статистической информации по времени работы поль­зователя в системе, его блокировке, номеру терминала и т. д.

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

Хорошо себя зарекомендовало использование командного интер­претатора rsh. Пользователь, во-первых, не может перейти никуда из своего домашнего справочника. Во-вторых, он может ис­пользовать только команды из тех справочников, которые определены в переменной окружения PATH. При этом изменить значение пере­менной окружения PATH пользователь не может. В-третьих, пользова­тель не может задавать полные имена программных файлов и перена­правлять потоки ввода-вывода.

Защита файловой системы. Очевидно, что наибольшее внимание в вопросах защиты опера­ционной системы должно быть уделено защите файловой системы.

Каждый файл в системе имеет уникальный индекс. Индекс – это управляющий блок. В литературе он также называется индексным де­скриптором, i-node, или i-узлом. Индекс содержит информацию, необ­ходимую любому процессу для того, чтобы обратиться к файлу, на­пример, права собственности на файл, права доступа к файлу, размер файла и расположение данных файла в файловой системе. Процессы обращаются к файлам, используя четко определенный набор систем­ных вызовов и идентифицируя файл строкой символов, выступающих в качестве составного имени файла. Каждое составное имя однозначно определяет файл, благодаря чему ядро системы преобразует это имя в индекс файла. Индексы существуют на диске в статической форме, и ядро считы­вает их в память прежде, чем начать с ними работать.

Традиционно в файловых системах ОС UNIX за доступ ко всем типам файлов (файлы, каталоги и специальные файлы) отвечают 9 бит, которые хранятся в i-узле.

Первая группа из 3 бит определяет права доступа к файлу для его владельца, вторая – для членов группы владельца, третья – для всех остальных пользователей.

Например, права доступа “rwxr-xr—” к файлу означают, что владе­лец файла имеет полный доступ, члены группы имеют возможность чтения и выполнения, все остальные имеют возможность только чи­тать данный файл. Для каталога установка бита выполнения “х” означает возможность поиска (извлечения) файлов из этого каталога.

Такая система защиты файлов существует достаточно давно и не вызывает существенных нареканий. Действительно, для того чтобы вручную, т. е. не используя системные вызовы и команды, изменить права доступа к файлу, необходимо иметь доступ к области i-узлов. Для того чтобы иметь доступ к области i-узлов, необходимо изменить права доступа специального файла (например, /dev/root), биты доступа которого также хранятся в области i-узлов.

Иными словами, если случайно или умышленно не испортить пра­ва доступа ко всем файлам системы, установленные по умолчанию (обычно правильно) при инсталляции, то можно с большой степенью вероятности гарантировать безопасность работы системы.

Некоторые UNIX-системы (например, Solaris) предоставляют допол­нительные возможности по управлению правами доступа к файлам путем использования списков управления доступом (Access Control List). Дан­ный механизм позволяет для каждого пользователя или для отдельной группы установить индивидуальные права доступа к заданному файлу. При этом списки доступа сохраняются всеми системными средствами копирования и архивирования. Нельзя сказать, что введение этого меха­низма принципиально улучшает защиту файлов, но он вносит некоторую гибкость в процедуру формирования прав доступа к файлам.

Контроль целостности системы. Целостность системы должна контролироваться ОС. В ОС UNIX контроль целостности системы производится рядом специальных команд.

Стандартная последовательность действий после возникновения сбоя в системе или каких-либо других отклонений следующая:

1) выполнение проверки файловой системы;

2) составление контрольного отчета;

3) проверка базы данных аутентификации;

4) проверка разрешений для системных файлов.

Средств а аудита. Будем считать, что действие контролируется, если можно вычис­лить реального пользователя, который его осуществил. Система контроля UNIX регистрирует события в системе, связанные с защитой информации, записывая их в контрольный журнал. В кон­трольных журналах возможна фиксация проникновения в систему и неправильного использования ресурсов. Контроль позволяет просмат­ривать собранные данные для изучения видов доступа к объектам и наблюдения за действиями отдельных пользователей и их процессов. Попытки нарушения защиты и механизмов авторизации контролиру­ются. Использование системы контроля дает высокую степень гаран­тии обнаружения попыток обойти механизмы обеспечения безопасно­сти. Поскольку события, связанные с защитой информации, контроли­руются и учитываются вплоть до выявления конкретного пользователя, система контроля служит сдерживающим средством для пользовате­лей, пытающихся некорректно использовать систему.

В соответствии с требованиями к надежным системам ОС должна создавать, поддерживать и защищать журнал регистрационной инфор­мации, относящейся к доступу к объектам, контролируемым ОС. При этом должна быть возможность регистрации следующих событий:

1) использование механизма идентификации и аутентификации;

2) внесение объектов в адресное пространство пользователя (на­пример, открытие файла);

3) удаление объектов;

4) действия администраторов;

5) другие события, затрагивающие информационную безопасность.

Каждая регистрационная запись должна включать следующие поля:

1) дата и время события;

2) идентификатор пользователя;

3) тип события;

4) результат действия.

Система контроля UNIX использует системные вызовы и утилиты для классификации действий пользователей, подразделяя их на события различного типа. Например, при возникновении события типа “DAC Denials” (отказ доступа при реализации механизма избирательного разграничения доступа) регистрируются попытки такого использова­ния объекта, которые не допускаются разрешениями для этого объекта. Иными словами, если пользовательский процесс пытается писать в файл с доступом “только для чтения”, то возникает событие типа “DAC Denials”. Если просмотреть контрольный журнал, то легко мож­но увидеть повторяющиеся попытки доступа к файлам, на которые не получены разрешения.

Существенно повышает эффективность контроля наличие регист­рационного идентификатора пользователя (LUID). После прохождения пользователем процедур идентификации и аутентификации, т. е. непосредственного входа в систему, каждому процессу, создаваемому пользователем, присваивается регистрационный идентификатор поль­зователя. Данный идентификатор сохраняется на весь сеанс работы. Каждая контрольная запись, генерируемая системой контроля, содержит для каждого процесса регистрационный идентификатор на­ряду с эффективным и реальным идентификаторами пользователя и группы. Таким образом, оказывается возможным учет действий поль­зователя.

Отдельно следует рассмотреть реализацию механизма контроля для ядра. Данный механизм генерирует контрольные записи, исходя из деятельности пользовательских процессов, с помощью системных вы­зовов ядра. Каждый системный вызов ядра содержит строку в таблице, где указывается его связь с вопросами защиты информации и какому типу события он соответствует. Кроме того, используется таблица ко­дов ошибок, позволяющая классифицировать системные вызовы на конкретные события, связанные с защитой информации.

Например, системный вызов open классифицируется как событие “Сделать объект доступным”. Если пользователь выполняет систем­ный вызов open для файла /unix и данный системный вызов завершает­ся успешно, то генерируется контрольная запись об этом событии. Од­нако если системный вызов open заканчивается неудачно в силу того, что пользователь запросил в системном вызове доступ на запись файла /unix, не имея разрешения, то это действие классифицируется как со­бытие “Отказ доступа” для данного пользователя и объекта /unix. Сле­довательно, системный вызов можно отобразить в несколько типов со­бытий в зависимости от объекта, к которому осуществляется доступ, и (или) результата вызова.

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



 

ВВЕДЕНИЕ В БАЗЫ ДАННЫХ





Поделиться с друзьями:


Дата добавления: 2016-11-18; Мы поможем в написании ваших работ!; просмотров: 1971 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Вы никогда не пересечете океан, если не наберетесь мужества потерять берег из виду. © Христофор Колумб
==> читать все изречения...

2274 - | 2097 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.