Protezione dall'accesso di codice
Attualmente i sistemi di computer ad elevata connettività sono esposti con frequenza a codice di varia e spesso ignota origine. È possibile che del codice sia allegato a messaggi di posta elettronica, contenuto all'interno di documenti o scaricato da Internet. Molti sono gli utenti di computer che hanno sperimentato in prima persona gli effetti di codice mobile dannoso, tra cui virus e altri programmi distruttivi, in grado di danneggiare o eliminare i dati con notevoli perdite in termini economici e di tempo.
Secondo i più comuni meccanismi di protezione agli utenti vengono concessi i diritti in base alle relative credenziali di accesso, in genere consistenti in una password, e viene limitato l'accesso alle risorse, costituite perlopiù da directory e file. Questo approccio non è tuttavia adeguato per affrontare diversi problemi: il codice viene ottenuto da molte fonti, alcune delle quali possono essere inaffidabili; nel codice possono essere presenti errori o punti vulnerabili sfruttabili da codice dannoso; infine, l'utilizzo del codice porta talvolta a risultati imprevisti. Di conseguenza, quando si esegue software dannoso o con errori possono verificarsi danni ai sistemi di computer e la perdita di dati privati, anche se si adottano tutte le precauzioni. Per la maggior parte dei meccanismi di protezione dei sistemi operativi è necessario che ogni porzione di codice sia considerata completamente attendibile per poter essere eseguita, con la sola esclusione, forse, degli script contenuti nelle pagine Web. Permane quindi l'esigenza di un meccanismo di protezione largamente applicabile che consenta l'esecuzione protetta di codice originario di un dato sistema di computer su un altro, anche in assenza di una relazione di trust tra tali sistemi.
La protezione dei sistemi di computer dal codice mobile dannoso, la possibilità di consentire l'esecuzione protetta di codice di origine sconosciuta e la difesa del sistema di protezione dai danni intenzionali o accidentali causati da codice attendibile sono facilitate dall'utilizzo di un meccanismo di protezione denominato protezione dall'accesso di codice, fornito da .NET Framework. Mediante la protezione dall'accesso di codice è possibile considerare il codice come attendibile a vari livelli, a seconda dell'origine del codice e di altri aspetti relativi all'identità del codice. Poiché, inoltre, la protezione dall'accesso di codice impone al codice vari livelli di attendibilità, la quantità di codice che è necessario considerare completamente attendibile per consentirne l'esecuzione risulta ridotta. L'impiego della protezione dall'accesso di codice può ridurre la probabilità di utilizzo improprio del codice da parte di codice dannoso o contenente errori. Può inoltre limitare la responsabilità dello sviluppatore, dal momento che è possibile specificare l'insieme di operazioni che il codice è autorizzato a eseguire e l'insieme delle operazioni che invece non deve mai essere eseguito. Utilizzando inoltre la protezione dall'accesso di codice, è possibile ridurre le conseguenze dannose della presenza di punti deboli nella protezione del codice.
I vantaggi della protezione dall'accesso di codice riguardano tutto il codice gestito basato su Common Language Runtime, anche quando non viene effettuata alcuna chiamata al meccanismo di protezione. È tuttavia necessario che tutte le applicazioni effettuino richieste di accesso al codice, come delineato in Nozioni fondamentali sulla protezione dall'accesso di codice.
In questa sezione
- Introduzione alla protezione dall'accesso di codice
Viene fornita una panoramica sulla protezione dall'accesso di codice.
- Nozioni fondamentali sulla protezione dall’accesso di codice
Viene descritta la protezione dall'accesso di codice e le forme più comuni di utilizzo.
- Utilizzo di librerie da codice parzialmente attendibile
Viene descritto come attivare l'utilizzo di librerie con codice non gestito e come utilizzarle da codice non gestito.
- Scrittura di librerie di classi protette
Vengono riportate considerazioni sulla protezione delle librerie di classi.
- Scrittura di controlli gestiti in modo protetto
Vengono riportate considerazioni sulla protezione per lo sviluppo e la distribuzione di controlli gestiti.
- Creazione di autorizzazioni personalizzate di accesso al codice
Viene descritto come creare autorizzazioni personalizzate.
Sezioni correlate
- Protezione in .NET Framework
Viene fornita una panoramica sul sistema complessivo di protezione di .NET Framework.
- Concetti principali sulla protezione
Viene fornita una panoramica su numerosi termini e concetti chiave utilizzati nel sistema di protezione di .NET Framework.
- Protezione basata sui ruoli
Viene descritto come incorporare la protezione sulla base dei ruoli.
- Servizi di crittografia
Viene descritto come incorporare la crittografia all'interno delle applicazioni.
- Gestione dei criteri di protezione
Vengono descritte le modalità di gestione dei criteri di protezione.
- Strumenti di protezione
Vengono descritti gli strumenti utilizzati per implementare e amministrare il sistema di protezione di .NET Framework.