10. Considerazioni sulla sicurezza
Gli implementatori di UTF-8 devono essere consapevoli di diversi problemi di sicurezza.
Sequenze non valide
Una sequenza di byte UTF-8 PUÒ essere non valida perché contiene byte vietati, non può completare una sequenza valida, codifica un numero troppo grande o riservato, è troppo lunga, o non è codificata nella forma più breve possibile.
Attacchi con forma non più breve
Una sequenza di caratteri particolare contenente un carattere Unicode di valore basso (come "/") può essere critica in un contesto di sicurezza.
Esempi di attacchi
Carattere: '/' (barra)
Unicode: U+002F
Forma corretta:
UTF-8: 2F (1 byte)
Forme troppo lunghe (NON VALIDE):
C0 AF (2 byte)
E0 80 AF (3 byte)
F0 80 80 AF (4 byte)
Raccomandazioni di sicurezza
✅ 1. Validazione rigorosa
Validare sempre che le sequenze UTF-8 siano nella forma più breve, nell'intervallo di caratteri valido, e non codifichino coppie surrogate.
✅ 2. Rifiuto di sequenze non valide
Rifiutare immediatamente qualsiasi sequenza non valida.
✅ 3. Normalizzazione Unicode
Normalizzare le stringhe prima dei confronti di sicurezza.
Collegamenti correlati
- Precedente: 9. Considerazioni IANA
- Torna alla pagina principale RFC 3629
- Successivo: 11. Ringraziamenti