Obsah:
- Definice - Co znamená zabezpečení přístupu k kódu (CAS)?
- Techopedia vysvětluje zabezpečení přístupu k kódu (CAS)
Definice - Co znamená zabezpečení přístupu k kódu (CAS)?
Zabezpečení přístupu k kódu (CAS) je bezpečnostní mechanismus, pomocí kterého může běžný jazykový runtime (CLR) .NET framework omezit spravovaný kód pro provádění operací s omezenou sadou oprávnění.
CAS prosazuje zásady zabezpečení v rámci .NET tím, že brání neoprávněnému přístupu k chráněným prostředkům a operacím. Na rozdíl od tradičních bezpečnostních metod, kde jsou uživatelské pověření získána od uživatele, je CAS navržen tak, aby vyřešil problémy, se kterými se potýkají při získávání kódu z externích zdrojů, které obsahují chyby a zranitelnosti. Tyto chyby a zranitelnosti mohou způsobit zranitelnost systému uživatele vůči škodlivému kódu, který může provádět úkoly, aniž by o tom uživatel věděl. CAS skutečně zná a povoluje pouze ty operace, které daný uživatelský kód může a nemůže provést. Tato funkce je použitelná pro všechny spravované kódy cílící na CLR.
CAS poskytuje zabezpečení založené na důkazech postavené na vrstvě nad zabezpečením poskytovaným operačním systémem Windows. Zatímco systém Windows je založen na oprávnění uživatele, CAS je založen na důkazech pro sestavení. Sestava obsahuje oprávnění definovaná v bezpečnostní politice a tvoří základ pro povolení kódu k provedení nezbytných akcí.
Techopedia vysvětluje zabezpečení přístupu k kódu (CAS)
CAS je mimo jiné postaven na následujících prvcích:
- Oprávnění: Toto jsou základní práva potřebná pro přístup k chráněnému prostředku nebo k provedení chráněné operace.
- Sada oprávnění: Toto je sada oprávnění, například „plná důvěra“, „nic“, „internet“, „místní intranet“ a další.
- Skupina kódů: Toto je logické seskupení kódu se specifikovanou podmínkou členství, jako je LocalIntranet_zone a Internet_zone.
- Důkaz: Jedná se o informace týkající se sestavení, jako je adresář aplikace, vydavatel, adresa URL a zóna zabezpečení.
- Zásady zabezpečení: Toto je sada pravidel nakonfigurovaných správcem k určení oprávnění udělených pro kód vyjádřený hierarchicky na čtyřech úrovních jako podniková, strojová, uživatelská a aplikační doména.
Privilegovaná operace provádějící kód vyžaduje CLR pro jedno nebo více oprávnění. Skutečné oprávnění se vypočítá pomocí spojení oprávnění nastaveného ve skupinách kódů a poté průnikem na úrovni politiky. CLR zajišťuje, že požadovaná oprávnění jsou v udělených oprávněních metody této sestavy. Pokud není povolení uděleno, bude vyvolána bezpečnostní výjimka.
CAS poskytuje dva režimy zabezpečení pro definování oprávnění pro kód:
- Deklarativní zabezpečení je implementováno definováním atributů zabezpečení na úrovni sestavy, třídy nebo členské úrovně. Deklarativní režim se používá, když je třeba hovory vyhodnotit v době kompilace.
- Imperativní zabezpečení používá volání metod runtime k vytvoření instancí tříd zabezpečení. Imperativní režim se používá, když je třeba vyhodnotit volání za běhu.
CAS má omezení, včetně nefunkčnosti aplikace přesunuté do jiného systému, pokud se liší bezpečnostní politika. Kromě toho neexistuje žádná kontrola nad nespravovaným kódem a žádná kontrola vývoje aplikací, které by vyhovovaly potřebám různých scénářů nastavení zabezpečení v uživatelských systémech.
Aby bylo možné účinně používat jemnozrnnou bezpečnostní technologii CAS, vývojáři by měli psát kód typu bezpečný, používat deklarativní nebo imperativní syntaxi založenou na kontextu, vyžadovat povolení od běhu pro spuštění kódu a používat zabezpečené knihovny.