#5. More on attack techniques

By Marcello Fausti

Another important attack technique is Distributed Denial of Service or DDoS.

To make a comparison with common crime, while the first two categories look a lot like fraud or theft with dexterity and burglary, the third category (DDoS), instead, looks like a digital bombing that aims to make unserviceable an online service or a digital device or an entire infrastructure of the attacked subject; in short, a demonstration of “brute force”. In this case, cybercriminals aim at publicly putting a target in trouble by obscuring its presence on the Internet: the victim is hit with a weapon built with the same raw material of the Internet, the bits. In practice, large traffic flows of the order of many gigabits (billions of bits) per second or, in some cases, even terabits (trillions of bits) per second are directed against the target’s Internet-facing equipment in order to “confuse” them.

This is, therefore, a war that takes place on the Internet in which cybercriminals shoot at the target using bit-loaded cannons, exploiting the fact that such infrastructures are usually designed based on rough estimates of the volume of traffic that can be generated in a given time frame by customers of the web service in question. It is evident that the principle of economy normally applied in the design phase does not allow such infrastructures to withstand abnormal traffic volumes as a design feature. In reality, the effect of messing up the target website can also be obtained with attacks much smaller than those just mentioned; in this case the target is no longer the network infrastructure but the application. The final effect is the same: in the first case we speak of a “volumetric” DDoS; in the second case of an application DDoS. In the latter case, it’s not the volume of the cannon ball thrown at the target with destructive intent that counts, but the very high frequency with which tiny balls are thrown at it; the effect is the same: the target can no longer function properly.

Now, however, there’s one more fact to consider, namely, something happens in the digital world that doesn’t happen in the real world. In the real world, there is no lawful trade in heavy weapons, and – I assume – it is not so easy to obtain one illicitly. Nel mondo digitale, invece, qualsiasi server connesso ad Internet può tramutarsi in un’arma utilizzabile per attaccare un bersaglio. Lo sono le centinaia di migliaia di PC non protetti, presenti in Rete, che hanno sempre maggior capacità elaborativa, dispongono di accessi a larga banda e, cadendo vittima di malware che li assoldano alle botnet, vengono trasformati in tanti “paria” pronti a sparare a comando di chi li controlla. Ad aggravare la situazione, poi, c’è l’avvento del cloud computing (fatto che di per sé apre scenari estremamente positivi) ha reso disponibile a costi trascurabili e in modo più o meno anonimo una capacità di elaborazione praticamente illimitata. In sostanza, esistono sparsi per il mondo dei veri e propri supermercati di armi pesanti che garantiscono agli attaccanti, a basso prezzo e in modo sostanzialmente anonimo, l’approvvigionamento di ciò che serve ad organizzare ed attuare un pericoloso attacco di Distributed Denial of Service. Su Internet è possibile:

  1. assoldare botnet per pochi dollari l’ora;
  2. utilizzare servizi chiamati “booter”, ovvero, siti web teoricamente dedicati ad un servizio di “test di carico” per chi (lecitamente) voglia verificare i limiti di tenuta del proprio servizio online, allo scopo sovraccaricare il sito web bersaglio;
  3. rendere più dirompente un attacco DDoS attraverso complesse tecniche di amplificazione chiamate “reflection & amplification”.

Le tecniche di amplificazione a grandissime linee funzionano così. Innanzitutto, le tecniche che entrano in gioco sono in realtà tre:

  1. spoofing, ovvero, camuffarsi e assumere le sembianze di qualcun altro;
  2. reflection, ovvero, triangolazione;
  3. amplification, ovvero, rendere l’effetto più pesante per il bersaglio.

Per spiegare la dinamica dell’attacco è prima necessario definire tre concetti:

  1. ogni entità (PC, smartphone, elaboratore o apparato di rete) connesso ad Internet è identificato da un identificatore univoco che è l’indirizzo IP (Internet Protocol);
  2. le apparecchiature connesse ad Internet realizzano tutto ciò che usiamo ogni giorno attraverso dei colloqui applicativi che utilizzano l’indirizzo IP del mittente e del destinatario di una richiesta, ad esempio, anche l’invio delle e-mail o dei messaggi di chat funziona sulla base di questo principio;
  3. i colloqui (protocolli) applicativi di Internet sono facilmente alterabili, in questo modo è possibile costruire un colloquio in cui un mittente si camuffa, ovvero, fa finta di essere qualcun altro sostituendo al suo indirizzo IP quello di un’altra entità.

Fatta la premessa che gli indirizzi A, B e R devono essere pubblicamente raggiungibili su Internet, facciamo il seguente esempio: l’indirizzo A deve inviare un messaggio a R ma prima di inviarlo si camuffa (spoofing) da B. The effect of this substitution is that the message will really start from A but the recipient R will not notice and indeed will be convinced to have received a message from B. Obviously, R will conclude the conversation by replying to B (and not to the real sender A) who will receive from R a reply that he had not requested. Imagine for a moment that thousands or even millions of A’s disguise themselves as B and send messages to thousands of R’s chosen with a precise criterion that I will explain later. The effect is that B will be inundated with responses from thousands of R’s that he will not be able to handle and will get confused. The service provided by B will become unreachable and that’s it.

In this example we have used two of the three techniques: spoofing and reflection. Manca ancora la terza, l’amplificazione.

Alcuni servizi pubblicamente disponibili su Internet hanno la caratteristica di essere interrogati tramite una richiesta composta da pochissimi caratteri e di restituire a chi lo ha chiesto una risposta composta da moltissimi caratteri. Ecco fatto il sistema di amplificazione. I principali servizi utilizzabili in questo senso sono:

  1. SNMP (Simple Network Management Protocol) che amplifica la risposta di un fattore 7;
  2. SSDP (Simple Service Discovery Protocol) che amplifica la risposta di un fattore 30;
  3. DNS (Domain Name System) che amplifica la risposta di un fattore 102;
  4. CHARGEN (Character Generator Protocol) che amplifica la risposta di un fattore 360;
  5. NTP (Network Time Protocol) che amplifica la risposta di un fattore 1.090.

Now, if you imagine that the multiple R entities we were talking about earlier belong to one of these categories, it’s easy to understand that poor B will be overwhelmed not only by the number of unwanted responses, but also by the size of these responses, which will vary according to the amplification factor chosen.

Here’s another paradox of the Internet: virtually any service exposed online on the Internet can be used to carry out an attack in a basically anonymous way. So we have to be very careful about the protocols active on our servers exposed on the Internet. If we don’t keep only the essential ones active, we may find ourselves unknowingly and unwittingly involved in a reflection & amplification attack.

The dynamic just described seems like a simple trick and indeed it is, however, through this simple trick it is possible to implement even very sophisticated attack tactics.

Example.

Recently, we observed an application DDoS attack with reflection that worked more or less like this. Imagine that (R) consists of a legitimate application service exposed on the Internet that has a business relationship with (B); this is something that happens often because many businesses are built by assembling macro-blocks consisting of cloud services that specialize in payment or billing activities, etc. Come vedevamo, (R) si vedrà sommerso di richieste che lui attribuisce a (B) ma in realtà provengono dall’attaccante (A) e, quindi, per proteggere tutti gli altri clienti a cui eroga servizi, reagirà bloccando sulla propria rete tutte le connessioni provenienti da (B). L’effetto è che (R) non sarà più “infastidito” dal (B) camuffato, ma il (B) vero si troverà nell’impossibilità di accedere al servizio applicativo (R) indispensabile per portare a termine il suo business. L’effetto sul bersaglio dell’attacco (B) è che continuerà ad essere sotto attacco ed inoltre, non riuscirà più a raggiungere i servizi indispensabili al loro funzionamento; in questo modo, (B) sarà progressivamente escluso da Internet.

attacco-ddos-1.jpgattacco-ddos-2.jpg

CHARGEN (Character Generator Protocol). È un servizio utilizzato a scopo di test e misura. It is little used.

DDoS. A combined attack carried out by numerous machines, designed to bring down websites or servers, most often carried out using botnets.

DNS (Domain Name System). It is a system used to assign names to network nodes.

NTP (Network Time Protocol). It is a network protocol used for synchronizing computer clocks.

SNMP (Simple Network Management Protocol). It is a network protocol that allows you to collect and modify configuration information of devices managed on your network.

Spoofing. To disguise oneself, to disguise oneself in order to look like someone else by spoofing the source address of a communication. For example, it’s possible to spoof an e-mail address by setting the username (the one that first appears in the e-mail) to a name known to the recipient, while the real address reveals its unknown and unreliable origin. Si usa il termine spoofing (in questo caso IP spoofing o address spoofing) quando si crea un pacchetto IP nel quale viene falsificato l’indirizzo IP del mittente.

SSDP (Simple Service Discovery Protocol). Protocollo di rete utilizzato per la ricerca di servizi attivi su una rete.

Leggi gli altri articoli del Piccolo glossario dei concetti e dei termini della cybersecurity

#1. Che cos’è il rischio cyber e come si gestisce

#2. Quali sono le principali minacce? E come è possibile proteggersi?

#3. Quali sono i vettori di attacco più pericolosi?

#4. Quali sono le principali tecniche di attacco?