Protezione dall'accesso di codice

Aggiornamento: novembre 2007

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

Sezioni correlate