Съдържание:
- Определение - Какво означава сигурност на достъпа до код (CAS)?
- Techopedia обяснява сигурността на достъпа до код (CAS)
Определение - Какво означава сигурност на достъпа до код (CAS)?
Защитата за достъп до код (CAS) е механизъм за защита, чрез който общото време на изпълнение (CLR) на .NET рамката може да ограничи управлявания код за изпълнение на операции с ограничен набор от разрешения.
CAS прилага политики за сигурност в .NET рамката, като предотвратява неоторизиран достъп до защитени ресурси и операции. За разлика от традиционните методи за защита, при които потребителските идентификационни данни се получават от потребителя, CAS е предназначен да адресира проблемите, изправени при получаване на код от външни източници, които съдържат грешки и уязвимости. Тези грешки и уязвимости могат да направят системата на потребителя уязвима към злонамерен код, който може да изпълнява задачи, без потребителят да го знае. CAS всъщност знае и позволява само тези операции, които даден код на потребителя може и не може да извършва. Тази функция е приложима за всички управлявани кодове, насочени към CLR.
CAS предоставя защита, базирана на доказателства, изградена върху слой над сигурността, осигурена от операционната система Windows. Докато Windows се основава на разрешенията на потребителя, CAS се основава на доказателствата за монтажа. Асамблеята съдържа разрешенията, дефинирани в политиката за сигурност и представлява основата за позволяване на код да изпълнява необходимите действия.
Techopedia обяснява сигурността на достъпа до код (CAS)
CAS е изграден върху следните елементи, наред с други:
- Разрешения: Това са основните права, необходими за достъп до защитен ресурс или извършване на защитена операция.
- Комплект разрешения: Това е набор от разрешения, като например "пълно доверие", "нищо", "Интернет", "локален интранет" и други.
- Кодова група: Това е логично групиране на код с определено условие за членство като LocalIntranet_zone и Internet_zone.
- Доказателство: Това е свързана с монтажа информация като директория на приложения, издател, URL адрес и зона за защита.
- Политика за сигурност: Това е набор от правила, конфигурирани от администратор за определяне на разрешенията, предоставени за код, изразено йерархично на четири нива като предприятие, машина, потребител и домейн на приложение.
Привилегированата операция за изпълнение на код изисква CLR за едно или повече разрешения. Действителното разрешение се изчислява, като се използва обединението на разрешения, зададено в кодовите групи и след това пресечна точка на ниво политика. CLR гарантира, че търсените разрешения са в предоставените разрешения на метода на този монтаж. Ако разрешението не бъде дадено, ще бъде изхвърлено изключение за сигурност.
CAS предоставя два режима на защита за определяне на разрешения за код:
- Декларативната сигурност се осъществява чрез дефиниране на атрибутите за сигурност на ниво сборка, клас или ниво член. Декларативният режим се използва, когато повикванията трябва да бъдат оценени по време на компилиране.
- Императивната защита използва обаждания от метода на време за изпълнение, за да създава екземпляри от класове на сигурност. Императивният режим се използва, когато повикванията трябва да бъдат оценени по време на изпълнение.
CAS има ограничения, включително неправилното функциониране на приложение, преместено в друга система, когато политиката за сигурност е различна. В допълнение, няма контрол върху неуправляем код и няма контрол върху разработването на приложения, които да обслужват нуждите на различни сценарии на настройките за защита на потребителските системи.
За да използват ефективно технологията за фина защита на CAS, разработчиците трябва да напишат код, защитен от типа, да използват декларативен или императивен синтаксис въз основа на контекста, да поискат разрешения от времето за изпълнение, за да се изпълнява кодът, и да използват защитени библиотеки.
