Che cos'è un attacco DoS e in che cosa differisce da un attacco DDoS?

16

Qualcuno può spiegarmi il concetto di Dos Attacks per le applicazioni web? Inoltre, qual è la differenza tra gli attacchi Dos e Distributed Dos (cioè DDos)? Wikipedia dice:

In computing, a denial-of-service attack (DoS attack) or distributed denial-of-service attack (DDoS attack) is an attempt to make a machine or network resource unavailable to its intended users

che significa che sono i due nomi diversi per lo stesso attacco.

Ma poi ho scoperto di nuovo questo articolo dal sito web del centro di ricerca sul crimine informatico titolato Sicurezza di rete: attacchi DoS vs DDoS . Quindi presumo che questi siano due diversi tipi di attacchi. Quindi ho postato questa domanda.

    
posta Geek 18.10.2012 - 17:22
fonte

5 risposte

21

Un attacco denial-of-service è un tipo di attacco che impedisce agli utenti legittimi di utilizzare il servizio. Questi sono disponibili in diverse categorie:

  • Esaurimento delle risorse (ad esempio, consumo di tutta la larghezza di banda della rete o del tempo di CPU del server)
  • Sfruttamento della limitazione (ad es. bloccare un utente dal proprio account tentando ripetutamente di accedere con credenziali non valide)
  • Interruzione del processo (ad esempio arresto anomalo di un processo che serve le richieste degli utenti, tramite un bug nel software)
  • Corruzione dei dati (ad esempio, modifica di tutti i tipi di utenti a un tipo non valido, rendendo impossibile il loro accesso)
  • Disturbi fisici (ad esempio estraendo il cavo di alimentazione su un server) - grazie a Henning per questo!

Il tipo più comune sulle applicazioni web è l'esaurimento delle risorse, che è quello a cui la maggior parte delle persone tende a fare riferimento come DoS. Questi sono causati da un utente malintenzionato che invia un gran numero di richieste al server, al fine di esaurire una o più risorse:

  • La larghezza di banda della rete può essere interamente consumata dall'attacco, impedendo al traffico di utenti legittimi di raggiungere il server.
  • Ogni richiesta utilizza un po 'di tempo della CPU, quindi un numero elevato di richieste può far sì che la CPU impieghi tutto il suo tempo a gestire richieste di aggressori, invece di richieste legittime. Gli aggressori possono inviare richieste costose (ad esempio ricerche full-text, connessioni SSL, ecc.) Al server per aumentare l'impatto. Ci sono anche casi in cui le vulnerabilità nel software server consentono all'autore dell'attacco di creare richieste speciali che consumano molto tempo della CPU.
  • Viene utilizzata una piccola quantità di RAM per memorizzare lo stato della connessione, che potrebbe consentire l'esaurimento della memoria fisica se è possibile effettuare un numero sufficiente di connessioni. Tuttavia, le query sul database possono richiedere molta memoria, in termini di utilizzo della memoria e larghezza di banda della memoria. Se un attaccante sceglie bene le sue domande, potrebbe essere in grado di esaurire completamente la memoria fisica del sistema.
  • I registri, le tabelle del database, ecc. sono memorizzati su disco. L'invio di un numero elevato di query per un periodo di tempo può esaurire lo spazio su disco sul server, provocando l'arresto anomalo.

Si noti che le richieste non devono essere HTTP - potrebbero essere DNS, HTTPS, SSH, FTP, SMTP, POP, IMAP, SMB, ecc. Qualsiasi situazione in cui un servizio è in ascolto per i pacchetti in entrata è un modo potenziale per ottenere un DoS.

Esistono due modi principali per ottenere attacchi DoS di rete indipendenti dall'applicazione: TCP SYN inondazioni e IDP flood .

Il protocollo TCP include un handshake a tre vie . Innanzitutto, un client invia una richiesta SYN (sincronizzazione) a cui il server risponde con un SYN-ACK (sincronizzato riconosciuto), al quale il client risponde infine con un ACK (conferma). Tuttavia, se un client invia un SYN e non risponde a SYN-ACK, il server viene lasciato con una connessione semiaperta. Questo consuma una piccola quantità di memoria all'interno del sistema operativo e consuma alcuni cicli della CPU. Alla fine la connessione viene interrotta, ma un flusso di pacchetti SYN può essere sufficiente a causare seri problemi di prestazioni sulla destinazione. Esistono diversi modi per mitigare questa minaccia e il più notevole è i cookie SYN , che consentono al server di tornare indietro una risposta senza memorizzare lo stato SYN.

Il protocollo UDP non implica alcuna forma di handshake. I pacchetti vengono semplicemente inviati tra host, senza stato o connessione. Ciò significa che un utente malintenzionato può inviare un gran numero di pacchetti UDP al server, consumando la loro larghezza di banda. Ciò richiede che la larghezza di banda totale del client superi quella del server. Poiché il client non ha bisogno di alcuna risposta, può falsificare l'indirizzo IP di origine, rendendo più difficile la mitigazione. Questi tipi di attacco possono essere più difficili da bloccare e spesso richiedono l'intervento del fornitore di servizi.

Il problema per gli aggressori è che i server sono progettati per far fronte a un gran numero di utenti simultanei e a piccoli attacchi denial of service. È improbabile che l'invio di un numero enorme di pacchetti dalla rete domestica o da un server noleggiato causi una significativa riduzione della disponibilità o della velocità di risposta del loro obiettivo. Per rendere l'attacco più efficace, usano un attacco denial of service (DDoS) distribuito . Ciò comporta l'utilizzo di un numero di computer su reti diverse per inondare il sito di richieste. Spesso l'aggressore infetta altri computer con malware, per formare una botnet, che viene poi utilizzata per eseguire attacchi DoS. La differenza è che un DDoS consente al traffico di fluire da IP sorgente legittimi (ma compromessi), aumentando l'efficacia dell'attacco e rendendo più difficile il blocco.

    
risposta data 18.10.2012 - 18:10
fonte
7

Un DOS proviene da un singolo indirizzo di attacco.

Un DDOS è usuale da più postazioni principalmente causate da botnet o internet arrabbiato.

    
risposta data 18.10.2012 - 17:25
fonte
5

DDOS è un sottoinsieme di DOS. Un attacco DOS è qualsiasi attacco che tenta di utilizzare una sorta di tecnica "flooding" per sopraffare un host. Un attacco DDOS è un attacco DOS che utilizza in modo specifico un ampio gruppo di client distribuiti per ottenere le risorse per l'attacco.

Può essere difficile trovare le risorse per inondare il bersaglio in un attacco DOS, il modo più semplice è avere molti clienti che condividono le loro risorse e che si combinano per distribuire il carico di attacco su di loro.

    
risposta data 18.10.2012 - 17:28
fonte
3

Oltre alla grande risposta di Polynomial, il motivo principale per cui gli attacchi DDoS sono molto più efficaci degli attacchi DoS è che gli attacchi DoS possono essere prevenuti limitando semplicemente l'accesso alle risorse assegnate a uno specifico indirizzo IP.

Gli attacchi DoS semplici (vale a dire l'esaurimento di risorse stupide da parte di una singola macchina) sono praticamente una cosa del passato. Oggi praticamente tutti i server sono protetti da un firewall che inserirà nella blacklist un indirizzo IP che fa troppi tentativi di accesso al server. Ma negli anni Novanta (anni '90) i firewall non erano onnipresenti come lo sono oggi e semplici attacchi DoS dove piuttosto efficaci.

A causa di tali firewall, l'attacco DoS si è evoluto in un attacco DDoS. Proprio come gli attacchi DoS sono una cosa del passato, gli attacchi DDoS sono una cosa del presente. Oggi chiunque può noleggiare una botnet per implementare un attacco DDoS. Ma le botnet sono cose relativamente nuove e le botnet noleggiabili sono in circolazione da meno di un decennio. I DDoS possono essere di crowdsourcing, ma tale crowdsourcing è anche relativamente nuovo.

Quindi, in breve, una differenza importante tra DoS e DDoS è storica: gli attacchi DoS erano comuni prima che l'utilizzo del firewall diventasse molto diffuso e gli attacchi DoS sono diventati comuni dopo che le botnet sono diventate ampiamente disponibili. C'era in realtà un periodo intermedio (nel mezzo della decade precedente) in cui entrambe le forme di attacco non erano poi così comuni.

TL; DR: Gli attacchi utilizzati per distribuire gli attacchi DoS. I server hanno implementato contromisure efficaci. Gli aggressori sono passati agli attacchi DDoS per aggirare le contromisure.

    
risposta data 19.10.2012 - 06:04
fonte
2

Questi sono davvero due diversi, sebbene simili, attacchi.

Il "normale" DoS si basa sul tentativo di bloccare il server web / firewall, attraverso una sorta di bug o vulnerabilità. Per esempio. i ben noti attacchi SYN Flood . In alternativa, ci sono dei difetti a livello di applicazione che consentirebbero il DoS a livello di app: ad esempio, un loop basato sull'input dell'utente, in cui un numero molto grande potrebbe causare un numero enorme di iterazioni; o XML Bomb, in cui un documento XML malformato causerebbe il consumo di enormi quantità di memoria e CPU al 100% nella webapp.
La protezione contro questi, sono ovviamente specifici per il difetto e la codifica / progettazione sicura in generale.

Tuttavia, DDoS cerca semplicemente di sopraffare il server web / firewall sommergendolo di masse di richieste apparentemente legittime. Questi possono essere coordinati, spesso usando una botnet, a volte dal movimento politico popolare. La vera difficoltà, qui, è che è quasi impossibile, a parte i sistemi basati sulla reputazione, distinguere tra richieste legittime di utenti e attacco DDoS. Non c'è nemmeno un singolo indirizzo IP condiviso tra loro ...

    
risposta data 18.10.2012 - 22:30
fonte

Leggi altre domande sui tag