La stragrande maggioranza dei portali web istituzionali dei Comuni italiani non sono sicuri e potrebbero esporre cittadini e dipendenti a malware e attacchi informatici. Questo grido di allarme proviene dagli esperti di sicurezza informatica e attivisti del mes3hacklab di Mestre, che hanno condotto un’indagine indipendente per verificare il livello di aggiornamento dei software su cui si basano le pagine istituzionali.
I risultati della ricerca, che Agid ha potuto consultare in esclusiva, sono stati condivisi con il Computer emergency response team italiano per la pubblica amministrazione (Cert-Pa), che ha provveduto a invitare “le amministrazioni a verificare che il proprio sito internet sia sempre aggiornato all’ultima release del software in uso”. L’analisi effettuata dimostra come la stragrande maggioranza dei portali web istituzionali è classificata come “unsafe” in quando ad esempio non utilizza neanche il comune protocollo https come nella quotidianità dovrebbe essere fatto prestando il fianco a data breach e ai computer’s crime.
Le vulnerabilità delle piattaforme web
Si chiamano Cms (Content management system) e sono piattaforme che consentono ai webmaster di gestire un sito Internet senza dover conoscenze i linguaggi di programmazione. La ricerca ha preso in esame i tre Cms più diffusi (Drupal, Joomla e il più celebre Wordpress) e ha condotto una scansione di tutti i domini e sottodomini di 7554 dei 7954 Comuni italiani, per verificarne lo stato degli aggiornamenti. Tenere un sistema aggiornato significa proteggerlo dalle vulnerabilità che mano a mano vengono scoperte dagli sviluppatori, così da evitare che sia esposto agli attacchi di pirati informatici. Ma i dati sono allarmanti: in media il 67 per cento dei domini e sottodomini analizzati non viene aggiornato da più di un anno. E in particolare per chi utilizza Wordpress, il 29 per cento delle versioni in uso risale a prima del 2015. Proprio per quanto riguarda Wordpress – che è anche il Cms più diffuso -, il 35 per cento dei siti che lo utilizzano sono aggiornati fino alla versione 4.6, rilasciata ad agosto del 2016. Da allora sono state rilasciate tre nuove versioni del software (senza contare gli aggiornamenti intermedi), dalla 4.7 alla 4.9. Il rischio in questo caso è che tutte le vulnerabilità scoperte negli ultimi ventiquattro mesi possano ancora colpire i siti istituzionali. Come nel caso del bug denominato “Rest-Api”, che consente a un hacker di “defacciare” un sito modificandone l’aspetto e i contenuti.
Fino alla sua scoperta, all’inizio del 2017, e al rilascio di una versione di Wordpress che risolvesse il problema, questa vulnerabilità è stata utilizzata per attaccare un milione e mezzo di siti nel mondo. Dai dati raccolti dal team di ricercatori emerge però che il 37,62 per cento dei domini su cui risiedono i siti dei comuni italiani funzionerebbe con versioni precedenti del software, rendendoli di fatto ancora vulnerabili all’attacco.
Ancora più preoccupante è lo stato di aggiornamento di un altro Cms, Drupal. Dei domini istituzionali analizzati basati su questo Cms, il 64,5 per cento utilizza versioni che potrebbero essere vulnerabili a Drupalgeddon2, potente malware che consente a un attaccante di ottenere il pieno controllo del sistema infetto. Da qui un black-hat (dall’inglese “berretto nero”: hacker malevoli che sfruttano le loro conoscenze per trarre benefici da un sistema o per danneggiarlo) potrebbe installare miner di criptovalute come CoinHive, oppure ottenere pieno accesso ai dati contenuti nei server. Anche se Drupalgeddon2 è noto da tempo, proprio all’inizio di luglio 2018 è stato utilizzato contro il sito del Comune di Massa, che per giorni è stato inaccessibile. Sembra che comunque il capoluogo toscano sia in buona compagnia: recentemente un’altra ricerca ha individuato sul web oltre 115 mila siti basati su Drupal che potrebbero essere ancora vulnerabili al malware.
Le vulnerabilità riscontrate costituiscono un rischio concreto per le amministrazioni comunali: spesso i siti delle istituzioni condividono il server che li ospita con servizi cruciali sia ai cittadini sia interni agli uffici pubblici. Una vulnerabilità dei Cms potrebbe compromettere anche archivi, anagrafi e catasti, oltre a dare la possibilità a un hacker di diffondere un virus tra i cittadini che su quei siti cercano informazioni e tra gli stessi dipendenti degli uffici pubblici.
Al fine di verificare lo stato dell’arte si sta realizzando un sistema automatico di monitoraggio che invierà a ciascun webmaster una notifica nel caso in cui il sistema di cui è responsabile non fosse aggiornato e sicuro. Tutti i dati e i tool non saranno pubblicati prima di 90 giorni dall’invio della prima notifica, così i Comuni avranno il tempo di mettere in regola tutti i loro sistemi. Questa pratica è nota come “responsible disclosure” (dall’inglese, divulgazione responsabile), e prevede che un hacker etico dia il tempo (90 giorni per consuetudine) a chi gestisce un servizio vulnerabile di metterlo in sicurezza, prima di rendere pubblica la descrizione di quali falle sono state riscontrate.
Aggiornamento CMS dei siti Comunali Istituzionali
La procedura di aggiornamento di un CMS è uno degli aspetti, spesso trascurati, che determina l’abbandono del sito web e lo espone ad attacchi informatici automatizzati o manuali. In tal senso si evidenziano, con frequenza giornaliera, attacchi informatici a siti che espongono versioni software non più aggiornate con conseguenti defacing o inclusione di codice a scopo di phishing o altre attività. Anche un sito internet secondario può suscitare l’interesse da parte di criminali che, in ottica di profitto, colpiscono siti non sicuri per attività illecite che vanno dal minare cripto valute (cryptomining) alla diffusione di malware. Sulla base di una segnalazione pervenuta di recente all’attenzione del CERT-PA è emerso che numerosi siti Comunali si basano su versioni dei CMS ormai obsolete, spesso non aggiornate da mesi. Di seguito, sulla base di un campionamento statistico, si riportano le informazioni rispetto all’utilizzo di versioni obsolete dei principali CMS:
Suggerimenti per la sicurezza dei siti web
Secondo uno studio effettuato dal CERT- PA Computer Emergency Response Team Pubblica Amministrazione nel mese di novembre 2018, questi sono alcuni consigli che sarebbe opportuno seguire per prevenire gli attacchi informatici. Innanzitutto bisogna avere chiaro che cosa si intende per website security. Per website security si intende la protezione di siti web aziendali e personali da eventuali attacchi cyber. Seconda cosa bisogna analizzare le motivazioni che inducono i cyber criminali ad attaccare i siti web.I criminali informatici che commettono queste attività illecite sono spinti soprattutto da interessi finanziari, legati alla vendita su mercati neri dei dati personali, brevetti e in generale prodotti coperti dai diritti di proprietà intellettuale. Oltre al furto di dati, gli attaccanti utilizzano anche riscatti ransomware o il mining di criptovalute per remunerare le loro attività. Una percentuale molto minore degli attacchi, invece, segue ragioni ideologiche, ad esempio gli attacchi sferrati dal gruppo Anonymous e dai vari collettivi che manifestano attivamente il loro dissenso adoperandosi per colpire obiettivi concordati (hacktivismo).
Terza cosa dobbiamo analizzare quali sono i rischi se non gestiamo in maniera adeguata e compliance la sicurezza dei nostri siti web. I cyber attacchi ai danni di siti web pubblici e privati sono molto comuni e possono comportare:
- Defacement di una o più pagine web (o parti di esse). Il defacement è sicuramente uno degli attacchi più diffusi e impatta direttamente sull’immagine di un’organizzazione e sulla sua visibilità: un evento del genere può infatti interrompere potenzialmente un servizio pubblico (ad es. nel caso di deface della home page), creando così anche un danno di immagine.
- Negazione del servizio (attacco dos). Il dos è sicuramente uno degli attacchi più importanti perché comporta l’interruzione di uno o più servizi presenti sul portale web. Come per il defacement, anche il dos può creare un danno alla reputazione impattando sull’immagine dell’organizzazione.
- Sottrazione di dati personali e/o sensibili da parte di criminali (data breach). Uno scenario di attacco più grave riguarda la sottrazione di dati personali e/o sensibili. Questa minaccia incide su tutti gli aspetti di sicurezza (riservatezza, integrità e disponibilità) e può seriamente danneggiare la reputazione del sito web e del suo proprietario, oltre al danno causato agli utenti eventualmente registrati sul sito.
- Controllo del sito web attaccato. Ancora più pericolosi sono gli attacchi meno evidenti e che potrebbero non essere rilevati immediatamente dal proprietario del sito, nè dagli utenti. In questi casi, l’attaccante potrebbe raccogliere una maggiore quantità di informazioni (credenziali, informazioni personali e amministrative, vulnerabilità tecniche ecc.) che potrebbero permettergli di sfruttare l’infrastruttura del server web compromesso come una piattaforma per lanciare attacchi verso altri sistemi o semplicemente come deposito momentaneo per contenere e veicolare malware.
La protezione dei siti web dagli attacchi cyber
Gli utenti e le organizzazioni possono proteggere i loro siti web applicando le seguenti best practices:
- Adotta il principio del minimo privilegio. Assicurarsi che tutti gli utenti (compresi quelli di servizio) dispongano della minima quantità di privilegi necessari sul server web.
- Utilizza l’autenticazione a più fattori. Ove possibile e necessario è bene implementare tale autenticazione per gli accessi alle applicazioni web e all’infrastruttura del sito web sottostante.
- Modifica la username e la password di default configurate dal vendor. Le credenziali di default del vendor non sono sicure in quanto possono essere reperite facilmente su Internet.
- Disabilita gli account non necessari. Disabilitare gli account non necessari come i guest accounts o quelli non più utilizzati.
- Utilizza una checklist per la gestione della sicurezza. Controllare le configurazioni attraverso l’uso di checklist specifiche per ogni applicazione (ad es. Apache, mysql) del sistema.
- Definisci una lista delle applicazioni autorizzate. Utilizzare una whitelist delle applicazioni autorizzate e disattivare moduli o funzionalità non necessarie alle esigenze dell’organizzazione.
- Implementa meccanismi di segmentazione e di segregazione della rete. La segmentazione e la segregazione riducono la probabilità di uno spostamento laterale di un attaccante all’interno della rete. Per esempio, posizionando il server web in una zona demilitarizzata (DMZ) ben configurata, si limita il tipo di traffico di rete consentito tra i sistemi nella DMZ e i sistemi nella rete locale aziendale.
- Definisci gli asset. Per proteggere gli assets è necessario innanzitutto definirli e sapere dove si trovano. Ad esempio se alcuni dati non devono essere necessariamente presenti sul server web, è bene rimuoverli per prevenire il rischio che un utente possa utilizzare tali informazioni per attività malevoli.
- Proteggi gli asset sul server web. Proteggi le risorse sul server web attraverso più livelli di difesa (ad es. attraverso l’accesso utente limitato o la crittografia).
- Pratica una “cyber hygiene” efficace: per “cyber hygiene” si intende una serie di semplici principi che ogni organizzazione dovrebbe tenere in considerazione e implementare quotidianamente:
- Applicare le patch ai sistemi su tutti i livelli, dalle applicazioni (web e non) ai sistemi operativi e gli hypervisor,
- Eseguire le routine di backup e i test di backup in modo da essere pronti in caso di attacchi, problemi di varia natura o disaster recovery,
- Configurare i file di log in modalità estesa e memorizzarli all’interno di un server di log centralizzato.
- Schedula attività periodiche di Vulnerability Scan: Servirà ad acquisire consapevolezza del livello di esposizione dei propri sistemi ad attacchi provenienti dall’esterno o dalla rete interna. Di conseguenza sarà possibile pianificare attività atte a risolvere o mitigare le eventuali problematiche riscontrate.
- Valida tutti gli input degli utenti. I campi di input sono spesso manipolabili dagli utenti, con caratteri speciali o null, e dovrebbe essere verificato sia lato client sia lato server che il contenuto del campo sia quello che ci si aspetti. Questa attività diventa fondamentale soprattutto quando l’input utente è incapsulato all’interno di script o query.
- Aumenta la disponibilità delle risorse. Configura la cache del sito web in modo che riesca a ottimizzare la disponibilità delle risorse e a sopportare la quantità di traffico generata da un eventuale attacco dos.
- Implementa protezioni contro attacchi di tipo cross-site scripting (xss) e cross-site request forgery (csrf). Specifiche indicazioni sono disponibili da OWASP, un progetto open-source per la sicurezza delle applicazioni, alle rispettive pagine XSS e CSRF.
- Implementa una policy per sicurezza dei contenuti (CSP). L’implementazione di un CSP riduce la possibilità che un utente malintenzionato carichi ed esegua script javascript malevoli sul computer dell’utente finale.
- Controlla il codice di terze parti. Controlla i servizi di terze parti (ad es. ads, analytics ecc) per evitare che eventuale codice non previsto venga consegnato all’utente finale.
- Implementare protocolli sicuri, come hypertext transfer protocol secure (HTTPS) e HTTP strict transport security (HSTS). Il protocollo HTTPS assicura che le comunicazioni tra il server web e il client siano criptate. Quindi, anche al fine di proteggere la privacy dei visitatori, si consiglia di utilizzare sempre l’HTTPS e HSTS quando è possibile.
- Eseguire scansioni ed analisi di sicurezza statiche e dinamiche sul codice del sito e sul sistema.
- Utilizzare web application firewall (WAF).
- Adottare tecniche di load balancing e di resilienza contro i picchi di traffico web.
Conclusioni
Secondo questo studio, il CERT-PA ha fornito statistiche di massima sullo stato di aggiornamento dei principali CMS in uso dalle amministrazioni Comunali. Dalle statistiche è emerso che i software, nello specifico i content management system (CMS), non vengono aggiornati con regolare frequenza. Il mancato aggiornamento dei software e dei plug-in presenti sul sito espone, nel tempo, i sistemi ad attacchi di ogni tipo con conseguenti danni economici che possono essere rappresentati da spese accessorie non preventivate come quelle legate alla gestione di un incidente, o quelli di immagine dovuti ad esempio all’indisponibilità del sito web, alla diffusione di malware, ad accessi abusivi o all’esposizione di dati contenuti.
Inoltre, il CERT-PA rammenta l’importanza di effettuare aggiornamenti periodici del software oltre all’uso di un protocollo internet in grado di garantire connessioni protette (SSL). È buona norma pertanto che tali accorgimenti siano espressamente dichiarati, come requisito di progetto, ad esempio nei contratti di realizzazione e manutenzione dei siti web definiti tra il committente e la parte fornitrice del servizio.