Protezione dei dati di statoSecuring State Data

Nelle applicazioni che consentono la gestione di dati sensibili o decisioni di qualsiasi tipo in materia di sicurezza è necessario mantenere il controllo dei dati e non consentire l'accesso diretto da parte di altro codice potenzialmente dannoso.Applications that handle sensitive data or make any kind of security decisions need to keep that data under their own control and cannot allow other potentially malicious code to access the data directly. Il modo migliore per proteggere i dati in memoria è dichiararli come variabili private o interne, ovvero con ambito limitato allo stesso assembly.The best way to protect data in memory is to declare the data as private or internal (with scope limited to the same assembly) variables. Anche questi dati sono tuttavia soggetti a un tipo di accesso che è necessario determinare.However, even this data is subject to access you should be aware of:

  • Tramite meccanismi di reflection, è possibile ottenere e impostare membri privati in codice altamente attendibile che può fare riferimento all'oggetto.Using reflection mechanisms, highly trusted code that can reference your object can get and set private members.

  • Tramite serializzazione, è possibile ottenere e impostare membri privati in codice altamente attendibile se è possibile accedere ai dati corrispondenti nella forma serializzata dell'oggetto.Using serialization, highly trusted code can effectively get and set private members if it can access the corresponding data in the serialized form of the object.

  • Nella fase di debug, questi dati possono essere letti.Under debugging, this data can be read.

Accertarsi che nessun metodo o proprietà esponga tali valori in modo non intenzionale.Make sure none of your own methods or properties exposes these values unintentionally.

Vedere ancheSee Also

Linee guida per la generazione di codice sicuroSecure Coding Guidelines