Turinys:
- Apibrėžimas - ką reiškia „Code Access Security“ (CAS)?
- „Techopedia“ paaiškina kodų prieigos apsaugą (CAS)
Apibrėžimas - ką reiškia „Code Access Security“ (CAS)?
Kodo prieigos sauga (CAS) yra saugos mechanizmas, kuriuo .NET pagrindų bendrosios kalbos vykdymo laikas (CLR) gali apriboti valdomą kodą vykdyti operacijas su ribotu leidimų rinkiniu.
CAS vykdo saugos politiką .NET sistemoje, užkertant kelią neteisėtai prieigai prie saugomų išteklių ir operacijų. Skirtingai nuo tradicinių saugos metodų, kai vartotojo kredencialus gauna iš vartotojo, CAS yra skirtas išspręsti problemas, su kuriomis susiduriama gaunant kodą iš išorinių šaltinių, kuriuose yra klaidų ir pažeidžiamumų. Dėl šių klaidų ir pažeidžiamumų vartotojo sistema gali būti pažeidžiama kenksmingo kodo, kuris gali atlikti užduotis vartotojui to nežinant. CAS iš tikrųjų žino ir leidžia atlikti tik tas operacijas, kurias konkretaus vartotojo kodas gali ir negali atlikti. Ši funkcija taikoma visiems valdomiems kodams, taikomiems pagal CLR.
CAS teikia įrodymais pagrįstą apsaugą, paremtą aukštesniu nei „Windows“ operacinės sistemos teikiamu saugumu. Nors „Windows“ grindžiama vartotojo leidimais, CAS remiasi surinkimo įrodymais. Asamblėjoje yra saugos politikoje apibrėžti leidimai ir tai yra pagrindas, leidžiantis kodui atlikti būtinus veiksmus.
„Techopedia“ paaiškina kodų prieigos apsaugą (CAS)
CAS, be kita ko, remiasi šiais elementais:
- Leidimai: Tai yra pagrindinės teisės, reikalingos norint patekti į saugomą šaltinį arba vykdyti apsaugotą operaciją.
- Leidimų rinkinys: tai leidimų rinkinys, toks kaip „visiškas pasitikėjimas“, „niekas“, „internetas“, „vietinis vidinis tinklas“ ir kiti.
- Kodo grupė: tai logiškas kodo grupavimas su nurodytomis narystės sąlygomis, tokiomis kaip „LocalIntranet_zone“ ir „Internet_zone“.
- Įrodymai: Tai su surinkimu susijusi informacija, tokia kaip programų katalogas, leidėjas, URL ir saugos zona.
- Saugos politika: Tai yra rinkinys taisyklių, kurias sukonfigūravo administratorius, kad nustatytų leidimus, suteiktus kodui, hierarchiškai išreikštam keturiais lygiais kaip įmonės, mašinos, vartotojo ir programos domenai.
Kodą vykdanti privilegijuota operacija reikalauja CLR vieno ar kelių leidimų. Faktinis leidimas apskaičiuojamas naudojant leidimų sąjungą, nustatytą kodų grupėse, ir tada sankryžą politikos lygiu. CLR užtikrina, kad reikalaujami leidimai atitiktų suteiktus leidimus naudoti to surinkimo metodą. Jei leidimas nebus suteiktas, bus išmesta saugumo išimtis.
CAS suteikia du saugos režimus, kad apibrėžtų kodo teises:
- Deklaracinis saugumas įgyvendinamas apibrėžiant saugos atributus susirinkimo, klasės ar narių lygyje. Deklaracinis režimas naudojamas, kai skambučius reikia įvertinti sudarymo metu.
- Privaloma sauga naudoja skambučio laiko metodo skambučius, kad sukurtų saugos klases. Privalomasis režimas naudojamas, kai skambučius reikia įvertinti vykdymo metu.
CAS turi apribojimų, įskaitant netinkamą programos, perkeltos į kitą sistemą, veikimą, kai skiriasi saugumo politika. Be to, nekontroliuojamas nevaldomas kodas ir nekontroliuojamas programų tobulinimas, kad būtų patenkinti įvairių vartotojo sistemų saugos parametrų scenarijų poreikiai.
Norėdami veiksmingai naudoti smulkmenišką CAS saugumo technologiją, kūrėjai turėtų parašyti saugaus tipo kodą, naudoti deklaratyvią ar imperatyvią sintaksę, pagrįstą kontekstu, reikalauti leidimų nuo paleidimo laiko, kad kodas būtų paleistas, ir naudoti saugias bibliotekas.
