Концепции безопасности в современных операционных системах.
Особенности организации безопасности в ОС Windows NT. Состав и основные параметры структур SECURITY_ATTRIBUTES и SECURITY_ DESCRIPTOR
Концепции безопасности Windows. Безопасность в WindowsNT и 9x. Состав и основные параметры структуры SECURITY_ATTRIBUTES.
Начиная с Windows 98 :
1. Поддержка защищенных каналов PPTP,SSL
2. Поддержка смарт-карт
3. API криптография
4. Microsoft Wallet (бумажник)
5. Алгоритм Authenticode
1й на уровне TCP/IP
2-5 – средствами браузера
Спец. набор ф-ийAPIбезопасности входит в состав Win32API, полностью реализован только в NT.
В NTможно устанавливать индивидуальные права доступа к файлам.
Для предотвращения НСД, программисту необходимо организовать проверку безопасности в след.последов-ти:
-подготовка списка всех информационных объектов/операций, доступ к которым нельзя предоставлять без проверки полномочий пользов-лей.
-разработка логической схемы спец. прав и привилегий доступа.
-задание в своей проге проверки безопасности везде, где есть доступ к защищенным объектам/операциям.
-ограничение доступа к защищенным объектам извне.
В NT безопасность на уровне:
-групп
-файлов (ФС NTFS)
-права/привилегии отдельных объектов.
После входа на защищенный сервер пользов-лю присваивается маркер доступа.
Каждому системному объекту соответствует дескриптор безопасности. С помощью маркера доступа и дескриптора безопасности система защиты NTпроверяет наличие прав доступа к объекту.
В NTвстроенные средства безопасности реализованы только для объектов ядра ОС.
API ф-ии для манипулирования объектами ядра, в качестве аргумента всегда принимают ук-ль на структуру SECURITY_ATTRIBUTES.Обычно вместо него пишут NULL – значит что используется стандартный набор параметров структуры SECURITY_ATTRIBUTES.
Если нужны другие атрибуты, то необходимо вручную сформировать эту структуру.
Состав и основные параметры структуры SECURITY_DESCRIPTOR. Основные функции API для работы с SECURITY_DESCRIPTOR.
SECURITY_DESCRIPTOR (SD) содержит инфу связанную с защитой объекта от НСД. Внутреннее строение SECURITY_DESCRIPTORне документировано. Предполагается, что если вы знаете о строении структуры, то теоретически можете обойти систему безопасности.
SD содержит:
-SIDвладельца объекта
-SIDосновной группы владельца объекта
-DACL – дискреционный список управления доступом.
-SACL – системный список управления доступом
-управляющая информация
SID – структура, однозначно идентифицирующая пользователя или группу пользователей.
DACL – определяет кто обладает/не обладает правом доступа к объекту.
SACL– определяет инфа о каких действиях вносится в файл журнала.
InitializeSecurityDescriptor() – инициализирует указанный нами дескрипто т.о., что в нем отсутствует DACL, SACL, владелец, основная группа, а все управляющие флаги установлены в значение FALSE.
При этом дескриптор имеет абсолютный формат, т.е. содержит лишь указ-ли на инфу связанную с защитой объекта.
Системные вызовы требующие ук-ль на SDработают только с дескриптором в абсолютном формате.
Дескриптор в относительном формате вкл. в себя всю необх. инфу, располагаемую в памяти последовательно – требуется если нужно записать на диск.
MakeSelfRelativeSD(), MakeAbsoluteSD() – преобразовывают форматы.
IsValidSecurityDescriptor() –проверка правильности.
GetSecurityDescriptorControl() – возвращает инфу об уровне доступа для SD.
GetSecurityDescriptorLength() – возвращает размер
GetSecurityDescriptorDacl() – возвращает указ-ль на DACL
GetSecurityDescriptorGroup() – возвр. ук-ль на идентификатор безопасности основной группы.
GetSecurityDescriptorSacl() – возвращает ук-ль на SACL
SetSecurityDescriptorDacl() –обновляетинфуоDACL
SetSecurityDescriptorGroup() – обновляетидентификаторбезопасностигруппы
SetSecurityDescriptorOwner() – …владельца
SetSecurityDescriptorSacl() – … о SACL
Основные принципы обеспечения безопасности в современных операционных системах.
Структура и основные форматы буфера обмена Windows. Основные функции API для работы буфером обмена Windows.