Защитное кольцо


В компьютерных науках иерархические домены защиты [ 1 ] [2] , часто называемые кольцами защиты , представляют собой механизмы защиты данных и функций от сбоев (путем повышения отказоустойчивости ) и вредоносного поведения (путем обеспечения компьютерной безопасности ).

Компьютерные операционные системы обеспечивают различные уровни доступа к ресурсам. Кольцо защиты — это один из двух или более иерархических уровней или слоев привилегий в архитектуре компьютерной системы . Обычно это аппаратно обеспечивается некоторыми архитектурами ЦП , которые обеспечивают различные режимы ЦП на аппаратном уровне или на уровне микрокода . . Кольца располагаются в иерархии от наиболее привилегированных (наиболее доверенные, обычно с нулевым номером) до наименее привилегированных (наименее доверенные, обычно с наибольшим номером кольца). В большинстве операционных систем кольцо 0 представляет собой уровень с наибольшим количеством привилегий и самым непосредственным образом взаимодействует с физическим оборудованием, таким как ЦП и память.

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

Множественные кольца защиты были одной из самых революционных концепций, представленных в операционной системе Multics , высокозащищенной предшественнице современного семейства операционных систем Unix . У мейнфрейма GE 645 был некоторый аппаратный контроль доступа, но этого было недостаточно для полной аппаратной поддержки колец, поэтому Multics поддерживала их, перехватывая переходы колец в программном обеспечении; [3] его преемник, Honeywell 6180 , реализовал их аппаратно с поддержкой восьми колец. [4] Однако большинство систем общего назначения используют только два кольца, даже если аппаратное обеспечение, на котором они работают, обеспечивает больше режимов ЦП.чем это. Например, Windows 7 и Windows Server 2008 (и их предшественники) используют только два кольца, где кольцо 0 соответствует режиму ядра, а кольцо 3 — пользовательскому режиму [5] , поскольку более ранние версии Windows работали на процессорах, которые поддерживали только два уровня защиты. . [6]

Многие современные архитектуры ЦП (включая популярную архитектуру Intel x86 ) включают некоторую форму кольцевой защиты, хотя операционная система Windows NT , например Unix, не использует эту функцию в полной мере. В некоторой степени OS/2 использует три кольца: [7] кольцо 0 для кода ядра и драйверов устройств, кольцо 2 для привилегированного кода (пользовательские программы с разрешениями на доступ к вводу-выводу) и кольцо 3 для непривилегированного кода (почти все пользовательские программы) . программы). В DOS ядро, драйверы и приложения обычно работают в кольце 3 (однако это относится только к случаю, когда используются драйверы защищенного режима и/или расширители DOS; в ОС реального режима система работает практически без защиты). ), тогда как 386 менеджеров памяти, таких какEMM386 работает в кольце 0. В дополнение к этому, EMM386 3.xx DR-DOS может дополнительно запускать некоторые модули (такие как DPMS ) вместо этого в кольце 1. OpenVMS использует четыре режима, которые называются (в порядке уменьшения привилегий) Kernel, Executive, Supervisor и User.

Возобновление интереса к этой структуре дизайна возникло с распространением программного обеспечения Xen VMM , продолжающимся обсуждением монолитных и микроядер ( особенно в группах новостей Usenet и веб-форумах ), структурой проектирования Microsoft Ring-1 в рамках их инициативы NGSCB и гипервизоры на основе виртуализации x86 , такие как Intel VT-x (ранее Vanderpool).


Кольца привилегий для x86 доступны в защищенном режиме