Share via


Suggerimenti per ottimizzare la protezione nell'automazione

Aggiornamento: novembre 2007

È necessario che gli sviluppatori di automazione di Visual Studio accettino la responsabilità di creare applicazioni protette comprendendo le vulnerabilità di protezione. Un'applicazione protetta garantisce la riservatezza, l'integrità e la disponibilità delle informazioni dei clienti. Inoltre, protegge l'integrità e la disponibilità delle risorse di elaborazione controllate dal proprietario o dall'amministratore del sistema.

Ai fini di questa discussione, una vulnerabilità di protezione è un difetto in un prodotto che consente a un intruso, anche quando il prodotto viene utilizzato correttamente, di:

  • appropriarsi dei privilegi nel sistema dell'utente

  • regolarne, modificarne o reindirizzarne il funzionamento

  • comprometterne i dati

    oppure

  • presupporre un'attendibilità non concessa.

Nota importante:

Non dare mai per scontato che l'applicazione verrà eseguita soltanto in alcuni ambienti, in particolare se si tratta di un'applicazione molto diffusa. Ci sono buone probabilità che l'applicazione venga utilizzata in ambienti non previsti. Si supponga invece che il codice verrà eseguito negli ambienti più ostili. Pertanto, progettare, scrivere e testare il codice con le dovute precauzioni.

La creazione di applicazioni protette garantisce una serie di vantaggi. Codice progettato e generato considerando l'importanza della protezione fin dall'inizio è più affidabile rispetto a codice per il quale la protezione viene considerata solo in un secondo momento. Inoltre, le applicazioni progettate in modo protetto sono meno soggette alle critiche, più interessanti per gli utenti e comportano costi di riparazione e di supporto inferiori.

API rischiose

Dal punto di vista della protezione, alcune funzioni API possono essere considerate più rischiose rispetto ad altre. Alcune possono essere implicitamente rischiose per la loro modalità di funzionamento. Altre possono essere rischiose se non vengono chiamate o gestite nel modo corretto. Il punto è che è necessario conoscere i problemi e le peculiarità delle diverse funzioni API chiamate e, se queste ultime costituiscono rischi di protezione di qualunque natura, assicurarsi che vengano utilizzate correttamente.

Non dare inoltre per scontato che se il codice utilizza solo funzioni API considerate "protette", l'applicazione sarà a sua volta automaticamente protetta. Operazioni di programmazione poco attente possono esporre l'applicazione a un numero di rischi uguale o superiore a quello legato all'utilizzo di funzioni cosiddette "pericolose". Queste operazioni possono includere:

  • gestione non corretta delle eccezioni

  • utilizzo di percorsi hardcoded

  • utilizzo di stringhe di connessione hardcoded

    oppure

  • mancato controllo delle credenziali o delle autorizzazioni dell'utente.

Per proteggere le applicazioni, è necessario conoscere in modo approfondito i problemi di protezione del codice ricercando l'argomento relativo. La pubblicazione di Microsoft Press "Writing Secure Code" e il sito Security Coding Guidelines all'indirizzo https://msdn2.microsoft.com/en-us/library/d55zzx87.aspx sono ottime risorse (informazioni in lingua inglese).

Un altro importante punto da considerare è che molti problemi di protezione derivano da applicazioni che considerano affidabili gli input di dati in modo indiscriminato. È essenziale che le applicazioni esaminino e valutino attentamente i dati quando vengono ricevuti per verificare che siano ben formati e affidabili prima di utilizzarli.

Funzionalità di protezione dell'automazione

Oltre a seguire queste indicazioni, l'automazione di Visual Studio offre alcune modalità semplici e specifiche per favorire la protezione del sistema dalle vulnerabilità di protezione dell'automazione. È importante ricordare, tuttavia, che queste modalità non costituiscono un rimedio per tutti i problemi di protezione. Rappresentano comunque un buon punto di partenza. Per informazioni, vedere Sicurezza dei componenti aggiuntivi.

Cercare e seguire attentamente le indicazioni sulla protezione .NET prima di generare applicazioni di automazione.

Vedere anche

Concetti

Risorse per la creazione di applicazioni sicure

Altre risorse

Concetti principali sulla protezione