Cloudflare, per voce del suo CEO e cofondatore Matthew Prince, ha chiarito nelle scorse ore le cause di quello che la stessa azienda ha definito “il peggior outage dal 2019”. A mandare in tilt la piattaforma nella giornata di ieri non è stato un cyber attacco, né un problema di DNS o un guasto ai sistemi di IA generativa introdotti di recente, ma un errore legato al sistema di Bot Management, la componente che decide quali crawler automatizzati possono o non possono accedere ai siti protetti dalla CDN.

Cloudflare gestisce un’enorme porzione del traffico globale e nel 2023 stimava che circa il 20% del web transitasse attraverso la sua rete, un’infrastruttura progettata per garantire continuità di servizio anche in caso di picchi improvvisi di traffico o attacchi DDoS. Eppure, proprio questa infrastruttura ha sperimentato ieri un collasso generalizzato con un effetto a cascata che ha disconnesso per ore servizi tra i più usati al mondo, tra cui X, ChatGPT e lo stesso Downdetector. Una dinamica che ha ricordato da vicino i blackout recenti di Microsoft Azure e Amazon Web Services.

Come già accennato, il colpevole di tutto è stato il sistema Bot Management, pensato per gestire l’accesso dei bot e contrastare le nuove forme di scraping di massa come quelle utilizzate per addestrare i modelli di IA generativa. Cloudflare ha recentemente annunciato un meccanismo chiamato AI Labyrinth, basato proprio su IA generativa per disorientare bot non autorizzati producendo contenuti che rallentano o “ingannano” i crawler che ignorano le direttive di “no crawl”. Ma, come sottolineato da Prince, nulla di tutto questo ha avuto un ruolo nell’outage di ieri.

down Cloudflare

La causa principale è stata invece un cambiamento nel sistema di permessi di un database interno. Nello specifico, la configurazione del modello di machine learning che attribuisce i punteggi ai bot viene aggiornata molto frequentemente tramite un file generato da query eseguite sul database ClickHouse. Un recente aggiornamento al comportamento delle query ha però introdotto un errore, a causa del quale il database ha iniziato a produrre un numero anomalo di righe duplicate all’interno del file di configurazione.

Questo difetto, apparentemente minore, ha avuto conseguenze catastrofiche. L’aumento improvviso delle righe ha fatto crescere il file di configurazione oltre i limiti di memoria impostati, fino a portare al crash del sistema proxy principale che gestisce l’intero traffico dei clienti Cloudflare. Il collasso ha interessato tutte le richieste che utilizzavano il modulo dei bot causando una serie di falsi positivi, con la conseguenza che siti che avevano impostato regole per bloccare determinati bot hanno iniziato invece a bloccare il traffico reale. Solo i clienti che non utilizzavano i bot score sono rimasti operativi.

Nel suo post, Prince spiega in dettaglio la sequenza esatta degli eventi e sottolinea come l’eccessiva centralizzazione dei servizi internet renda inevitabile che errori di questo tipo possano avere ripercussioni su larga scala. Cloudflare ha comunque definito quattro misure immediate per ridurre al minimo il rischio che un problema simile si ripresenti.

La prima è una maggiore rigidità nell’ingestione dei file di configurazione generati internamente, trattandoli con la stessa prudenza riservata agli input degli utenti. La seconda è l’introduzione di kill switch globali più efficaci, in modo da disattivare rapidamente funzionalità problematiche senza compromettere l’intero traffico. La terza consiste nel bloccare la possibilità che core dump o error report saturino le risorse di sistema. Infine, Cloudflare si impegna a riesaminare i failure mode dei moduli critici per prevenirne il collasso in caso di condizioni di errore inattese.

(Immagine in apertura: Shutterstock)