23/10/2019 di Redazione

CPDoS: un nuovo tipo di attacco che “avvelena” la memoria cache

Ricercatori della Università Tecnica di Cologna hanno scoperto una nuova tecnica di Denial of Service che compromette il funzionamento dei Web server e dei Content Delivery Network (Cdn). Il 30% dei siti più popolari è vulnerabile.

immagine.jpg

Il nome Cache-Poisoned Denial of Service e la sigla CPDoS forse sono destinati a diventare familiari per chiunque si interessi di cybersicurezza o, semplicemente, possieda un sito Web. Un nuovo tipo di attacco informatico che, come da traduzione letterale, “avvelena” la memoria cache per causare un’interruzione di servizio è stato scoperto da due ricercatori accademici dell’Università Tecnica di Cologna e poi descritto nei dettagli sul loro sito Internet. E di certo non è rassicurante sapere che, secondo i test condotti, risultino vulnerabili al CPDoS il 30% dei 500 siti Internet più visitati (in base alle analisi di Alexa), l’11% dei domini del Dipartimento della Difesa statunitense e il 16% dei 365 milioni di Url di esempio ottenuti facendo una ricerca su Google.

 

Il CPDos prevede tre varianti tecniche di procedura, ma in tutti i casi vengono presi di mira i Web server e i Content Delivery Network (Cdn), ovvero le reti di proxy server che velocizzano la visualizzazione dei contenuti tenendo conto della posizione geografica dell’utente. Possono, per esempio, creare delle copie temporanee delle pagine Web, che possono essere visualizzate più rapidamente e che consumano meno banda. Considerando il diffusissimo utilizzo dei servizi Cdn da parte dei siti Internet, un’alterazione di questi sistemi può avere conseguenze gravi sul funzionamento dei server colpiti, rendendo indisponibili le pagine Web proprio come accade con i più noti attacchi DDoS.

 

 

Come funziona l’attacco CPDos
Il CPDoS ottiene il risultato sperato in poche mosse, come descritto dai ricercatori. Innanzitutto, l’autore dell’attacco si collega a un sito Web fino a poter generare una nuova richiesta per il Cdn. Tale richiesta contiene un header Http sovradimensionato (di tre tipologie possibili), che ottiene il via libera del Cdn fino a raggiungere il sito Web. Una volta processato, l’header produce una pagina Web che viene memorizzata nella cache del Cdn e che, considerando le dimensioni sproporzionate della richiesta, può mandare in crash il Web server. 

A questo punto il gioco è fatto: anziché visualizzare i contenuti richiesti dall’utente tramite browser, il Web server genera una pagina di errore di tipo “400 Bad Request”, un segnale della presenza di problemi di sintassi che impediscono la corretta apertura della pagina. A quel punto le cose si complicano, poiché il problema si diffonde ad altri nodi della rete Cdn (da qui la metafora dell’avvelenamento) e in questo modo il sito risulta indisponibile per un gran numero di utenti.

Nei test empirici da loro realizzati, i ricercatori sono riusciti a realizzare attacchi diffusi, compromettendo il funzionamento di un sito Web creato appositamente per l’esperimento e ospitato sulla rete di diversi provider Cdn. Nella mappa creata per illustrare gli effetti del test si vedono indicati in blu i server Cdn direttamente presi di mira e in rosso quelli coinvolti dal meccanismo di “contagio”. In verde, invece, quelli scampati all’avvelenamento.

Possibili rimedi al CPDoS

Fortunatamente, esistono misure di mitigazione per il  Cache-Poisoned Denial of Service. Il primo consiglio è rivolto ai gestori o proprietari dei siti Web: dovrebbero configurare il servizio Cdn da loro usato in modo che, di default, le pagine di errore Http non vengano memorizzate nella cache. Diversi provider Cdn includono queste impostazioni nella console gestionale del proprio servizio, ma se questa opzione non è prevista allora è possibile disattivare il meccanismo di caching dai file di configurazione dei server (aggiungendo l’header Http “Cache-Control: no-store” nelle pagine di errore). 

 

Anche i fornitori di servizi Cdn potrebbero contribuire a risolvere il problema. Dovrebbero, cioè, attenersi meglio ai protocolli di caching standard, nei quali non è prevista la creazione di pagine di errore “400 Bad Request”, mentre sono contemplate le tipologie “404 Not Found”, “405 Method Not Allowed”, “410 Gone” e 501 “Not Implemented”. “Fare il caching delle pagine di errore secondo le regole dello standard Http”, scrivono i ricercatori, “è il primo passo per evitare gli attacchi CPDoS”.

 

ARTICOLI CORRELATI