Cuprins:
- Definiție - Ce înseamnă Security Access Access (CAS)?
- Techopedia explică securitatea accesului codului (CAS)
Definiție - Ce înseamnă Security Access Access (CAS)?
Securitatea accesului codului (CAS) este un mecanism de securitate prin care limbajul comun de rulare (CLR) al cadrului .NET poate restricționa codul gestionat pentru a executa operațiuni cu un set limitat de permisiuni.
CAS aplică politicile de securitate în cadrul .NET prin împiedicarea accesului neautorizat la resurse și operații protejate. Spre deosebire de metodele de securitate tradiționale, în care datele obținute de la utilizator sunt obținute cu credențe, CAS este proiectat pentru a rezolva problemele cu care se confruntă la obținerea de coduri din surse externe, care conțin bug-uri și vulnerabilități. Aceste bug-uri și vulnerabilități pot face ca sistemul unui utilizator să fie vulnerabil la codul rău intenționat, care poate efectua activități fără ca utilizatorul să știe acest lucru. CAS cunoaște și permite doar acele operațiuni pe care un anumit cod de utilizator le poate și nu le poate efectua. Această caracteristică se aplică tuturor codurilor gestionate care vizează CLR.
CAS oferă securitate bazată pe dovezi, construită pe un strat deasupra securității oferite de sistemul de operare Windows. În timp ce Windows se bazează pe permisiunile utilizatorului, CAS se bazează pe dovezile pentru asamblare. Ansamblul conține permisiunile definite în politica de securitate și constituie baza pentru a permite codului să execute acțiunile necesare.
Techopedia explică securitatea accesului codului (CAS)
CAS este bazat pe următoarele elemente, printre altele:
- Permisiuni: Acestea sunt drepturile de bază necesare pentru a accesa o resursă protejată sau a executa o operație protejată.
- Set de permisiuni: acesta este un set de permisiuni, cum ar fi „încredere deplină”, „nimic”, „Internet”, „intranet local” și altele.
- Grup de coduri: este o grupare logică de cod cu o condiție specificată pentru apartenență, cum ar fi LocalIntranet_zone și Internet_zone.
- Dovadă: este vorba despre informații legate de asamblare, cum ar fi directorul aplicației, editor, adresa URL și zona de securitate.
- Politica de securitate: este un set de reguli configurate de un administrator pentru a determina permisiunile acordate pentru un cod exprimat ierarhic la patru niveluri ca domeniu de întreprindere, mașină, utilizator și aplicație.
Operația privilegiată de executare a codului necesită CLR pentru una sau mai multe permisiuni. Permisiunea reală este calculată folosind uniunea de permisiuni stabilite în grupurile de coduri și apoi o intersecție la nivel de politică. CLR asigură că permisiunile solicitate sunt în permisiunile acordate ale metodei montării respective. Dacă nu se acordă permisiunea, se va arunca o excepție de securitate.
CAS oferă două moduri de securitate pentru a defini permisiunile pentru cod:
- Securitatea declarativă este implementată prin definirea atributelor de securitate la nivel de asamblare, nivel de clasă sau nivel de membru. Modul declarativ este utilizat atunci când apelurile trebuie evaluate în timp de compilare.
- Securitatea imperativă folosește apelurile metodei de rulare pentru a crea instanțe de clase de securitate. Modul imperativ este utilizat atunci când apelurile trebuie evaluate în timpul rulării.
CAS are limitări, inclusiv funcționarea defectuoasă a unei aplicații mutate într-un alt sistem atunci când politica de securitate este diferită. În plus, nu există niciun control asupra codului neadministrat și nici un control al dezvoltării de aplicații care să răspundă nevoilor diferitelor scenarii de setări de securitate pe sistemele de utilizator.
Pentru a utiliza în mod eficient tehnologia de securitate cu granulație fină a CAS, dezvoltatorii ar trebui să scrie cod sigur de tip, să utilizeze sintaxa declarativă sau imperativă bazată pe context, să solicite permisiuni din timpul de rulare pentru a rula codul și să folosească bibliotecile sigure.
