Kazalo:
- Opredelitev - Kaj pomeni zaščita dostopa do kode (CAS)?
- Techopedia pojasnjuje varnost dostopa do kode (CAS)
Opredelitev - Kaj pomeni zaščita dostopa do kode (CAS)?
Varnost dostopa do kode (CAS) je varnostni mehanizem, s katerim lahko trajanje skupnega jezika (CLR) okvira .NET omeji upravljano kodo za izvajanje operacij z omejenim naborom dovoljenj.
CAS uveljavlja varnostne politike v okviru .NET tako, da preprečuje nepooblaščen dostop do zaščitenih virov in operacij. Za razliko od tradicionalnih varnostnih metod, pri katerih se od uporabnika pridobijo uporabniške poverilnice, je CAS zasnovan za reševanje težav, s katerimi se soočajo pri pridobivanju kode iz zunanjih virov, ki vsebujejo napake in ranljivosti. Te napake in ranljivosti lahko naredijo uporabnikov sistem ranljiv za zlonamerno kodo, ki lahko izvaja naloge, ne da bi uporabnik tega vedel. CAS dejansko pozna in dovoljuje samo tiste operacije, ki jih koda uporabnika lahko izvaja in ne more izvajati. Ta funkcija je uporabna za vse upravljane kode, ki ciljajo na CLR.
CAS zagotavlja varnost, ki temelji na dokazih, zgrajena na plasti nad varnostjo, ki jo nudi operacijski sistem Windows. Medtem ko Windows temelji na dovoljenjih uporabnika, CAS temelji na dokazih za sestavljanje. Sestava vsebuje dovoljenja, določena v varnostni politiki, in je osnova, ki omogoča kodo, da izvede potrebna dejanja.
Techopedia pojasnjuje varnost dostopa do kode (CAS)
CAS je med drugim zasnovan na naslednjih elementih:
- Dovoljenja: To so osnovne pravice, potrebne za dostop do zaščitenega vira ali izvedbo zaščitene operacije.
- Nabor dovoljenj: To je niz dovoljenj, kot so "popolno zaupanje", "nič", "internet", "lokalni intranet" in druga.
- Skupina kod: To je logično združevanje kode z določenim pogojem za članstvo, kot sta LocalIntranet_zone in Internet_zone.
- Dokazi: To so informacije, povezane s sestavljanjem, kot so imenik aplikacij, založnik, URL in varnostno območje.
- Varnostna politika: To je niz pravil, ki jih konfigurira skrbnik za določitev dovoljenj, dodeljenih za kodo, izraženo hierarhično na štirih nivojih, kot so podjetje, stroj, uporabnik in domena aplikacij.
Privilegirano delovanje, ki izvaja kodo, zahteva CLR za eno ali več dovoljenj. Dejansko dovoljenje se izračuna na podlagi združitve dovoljenj, določenih v skupinah kod, in nato presečišča na ravni pravilnika. CLR zagotavlja, da so zahtevana dovoljenja odobrena dovoljenja metode tega sklopa. Če dovoljenje ni odobreno, bo vržena varnostna izjema.
CAS ponuja dva varnostna načina za določitev dovoljenj za kodo:
- Deklarativna varnost se izvaja z opredelitvijo varnostnih atributov na ravni sestavljanja, razreda ali ravni članov. Deklarativni način se uporablja, kadar je treba klice oceniti v času prevajanja.
- Imperativna varnost uporablja klice metode izvajanja časa za ustvarjanje primerkov varnostnih razredov. Imperativni način se uporablja, kadar je treba klice oceniti v času izvajanja.
CAS ima omejitve, vključno z nepravilno delovanje aplikacije, premaknjeno v drug sistem, kadar je varnostna politika drugačna. Poleg tega ni nadzora nad nenadzorovano kodo in ne nadzorovanja razvoja aplikacij za potrebe različnih scenarijev varnostnih nastavitev na uporabniških sistemih.
Za učinkovito uporabo natančne zaščitne tehnologije CAS morajo razvijalci napisati kodo, ki je varna za tip, uporabljati deklarativno ali nujno skladnjo na podlagi konteksta, zahtevati dovoljenja za čas izvajanja kode in uporabljati varne knjižnice.
