Casa Sviluppo Che cos'è la protezione dall'accesso di codice (cas)? - definizione da techopedia

Che cos'è la protezione dall'accesso di codice (cas)? - definizione da techopedia

Sommario:

Anonim

Definizione: che cosa significa Code Access Security (CAS)?

Code access security (CAS) è un meccanismo di sicurezza mediante il quale Common Language Runtime (CLR) del framework .NET può limitare il codice gestito per eseguire operazioni con un set limitato di autorizzazioni.


CAS applica politiche di sicurezza nel framework .NET impedendo l'accesso non autorizzato a risorse e operazioni protette. A differenza dei metodi di sicurezza tradizionali, in cui le credenziali dell'utente sono ottenute dall'utente, CAS è progettato per risolvere i problemi affrontati durante l'ottenimento di codice da fonti esterne, che contengono bug e vulnerabilità. Questi bug e vulnerabilità possono rendere il sistema di un utente vulnerabile al codice dannoso, che può eseguire attività senza che l'utente lo sappia. CAS in realtà conosce e consente solo quelle operazioni che un determinato codice utente può e non può eseguire. Questa funzione è applicabile a tutto il codice gestito destinato al CLR.


CAS offre sicurezza basata su prove basate su un livello superiore alla sicurezza fornita dal sistema operativo Windows. Mentre Windows si basa sulle autorizzazioni dell'utente, CAS si basa sulle prove per l'assemblaggio. L'assembly contiene le autorizzazioni definite nella politica di sicurezza e costituisce la base per consentire al codice di eseguire le azioni necessarie.

Techopedia spiega Code Access Security (CAS)

CAS è basato sui seguenti elementi, tra gli altri:

  1. Autorizzazioni: sono i diritti di base necessari per accedere a una risorsa protetta o eseguire un'operazione protetta.
  2. Set di autorizzazioni: si tratta di un set di autorizzazioni, come "piena fiducia", "niente", "Internet", "intranet locale" e altri.
  3. Gruppo di codici: si tratta di un raggruppamento logico di codice con una condizione specificata per l'appartenenza come LocalIntranet_zone e Internet_zone.
  4. Prova: si tratta di informazioni relative all'assemblaggio come directory dell'applicazione, editore, URL e zona di sicurezza.
  5. Politica di sicurezza: si tratta di un insieme di regole configurate da un amministratore per determinare le autorizzazioni concesse per un codice espresso gerarchicamente a quattro livelli come dominio aziendale, macchina, utente e applicazione.

L'operazione con privilegi di esecuzione del codice richiede il CLR per una o più autorizzazioni. L'autorizzazione effettiva viene calcolata utilizzando l'unione dell'autorizzazione impostata nei gruppi di codici e quindi un'intersezione a livello di politica. Il CLR garantisce che le autorizzazioni richieste siano nelle autorizzazioni concesse per il metodo dell'assembly. Se l'autorizzazione non viene concessa, verrà generata un'eccezione di sicurezza.


CAS offre due modalità di sicurezza per definire le autorizzazioni per il codice:

  • La sicurezza dichiarativa viene implementata definendo gli attributi di sicurezza a livello di assembly, a livello di classe o di membro. La modalità dichiarativa viene utilizzata quando è necessario valutare le chiamate al momento della compilazione.
  • La sicurezza imperativa utilizza le chiamate del metodo di runtime per creare istanze di classi di sicurezza. La modalità imperativa viene utilizzata quando è necessario valutare le chiamate in fase di esecuzione.

CAS presenta limitazioni, incluso il malfunzionamento di un'applicazione spostata su un altro sistema quando la politica di sicurezza è diversa. Inoltre, non esiste alcun controllo sul codice non gestito e nessun controllo sullo sviluppo di applicazioni per soddisfare le esigenze di diversi scenari di impostazioni di sicurezza sui sistemi degli utenti.


Per utilizzare in modo efficace la tecnologia di sicurezza granulare di CAS, gli sviluppatori dovrebbero scrivere un codice sicuro, utilizzare la sintassi dichiarativa o imperativa basata sul contesto, richiedere autorizzazioni dal runtime per l'esecuzione del codice e utilizzare librerie sicure.

Che cos'è la protezione dall'accesso di codice (cas)? - definizione da techopedia