Denial of service: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Manubot (discussione | contributi)
Introduzione
 
(238 versioni intermedie di oltre 100 utenti non mostrate)
Riga 1:
{{nota disambigua|3=DoS|descrizione=altre voci che possono riferirsi alla stessa combinazione di 3 caratteri|titolo=[[DOS (disambigua)]]}}
[[File:Stachledraht DDos Attack.svg|thumb|Schema DDoS]]
'''Denial of service''', nel campo della [[sicurezza informatica]], indica un malfunzionamento dovuto a un [[attacco informatico]] (abbreviato '''attacco DoS''', {{lett|attacco di diniego del servizio}}) in cui si fanno esaurire deliberatamente le [[risorsa informatica|risorse]] di un [[sistema informatico]] che fornisce un servizio ai [[client]], ad esempio un [[sito web]] su un [[server web]], fino a renderlo non più in grado di erogare il servizio ai client richiedenti.<ref>{{Cita|Rao|p. 13|dosmt}}.</ref><ref>{{cita web|lingua=en|url=https://www.microsoft.com/security/portal/threat/encyclopedia/glossary.aspx#d|titolo=Malware Protection Center - Glossary|editore=microsoft.com|accesso=2 marzo 2013|urlarchivio=https://web.archive.org/web/20130305114911/http://www.microsoft.com/security/portal/threat/encyclopedia/glossary.aspx#d#d|dataarchivio=5 marzo 2013|urlmorto=sì}}</ref>
'''DoS''', scritto con la maiuscola al primo e terzo posto, è la sigla di '''denial of service''', letteralmente ''negazione del servizio''.
Si tratta di un attacco informatico in cui si cerca di portare il funzionamento di un sistema informatico che fornisce un servizio, ad esempio un [[sito web]], al limite delle prestazioni, lavorando su uno dei parametri d'ingresso, fino a renderlo non più in grado di erogare il servizio.
 
In un '''attacco distribuito di negazione del servizio'''<ref>{{cita pubblicazione|url=https://www.enisa.europa.eu/publications/report-files/ETL-translations/it/etl2020-ddos-ebooks-en-it.pdf|titolo=Attacco distribuito di negazione del servizio - Panorama delle minacce
== Descrizione ==
analizzato dall'ENISA|editore=[[ENISA]]|data=2020}}</ref> ({{Inglese|Distributed Denial of Service}} abbreviato in '''DDoS'''), il traffico dei dati in entrata che inonda la vittima proviene da molte fonti diverse. L'esempio in analogia è quello di un gruppo di persone che affollano la porta d'ingresso o il cancello di un negozio o di un'azienda, e non consentendo alle parti legittime di entrare nel negozio o nel business, interrompono le normali operazioni. Ciò rende effettivamente impossibile fermare l'attacco semplicemente bloccando una singola fonte.
Gli attacchi vengono abitualmente attuati inviando molti pacchetti di richieste, di solito ad un server [[Web]], [[File Transfer Protocol|FTP]] o di posta elettronica saturandone le risorse e rendendo tale sistema "instabile", quindi qualsiasi sistema collegato ad [[Internet]] e che fornisca servizi di rete basati sul [[Transmission Control Protocol|TCP]] è soggetto al rischio di attacchi DoS.
Inizialmente questo tipo di attacco veniva attuato da "[[hacker]]", come gesto di dissenso etico nei confronti dei siti web commerciali e delle istituzioni.
 
Oltre al senso primario di ''denial of service'' come azione deliberata ci si può riferire ad esso come azione accidentale, in seguito per esempio ad una errata configurazione,<ref>{{cita web|lingua=en|url=https://www.f5.com/glossary/denial-of-service/|titolo=Denial of Service|editore=f5.com|accesso=2 marzo 2013}}</ref><ref>{{cita libro|autore=Todd Lammle, Wade Edwards, Tom Lancaster, Justin Menga, Eric Quinn, Jason Rohm, Carl Timm, Bryant Tow|titolo=CCSP Complete Study Guide|editore=John Wiley & Sons|anno=2006|url=http://books.google.it/books?id=gzqslw0oJ6EC|p=14|lingua=inglese|isbn=978-0-7821-5077-3}}</ref> o come nel caso dell'[[effetto Slashdot]].<ref>{{cita libro|autore=Stacy Prowell, Rob Kraus, Mike Borkin|titolo=Seven Deadliest Network Attacks|editore=Elsevier|anno=2010|url=http://books.google.it/books?id=-EKbKzGQpfkC|p=21|lingua=inglese|isbn=978-1-59749-550-9}}</ref>
Oggi gli attacchi DoS hanno la connotazione decisamente più "criminale" di impedire agli utenti della rete l'accesso ai siti web vittime dell'attacco. Per rendere più efficace l'attacco in genere vengono utilizzati molti computer inconsapevoli, detti ''[[Computer zombie|zombie]]'', sui quali precedentemente è stato inoculato un programma appositamente creato per attacchi DoS e che si attiva ad un comando proveniente dal cracker creatore. Se il programma maligno si è diffuso su molti computer, può succedere che migliaia di PC violati da un cracker, ovvero una ''[[botnet]]'', producano inconsapevolmente e nello stesso istante un flusso incontenibile di dati che travolgeranno come una valanga anche i [[Collegamento ipertestuale|link]] più capienti del sito bersaglio.
 
== Storia ==
Non solo i sistemi server possono essere vittime di un attacco DoS, bensì anche semplici utenti e client. Sebbene questi attacchi siano molto più infrequenti e di nessun interesse per i cosiddetti [[cracker]].
Alcune testimonianze mostrano che la prima dimostrazione di attacco DoS è stata fatta da Khan C. Smith nel 1997 durante un evento [[DEF CON]] che ha interrotto l'accesso a Internet alla [[Las Vegas Strip]] per oltre un'ora. Il rilascio del codice di esempio durante l'evento ha portato all'attacco online di [[Sprint Corporation|Sprint]], [[EarthLink]], [[E-Trade]] e altre grandi aziende nell'anno a seguire.<ref>{{Cita web|url=https://tqaweekly.com/episodes/season5/tqa-se5ep11.php|titolo=5 Famous Botnets that held the internet hostage on TQA Weekly|sito=TQA Weekly|lingua=en|accesso=2018-01-07}}</ref>
 
== Descrizione ==
La probabilità sempre minore di incontrare sistemi veramente vulnerabili ha fatto sì che siano diminuiti gli attacchi DoS più eclatanti, però si è scoperta un'estrema vulnerabilità della rete per l'aumento costante della potenza operativa degli attuali [[personal computer]] e dell'accesso ad Internet tramite i [[Domain Name System|sistemi DNS]].
Gli attacchi vengono abitualmente attuati inviando molti pacchetti di richieste, di solito ad un [[server web]], [[File Transfer Protocol|FTP]] o di [[posta elettronica]] saturandone le risorse e rendendo tale sistema "instabile" e non disponibile agli altri utenti. Qualsiasi sistema collegato ad [[Internet]] e che fornisca servizi di rete basati sul [[Transmission Control Protocol|TCP]] è quindi soggetto al rischio di attacchi DoS. Inizialmente questo tipo di attacco veniva attuato da "[[Cracker (informatica)|cracker]]", come gesto di dissenso etico nei confronti dei siti web commerciali e delle istituzioni.
 
Gli attacchi DoS hanno la connotazione decisamente più "criminale" di impedire agli utenti della rete l'accesso ai siti web vittime dell'attacco. Per rendere più efficace l'attacco in genere vengono utilizzati molti computer inconsapevoli, detti ''[[Computer zombie|zombie]]'', sui quali precedentemente è stato inoculato un programma appositamente creato per attacchi DoS e che si attiva ad un comando proveniente dal ''[[Cracker (informatica)|cracker]]'' creatore. Se il programma maligno si è diffuso su molti computer, può succedere che migliaia di PC violati da un ''cracker'', ovvero una ''[[botnet]]'', producano inconsapevolmente e nello stesso istante un flusso incontenibile di dati che travolgeranno come una valanga anche i [[Collegamento ipertestuale|link]] più capienti del sito bersaglio.
L'implementazione del protocollo [[TCP/IP]], che non garantisce particolare sicurezza sull'identificazione dei mittenti di pacchetti ma anzi ne protegge l'anonimato, può venir sfruttato per mascherarne la vera provenienza.
 
Non solo i sistemi server possono essere vittime di un attacco DoS ma anche semplici utenti e [[client]], sebbene questi attacchi siano molto meno frequenti e di nessun interesse per i cosiddetti ''cracker''.
Trattandosi di connessioni apparentemente legittime, è impossibile bloccarle senza interrompere anche il flusso realmente inoffensivo. Però limitando drasticamente il numero di sessioni aperte simultaneamente l'impatto dell'attacco si riduce considerevolmente senza limitare il flusso dei pacchetti regolari.
 
La probabilità sempre minore di incontrare sistemi veramente vulnerabili ha fatto sì che siano diminuiti gli attacchi DoS più eclatanti, però si è scoperta un'estrema vulnerabilità della rete per l'aumento costante della potenza operativa degli attuali [[personal computer]] e dell'accesso ad Internet tramite i [[Domain Name System|sistemi DNS]]. L'implementazione del protocollo [[Suite di protocolli Internet|TCP/IP]], che non garantisce particolare sicurezza sull'identificazione dei mittenti di pacchetti ma anzi ne protegge l'anonimato, può essere sfruttata per mascherarne la vera provenienza.
Anche limitando il discorso al blocco di un sito web, esistono, e sono stati utilizzati, parecchi modi di ottenere questo risultato.
 
Trattandosi di connessioni apparentemente legittime, è impossibile bloccarle senza interrompere anche il flusso realmente inoffensivo. Però, limitando drasticamente il numero di sessioni aperte simultaneamente, l'impatto dell'attacco si riduce considerevolmente senza limitare il flusso dei pacchetti regolari. Anche limitando il discorso al blocco di un sito web esistono, e sono stati utilizzati, parecchi modi di ottenere questo risultato.
== Tassonomia dell'attacco ==
Lo scopo di questo attacco è saturare la [[backlog queue]] con richieste di attivazione di un servizio (TCP SYN settato) oltre la scadenza dei relativi timeout e non consentendo alla vittima di completare il [[Transmission Control Protocol#Apertura di una connessione - Three-way handshake|3-way handshake]], in questo modo non sarà in grado di gestire i [[SYN (TCP)#Header TCP|SYN]] leciti a cui verrà negato il servizio.
 
Di solito gli attacchi DoS possono essere sfruttati per richiedere un riscatto, come preludio di un altro attacco (magari bloccando un servizio di difesa o addirittura il servizio stesso per sostituirlo con uno falso), come atti vandalici o come una forma di protesta ([[Hacktivism]]).
== Tipologie di attacco ==
* Attacco diretto: l'attaccante interagisce direttamente con la vittima, in questo caso l'attaccante si dice reale e la vittima si dice di primo livello.
* Attacco indiretto: l'attaccante sfrutta terze parti per colpire la vittima, in questo caso l'attaccante si dice riflesso, le terze parti si dicono vittime di secondo livello e la vittima finale si dice vittima di primo livello.
 
=== PossibiliTassonomia soluzionidell'attacco ===
Lo scopo di questo attacco è saturare la [[backlog queue]] con richieste di attivazione di un servizio (TCP SYN settato) oltre la scadenza dei relativi ''timeout'' e non consentendo alla vittima di completare il [[Transmission Control Protocol#Apertura di una connessione - Three-way handshake|3-way handshake]]; in questo modo non sarà in grado di gestire i [[SYN (TCP)#Header TCP|SYN]] leciti a cui verrà negato il servizio.
Soluzioni che rispettano lo standard:
 
=== Sintomi ===
* Dimensionamento dinamico della backlog queue;
Lo '''[[United States Computer Emergency Readiness Team]]''' ('''US-CERT''') ha identificato i seguenti sintomi di un attacco denial-of-service:<ref>{{Cita web|url=https://www.us-cert.gov/ncas/tips/ST04-015|titolo=Understanding Denial-of-Service Attacks {{!}} US-CERT|lingua=en|accesso=2018-01-10}}</ref>
* Diminuire il TTL per le richieste in attesa (half open connection).
* prestazioni di rete insolitamente lente (apertura di file o accesso a siti Web);
* indisponibilità di un determinato sito web;
* incapacità di accedere a qualsiasi sito web;
* drammatico aumento del numero di e-mail di spam ricevute (questo tipo di attacco DoS viene detto "''[[Mailbombing|mail bombing]]''").
Ulteriori sintomi possono includere:
* disconnessione di una connessione internet wireless o cablata;
* negazione a lungo termine dell'accesso al Web o di qualsiasi servizio Internet.
Se l'attacco viene condotto su una scala sufficientemente ampia, intere regioni geografiche connesse ad Internet possono essere compromesse senza la conoscenza o l'intento dell'aggressore da parte di apparecchiature dell'infrastruttura di rete configurate in modo errato o inconsistenti.
 
=== Tipi di attacco ===
Soluzioni che non rispettano lo standard:
* Attacco diretto: l'attaccante interagisce direttamente con la vittima. In questo caso l'attaccante si dice ''reale'' e la vittima si dice di ''primo livello''.
* Attacco indiretto: l'attaccante sfrutta terze parti per colpire la vittima. In questo caso l'attaccante si dice ''riflesso'', le terze parti si dicono vittime di ''secondo livello'' e la vittima finale si dice vittima di ''primo livello''.
 
== Attacchi portati da un singolo host ==
* Scartare TCP SYN casualmente;
* Inserire le richieste solo al completamento del 3-way handshake (alla ricezione dell' ACK finale).
 
== Altri Dispositivi di Protezione da Attacchi DoS e DDoS ==
 
;Filtraggio dei Dati in arrivo:
Implementando i filtri che presiedono all'ingresso, nei propri [[router]] e [[firewall]], dei pacchetti contenenti informazioni sulla provenienza dei dati alterate (cioè ''spoofed''), non si otterrà un arresto dell'attacco DoS ma si potrà ricostruire il flusso di traffico qualificato come "malefico" in tempi relativamente brevi, per consentire la reazione difensiva degli [[Internet Service Provider]] (anti [[spoofing]]).
 
;Limitazione del Traffico:
Molti router consentono, attualmente, di limitare la quantità di [[banda (informatica)|banda]] utilizzata per la fornitura di un servizio attraverso il "campionamento" ed analisi dei pacchetti che vi transitano.
In caso di attacco non resterà attiva una quantità di banda sufficiente a provocare un danno cospicuo o a bloccare il flusso legittimo dei [[dati]].
Questa limitazione si otterrà ad esempio con l'utilizzazione di una macchina [[Linux]] che funga da [[gateway]] attraverso un'azione CAR (''Commited Access Rate''), così si bloccherà un attacco DDoS che usi pacchetti [[Internet Control Message Protocol|ICMP]] o TCP , [[Transmission Control Protocol|SYN]] poiché viene considerevolmente limitata la banda utilizzabile da questi.
 
;Sistemi di riconoscimento delle intrusioni:
Si tratta di sistemi commerciali in grado di individuare Trinoo e [[TFN]], ad esempio l'FBI fornisce, gratuitamente, un prodotto definito ''Find DDoS'' in grado di scoprire i [[file system]] visti sopra, risultato dell'attacco Distribued Denial of Service.
Attraverso tali sistemi di verifica (''Intrusion Detection System'') vengono individuati i malintenzionati che comunicano tramite [[slave]], agent e [[master]], scoprendo se alcune delle macchine, nella propria rete, vengono usate, malignamente, come pedine per sferrare l'attacco.
In particolare i ''Network Auditing Tools'' sono programmi che consentono la verifica e l'analisi della rete aziendale alla ricerca di eventuali agenti in grado di provocare un attacco di tipo DDoS.
 
== Attacchi portati da un singolo [[host]] ==
Questi tipi di attacco, provenendo da un'unica fonte, sono potenzialmente rintracciabili.
 
=== Syn-Flood ===
Storicamente il ''Syn-Flooding'' rappresenta il capostipite degli attacchi DoS, che trova le sue dirette radici nel [[Ping of Death]]. Il termine ''Syn Flooding'', letteralmente tradotto con "inondazione di pacchetti di tipo Syn", nasce dal fatto che tutte le volte che un utente fa clic su un [[collegamento ipertestuale]] di una pagina web richiede l'apertura di una connessione (di tipo [[Transmission Control Protocol|TCP]]) verso quel sito; questo avviene seguendo una serie di passi, il primo dei quali consiste nell'invio di un pacchetto TCP che richiede l'apertura di una connessione.
Col termine Syn Flooding, letteralmente tradotto con "inondazione di pacchetti di tipo Syn", nasce dal fatto che tutte le volte che un utente fa click su di un [[collegamento ipertestuale|link]] di una pagina web richiede l'apertura di una connessione (di tipo [[Transmission Control Protocol|TCP]]) verso quel sito; questo avviene seguendo una serie di passi, il primo dei quali consiste nell'invio di un pacchetto TCP che richiede l'apertura di una connessione.
 
Tutte le regole di funzionamento del protocollo TCP esigono che il sistema risponda allocando alcune risorse (in pratica memoria) per la connessione. Se si programmaProgrammando opportunamente un semplice [[personal computer|PC]], è possibile richiedere l'apertura di diverse migliaia di connessioni al secondo, che "inondando" il [[server]], e ne consumano rapidamente tutta la memoria, bloccandolo o mandandolo in [[crash (informatica)|crash]].
 
Il punto debole di questo tipo di attacco è che il [[computer]] attaccante deve poteressere in grado di mandare il flusso di pacchetti attraverso la connessione ad [[Internet]] fino al server attaccato.
 
OppureDiversamente, l'utente malintenzionato deve poter fornire delle "credenziali" di accesso valide per usufruire della vulnerabilità insorta nel [[sistema operativo]] e portare a termine, efficacemente, l'attacco al sito bersaglio.
 
I pacchetti dannosi predisposti con un [[indirizzo IP]], falsificato (cioè modificato rispetto all'a quello originale), procureranno al computer "vulnerabile" una situazione, temporanea, di ''Denial of Service''; tuttavia, poiché le connessioni che sono normalmente disponibili, siasono lente per itutti buoni(per chesoggetti perben iintenzionati cattivi,così sonocome lenteper soggetti malintenzionati), questo tipo di attacco diventa impossibile.impraticabile, nel senso che non dà il risultato atteso (cioè appunto la congestione del server)
 
Un esempio potrebbe essere il seguente: l'attaccante, identificato dal nome ''STE'', invia una serie di richieste alla sua vittima, identificata col nome ''CRI'':e la macchina [[server]], sulla quale vengono eseguiti dei servizi, non sarà in grado di gestire tutte le richieste e i servizi stessi andranno in crash, risultando prima molto rallentati e poi, successivamente, inaccessibili. In questa maniera, un utente qualunque non sarà in grado di accedere ai servizi, ricevendo un errore di richiesta scaduta o [[time out (informatica)|timeout]].
In questa maniera, un utente qualunque (identificato dal nome ''UTENTE'') non sarà in grado di accedere ai servizi, ricevendo un errore di richiesta scaduta o [[timeout]].
 
L'attacco ''Syn-Flood'' usa strumenti che rientrano nella categoria [[Tribe Flood Network]] (TFN) ed agisce creando delle connessioni che si rivelano aperte a metà.
 
Il protocollo classico usato nei DoS è il l'[[pingICMP]], (usato soprattutto negli attacchi Ping): inviandone a milioni si riuscirà a bloccare l'operatività di qualunque sito Internet, ma trattandosi di un modello di attacco "uno a uno", ad un pacchetto in uscita corrisponderà la ricezione di un solo pacchetto al sistema attaccato.
 
Occorrerà quindi che i cracker possano disporre di un gran numero di PC client, "controllati", maanche se non è così facile "inoculare" il codice maligno in un numero tanto elevato di macchine, grazie all'azione specifica di [[antivirus]], ''[[Patch (informatica)|patch]]'' di sicurezza e tecnici informatici.
 
=== Smurf ===
Una modalità di attacco più sofisticata, detta [[Smurf|Smurf attack]], utilizza un flusso di pacchetti modesto, in grado di passare attraverso una normale connessione via [[modem]], ed una rete esterna, che sia stata(evidentemente mal configurata,) che agisce da moltiplicatore di pacchetti, i quali si dirigono infine verso il bersaglio finale lungo linee di comunicazione ad alta velocità.
 
Tecnicamente, vienevengono mandatomandati uno o più pacchetti di [[Broadcasting|broadcast]] verso una rete esterna composta da un numero maggiore possibile di [[host]] e con l'indirizzo mittente che punta al bersaglio ([[broadcast storm]]).
 
Ad esempio può venir usata una richiesta echo [[Internet Control Message Protocol|ICMP]] (''Internet Control Message Protocol''), precedentemente falsificata da chi attua materialmente l'attacco informatico.
 
Si noti che questo tipo di attacco è possibile solo in presenza di reti che abbiano grossolani errori di configurazione dei sistemi (nello specifico nella configurazione dei ''[[router]]'') che le collegano tra loro e con Internet.
=== R-U-Dead-Yet? (RUDY) ===
L'attacco RUDY<ref>{{Cita web|url=https://sourceforge.net/projects/r-u-dead-yet/|titolo=r-u-dead-yet|sito=SourceForge|lingua=en|accesso=2018-01-07}}</ref> ha l'obiettivo di colpire le [[Applicazione web|applicazioni Web]] portando all'inattività delle sessioni rese disponibili dal server. Proprio come [[Slowloris]], RUDY mantiene le sessioni interrotte utilizzando dei POST senza fine e inviando degli header con un contenuto arbitrariamente grande.
 
=== DDoS a scopo di estorsione ===
Nel 2015, le botnet DDoS come DD4BC sono cresciute diventando sempre più importanti, prendendo di mira le istituzioni finanziarie.<ref>{{Cita news|lingua=en|url=https://www.cloudbric.com/blog/?b2w=http://blog.cloudbric.com/2015/09/whos-behind-ddos-attacks-and-how-can.html|titolo=Security Blog by Cloudbric {{!}} Elite Full Service Website Security|pubblicazione=Cloudbric|accesso=2018-01-09}}</ref> Gli estorsori cibernetici di solito iniziano con un attacco di basso livello e un avvertimento che un attacco più grande sarà eseguito se un riscatto non verrà pagato in [[Bitcoin]].<ref>{{Cita news|url=https://www.bloomberg.com/news/articles/2015-09-09/bitcoin-ddos-ransom-demands-raise-dd4bc-profile|titolo=Cyber-Extortionists Targeting the Financial Sector Are Demanding Bitcoin Ransoms|pubblicazione=Bloomberg.com|data=2015-09-09|accesso=2018-01-09}}</ref> Gli esperti di sicurezza raccomandano di non pagare mai il riscatto poiché gli aggressori tendono a entrare in un regime estorsivo esteso una volta che riconoscono che l'obiettivo è pronto a pagare.<ref>{{Cita news|lingua=en|url=https://www.scmagazineuk.com/akamai-warns-of-increased-activity-from-ddos-extortion-group/article/535039/|titolo=Akamai warns of increased activity from DDoS extortion group|pubblicazione=SC Media UK|data=2015-09-14|accesso=2018-01-09}}</ref>
 
== Attacchi da più host ==
In questi attacchi il bersaglio viene attaccato contemporaneamente da più fonti, rendendo difficile rintracciare l'attaccante originario.
=== DDoS ===
Una variante di tale approccio è il '''DDoS''' ('''Distributed Denial of Service'''), dal funzionamento identico ma realizzato utilizzando numerose macchine attaccanti che insieme costituiscono una [[botnet]].
 
GliNaturalmente gli attaccanti tendono a non esporsi direttamente, datoin chequesto caso per le forze dell'ordine sarebbe relativamenteinfatti semplice risalire ai computer utilizzati per l'attacco. Gli attaccanti, perPer evitare di essere individuati, egli perattaccanti avereinfettano a disposizione un numero sufficiente di [[computer]] per l'attacco inizialmente, infettanopreventivamente un numero elevato di computer con dei [[Virus (informatica)|virus]] o [[worm]] che lasciano aperte delle [[backdoor]] a loro riservate, anche per avere a disposizione un numero sufficiente di [[computer]] per l'attacco. I computer che sono controllati dall'attaccante vengono chiamati ''zombie''.
 
Tutti i computer infettati entrano a far parte di una [[botnet]], a libera disposizione dell'attaccante:. unaUna nota interessante è data dalla distinzione tra le macchine che eseguono un Sistema Operativo [[Microsoft Windows|Windows]] (definiti, in gergo, ''rxbot'') e quelle che invece eseguono un sistema [[Unix]], particolarmente adatte all'[[UDP Flooding]] (Flooding sul protocollo UDP).
 
Una particolarità degli ''zombies'' Windows è data dalla possibilità, per l'attaccante, di programmare un trojan - cit. cavallo di Troia - in grado di diffondersi automaticamente a tutta una serie di contatti presenti sul computer infettato (definita, in gergo, funzione di ''auto-spreading''): contatti contenuti nella rubrica degli indirizzi e nei contattiquelli di programmi di [[Instantmessaggistica Messagingistantanea]], come [[Windows Messenger|Microsoft Messenger,]]) permettendo così al computer zombie di infettare, in maniera completamente autonoma, altre macchine che, a loro volta, diverranno parte della botnet dell'attaccante. Questa viene definita, in gergo, funzione di ''auto-spreading.''
 
Quando il numero di ''zombies'' è ritenuto adeguato, o quando viene a verificarsi una data condizione, i computer infetti si attivano e sommergono il [[server]] bersaglio di richieste di connessione. Con l'avvento della [[banda larga]] il fenomeno dei DDOSDDoS sta assumendo proporzioni preoccupanti, dato che attualmente esistono milioni di persone dotate di una connessione ad [[Internet]] molto veloce e permanente, ma con scarse o nulle conoscenze e contromisure riguardanti la [[sicurezza informatica]].
 
Il danno maggiore dell'attacco di tipo DDoS è dovuto principalmente alla "asimmetria" che si viene a creare tra "la" richiesta e le risposte correlate in una sessione DNS ([[Domain Name System]]). Il flusso enorme di risposte generato provocherà nel sistema una tale "inondazione" di traffico, rendendo il [[server]] inadeguato alla gestione delle abituali funzioni on-line.
Il flusso enorme di risposte generato provocheranno nel sistema una tale "inondazione" di traffico rendendo il [[server]] inadeguato alla gestione delle abituali funzioni on-line.
 
Inoltrando, al Sitosito preso di mira, una risposta di alcuni [[Kilobyte]], per ogni richiesta contenente solo pochi [[bytesbyte]], si ottiene un'amplificazione esponenziale tale da saturare i canali dati più capienti, raggiungendo con il DDoS livelli finora inattuabili con gli altri tipi di attacco DoS.
 
Le configurazioni predefinite, standard e quelle "consigliate" di [[Firewall]], si rivelano utili a contrastare solo gli "attacchi" sferrati dall'esterno, ad esempio di un'azienda, ma poiché il traffico in [[Rete informaticadi computer|Reterete]] gestito tramite sistema [[Domain Name System|DNS]] è vitale, per fronteggiare questo tipo di attacco non si potranno attuare le stesse strategie impiegate nei confronti degli attacchi ai [[Ping]]. Di conseguenza, il Network manager dovrà tenere scrupolosamente sotto controllo e monitoraggio i canali di flusso dati e, per escludere l'intervento o contrastare l'azione di un cracker, riconfigurerà il DNS responsabile del sito.
 
Quindi il Network manager dovrà tenere scrupolosamente sotto controllo e monitoraggio i canali di flusso dati e, per escludere l'intervento o contrastare l'azione di un cracker, riconfigurerà il DNS responsabile del sito.
 
=== DRDoS ===
Una particolare categoria di DDoS è il cosiddetto '''Distributed ReflectionReflected Denial of Service''' ('''DRDoS'''). In questa particolare tipologia di attacco, il computer attaccante produce delle richieste di connessione verso server con connessioni di rete molto veloci utilizzando come indirizzo di provenienza non il proprio bensì quello del bersaglio dell'attacco. In questo modo i server risponderanno affermativamente alla richiesta di connessione non all'attaccante ma al bersaglio dell'attacco. Grazie all'effetto moltiplicatore dato dalle ritrasmissioni dei server contattati, che a fronte della mancanza di risposta da parte del bersaglio dell'attacco (apparentemente l'iniziatore della connessione) provvederanno a ritrasmettere (fino a 3 volte solitamente) il pacchetto immaginandolo disperso, entrandosi cosientrerà così in un circolo vizioso che vedevedrà rapidamente esaurirsi le risorse del bersaglio.
 
Quest'ultimo tipo di attacco è particolarmente subdolo perché, a causa della natura delle risposte, è difficilmente schermabile dall'utente comune: infatti, se si filtrassero le risposte dei server, verrebbe compromessa la funzionalità stessa della connessione di rete impedendo, di fatto, la ricezione anche delle informazioni desiderate. Le risposte dei server, sollecitate dall'attaccante, sono infatti indistinguibili da quelle generate da una richiesta legittima della vittima. Il problema si sta presentando con maggiore incidenza da quando [[Microsoft]] ha deciso di rendere le "Raw Sockets", interfacciainterfacce di accesso al [[TCP/IP]], facilmente disponibili. Le RAW socketsSockets permettono appunto di cambiare l'indirizzo di provenienza del pacchetto per sostituirlo con quello della vittima, fatto che è strumentale per questo tipo di attacco.
 
==== ACK attack ====
Uno dei più classici attacchi ''reflected'' è l'ACK attack. In questo caso l'attaccante genera un pacchetto [[Transmission Control Protocol|TCP]] SYN verso il ''reflector'' (in questo caso un server TCP, ad es. un server Web). Quest'ultimo risponde con un pacchetto SYN/ACK, per stabilire la connessione secondo il protocollo. La vittima verrà quindi inondata di pacchetti TCP fuori sequenza provenienti da un server web "pulito".
 
Questo attacco è particolarmente insidioso perché non c'è modo di distinguere i SYN contraffatti (''[[IP spoofing|spoofed]]'') dai SYN reali e quindi non c'è modo, per il ''reflector'', di proteggersi. La vittima può invece proteggersi con un [[firewall]] che sia ''stateful'', che sia cioè in grado di scartare i pacchetti TCP fuori sequenza.
 
== Possibili soluzioni ==
Soluzioni che rispettano lo standard:
 
* Dimensionare dinamicamente la ''Backlog Queue'';
* Diminuire il TTL per le richieste in attesa (''Half Open Connection'').
 
Soluzioni che non rispettano lo standard:
 
* Scartare TCP SYN casualmente;
* Inserire le richieste solo al completamento del ''3-Way Handshake'' (alla ricezione dell{{'}}''[[ACK (informatica)|ACK]]'' finale).
 
== Altri dispositivi di protezione da attacchi DoS e DDoS ==
=== Filtraggio dei Dati in arrivo ===
Implementare i filtri che presiedono all'ingresso, nei propri [[router]] e [[firewall]], dei pacchetti contenenti informazioni sulla provenienza dei dati alterati (cioè ''spoofed''); non si otterrà un arresto dell'attacco DoS ma si potrà ricostruire il flusso di traffico qualificato come "malevolo" in tempi relativamente brevi, per consentire la reazione difensiva degli [[Internet service provider]] (anti [[spoofing]]).
 
==== Firewall ====
Nel caso di un semplice attacco, un [[firewall]] potrebbe avere una semplice regola aggiunta per negare tutto il traffico in arrivo dagli aggressori, in base a protocolli, porte o indirizzi IP di origine.
 
È tuttavia difficile bloccare attacchi più complessi con regole semplici: ad esempio, se è in corso un attacco sulla porta 80 (servizio Web), non è possibile eliminare tutto il traffico in ingresso su questa porta, poiché così facendo si impedirà al server il servizio di traffico legittimo<ref>{{Cita news |lingua=en |nome=Paul Froutan, Rackspace Managed |cognome=Hosting |url=https://www.computerworld.com/article/2564424/security0/how-to-defend-against-ddos-attacks.html|titolo=How to defend against DDoS attacks |pubblicazione=[[Computerworld (blog)|Computerworld]] |accesso=2018-01-09}}</ref>. Inoltre, i firewall potrebbero essere troppo profondi nella gerarchia della rete, con i router influenzati negativamente prima che il traffico raggiunga il firewall.
 
==== Switch ====
La maggior parte degli switch ha una capacità di limitazione della velocità e ACL. Alcuni switch forniscono limitazione della velocità e/o del sistema a livello automatico, [[traffic shaping]], [[delayed binding]] ([[Delayed binding|splicing TCP]]), [[deep packet inspection]] e [[Bogon filtering]] (filtro IP fasullo) per rilevare e correggere gli attacchi DoS.<ref>{{Cita libro|autore=Kiyuna and Conyers (2015)|titolo=Cyberwarfare Sourcebook|editore=|p=|ISBN=1329063945}}</ref>
 
Questi schemi funzioneranno finché gli attacchi DoS possono essere prevenuti usandoli. Ad esempio, è possibile prevenire il [[SYN flood|SYN Flood]] utilizzando il [[delayed binding]] o lo [[Delayed binding|splicing TCP]]. Il filtro automatico della velocità può funzionare fino a quando sono state impostate correttamente le soglie di velocità.
 
==== Router ====
Analogamente agli switch, i [[router]] hanno alcune funzionalità di limitazione della velocità e ACL. Anche loro sono impostati manualmente. La maggior parte dei router può essere facilmente sopraffatta da un attacco DoS. [[Cisco IOS]] ha caratteristiche opzionali che possono ridurre l'impatto delle inondazioni.<ref>{{Cita web|url=http://mehmet.suzen.googlepages.com/qos_ios_dos_suzen2005.pdf|titolo=|data=|accesso=2018-01-09|urlmorto=sì|urlarchivio=https://web.archive.org/web/20080910202908/http://mehmet.suzen.googlepages.com/qos_ios_dos_suzen2005.pdf|dataarchivio=10 settembre 2008}}</ref>
 
=== Limitazione del Traffico ===
Molti router consentono, attualmente, di limitare la quantità di [[banda (informatica)|banda]] utilizzata per la fornitura di un servizio attraverso il "campionamento" e l'analisi dei pacchetti che vi transitano.
In caso di attacco non resterà attiva una quantità di banda sufficiente a provocare un danno cospicuo o a bloccare il flusso legittimo dei [[Dato|dati]]. Questa limitazione si otterrà ad esempio con l'utilizzazione di una macchina [[Linux]] che funga da [[gateway (informatica)|Gateway]] attraverso un'azione CAR (''Commited Access Rate''); verrà così bloccato un attacco DDoS che usi pacchetti [[Internet Control Message Protocol|ICMP]] o TCP, [[Transmission Control Protocol|SYN]], poiché sarà considerevolmente limitata la banda utilizzabile da questi.
 
=== Sistemi di riconoscimento delle intrusioni (IDS) ===
Si tratta di sistemi commerciali in grado di individuare Trinoo e TFN. Ad esempio l'FBI fornisce, gratuitamente, un prodotto definito ''Find DDoS'' in grado di scoprire i [[file system]] visti sopra, risultato dell'attacco Distributed Denial of Service.
Attraverso tali sistemi di verifica (''Intrusion Detection System'') vengono individuati i malintenzionati che comunicano tramite ''slave'', ''agent'' e ''master'', scoprendo se alcune delle macchine nella propria rete vengono usate, malignamente, come pedine per sferrare l'attacco.
In particolare i ''Network Auditing Tools'' sono programmi che consentono la verifica e l'analisi della rete aziendale alla ricerca di eventuali agenti in grado di provocare un attacco di tipo DDoS.
 
=== Sistemi di prevenzione delle intrusioni (IPS) ===
I sistemi di prevenzione delle intrusioni ([[Intrusion prevention system|IPS]]) sono efficaci se agli attacchi sono associate delle "signature".
 
Un IPS basato su [[ASIC]] può rilevare e bloccare gli attacchi denial-of-service perché possiede la potenza di elaborazione e la granularità per analizzare gli attacchi e agire come un [[interruttore]] automatico in modo automatico.
 
Un IPS basato sulla velocità (RBIPS - Rate Based IPS) deve analizzare il traffico in modo granulare, monitorare continuamente il modello di traffico e determinare se c'è un'anomalia del traffico. Deve consentire il flusso di traffico legittimo mentre blocca il traffico di attacco DoS.<ref>{{Cita web|url=http://www.ecommercewisdom.com/relationship-firewalls-protection-ddos/|titolo=Ecommercewisdom.com|accesso=2018-01-07}}</ref>
 
==Esempi di attacchi DoS==
* [[Bomba a decompressione]]
* [[Rabbit]]
 
== Note ==
<references />
 
== Bibliografia ==
* {{Cita pubblicazione|autore=Subramani Rao|titolo=Denial of Service attacks and mitigation techniques: Real time implementation with detailed analysis|url=http://www.sans.org/reading_room/whitepapers/detection/denial-service-attacks-mitigation-techniques-real-time-implementation-detailed-analysi_33764|lingua=inglese|accesso=2 marzo 2013|cid=dosmt}}
 
== Voci correlate ==
* [[Amplification attack]]
* [[Attacco informatico]]
* [[Calcolo parassita]]
* [[Botnet]]
* [[Fork bomb]]
* [[Sicurezza informatica]]
* [[Netstrike]]
* [[AmplificationSicurezza attackinformatica]]
 
==Altri progetti==
{{Portale|Sicurezza informatica|Telematica}}
{{interprogetto|preposizione=sul}}
 
== Collegamenti esterni ==
[[Categoria:Software malevolo]]
* {{Collegamenti esterni}}
* {{cita web|https://www.w3.org/Security/Faq/wwwsf6.html|The World Wide Web Security FAQ - Securing against Denial of Service attacks|lingua=en}}
* {{cita web|http://www.infosecurity-magazine.com/view/30754/ddos-vs-ddos-mitigation-the-latest-arms-race/|DDos Vs DDoS mitigation – the latest arms race|lingua=en|data=14 febbraio 2013}}
* {{cita web|http://www.html.it/articoli/dos-e-ddos-strumenti-e-contromisure/|DoS e DDoS: strumenti e contromisure|data=9 agosto 2012}}
* {{cita web|https://www.digitalattackmap.com/|Digital Attack Map - Top daily DDoS attacks worldwide|lingua=en}}
 
{{Controllo di autorità}}
{{Portale|informatica|internet|Sicurezza informatica|Telematica}}
 
[[Categoria:Software malevoli]]
[[Categoria:Tecniche di attacco informatico]]
[[Categoria:Hacking]]
[[Categoria:Sicurezza indi rete]]
 
[[ar:هجمات الحرمان من الخدمات]]
[[bg:Атака за отказ на услуга]]
[[bn:ডিনাইয়াল অভ সার্ভিস]]
[[ca:Denegació de servei]]
[[cs:Denial of Service]]
[[da:DDoS]]
[[de:Denial of Service]]
[[el:Επιθέσεις άρνησης υπηρεσιών]]
[[en:Denial-of-service attack]]
[[es:Ataque de denegación de servicio]]
[[et:Teenusetõkestamise rünne]]
[[eu:Zerbitzu ukapenaren eraso]]
[[fa:انکار سرویس]]
[[fi:Palvelunestohyökkäys]]
[[fr:Attaque par déni de service]]
[[ga:Ionsaí diúltaithe seirbhíse]]
[[he:התקפת מניעת שירות]]
[[hr:DDoS]]
[[hu:DDoS]]
[[hy:DDos գրոհ]]
[[id:Serangan DoS]]
[[ja:DoS攻撃]]
[[ko:서비스 거부 공격]]
[[mk:DDoS]]
[[ml:ഡിനയിൽ-ഓഫ്-സർവീസ് അറ്റാക്ക്‌]]
[[ms:DDoS]]
[[my:Denial-of-service attack]]
[[nl:Distributed denial-of-service]]
[[no:Tjenestenektangrep]]
[[pl:DoS]]
[[pt:Ataque de negação de serviço]]
[[ro:DoS]]
[[ru:DoS-атака]]
[[simple:Denial-of-Service attack]]
[[sl:Napad za zavrnitev storitve]]
[[sv:Denial of Service]]
[[uk:DoS-атака]]
[[vi:Tấn công từ chối dịch vụ]]
[[zh:分散式阻斷服務攻擊]]