Passa al contenuto principale

8. Considerazioni sulla sicurezza

Sebbene i tipi di media MIME non introducano direttamente vulnerabilità di sicurezza, l'uso di alcuni tipi può comportare rischi per la sicurezza.

Rischi potenziali​

1. Contenuto eseguibile​

Alcuni tipi di media (come i tipi application) possono contenere codice eseguibile.

Rischi:

  • Distribuzione di malware
  • Attacchi di injection di codice
  • Escalation dei privilegi

Mitigazione:

  • Esecuzione in sandbox
  • Conferma da parte dell'utente
  • Scansione antivirus

2. Spoofing del tipo di contenuto​

Il tipo di media dichiarato potrebbe non corrispondere al contenuto effettivo.

Rischi:

  • Elusione dei filtri di sicurezza
  • Analisi imprevista del contenuto
  • Attacchi XSS

Mitigazione:

  • Convalida tramite content sniffing
  • Controllo rigoroso del tipo MIME
  • Intestazioni Content-Type Nosniff

3. Attacchi Multipart​

Strutture multipart complesse possono essere sfruttate.

Rischi:

  • Vulnerabilità dei parser
  • Esaurimento delle risorse
  • Confusione dei boundary

Mitigazione:

  • Limitare la profondità di annidamento
  • Convalida dei boundary
  • Limiti di dimensione

4. Rischi External-Body​

message/external-body può fare riferimento a risorse esterne.

Rischi:

  • Perdite di privacy (tracciamento)
  • Attacchi SSRF
  • Caricamento di contenuti dannosi

Mitigazione:

  • Conferma da parte dell'utente
  • Whitelist di URL
  • Disabilitare il caricamento automatico

Pratiche di sicurezza consigliate​

  1. Convalida del tipo: Verificare che Content-Type corrisponda al contenuto effettivo
  2. Esecuzione in sandbox: Elaborare tipi sconosciuti in ambienti isolati
  3. Controllo utente: Lasciare che gli utenti controllino come gestire i tipi pericolosi
  4. Sicurezza predefinita: Utilizzare una gestione conservativa per i tipi sconosciuti
  5. Aggiornamenti regolari: Mantenere aggiornati i processori MIME

Elenco di controllo sulla sicurezza:

  • Convalidare Content-Type
  • Limitare i tipi eseguibili
  • Implementare la scansione del contenuto
  • Impostare limiti di risorse
  • Registrare gli eventi di sicurezza
  • Formazione degli utenti