← Torna a tutti gli articoli
Sfide

Il Blackout Globale di CrowdStrike: Lezioni su Resilienza e Dipendenza dai Fornitori

Di Marc Molas·22 luglio 2024·9 min di lettura

Il 19 luglio 2024, CrowdStrike ha rilasciato un aggiornamento difettoso del suo Falcon Sensor che ha provocato il collasso di 8,5 milioni di macchine Windows in tutto il mondo, secondo CNN. Compagnie aeree a terra. Ospedali con sistemi in tilt. Banche fuori servizio. Perdite stimate solo per le aziende del Fortune 500: 5,4 miliardi di dollari.

Non è stato un attacco informatico. Non è stato un ransomware. È stato un aggiornamento di routine di un fornitore affidabile.

Se dirigi una startup e pensi che questo non ti riguardi, pensaci di nuovo. Quello che è successo quel venerdì è un caso di studio perfetto su dipendenza dai fornitori, resilienza operativa e perché servono ingegneri che capiscano ciò che stanno deployando.

Cosa è successo tecnicamente

Il guasto è stato causato da un aggiornamento di un channel file del Falcon Sensor di CrowdStrike. Questo file conteneva una definizione difettosa che ha provocato una lettura di memoria fuori dai limiti (out-of-bounds memory read) nel driver a livello kernel di Windows. Il risultato: schermata blu della morte (BSOD) immediata.

L'aggiornamento è stato rilasciato intorno a mezzanotte (ora UTC). CrowdStrike l'ha ritirato 90 minuti dopo. Ma a quel punto, milioni di macchine avevano già scaricato automaticamente il file difettoso.

La cosa devastante non è stato solo il guasto. È stata la velocità di propagazione. Un singolo file, distribuito automaticamente, senza gate intermedi, a milioni di endpoint simultaneamente. Il meccanismo di distribuzione progettato per proteggere è diventato il vettore del disastro.

Lezione 1: La dipendenza da un singolo fornitore è un rischio esistenziale

Se un aggiornamento di un solo fornitore può far crollare tutta la tua operatività, la tua architettura ha un singolo punto di fallimento.

Questo vale per tutto: il tuo cloud provider, il tuo strumento di sicurezza, il tuo database gestito, il tuo CDN. Non sto dicendo di non usare servizi di terze parti. Sto dicendo che devi progettare assumendo che qualsiasi di essi possa fallire.

Domande che dovresti farti adesso:

  • Se il tuo cloud provider principale va giù per 4 ore, cosa succede ai tuoi utenti
  • Se il tuo strumento di monitoraggio smette di funzionare, come ti accorgi che qualcosa non va
  • Se il tuo provider di autenticazione va giù, i tuoi utenti possono continuare a usare il prodotto

La risposta a queste domande definisce il tuo livello di resilienza. E se la risposta a tutte è "restiamo fermi", hai un problema di architettura.

Lezione 2: Gli aggiornamenti automatici senza gate sono pericolosi

CrowdStrike ha distribuito l'aggiornamento difettoso a tutti gli endpoint contemporaneamente. Senza canary deployment. Senza rollout graduale. Senza approvazione manuale per i sistemi critici.

Per una startup, la lezione è diretta: qualsiasi modifica che tocca la produzione ha bisogno di gate.

  • Canary deployment: deploya prima all'1% degli utenti. Se non ci sono errori, sali al 10%, poi al 50%, poi al 100%.
  • Feature flag: separa il deployment dal lancio. Puoi avere codice in produzione senza che sia attivo.
  • Rollback automatico: se le metriche di errore salgono sopra una soglia, annulla automaticamente.
  • Approvazione manuale per l'infrastruttura critica: non tutto deve essere automatico. Le modifiche a database, configurazione di sicurezza o infrastruttura di rete meritano occhi umani.

Questa non è burocrazia. È ingegneria.

Lezione 3: Servono ingegneri che capiscano cosa stanno deployando

Molte startup esternalizzano la sicurezza completamente. Assumono un fornitore, installano l'agente e se ne dimenticano. Non c'è nessuno interno che capisca cosa fa quell'agente, come interagisce con il sistema operativo, né quali permessi ha.

L'incidente di CrowdStrike dimostra perché questo è pericoloso. Il Falcon Sensor opera a livello kernel. Ha accesso totale al sistema. Quando fallisce, non è un'app che si chiude: è l'intero sistema operativo che smette di funzionare.

Non ti serve un team di sicurezza di 10 persone. Ma ti serve almeno un ingegnere senior che:

  • Capisca le integrazioni dei tuoi fornitori di sicurezza a livello tecnico
  • Possa verificare quali accessi ha ogni strumento di terze parti
  • Sappia rispondere quando qualcosa fallisce, senza dipendere dal supporto del fornitore
  • Valuti il rischio di ogni strumento che opera con privilegi elevati

La sicurezza delegata senza supervisione non è sicurezza. È speranza.

Lezione 4: I piani di risposta agli incidenti non sono opzionali

Quando il blackout di CrowdStrike è avvenuto, le aziende che si sono riprese più velocemente avevano qualcosa in comune: un piano di risposta agli incidenti documentato e praticato.

Non parlo di un documento di 80 pagine che nessuno ha letto. Parlo di risposte chiare a domande semplici:

  • Chi guida la risposta durante un incidente
  • Come comunica il team durante una crisi (se Slack va giù, qual è il piano B)
  • Dove si trova il runbook per gli scenari più probabili
  • Chi ha gli accessi per fare rollback, riavviare servizi, o escalare con i fornitori
  • Come si comunica agli utenti quello che sta succedendo

In molte startup, la risposta a tutte queste domande è "lo vediamo al momento". Funziona finché non funziona. E quando non funziona, ogni minuto di down è denaro, reputazione e fiducia degli utenti che si perde.

Se il tuo team non ha mai fatto una simulazione di incidente, questo fine settimana è un buon momento per iniziare.

Lezione 5: La resilienza è una disciplina ingegneristica

La resilienza non è qualcosa che compri. Non è un prodotto SaaS. Non è un checkbox in un audit di compliance. È una disciplina ingegneristica che richiede design intenzionale, implementazione accurata e manutenzione continua.

Implica:

  • Ridondanza: non avere un singolo punto di fallimento a nessun livello (infrastruttura, dati, fornitori, persone)
  • Degradazione elegante: quando qualcosa fallisce, il sistema continua a funzionare con capacità ridotta invece di collassare completamente
  • Circuit breaker: meccanismi che rilevano guasti a cascata e li isolano prima che si propaghino
  • Chaos engineering: testare deliberatamente cosa succede quando le cose falliscono, prima che falliscano in produzione
  • Osservabilità: non puoi sistemare ciò che non puoi vedere. Log, metriche, alert, dashboard

E la cosa più importante: richiede persone che abbiano progettato sistemi per sopravvivere ai guasti. Ingegneri che hanno vissuto incidenti, che sanno cosa si prova quando un sistema va giù alle 3 di notte, e che progettano tenendo a mente tutto questo.

Cosa significa questo per la tua startup

Se sei una startup in fase iniziale, probabilmente non ti serve ridondanza multi-cloud né un team SRE di 5 persone. Ma ti serve il minimo:

  • Un ingegnere senior che capisca DevOps e sicurezza
  • Deployment con gate, non push diretti in produzione
  • Un piano minimo di risposta agli incidenti
  • Audit di quali fornitori hanno accesso a cosa, e con quali privilegi
  • Backup testati (non solo configurati, ma testati per il ripristino)

Il problema è che trovare ingegneri con esperienza reale in resilienza operativa e gestione degli incidenti non è facile. È un profilo che si forma con anni di esperienza, non con corsi.

In Conectia lavoriamo con ingegneri senior del LATAM che hanno costruito e operato infrastruttura in produzione per aziende in crescita. Profili DevOps e SRE che capiscono la gestione del rischio dei fornitori, che hanno progettato pipeline di deployment con gate, e che sanno costruire sistemi che sopravvivono quando le cose vanno storte. Perché vanno sempre storte.

L'incidente di CrowdStrike non è stato il primo e non sarà l'ultimo. La domanda non è se la tua startup affronterà un incidente di questo tipo. La domanda è se il tuo team è pronto a rispondere quando accadrà.


Il tuo team ha la capacità tecnica per rispondere a un incidente in produzione? Parla con un CTO — ti aiutiamo a inserire ingegneri senior in DevOps e SRE che costruiscono sistemi resilienti dal primo giorno.

Pronto a costruire il tuo team di ingegneria?

Parla con un partner tecnico e distribuisci sviluppatori validati da CTO in 72 ore.