11. Considerazioni sulla sicurezza (Security Considerations)
Questo capitolo tratta i problemi di sicurezza del protocollo SCTP, le minacce potenziali e i meccanismi di protezione corrispondenti.
11.1. Obiettivi di sicurezza
11.1.1. Protezione dell'integrità
- Checksum CRC32c: Protegge l'intero pacchetto
- Verification Tag: Previene la falsificazione dei pacchetti
11.1.2. Protezione della disponibilità
- Meccanismo Cookie: Previene gli attacchi SYN flood
- Multihoming: Fornisce ridondanza di percorso
11.1.3. Riservatezza
Nota: SCTP non fornisce crittografia. Raccomandato: TLS/DTLS/IPsec.
11.2. Risposte SCTP alle minacce potenziali
11.2.1. Attacchi di impersonificazione
Protezione: Convalida Verification Tag, handshake a 4 vie, State Cookie con firma HMAC
11.2.2. Attacchi di replay
Protezione: TSN (crescente monotonicamente), durata Cookie, Verification Tag unico per associazione
11.2.3. Attacchi Denial of Service
Attacchi tipo SYN flood
Meccanismo Cookie:
1. Ricezione INIT → Nessuna allocazione TCB
2. Generazione State Cookie → Invio INIT ACK
3. Ricezione COOKIE ECHO → Allocazione TCB a questo punto
Attacchi di inondazione pacchetti
Protezione: Filtraggio Verification Tag, verifica checksum, controllo congestione
Attacchi di sfruttamento multihoming
Protezione: Verifica indirizzo via HEARTBEAT, limitazione di velocità
11.2.4. Intercettazione
Limitazione: SCTP non fornisce crittografia Raccomandato: TLS over SCTP, DTLS over SCTP, IPsec
11.2.5. Attacchi blind
Difficoltà: Indovinare Verification Tag a 32 bit + intervallo TSN Probabilità di successo: 1/2^32 o inferiore
11.3. Interazioni SCTP con i firewall
11.3.1. Sfide
- Comprensione della macchina a stati SCTP necessaria
- Gestione multihoming (indirizzi IP multipli)
- Aggiunta/rimozione dinamica indirizzi
11.3.2. Raccomandazioni
Filtraggio di base:
- Verifica checksum SCTP
- Tracciamento stato
- Limitazione velocità INIT
- Supporto multihoming
Configurazione:
Consentito (in uscita): INIT, COOKIE ECHO, DATA, SACK, HEARTBEAT
Consentito (in entrata): INIT ACK, COOKIE ACK, DATA, SACK, HEARTBEAT ACK
Bloccato: Transizioni di stato non valide, Verification Tag errato
11.3.3. Considerazioni NAT
Sfida: SCTP contiene informazioni indirizzo IP (INIT, ASCONF) Raccomandato: NAT/ALG compatibile SCTP, tecniche di attraversamento NAT
11.4. Protezione degli host non compatibili SCTP
11.4.1. Problema
Attaccante usa SCTP INIT contro host non compatibili SCTP
11.4.2. Comportamento SCTP
Ricezione errore ICMP: Registrare, marcare percorso irraggiungibile, non interrompere immediatamente Limitazione velocità: Limitare velocità invio INIT a destinazione singola
11.4.3. Protezione di rete
- Filtraggio in ingresso: Prevenire spoofing indirizzo sorgente (BCP 38)
- Filtraggio in uscita: Limitare traffico SCTP a porte non-SCTP
- Firewall host: Scartare pacchetti protocolli non supportati
Riepilogo
Meccanismi di sicurezza SCTP:
- Verification Tag (prevenzione falsificazione/attacchi blind)
- Meccanismo Cookie (prevenzione SYN flood)
- Checksum CRC32c (rilevamento falsificazione/errori)
- Verifica indirizzo (prevenzione abuso multihoming)
- Handshake a 4 vie (autenticazione migliorata)
Limitazioni sicurezza:
- Nessuna crittografia (richiede TLS/DTLS/IPsec)
- Nessuna autenticazione sorgente (richiede meccanismi livello superiore)
Best practice:
- Utilizzare livello crittografia per dati sensibili
- Implementare limitazione velocità e monitoraggio
- Configurare correttamente firewall e NAT
- Seguire pratiche di codifica sicura
- Applicare tempestivamente aggiornamenti sicurezza