5. Security Considerations (Considerazioni sulla sicurezza)
È necessario prestare attenzione quando si visualizzano messaggi su un terminale o emulatore di terminale. I terminali potenti possono agire su sequenze di escape e altre combinazioni di caratteri di controllo US-ASCII con varie conseguenze. Possono rimappare la tastiera o permettere altre modifiche al terminale che possono portare a denial of service o persino dati danneggiati.
I visualizzatori di messaggi potrebbero voler rimuovere sequenze di escape di terminale potenzialmente pericolose da un messaggio prima della visualizzazione. Tuttavia, altre sequenze di escape appaiono nei messaggi per scopi utili e quindi non dovrebbero essere rimosse indiscriminatamente.
Principali preoccupazioni di sicurezza
1. Attacchi tramite sequenze di escape del terminale
Minaccia: Le sequenze di escape dannose possono controllare il comportamento del terminale
Rischi:
- Rimappatura della tastiera
- Modifica delle impostazioni del terminale
- Esecuzione automatica di comandi
- Impatto su dispositivi collegati (stampanti)
Mitigazione:
- Filtrare le sequenze di escape pericolose prima della visualizzazione
- Preservare le sequenze di escape legittime (ISO 2022, codifica MIME)
- Utilizzare ambienti di visualizzazione sandboxed o ristretti
2. Trasmissione di oggetti non testuali
La trasmissione di oggetti non testuali nei messaggi solleva ulteriori problemi di sicurezza. Questi problemi sono discussi in RFC 2045, RFC 2046, RFC 2047, RFC 2049, RFC 4288 e RFC 4289.
Rischi relativi a MIME:
- Allegati eseguibili
- Iniezione di script
- Overflow del buffer
- Tipi di contenuto dannosi
3. Divulgazione di informazioni del campo Bcc
Molte implementazioni utilizzano il campo "Bcc:" (copia carbone nascosta) descritto nella Sezione 3.6.3 per facilitare l'invio di messaggi ai destinatari senza rivelare gli indirizzi di uno o più destinatari agli altri destinatari. Una gestione errata di questo uso di "Bcc:" ha il potenziale di rivelare informazioni riservate.
Scenario 1: Rimozione della riga Bcc
Se viene utilizzato il primo metodo descritto nella Sezione 3.6.3, dove la riga "Bcc:" viene rimossa dal messaggio, i destinatari in copia nascosta non hanno un'indicazione esplicita di aver ricevuto una copia nascosta, tranne per il fatto che il loro indirizzo non appare nella sezione di intestazione del messaggio.
Scenario 2: Conservazione del campo Bcc
Quando viene utilizzato il secondo metodo dalla Sezione 3.6.3, l'indirizzo del destinatario in copia nascosta appare nel campo "Bcc:" di una copia separata del messaggio. Le implementazioni devono comunque prestare attenzione nella gestione delle risposte al messaggio.
Migliori pratiche di sicurezza
Per i visualizzatori di messaggi
| Pratica | Descrizione |
|---|---|
| Filtrare i caratteri di controllo | Rimuovere o escapare i caratteri di controllo potenzialmente pericolosi |
| Whitelist delle sequenze di escape | Consentire solo sequenze di escape note come sicure |
| Rendering in sandbox | Renderizzare il contenuto del messaggio in ambiente ristretto |
| Avvisare gli utenti | Avvisare gli utenti di contenuti potenzialmente pericolosi |
Per i client di posta elettronica
| Pratica | Descrizione |
|---|---|
| Gestione Bcc | Implementare correttamente la protezione della privacy del campo Bcc |
| Gestione risposte | Prevenire l'esposizione accidentale dei destinatari Bcc |
| Scansione allegati | Scansionare gli allegati per contenuti dannosi |
| Validazione contenuto | Validare i tipi di contenuto e le codifiche MIME |
Per i server di posta elettronica
| Pratica | Descrizione |
|---|---|
| Filtraggio contenuto | Filtrare pattern dannosi noti |
| Limiti di dimensione | Limitare le dimensioni di messaggi e allegati |
| Limitazione della velocità | Prevenire spam e attacchi DoS |
| Autenticazione | Implementare SPF, DKIM, DMARC |
Riepilogo
Le considerazioni sulla sicurezza nell'implementazione di RFC 5322 si concentrano su tre aree principali:
- Sicurezza della visualizzazione: Prevenzione degli attacchi tramite sequenze di escape del terminale
- Protezione della privacy: Gestione appropriata del campo Bcc
- Sicurezza del contenuto: Gestione sicura di MIME e allegati
Tutte le implementazioni dovrebbero adottare una strategia di difesa in profondità, implementando controlli di sicurezza su più livelli.
Successivo: 6. IANA Considerations
Precedente: 4. Obsolete Syntax