Сборник тезисов докладов четвертой международной научной конференции студентов, аспирантов и молодых ученых "Комп'ютерний моніторінг та інформаційні технології (КМІТ - 2008)", Донецк, ДонНТУ - 2008. - с. 111-112
В архитектуре процессора Intel x86 определено четыре уровня привилегий, или колец, предназначенных для защиты кода и данных системы от случайной или умышленной перезаписи кодом с меньшим уровнем привилегий. Впервые концепция колец защиты появилась в процессоре i80386. Кольца – это не физическое устройство, а логический механизм. Всего процессоры x86 используют четыре кольца, обозначенных номерами от 0 до 3.
Код, выполняющийся на нулевом кольце, имеет наивысший приоритет. Программе "нулевого кольца" разрешено делать все – обрабатывать прерывания, работать напрямую с аппаратными средствами. На нулевом кольце выполняется ядро операционной системы.
Пользовательские программы выполняются на третьем кольце, поэтому их иногда называют "программами третьего кольца". Эти программы не имеют права напрямую работать с аппаратными средствами.
Изначально планировалось такое распределение колец:
Этот вопрос можно рассматривать с различных точек зрения:
Допустим, нам необходимо разработать средство защиты. Типовая структура такого средства на данный момент выглядит примерно так (зависимость слева направо):
Криптоядро | Контроль доступа | |
Криптозащита данных | Локальные, сетевые | |
Система выявления нарушителя | Локальные, сетевые |
Реализация почти всех перечисленных элементов системы защиты для ОС NT возможна только с применением драйверов:
Для специализированного оборудования должны быть разработаны драйвера для интеграции в эту схему.
При выборе способа реализации системы также жизненно важным может быть документированность этого способа, при том, что большая часть ОС NT не документирована.
Примеры драйверов:
Системная архитектура NT представляет собой набор модулей, связанных друг с другом стандартными интерфейсами. Благодаря этим интерфейсам можно производить как замену стандартных модулей на собственные, так и вставлять новые модули в "разрыв" связей между старыми. Такое устройство ОС позволяет разрабатывать новые модули (драйвера или службы) для различных целей:
Таким образом, обеспечение безопасности любой операционной системы сводится к использованию решений, затрагивающих низкоуровневые особенности этих систем. Примерами программных комплексов, встречающихся в повседневной жизни практически любого современного пользователя и работающих "прозрачно" для него, могут служить антивирусы (контроль действий приложений, например, Антивирус Касперского), межсетевые экраны (контроль сетевой активности, например, интегрированный в ОС Windows брандмауэр). Подобное программное обеспечение реализует защиту пользовательской среды, используя для этого драйверы уровня ядра, встраиваемые в конкретную операционную систему в виде модулей. Менее распространены драйверы специальных шифрующих устройств, а также драйверы виртуальных зашифрованных контейнеров.