
Conoscere le varie tipologie di attacchi informatici e come difendersi da essi è una delle skills che saranno maggiormente richieste ai programmatori. In questo articolo analizzeremo come avviene un attacco DOS e come difendersi da esso.
Le tecnologie web e le API Rest sono strumenti di utilizzo sempre più diffuso. Spesso e volentieri gli applicativi informatici possiedono una architettura a micro-servizi in cui ogni componente svolge solamente un determinato compito e si interfaccia con altre componenti tramite APIs (Application Programming Interface). Ciascun componente, dovendosi interfacciare con l’esterno per comunicare è continuamente esposto a possibili attacchi informatici.
L’attacco informatico ed i suoi scopi
In generale con il termine “attacco informatico” si intende una qualsiasi azione intenzionale che ha lo scopo di rubare, esporre, disabilitare, distruggere dati, applicazioni o servizi. Un attacco informatico avviene attraverso l’accesso (spesso non autorizzato) ad un sistema informatico.
Lo scopo di un attacco informatico è quindi quello di rubare dati o causare un malfunzionamento di un dato servizio.
Funzionamento del sistema REST
Per comprendere al meglio come avvengono gli attacchi informatici più comuni è necessario addentrarsi nel funzionamento dell’architettura di comunicazione REST.
L’architettura REST prevede l’interazione fra due componenti comunicanti che si scambiano dati:
- Il client è la componente che gestisce le interazioni con l’utente
- Il server è la componente che gestisce i dati e lo stato dell’applicazione
Di norma ciascun client invia delle requests al server. Il server analizza le requests ricevute e fornisce opportune response.
Sia request che response contengono dati strutturati.

L’attacco DOS
L’attacco DOS (Denial Of Services) è un attacco informatico che ha lo scopo di interrompere un servizio (spesso il funzionamento di un sito o una API web).
Per interrompere il funzionamento di un servizio l’attacco DOS agisce mandando il servizio in sovraccarico così da “romprelo” o, con terminologia più specifica, mandando in down il servizio.
Per mandare in down un certo servizio (gestito da un dispositivo fisico), l’attaccante informatico cerca di generare un sovraccarico inondando di richieste l’API del servizio. Un dispositivo informatico opportunamente programmato, infatti, può generare richieste ripetute in lassi di tempo brevissimi.
Il servizio attaccato viene sommerso da richieste multiple in lassi di tempo brevissimi e, non riuscendo a gestirle altrettanto velocemente, non riesce più a fornire le response nemmeno agli altri utenti che cercano di utilizzarlo.
Scopo dell’attacco DOS NON è quello di rubare dati bensì di creare un disservizio. Nella realtà pratica tali disservizi possono creare gravi danni se affliggono componenti sensibili come le applicazioni web del campo sanitario e della pubblica utilità o, più banalmente, i siti web di e-commerce delle aziende.
Strategie di difesa dall’attacco DOS
L’attuazione degli attacchi DOS (in maniera più specifica) è molto varia, tuttavia la miglior strategia di difesa da questa tipologia di attacchi si riassume nell’ignorare le richieste che richiedono troppo tempo per essere analizzate o che pervengono in lassi di tempo molto brevi.
In particolare, ogni dispositivo connesso alla rete viene identificato da un indirizzo IP univoco associato a ciascuna delle sue richieste. Il server che gestisce un certo servizio può quindi filtrare le richieste e decidere per esempio di non rispondere alle richieste associate allo stesso indirizzo IP in un certo lasso di tempo.
In particolare il server effettua dei controlli sugli indirizzi IP associati alle richieste e qualora riceva richieste multiple in poco tempo dallo stesso IP, il server decide di non fornire risposta a tali richieste inserendo l’IP in una blacklist (per un tempo determinato).

Quando la blacklist non basta
Nel momento in cui l’ondata di richieste non proviene dallo stesso IP ma da dispositivi differenti non è possibile applicare il metodo di difesa della blacklist. In questi casi si tratta di attacchi DDOS, di cui abbiamo già parlato in precedenza.