Perché lo stack TCP/IP nasce “cieco” alla sicurezza
La suite TCP/IP fu progettata negli anni ’70-’80 per reti fidate tra pochi host accademici. L’obiettivo era la connettività e la resilienza, non l’autenticazione. Di conseguenza la maggior parte dei protocolli fondamentali si fida per default del mittente: non verifica chi invia un pacchetto, né se il contenuto è autentico. Questa “fiducia implicita” è la radice comune di quasi tutti gli attacchi che seguono. Il retrofit della sicurezza (IPsec, DNSSEC, HTTPS, 802.1X) è arrivato dopo, ma i protocolli originali restano attivi per compatibilità: finché un protocollo insicuro è abilitato, resta sfruttabile, indipendentemente dalle patch.
Spoofing e abusi a livello IP / TCP / UDP
Lo spoofing consiste nel falsificare l’indirizzo IP sorgente. Poiché il protocollo IP non firma l’header, un attaccante può impersonare un host fidato o nascondere l’origine di un attacco.
- TCP SYN flood: l’attaccante invia molti SYN con sorgente falsa senza completare il three-way handshake; la vittima esaurisce la tabella delle connessioni half-open (DoS).
- TCP sequence prediction / hijacking: indovinando l’Initial Sequence Number si iniettano segmenti in una sessione già stabilita.
- UDP amplification/reflection: UDP è senza handshake, quindi con sorgente spoofata si abusa di servizi (DNS, NTP) per riflettere traffico amplificato verso la vittima.
Contromisura Cisco: filtraggio anti-spoofing con uRPF (Unicast Reverse Path Forwarding) e ACL sui bordi; ispezione stateful e protezione TCP Intercept / Firepower Threat Defense contro i SYN flood.
ARP poisoning
ARP mappa IP → MAC nella LAN e non autentica le risposte. Un attaccante invia gratuitous ARP falsi per associare il proprio MAC al gateway, ponendosi man-in-the-middle (intercetta o altera il traffico).
Contromisura Cisco: Dynamic ARP Inspection (DAI), che valida ogni pacchetto ARP contro il binding IP-MAC-porta costruito dal DHCP snooping. Le porte verso client sono untrusted, quelle verso switch/gateway trusted.
Recon basata su ICMP
ICMP è nato per la diagnostica, ma serve alla fase di reconnaissance:
- ping sweep (echo request) per mappare host vivi;
- ICMP timestamp/netmask per profilare i sistemi;
- traceroute (TTL exceeded) per ricostruire la topologia.
Contromisura: ACL che limitano ICMP verso l’esterno e Control Plane Policing (CoPP) per proteggere la CPU del dispositivo dalle flood ICMP.
DHCP spoofing e DHCP starvation
- DHCP starvation: si esauriscono gli indirizzi del pool con DISCOVER a MAC falsi.
- DHCP spoofing (rogue server): un server DHCP fasullo assegna un default gateway/DNS malevolo, ottenendo posizione MITM.
Contromisura Cisco: DHCP snooping. Solo le porte trusted (verso il DHCP legittimo) possono inviare risposte DHCP; costruisce la binding table che alimenta DAI e IP Source Guard. Port security limita i MAC per porta e mitiga la starvation.
DNS spoofing / cache poisoning
DNS classico usa UDP senza autenticazione: un attaccante può falsificare la risposta o avvelenare la cache di un resolver, dirottando un dominio verso un IP malevolo (phishing, malware).
Contromisura Cisco: Cisco Umbrella, resolver DNS sicuro nel cloud che filtra i domini malevoli prima della connessione e blocca callback verso C2; DNSSEC per la validazione crittografica delle risposte.
Debolezze di HTTP e web
HTTP trasmette in chiaro: credenziali e cookie di sessione sono leggibili in caso di sniffing o MITM (session hijacking). L’assenza di autenticazione del server rende efficaci ARP/DNS spoofing per reindirizzare il browser. La difesa è HTTPS/TLS end-to-end, ispezione applicativa su Firepower/Secure Firewall e web filtering.
| Protocollo | Attacco tipico | Contromisura Cisco |
|---|---|---|
| ARP | ARP poisoning / MITM | Dynamic ARP Inspection |
| DHCP | Starvation / rogue server | DHCP snooping + Port security |
| DNS | Spoofing / cache poisoning | Cisco Umbrella / DNSSEC |
| ICMP | Recon (ping sweep, traceroute) | ACL + CoPP |
| TCP/UDP | Spoofing, SYN flood, amplification | uRPF, ACL, TCP Intercept/FTD |
Trappole tipiche d’esame
- Scenario: un host riceve un default gateway sbagliato subito dopo aver preso l’IP → risposta: DHCP spoofing (rogue server); si mitiga con DHCP snooping, non con DAI.
- Scenario: il traffico verso il gateway viene intercettato pur avendo un DHCP legittimo → risposta: ARP poisoning; abilitare Dynamic ARP Inspection (che dipende dalla binding table di DHCP snooping).
- Scenario: gli utenti finiscono su un sito falso pur digitando il dominio corretto → risposta: DNS spoofing/poisoning; contromisura Cisco Umbrella / DNSSEC, non port security.
- Scenario: molte connessioni half-open saturano un server → risposta: TCP SYN flood (spoofing della sorgente), non UDP flood; mitigare con TCP Intercept/FTD.
- Concetto chiave: “perché è ancora vulnerabile se è vecchio?” → risposta: i protocolli TCP/IP nacquero senza autenticazione né cifratura e restano abilitati per compatibilità; la patch non elimina il difetto di design, serve disabilitare o proteggere il protocollo insicuro.