← Torna al blog

Vulnerabilita Zero-Day spiegate: cosa devono sapere le aziende

Cosa significa "Zero-Day"?

Il nome viene dal numero di giorni che il produttore del software ha avuto a disposizione per risolvere il problema: zero. Una vulnerabilita zero-day e un difetto nel software che chi lo ha sviluppato non conosce ancora, oppure conosce ma non ha ancora rilasciato una correzione. Gli aggressori scoprono queste falle e le sfruttano prima che qualcuno dal lato difensivo possa reagire.

Confrontalo con una vulnerabilita nota, per la quale il produttore ha gia rilasciato una patch. Se il tuo plugin WordPress ha una vulnerabilita nota da tre mesi e non hai aggiornato, quello e un problema diverso (e ne parliamo nel nostro articolo sui rischi dei siti non aggiornati). Il zero-day e peggio perche letteralmente non esiste una correzione disponibile. Anche l'amministratore piu diligente che applica ogni patch immediatamente resta vulnerabile.

La cronologia di uno zero-day

Per capire perche gli zero-day sono cosi pericolosi, segui la cronologia tipica:

  1. Scoperta: qualcuno trova un difetto in un software. Puo essere un ricercatore di sicurezza, un'agenzia di intelligence governativa o un hacker criminale.
  2. Sviluppo dell'exploit: se chi scopre la falla e malintenzionato (o vende l'informazione a qualcuno che lo e), sviluppa un exploit: codice che sfrutta il difetto.
  3. Iniziano gli attacchi: l'exploit viene usato contro bersagli reali. A questo punto nessuno ha una difesa perche nessuno sa che la falla esiste.
  4. Rilevamento: societa di sicurezza o il produttore rilevano attivita insolite e iniziano a investigare. Questo puo richiedere giorni, settimane o mesi.
  5. Divulgazione: la vulnerabilita viene resa pubblica e il produttore inizia a lavorare su una patch.
  6. Rilascio della patch: il produttore pubblica la correzione. Da questo momento la vulnerabilita non e piu uno zero-day, ma resta pericolosa finche tutti non applicano la patch.

L'intervallo tra i passaggi 3 e 6 e la zona di pericolo. Durante quel periodo, ogni sistema che esegue il software interessato e esposto e non esiste una difesa specifica contro l'attacco.

Perche gli zero-day sono cosi pericolosi per le aziende

Se gestisci un sito web aziendale, un e-commerce o qualsiasi applicazione web, le vulnerabilita zero-day ti riguardano in diversi modi.

Nessuna patch da applicare

La tua strategia abituale di tenere il software aggiornato non aiuta. Puoi avere l'ultima versione di tutto e restare comunque vulnerabile. Questo e cio che rende gli zero-day una minaccia unica rispetto alle migliaia di vulnerabilita note che richiedono semplicemente aggiornamenti tempestivi.

Sfruttamento automatizzato su larga scala

Quando uno zero-day viene scoperto in un software diffuso (un CMS come WordPress, un web server come Apache o Nginx, una libreria come Log4j), gli aggressori scrivono strumenti automatizzati che scansionano l'intero internet alla ricerca di sistemi vulnerabili. Il tuo piccolo sito aziendale a Lugano viene scansionato con la stessa frequenza del sito di una multinazionale. La scansione e indiscriminata.

Compromissione silenziosa

Molti attacchi zero-day sono progettati per essere silenziosi. L'aggressore ottiene l'accesso, installa una backdoor e aspetta. Potresti non scoprire la compromissione per mesi. In quel tempo possono rubare dati dei clienti, iniettare malware nelle pagine che i tuoi visitatori caricano o usare il tuo server come punto di lancio per attacchi ad altri.

Esempi recenti di zero-day che hanno colpito le aziende

Non si tratta di scenari teorici. Gli zero-day colpiscono regolarmente software aziendali reali.

Log4Shell (dicembre 2021)

Uno zero-day in Log4j, una libreria di logging usata da milioni di applicazioni Java, permetteva agli aggressori di eseguire codice arbitrario sui server semplicemente inviando una stringa di testo appositamente costruita. Poiche Log4j era incorporato in cosi tanti prodotti (da Apache Solr a Elasticsearch), il raggio di impatto era enorme. Molte aziende non sapevano nemmeno di usare Log4j perche era una dipendenza nascosta dentro altri software.

Microsoft Exchange Server (marzo 2021)

Quattro vulnerabilita zero-day in Microsoft Exchange Server sono state sfruttate prima che Microsoft rilasciasse le patch. Gli aggressori le hanno usate per accedere agli account email, installare web shell per accesso persistente e sottrarre dati. Decine di migliaia di organizzazioni nel mondo sono state compromesse, incluse piccole aziende che si affidavano a server Exchange locali.

Zero-day di Chrome

Google Chrome ha avuto diversi zero-day sfruttati attivamente. Solo nel 2022, Google ha corretto nove vulnerabilita zero-day che venivano attivamente sfruttate. Queste riguardano chiunque i cui dipendenti navigano sul web, cioe ogni azienda.

Zero-day nei plugin WordPress

I plugin di WordPress sono un bersaglio frequente. Uno zero-day in un plugin popolare puo esporre centinaia di migliaia di siti contemporaneamente. Abbiamo scritto ampiamente sulle vulnerabilita dei plugin CMS e sul perche sono un problema cosi persistente.

Come vengono scoperti gli zero-day

Capire chi trova gli zero-day e come aiuta a comprendere l'economia che li circonda.

Ricercatori di sicurezza

I ricercatori di sicurezza professionisti trovano vulnerabilita attraverso la revisione del codice, il fuzzing (invio di dati casuali al software per osservare crash) e il reverse engineering. I ricercatori etici seguono la "divulgazione responsabile": segnalano la falla al produttore privatamente e gli danno tempo per correggerla prima di renderla pubblica.

Agenzie governative

Agenzie di intelligence come la NSA, il GCHQ e i loro equivalenti in altri paesi scoprono e accumulano attivamente zero-day per operazioni di spionaggio e cyber offensive. Alcuni di questi finiscono per essere divulgati (come accaduto con gli strumenti NSA rubati e pubblicati dal gruppo Shadow Brokers, che porto all'attacco ransomware WannaCry).

Organizzazioni criminali

I gruppi di criminalita informatica organizzata investono nella ricerca di zero-day perche il ritorno puo essere enorme. Uno zero-day in un software aziendale diffuso puo fornire accesso a migliaia di obiettivi prima del rilevamento.

Il mercato degli zero-day

Esiste un vero mercato per gli exploit zero-day. Aziende come Zerodium offrono apertamente ricompense: fino a 2,5 milioni di dollari per un exploit iOS zero-click, 1 milione per l'esecuzione remota di codice su WhatsApp, 500.000 dollari per uno zero-day di Chrome. Questi prezzi riflettono il valore strategico delle vulnerabilita non corrette. Governi e agenzie di intelligence sono i principali acquirenti.

Come ridurre la propria esposizione agli attacchi zero-day

Non puoi impedire l'esistenza degli zero-day. Ma puoi ridurre significativamente la probabilita di un attacco riuscito contro la tua azienda e limitare i danni se ne subisci uno. La strategia si chiama difesa in profondita: piu livelli di protezione in modo che nessun singolo fallimento porti a una compromissione completa.

1. Minimizzare la superficie di attacco

Ogni pezzo di software che esegui e un potenziale bersaglio per uno zero-day. Meno software esponi a internet, minore e il tuo rischio.

Questo e uno degli argomenti piu forti a favore delle architetture statiche come Jamstack. Un sito statico servito da una CDN non ha codice server-side in esecuzione, nessun database da sfruttare, nessun pannello di amministrazione CMS da attaccare. Se il tuo sito aziendale e principalmente informativo (e la maggior parte lo sono), un sito statico elimina intere categorie di rischio zero-day. Ne abbiamo parlato in dettaglio nel nostro confronto tra sicurezza dei siti statici e dinamici.

Per il software che devi necessariamente eseguire:

  • Rimuovi i plugin e le estensioni inutilizzate dal tuo CMS.
  • Disabilita le funzionalita che non usi. Ogni funzionalita e codice, e ogni riga di codice puo contenere un difetto.
  • Non esporre pannelli di amministrazione, strumenti di sviluppo o servizi interni a internet. Vedi la nostra guida sulle pagine admin esposte.
  • Controlla il server per servizi in esecuzione di cui non hai bisogno.

2. Segmentazione della rete

Se un aggressore sfrutta uno zero-day in un componente della tua infrastruttura, la segmentazione limita fin dove puo arrivare. Il tuo web server non dovrebbe avere accesso diretto all'intera rete interna. Il tuo database server dovrebbe accettare connessioni solo dall'application server, non da internet.

Per i siti web specificamente:

  • Esegui la tua applicazione web in un ambiente isolato (un container o una macchina virtuale con accesso di rete limitato).
  • Mantieni il database su un segmento di rete separato con regole firewall che permettano connessioni solo dall'applicazione.
  • Usa credenziali separate per ogni servizio in modo che compromettere uno non dia accesso a tutti.

3. Web Application Firewall (WAF) e virtual patching

Un WAF si posiziona tra internet e la tua applicazione web, ispezionando il traffico in entrata e bloccando le richieste che corrispondono a pattern di attacco noti. Quando viene scoperto uno zero-day, i fornitori di WAF spesso rilasciano "virtual patch" entro poche ore, molto prima che il produttore del software rilasci una correzione vera e propria.

Il virtual patching non corregge la vulnerabilita sottostante. Blocca la specifica tecnica di attacco a livello di WAF. Questo ti fa guadagnare tempo tra la divulgazione dello zero-day e la disponibilita di una patch reale.

Servizi come Cloudflare, Sucuri e AWS WAF offrono questa capacita. Per le aziende svizzere preoccupate per il routing dei dati, Cloudflare ha data center a Zurigo, il che significa che il traffico non deve necessariamente uscire dal Paese.

4. Monitoraggio e rilevamento

Se non puoi prevenire un attacco zero-day, la cosa migliore dopo e rilevarlo rapidamente. Piu velocemente rilevi una compromissione, minori sono i danni.

  • Monitoraggio dell'integrita dei file: strumenti che ti avvisano quando i file sul tuo web server cambiano inaspettatamente. Se un aggressore modifica il codice del tuo sito, vuoi saperlo immediatamente.
  • Analisi dei log: monitora i log di accesso del web server per pattern insoliti: picchi di errori 404 (scansione per vulnerabilita), richieste a URL insoliti, risposte insolitamente grandi (esfiltrazione dati).
  • Monitoraggio di uptime e contenuti: servizi che caricano regolarmente il tuo sito e ti avvisano se il contenuto cambia, se appaiono nuovi script o se il sito reindirizza inaspettatamente.
  • Sistemi di rilevamento intrusioni (IDS): monitoraggio a livello di rete che segnala pattern di traffico sospetti.

5. Piano di risposta agli incidenti

Quando viene annunciato uno zero-day che riguarda il software che usi, devi agire in fretta. Avere un piano in anticipo fa la differenza tra una risposta controllata e il panico.

Il tuo piano dovrebbe coprire:

  • Chi e responsabile della valutazione se sei coinvolto.
  • Con quanta rapidita puoi mettere offline un servizio se necessario.
  • Chi ha accesso per applicare patch di emergenza o modifiche alla configurazione.
  • Template di comunicazione per i clienti se i dati potrebbero essere stati esposti.
  • Informazioni di contatto del tuo hosting provider, fornitore di sicurezza e qualsiasi supporto esterno per la risposta agli incidenti.

6. Backup regolari (backup testati)

Se succede il peggio e un attacco zero-day compromette il tuo sito, backup puliti e recenti sono il tuo percorso di ripristino. Ma i backup aiutano solo se sono effettivamente ripristinabili. Abbiamo una guida completa sulle strategie di backup dei siti web che tratta questo argomento in dettaglio.

L'NCSC Svizzera e la divulgazione delle vulnerabilita

La Svizzera ha un centro nazionale di cybersicurezza: l'NCSC (National Cyber Security Centre), ora parte dell'Ufficio federale della cibersicurezza (UFCS). L'NCSC gioca un ruolo nella risposta agli zero-day per le organizzazioni svizzere.

Quando uno zero-day significativo colpisce le aziende svizzere, l'NCSC emette avvisi attraverso il suo sito e comunicazioni dirette agli operatori di infrastrutture critiche. Gestisce anche una piattaforma di divulgazione delle vulnerabilita dove i ricercatori di sicurezza possono segnalare vulnerabilita nei servizi online svizzeri.

Per le aziende in Ticino e in tutta la Svizzera, l'NCSC e una risorsa da conoscere. Puoi iscriverti ai loro avvisi e bollettini su ncsc.admin.ch. Quando uno zero-day colpisce software che usi, gli avvisi dell'NCSC spesso includono indicazioni e contesto specifici per la Svizzera.

Programmi di bug bounty: pagare per le vulnerabilita prima che le trovino gli aggressori

I programmi di bug bounty offrono ricompense finanziarie ai ricercatori di sicurezza che trovano e segnalano responsabilmente le vulnerabilita. L'idea e semplice: pagare un ricercatore da 500 a 50.000 CHF per trovare una vulnerabilita prima che un criminale la usi per causare danni dieci o cento volte superiori.

Grandi aziende svizzere come Swisscom e SIX Group gestiscono programmi di bug bounty. A livello internazionale, piattaforme come HackerOne e Bugcrowd collegano le aziende con ricercatori di sicurezza in tutto il mondo.

Per la maggior parte delle piccole e medie imprese in Svizzera, gestire un programma formale di bug bounty non e praticabile. Ma puoi comunque beneficiare del concetto:

  • Pubblica un contatto di sicurezza chiaro sul tuo sito (un file security.txt in /.well-known/security.txt) in modo che i ricercatori possano raggiungerti.
  • Rispondi in modo professionale e con gratitudine quando qualcuno segnala una vulnerabilita, anche se la segnalazione e non sollecitata.
  • Non minacciare azioni legali contro i ricercatori che segnalano falle. E un riflesso controproducente che molte aziende hanno ancora.

Il ruolo dell'architettura nella resilienza agli zero-day

Le tue scelte tecnologiche hanno un impatto diretto sulla tua esposizione agli attacchi zero-day. Considera due configurazioni diverse per un sito web aziendale:

Configurazione A (tradizionale): WordPress su uno stack LAMP (Linux, Apache, MySQL, PHP). Il CMS, i suoi 15 plugin, il runtime PHP, il database MySQL e il web server girano tutti su un singolo server esposto a internet. Uno zero-day in uno qualsiasi di questi componenti compromette l'intero sistema.

Configurazione B (statica/moderna): un sito statico generato in fase di build, distribuito su una CDN. Il sito consiste in file HTML, CSS e JavaScript. Non c'e codice server-side in esecuzione, nessun database, nessun pannello admin CMS accessibile da internet. L'unico "server" e un nodo CDN che serve file statici.

La Configurazione B ha una frazione della superficie di attacco della Configurazione A. Uno zero-day in PHP, MySQL o WordPress non la riguarda perche quelle tecnologie non fanno parte dello stack. Gli unici componenti esposti agli zero-day sono l'infrastruttura CDN stessa (gestita dal team di sicurezza del provider CDN) e il browser del visitatore.

Questo non significa che i siti statici siano appropriati per ogni caso d'uso. Se hai bisogno di autenticazione utente, contenuti dinamici o un flusso di gestione dei contenuti per redattori non tecnici, ci sono compromessi da considerare. Ma per un numero significativo di siti aziendali, un approccio statico offre una sicurezza concretamente migliore. Approfondisci nel nostro articolo sull'architettura web moderna.

Cosa fare adesso

Ecco passi concreti che puoi fare questa settimana per ridurre la tua esposizione agli zero-day:

  1. Inventaria il tuo software: fai una lista di ogni pezzo di software in esecuzione sulla tua infrastruttura web. Versione del CMS, lista dei plugin, software del server, runtime del linguaggio di programmazione.
  2. Iscriviti agli avvisi di sicurezza: per ogni pezzo di software principale nella tua lista, iscriviti alla mailing list o al feed RSS di sicurezza del produttore. Iscriviti anche agli avvisi dell'NCSC Svizzera.
  3. Configura un WAF: se non ne hai uno, metti il tuo sito dietro un WAF. Il piano gratuito di Cloudflare include funzionalita WAF di base.
  4. Abilita il monitoraggio: configura un monitoraggio base dell'integrita dei file e dell'uptime.
  5. Rivedi la tua superficie di attacco: puoi ridurre il software in esecuzione sul tuo server? Puoi spostare il tuo sito informativo su un'architettura statica?
  6. Scrivi un piano di risposta agli incidenti: anche un documento di una pagina con informazioni di contatto e autorita decisionale e meglio di niente.
  7. Testa i tuoi backup: quando e stata l'ultima volta che hai effettivamente ripristinato un backup? Se la risposta e "mai", pianifica un test di ripristino questo mese.

Le vulnerabilita zero-day sono una realta dell'uso del software. Non puoi eliminare il rischio, ma puoi costruire un'infrastruttura e una capacita di risposta che limiti la tua esposizione e minimizzi i danni quando il prossimo zero-day arriva. Se hai bisogno di aiuto per valutare la tua postura attuale, contatta il nostro team a Lugano per una revisione di sicurezza.

Vuoi sapere se il tuo sito è sicuro?

Richiedi un audit di sicurezza gratuito. In 48 ore ricevi un report completo.

Richiedi Audit Gratuito

Contatto Rapido