Diverse vulnerabilità note, ma ancora non corrette, rappresentano rischi significativi per le organizzazioni. Nonostante l’utilizzo di strumenti e tecnologie difensive per mitigare tali rischi, le organizzazioni continuano a utilizzare software che contengono potenziali vulnerabilità. Ciò lascia i sistemi esposti a un rischio costante, poiché una volta che una vulnerabilità diventa pubblica, solitamente compare un collegamento o un codice malevolo per sfruttarla entro 48 ore.
Tra i sistemi IT che i criminali informatici attaccano e compromettono con successo, la maggior parte esegue software che contiene vulnerabilità sfruttabili. E, sebbene esistano una moltitudine di strumenti e tecnologie difensive per aiutare a rilevare e fermare gli attacchi informatici, nessuno di essi risolve la debolezza sottostante del codice vulnerabile che mette dispositivi e sistemi a rischio continuo.
Il National Vulnerability Database ha recentemente segnalato 22.000 nuove vulnerabilità. Il problema principale è il tempo necessario all’organizzazione (quasi 60,3 giorni) per risolvere una singola vulnerabilità. Ciò significa che gli attaccanti hanno 60 giorni per sfruttare la vulnerabilità prima che venga corretta.
Purtroppo, molte vulnerabilità non vengono mai corrette. Nell’incidente di Equifax, ad esempio, gli attaccanti sono entrati attraverso una falla nota ma non corretta. Molte varianti di malware e ransomware attuali sfruttano CVE (Common Vulnerabilities and Exposures) che sono presenti da cinque anni o più.
Pertanto, è essenziale applicare una micropatch alla vulnerabilità non appena viene rilevata. La Micropatching si configura finora come la soluzione pratica! Ma che cosa sono esattamente le micropatches?
Questo articolo ti guiderà nella comprensione di cosa sia una micropatch, il motivo per cui viene chiamata così, come funziona e le differenze fondamentali. Ma prima, diamo uno sguardo alle patch.
Il mondo delle patches: aggiornamenti cruciali per la sicurezza del software
Le patches rappresentano gli aggiornamenti essenziali del sistema operativo (OS) e del software, progettati per correggere le vulnerabilità di sicurezza presenti in un prodotto o programma. Questi aggiornamenti sono rilasciati dai fornitori di software con l’obiettivo di affrontare i bug di prestazione e fornire nuove funzionalità di sicurezza migliorata all’interno del rispettivo programma o prodotto.
L’applicazione delle patches avviene tramite l’intervento di programmatori utilizzando debugger o strumenti di editing, oppure è gestita attraverso un controllo programmato. Tali correzioni vengono apportate ai file del programma, alla memoria del computer o ai dispositivi di archiviazione. Una volta applicate, le patches possono assumere la forma di interventi temporanei o permanenti, fino a quando non vengono nuovamente applicate.
Esistono tre categorie principali di patches:
- Security patches: queste patches sono progettate per affrontare le vulnerabilità di sicurezza presenti nel software, migliorandone la sicurezza complessiva.
- Bug fixes patches: queste patches vengono impiegate per proteggere il software da eventuali crash, correggendo i problemi che ne comprometterebbero il corretto funzionamento.
- Feature patches: queste patches vengono applicate per introdurre nuove funzionalità nel software, arricchendone le capacità e adattandolo alle esigenze in continua evoluzione degli utenti.
Le sfide della gestione delle patch: analisi delle cause e impatti
La gestione delle patch presenta diverse sfide, spesso caratterizzate da ritardi significativi o, in alcuni casi, dalla totale assenza di correzioni. Inizialmente, gli utenti devono attendere che i fornitori analizzino e risolvano le vulnerabilità, distribuendo successivamente una versione aggiornata del software. Nonostante gli aggiornamenti automatici e semiautomatici offerti da aziende quali Microsoft, Apple, Adobe e Google contribuiscano notevolmente a mantenere aggiornati numerosi programmi comuni, tali processi comportano frequentemente riavvii di sistema, una pratica scomoda o addirittura impraticabile per alcune aziende. Inoltre, le imprese devono sottoporre gli aggiornamenti a test rigorosi prima di poterli implementare nei sistemi di produzione, un procedimento complesso e ingombrante che può richiedere settimane o addirittura mesi.
Un’altra ragione significativa per la mancata applicazione delle patch è la priorità data da individui e aziende alla produttività rispetto alla sicurezza. Gli utenti spesso esitano a chiudere programmi in esecuzione per riavviare e applicare gli aggiornamenti software, sia per volontà che per impossibilità, soprattutto quando si tratta di applicazioni aziendali critiche per la missione.
Secondo il rapporto “The State of Security 2022” di Splunk, il 44% delle organizzazioni intervistate ha subito interruzioni dei processi aziendali a causa di violazioni della sicurezza, e il 44% ha registrato la perdita di dati riservati. Entrambi i dati sono in netto aumento rispetto all’anno precedente. Il costo e le conseguenze di una violazione della sicurezza superano sicuramente quelli legati all’installazione di patch di sicurezza critiche. Tuttavia, la maggioranza degli utenti IT continua a privilegiare la produttività rispetto alla sicurezza, conferendo agli attaccanti un vantaggio evidente e sottolineando l’urgente necessità di adottare un approccio diverso nella correzione delle vulnerabilità.
Cos’è una micropatch? Perché si chiama micropatch?
Il Micropatching è l’impiego di un frammento di codice per correggere una singola vulnerabilità senza richiedere riavvii, tempi di inattività o interruzioni per un sistema. Il micro-patch/codice è di dimensioni ridotte e contiene informazioni sull’applicazione vulnerabile, la posizione di iniezione della patch, la patch stessa e il codice corrispondente. Queste micropatch sono solitamente fornite da un fornitore terzo.
Il Micropatching rappresenta una soluzione più sicura e facile da utilizzare per proteggere le aziende dagli attacchi informatici. Ogni micropatch è progettato specificamente per affrontare vulnerabilità individuali, riducendo al minimo le possibilità di lasciare falle per gli attaccanti e, di conseguenza, diminuendo il rischio di accesso non autorizzato a dati/informazioni sensibili e le perdite inevitabili.
Il motivo per cui si denomina micropatch risiede nella sua natura di piccola correzione dedicata esclusivamente a una specifica vulnerabilità di sicurezza selezionata. Poiché tali patch non provengono dal fornitore originale del software, bensì da terze parti e sono elaborate in modo complesso, l’attenzione è principalmente concentrata sulla risoluzione delle vulnerabilità critiche.
Il Micropatching: una soluzione rapida per le vulnerabilità software
Il Micropatching rappresenta un’alternativa al tradizionale processo di correzione delle vulnerabilità mediante l’implementazione di patch. Questa scelta è motivata dalla necessità di affrontare due problemi rilevanti:
- Lentezza dei fornitori di software: i fornitori impiegano un tempo eccessivo, pari a 60,3 giorni, per fornire una correzione attraverso una patch in risposta a una vulnerabilità.
- Assenza di patch di sicurezza: attualmente, i fornitori di software non forniscono patch di sicurezza, e le organizzazioni richiedono una soluzione più sicura e affidabile. Il Micropatching risolve tali problematiche intervenendo sulla vulnerabilità immediatamente al suo rilevamento, con i fornitori di terze parti sempre pronti a implementare micropatch per potenziare la sicurezza dei processi e dei prodotti.
Patching vs Micropatching: un confronto dettagliato
Patching e Micropatching condividono l’obiettivo di correggere difetti o vulnerabilità identificate dopo il rilascio di un software o prodotto. Entrambi, le patch tradizionali e le micropatch, mirano a risolvere problemi di sicurezza, bug o vulnerabilità, apportando miglioramenti alle applicazioni con l’introduzione di nuove funzionalità. Tuttavia, le modalità con cui affrontano la correzione delle vulnerabilità differiscono significativamente.
Patching
Nel processo di patching, vengono sostituiti i file eseguibili, di solito con estensioni come *.ocx, *.dll, *.exe, con nuovi file eseguibili sul disco rigido. Entrambi i codici, sia quello vecchio che quello nuovo, sono compilati dal codice sorgente del fornitore di software, che ne attesta anche la firma.
Micropatching
A differenza del patching tradizionale, il Micropatching segue un percorso diverso. Le micropatch provengono da fornitori terzi che non hanno accesso alla chiave privata o al codice sorgente del produttore. Qui, il fornitore esegue una manovra di inganno, caricando l’eseguibile nella memoria principale ad ogni avvio. Successivamente, un agente automatico carica il file e applica la patch prima dell’esecuzione del codice binario, con la verifica della firma.
Confronto a raffronto: Patching tradizionale vs Micropatching
Patching | Micropatching |
La solita procedura di patching è seguita | I fornitori eseguono una manovra di inganno |
Sostituiscono i file eseguibili (di solito *.ocx, *.dll, *.exe) | L’agente automatico carica il file e lo patcha prima dell’esecuzione del codice binario |
Forniti dai produttori di software | Forniti da fornitori terzi |
I vecchi e nuovi codici sono compilati dal codice sorgente | Nessun accesso al codice sorgente del produttore |
Richiedono tempi di inattività | Non richiedono tempi di inattività |
Questo confronto dettagliato evidenzia le differenze cruciali tra le due metodologie, offrendo una panoramica chiara delle caratteristiche distintive del Patching e del Micropatching.
Come funziona il Micropatching
Il Micropatching offre un approccio unico nella risoluzione delle vulnerabilità software, distinguendosi dal consueto percorso di modifica e compilazione del codice sorgente e sostituzione del file eseguibile. I fornitori di terze parti, privi di conoscenza del codice sorgente, adottano un processo ingannevole dove il tempismo svolge un ruolo fondamentale. Un agente automatico entra in azione ogni volta che un eseguibile viene caricato nella memoria principale. Questo agente automatico carica il file al momento giusto, applicando la patch dopo la verifica della firma e l’esecuzione del codice binario.
Il micropatch è progettato per apportare le necessarie modifiche all’eseguibile in modo preciso, anche in assenza di conoscenze sul codice sorgente del produttore del software. Le modifiche richieste derivano dall’analisi delle variazioni nelle versioni più recenti del programma o attraverso un processo di reverse engineering, che consente lo sviluppo indipendente delle modifiche. Ad esempio, se una specifica patch risolve una vulnerabilità o introduce modifiche in una versione più recente del software, i fornitori di micropatch conducono esperimenti per verificare l’efficacia di tali modifiche nella versione precedente, non più supportata, del software.
Il Micropatching rappresenta una soluzione innovativa per abbreviare il tempo necessario all’applicazione di patch, impiegando brevi frammenti di codice per correggere singole vulnerabilità, senza richiedere il riavvio del sistema. Questo approccio, analogo a un hotfix o a un aggiornamento di Microsoft Quick Fix Engineering, viene implementato su un sistema “live” senza causare interruzioni o downtime del servizio.
A differenza degli aggiornamenti hotfix tradizionali, che spesso risolvono una varietà di problemi e possono introdurre nuove funzionalità, le micropatch mirano a risolvere un singolo problema con il minor numero possibile di linee di codice. L’obiettivo è minimizzare gli effetti collaterali che potrebbero compromettere la funzionalità di base del sistema. La micropatch stessa può pertanto essere di dimensioni ridotte e comprendere dati chiari relativi a:
- La patch
- L’applicazione vulnerabile
- La posizione per l’iniezione della patch
- Il codice della patch
Attualmente, le micropatch sono prevalentemente fornite da terze parti, offrendo un’alternativa agile alle soluzioni fornite direttamente dai produttori originali del software.
Il ruolo cruciale del Micropatching nella sicurezza informatica
Con l’aumento degli attacchi informatici, diventa sempre più essenziale proteggere e aggiornare i nostri prodotti e software. Circa il 60% delle aziende colpite da attacchi informatici o violazioni dei dati ha subito danni a causa di una vulnerabilità non corretta tempestivamente.
Vantaggi del Micropatching
Il Micropatching offre una serie di vantaggi chiave che contribuiscono a potenziare la sicurezza informatica e ridurre il divario degli aggiornamenti. Ecco i principali vantaggi di questa innovativa pratica:
- Velocità efficienti: i micropatch vengono distribuiti rapidamente, richiedendo meno tempo per testare l’interferenza con la funzionalità di base. Questo mantiene il software protetto da possibili minacce future alla funzionalità. La rapida applicazione e rimozione dei micropatch, localmente o a distanza, semplifica i test del prodotto.
- Semplicità nella gestione: la facilità con cui le micropatch possono essere applicate e rimosse, sia localmente che a distanza, semplifica notevolmente i processi di testing in produzione. La flessibilità operativa è un valore aggiunto.
- Uptime continuo: i micropatch non interferiscono con i file in esecuzione e non richiedono interruzioni. L’applicazione del micropatch, nota come “function hooking”, corregge la vulnerabilità senza richiedere il riavvio del software o del sistema, garantendo che i sistemi critici e gli utenti possano continuare a lavorare senza interruzioni.
- Sicurezza per software obsoleti: il Micropatching si dimostra utile anche per rendere sicuri prodotti legacy, fuori produzione e non più supportati, come Office 2010, Java Runtime Environment, Windows 7 e Server 2008 R2. Questa capacità è particolarmente preziosa quando i fornitori originali non forniscono più supporto.
- Correzione delle Vulnerabilità Zero-Day: gli attaccanti sono costantemente alla ricerca di nuove vulnerabilità, specialmente le Zero-Day, che possono causare danni significativi. Il Micropatching risolve questo problema agendo tempestivamente su queste vulnerabilità non appena vengono rilevate, mantenendo completamente protetti i sistemi.
Complessivamente, il Micropatching, con la sua combinazione di velocità, facilità e non invasività, emerge come una strategia efficace nel ridurre il divario degli aggiornamenti di sicurezza. Ciò contribuisce a ostacolare gli hacker nell’utilizzo di vettori di attacco comuni, come buffer overflow e iniezione di librerie dinamiche.
Sfide e limitazioni del Micropatching nell’ambito della sicurezza informatica
Il Micropatching, pur presentando vantaggi significativi, si confronta con diverse sfide e limitazioni che ne condizionano l’applicazione e l’efficacia.
Al momento, il Micropatching mostra delle limitazioni nella risoluzione di falle logiche nel design di un’applicazione o vulnerabilità nel codice scriptato, come PHP e Python, in quanto il codice viene interpretato solo durante l’esecuzione.
Inoltre, benché il Micropatching consenta ai fornitori e agli sviluppatori di distribuire rapidamente correzioni di bug agli utenti, le squadre di sicurezza devono essere in grado di validare l’affidabilità di una patch prima di implementarla. Mentre le patch ufficiali dei fornitori tradizionali provengono da server affidabili e sicuri, in assenza di un’infrastruttura altrettanto affidabile, sorge l’incertezza su micropatch da fornitori terzi, che potrebbero potenzialmente introdurre codice maligno o aprire accessi a API e dati sensibili.
Da considerare, inoltre, è il fatto che molti fornitori di software attualmente considerano il Micropatching come un intervento non autorizzato al di fuori delle procedure standard di patching, portando a possibili violazioni dei termini e delle condizioni di licenza.
La migliore soluzione di Micropatching con 0patch
0patch è un leader nel fornire micropatch e offre la soluzione più avanzata per il Micropatching, risolvendo la maggior parte delle vulnerabilità software. I micropatch di 0patch sono progettati per essere applicati su computer e dispositivi globali, compresi quelli con codice sorgente chiuso.
Come funziona il Micropatching di 0patch?
0patch ha rivoluzionato la correzione software per ottenere risultati ottimali. Le loro macchine di correzione monitorano costantemente tutti i processi in esecuzione sul computer. Quando individuano la presenza di un micropatch per uno dei processi, lo applicano immediatamente in memoria senza disturbare il processo in corso.
La peculiarità della soluzione di Micropatching di 0patch è che non sostituisce o modifica i file eseguibili, ma li corregge direttamente in memoria. Pertanto, non è necessario riavviare il sistema durante l’applicazione dei micropatch ai processi.
Come 0patch cerca nuovi micropatch?
Il server di 0patch è sempre attivo e controlla costantemente la disponibilità di nuovi micropatch. Se viene identificato un nuovo micropatch, l’agente lo scarica immediatamente e lo applica al processo senza alcun ritardo. I micropatch sono disponibili anche per i prodotti vulnerabili su computer non connessi a Internet in quel momento.
Perché scegliere 0patch?
Ci sono diverse ragioni che giustificano la scelta di 0patch come la migliore soluzione per il Micropatching:
- Le soluzioni di 0patch (micropatch) sono leggere e facili da applicare.
- Il tempo di distribuzione del micropatch è breve, ridotto a poche ore.
- La revisione dei piccoli micropatch è economica.
- I micropatch vengono applicati e rimossi istantaneamente, semplificando i test di produzione.
- 0patch garantisce che i sistemi non necessitino di downtime o riavvii durante il Micropatching, assicurando la sicurezza continua della produzione.
- Il patch virtuale del software di 0patch è impercettibile.
Fattori considerati da 0patch per la valutazione del rischio dei micropatch delle vulnerabilità
0patch tiene conto di diversi fattori nella valutazione dei rischi legati alle vulnerabilità di Micropatching, tra cui:
- La disponibilità di un exploit di prova del concetto su Internet.
- Se la vulnerabilità è già stata sfruttata.
- Se la vulnerabilità è di tipo RCE con uno scenario di attacco realistico.
- La disponibilità di un patch del fornitore per la vulnerabilità o la sua costosità.
- Problemi funzionali con le applicazioni ufficiali dei patch del fornitore.
- Se il prodotto con la vulnerabilità è di nicchia, aumentando il rischio di attacchi mirati.
- La possibilità di micropatch per la vulnerabilità, escludendo quelli nei codici scriptati o nel kernel di Windows.
0patch: guida alla rivoluzione della sicurezza con il Micropatching
In un’epoca di trasformazione nelle pratiche di sicurezza informatica, il Micropatching emerge come un paradigma innovativo. Aziende come Acros Security, con la loro piattaforma 0patch, stanno ridefinendo la sicurezza come servizio, adottando un approccio pionieristico nel fornire micropatch specifici per determinati sistemi operativi. Attraverso il monitoraggio costante delle vulnerabilità e il rilascio tempestivo di micropatch, 0patch offre un nuovo standard di reattività e flessibilità nella gestione delle patch.
I dispositivi iscritti a questo servizio godono della capacità di scaricare automaticamente nuovi micropatch non appena sono disponibili. Una bacheca di gestione intuitiva offre una visione completa di tutti i dispositivi associati, permettendo agli amministratori di decidere se applicare automaticamente una patch su tutti i dispositivi o solo su gruppi selezionati. Questo approccio innovativo consente anche di attendere e avviare manualmente l’installazione dopo test accurati sui micropatch.
Il Micropatching rappresenta una pietra miliare nell’evoluzione della gestione delle patch, offrendo un nuovo livello di flessibilità e reattività per garantire la sicurezza dei sistemi in un ambiente in costante cambiamento. In un panorama sempre più complesso, il Micropatching si configura come una soluzione rivoluzionaria per ridurre il divario degli aggiornamenti di sicurezza, agendo prima che le aziende rilascino ufficialmente le proprie patch.
Mentre il Micropatching potrebbe non essere ancora diffuso su larga scala, i leader del settore, come evidenziato dal programma Assured Micropatching (AMP) della Defense Advanced Research Projects Agency (DARPA), stanno seriamente considerando questa tecnologia. In collaborazione con rinomati ricercatori, AMP mira a supportare l’applicazione rapida di patch per binari legacy nei sistemi critici per la missione.
L’obiettivo finale è sviluppare un ecosistema affidabile e sicuro per la creazione di micropatch per tutti i principali sistemi operativi e prodotti software. Questo potrebbe rendere la gestione delle patch più rapida e semplice, sfidando significativamente le attività malevole dei criminali informatici.