Passa al contenuto principale

5. Considerazioni sulla sicurezza (Security Considerations)

Vedere la discussione sopra nella sezione 3.

Principali considerazioni sulla sicurezza (Main Security Considerations)​

Dati passivi (Passive Data)​

I file CSV contengono dati di testo passivi e generalmente non dovrebbero (should) rappresentare un rischio diretto per la sicurezza. Come formato di testo semplice, il CSV non esegue codice o script da solo.

Rischi potenziali (Potential Risks)​

1. Sovraccarichi del buffer (Buffer Overruns)​

Dati binari dannosi potrebbero (may) teoricamente essere inclusi in un file CSV per sfruttare potenziali vulnerabilità di sovraccarico del buffer nei programmi che elaborano dati CSV.

Mitigazioni (Mitigations):

  • Implementare un'appropriata validazione dell'input.
  • Utilizzare funzioni sicure per la gestione delle stringhe.
  • Impostare limiti ragionevoli sulla dimensione dei campi.
  • Mantenere aggiornate le librerie di parsing CSV.

2. Privacy dei dati (Data Privacy)​

I dati privati possono (may) essere condivisi tramite questo formato, come per qualsiasi dato di testo.

Mitigazioni (Mitigations):

  • Applicare controlli di accesso appropriati ai file CSV sensibili.
  • Utilizzare la crittografia durante il trasporto, come TLS.
  • Crittografare i file CSV archiviati quando appropriato.
  • Seguire i principi di minimizzazione dei dati.

3. Attacchi di iniezione (Injection Attacks)​

I dati nei file CSV possono (may) innescare l'iniezione di formule o l'esecuzione di comandi quando vengono importati in programmi di fogli di calcolo.

Mitigazioni (Mitigations):

  • Fare l'escape o validare i campi che iniziano con =, +, - o @.
  • Disabilitare l'esecuzione automatica delle formule durante l'importazione quando possibile.
  • Avvisare gli utenti del contenuto potenzialmente eseguibile.

4. Problemi di codifica dei caratteri (Character Encoding Issues)​

Una gestione errata della codifica dei caratteri può (may) causare corruzione dei dati o vulnerabilità di sicurezza.

Mitigazioni (Mitigations):

  • Specificare e validare esplicitamente le codifiche dei caratteri, utilizzando il parametro charset.
  • Gestire correttamente i caratteri multibyte.
  • Prevenire gli attacchi di confusione della codifica.

Raccomandazioni di implementazione (Implementation Recommendations)​

  1. Validazione dell'input (Input validation): validare e sanificare sempre i dati di input CSV.
  2. Gestione degli errori (Error handling): implementare una gestione degli errori robusta.
  3. Limiti delle risorse (Resource limits): impostare limiti ragionevoli sulla dimensione dei file, sul numero di record e sulla lunghezza dei campi.
  4. Configurazione sicura (Secure configuration): eseguire i processori CSV con privilegi minimi.
  5. Registrazione (Logging): registrare le attività di elaborazione CSV anomale o sospette.

Linee guida generali (General Guidance)​

Durante l'elaborazione di file CSV, le applicazioni dovrebbero (should) seguire le migliori pratiche di sicurezza standard, tra cui:

  • Non fidarsi degli input degli utenti.
  • Applicare la difesa in profondità.
  • Eseguire revisioni e aggiornamenti di sicurezza regolari.
  • Seguire il principio dell'RFC 793: «sii conservativo in ciò che fai, sii liberale in ciò che accetti dagli altri».