Una risposta è stata accettata qui - e fa alcuni punti validi, ma non ha menzionato gli attacchi di amplificazione riflessi; con tcp vengono scambiate solo piccole quantità di dati (e devono essere scambiate tra l'attaccante e la vittima) prima dell'elaborazione, le risorse di memoria e io possono essere consumate. Un attacco di tipo slowloris descritto da Elias sfrutta un numero limitato di risorse di connessione. Tuttavia ci sono un certo numero di differenze con udp.
In primo luogo, la richiesta da parte del client di fare qualcosa può essere nel primo pacchetto inviato dal client.
Una conseguenza di ciò è che l'attaccante può falsificare l'indirizzo "from" sul pacchetto, rendendo difficile il rilevamento di un attacco, ma non bloccarlo.
Esistono alcuni protocolli udp in cui una singola richiesta di piccole dimensioni può generare una risposta molto più ampia - tale comportamento era presente nei protocolli DNS e NTP. Questo è sfruttato in un attacco di amplificazione - l'attaccante invia una richiesta a un server di terze parti vulnerabile con l'indirizzo "da" della vittima. La terza parte invia diversi pacchetti alla vittima. Ridimensionarlo a più parti terze significa che un utente malintenzionato deve utilizzare solo una piccola larghezza di banda per riempire una connessione di rete grassa alla vittima.
Non so dove hai letto che udp fosse "più veloce". Le sue caratteristiche prestazionali sono molto diverse da tcp (che è parte della ragione per cui esistono come protocolli diversi) ma la velocità di una connessione IP non è semplicemente una questione di larghezza di banda sugli hop di rete tra client e server. Tentativo di inviare grandi volumi di pacchetti udp su Internet e probabilmente finirai con il DOS del router di uplink.