Punti chiave
- Che cos’è l’RCE: L’RCE è un attacco informatico in cui soggetti malintenzionati eseguono da remoto codice dannoso sull’infrastruttura IT della vittima, senza bisogno di un accesso preventivo al sistema preso di mira.
- Vulnerabilità sfruttate tramite RCE: Gli autori degli attacchi sfruttano solitamente vulnerabilità legate all’iniezione di codice, buffer overflow, deserializzazione non sicura e funzionalità di caricamento dei file non sicure per ottenere l’esecuzione non autorizzata di codice sui sistemi in rete.
- Rischi e conseguenze degli attacchi RCE: Una volta all’interno della rete, l’RCE consente la diffusione di ransomware, la raccolta di credenziali, il furto di dati sensibili e la distruzione a livello di sistema senza richiedere alcun accesso fisico.
- Protezione dagli attacchi RCE: Per proteggersi dall’RCE è necessario applicare regolarmente le patch al software, implementare soluzioni EDR e firewall, eseguire test di penetrazione e utilizzare strumenti di analisi del codice statica e dinamica.
- Risposta all’attacco RCE: Contieni immediatamente la violazione, valuta i danni, rimuove il malware, annulla le modifiche non autorizzate, ripristina il sistema da backup integri e applica la patch alla vulnerabilità sfruttata per impedire il ripetersi dell’incidente.
L’esecuzione di codice remoto (RCE) avviene quando un aggressore esegue codice dannoso sull’infrastruttura IT. Lo scopo di una RCE è quello di infiltrarsi nella tua rete, rubare informazioni o danneggiare, estorcere o rubare in altro modo a te o alla tua azienda. Per questo motivo, è fondamentale proteggere i computer e la rete dagli attacchi RCE.
Questo articolo spiega cos’è l’esecuzione di codice remoto e l’impatto dell’RCE sulla tua azienda. Spiega inoltre i meccanismi utilizzati per l’exploit dell’infrastruttura, i rischi potenziali e le strategie di prevenzione RCE da implementare.
Dai un’occhiata a “Che cos’è l’esecuzione di codice remoto (RCE)?” Guarda questa breve guida video.
Individua e correggi il software non aggiornato che presenta vulnerabilità RCE note.
Che cos’è l’esecuzione di codice remoto (RCE)?
Il termine RCE si riferisce agli attacchi effettuati da remoto tramite codice dannoso che si infiltra nell’infrastruttura IT. Il concetto chiave alla base dell’RCE è che, a differenza degli attacchi di esecuzione locale del codice (LCE), in cui l’autore dell’attacco dispone già di un certo livello di privilegi utente sul sistema, per un exploit di tipo RCE non è richiesto alcun livello di accesso preesistente.
Nota: Sia gli attacchi di esecuzione di codice RCE che quelli LCE sono noti come esecuzione di codice arbitrario (ACE).
Come funzionano gli attacchi di esecuzione di codice remoto (RCE)
Gli attacchi RCE sfruttano le vulnerabilità presenti nell’infrastruttura di rete, nei sistemi informatici o nelle applicazioni web per eseguire codice dannoso sui dispositivi collegati alla rete. Una volta individuata una vulnerabilità che consente l’esecuzione di codice da remoto, questa può essere sfruttata per compiere azioni dannose ed esporre ulteriormente la rete ad attacchi alla sicurezza informatica.
Tipi di vulnerabilità che l’RCE può sfruttare
Esistono diverse vulnerabilità che gli autori di attacchi RCE sfruttano comunemente per portare a termine con successo un attacco RCE alla tua infrastruttura:
- Attacchi basati su vulnerabilità di tipo “injection”: Conosciuto anche come “command injection” e “code injection”, questo attacco può portare all’esecuzione remota di codice quando gli input non vengono adeguatamente filtrati (per esempio, quando gli input provenienti da moduli web vengono utilizzati per eseguire comandi shell o istruzioni SQL).
- Buffer overflow or out-of-bounds write: Un buffer overflow si verifica quando vengono scritti più dati in un buffer (una posizione nella memoria del computer per la memorizzazione di dati temporanei) di quanti ne possa contenere, causando la sovrascrittura dei dati esistenti dell’applicazione in esecuzione. Se questi nuovi dati includono codice dannoso, possono essere eseguiti dal sistema remoto.
- Deserializzazione: La serializzazione/deserializzazione è il processo di conversione dei dati in stringhe di caratteri per la trasmissione. Se i dati passati al programma che esegue la deserializzazione contengono codice dannoso, il programma può eseguirlo se non prevede una corretta convalida o sanitizzazione.
- Gestione dei file: Alcune applicazioni web consentono agli utenti di caricare file su un server. Gli attaccanti potrebbero accedere a questo server e caricare file dannosi che l’applicazione potrebbe eseguire.
- Iniezione di comandi e codice: L’iniezione di comandi e codice può portare all’esecuzione di codice in remoto quando l’input non è adeguatamente sanificato (per esempio l’input da moduli Web utilizzato per eseguire comandi shell o istruzioni SQL).
Qualsiasi software connesso alla rete è vulnerabile all’RCE, per questo è importante implementare solide misure di sicurezza IT per proteggere se stessi e la propria organizzazione da incidenti di cybersecurity.
In che modo gli attaccanti possono sfruttare l’RCE
L’RCE consente agli attaccanti di potenziare ulteriormente le minacce informatiche più comuni. Tra i modi in cui gli autori degli attacchi possono sfruttare l’RCE per rendere gli attacchi informatici più pericolosi figurano:
- Accesso remoto non autorizzato: L’RCE consente agli aggressori di ottenere un primo punto d’accesso all’interno di una rete aziendale. Una volta entrati, possono ampliare il proprio raggio d’azione da remoto. Per esempio, possono ottenere le credenziali di accesso per infiltrarsi nei sistemi interni tramite una VPN o altri punti di accesso.
- Distribuzione del malware: Sebbene le vulnerabilità RCE consentano l’esecuzione di codice, l’ambito di ciò che può essere eseguito è spesso limitato. Per aggirare queste limitazioni, i criminali informatici ricorrono spesso all’RCE come meccanismo di diffusione per payload più sofisticati e distruttivi (come l’installazione diretta di ransomware su un sistema compromesso).
- Furto di dati: Eseguendo comandi all’interno di un’applicazione vulnerabile, gli aggressori possono ottenere accesso non autorizzato a file system, database e altri archivi contenenti informazioni sensibili relative all’azienda e ai clienti.
- Distruzione dei dati: L’RCE può concedere agli aggressori lo stesso livello di accesso al sistema di un utente legittimo, consentendo loro di cancellare file, eseguire comandi terminali distruttivi o impartire istruzioni al database che cancellano definitivamente record critici.
- Attacchi Denial-of-Service (DoS): Le vulnerabilità “Out-of-bounds write” possono essere sfruttate per sovrascrivere codice essenziale, causando il crash delle applicazioni. Più in generale, l’RCE può essere utilizzato per terminare forzatamente i processi o cancellare dati fondamentali per l’attività, interrompendo o disabilitando di fatto le operazioni aziendali.
Strategie di rilevamento e prevenzione delle vulnerabilità RCE
Per proteggere efficacemente l’infrastruttura IT e i dati e garantire la continuità aziendale, dovresti adottare misure attive per proteggerti dagli attacchi RCE, come l’implementazione di un sistema di rilevamento e risposta degli endpoint (EDR) e di protezioni a livello di rete, come i firewall, per impedire a un aggressore di ottenere ulteriore accesso in caso di exploit RCE riuscito.
Dovresti inoltre verificare regolarmente le tue potenziali vulnerabilità di cybersecurity e assicurarti che il tuo software sia sempre aggiornato, in modo da proteggerti dagli exploit RCE noti nel software su cui fai affidamento. Se utilizzai software legacy o non aggiornato, dovrest assicurarti che il suo accesso alla rete sia limitato, in modo che non possa essere utilizzato per entrare nei tuoi sistemi. Dovresti anche implementare una soluzione di monitoraggio della rete che avvisi il tuo team IT di qualsiasi attività sospetta, e che ti aiuti così a proteggerti dagli attacchi zero-day.
Se sviluppi i tuoi software internamente, dovresti controllare regolarmente il codice e le sue dipendenze per verificare la presenza di vulnerabilità RCE. Gli strumenti di analisi statica del codice possono aiutarti a individuare i problemi dei tuoi software identificando il codice potenzialmente non sicuro (per esempio le funzioni che consentono di passare alla shell codice non sanificato). Gli strumenti di analisi dinamica possono essere utilizzati invece per esaminare le applicazioni compilate ed in esecuzione per identificare le vulnerabilità che l’analisi statica potrebbe non notare.
I test di penetrazione dovrebbero essere eseguiti regolarmente per simulare gli attacchi e scoprire le vulnerabilità potenzialmente sfruttabili per l’esecuzione di codice remoto e altri punti deboli della sicurezza informatica, nonché per garantire che le soluzioni di monitoraggio e logging in uso siano in grado di rilevare un attacco in corso.
Rischi e impatto potenziali dell’RCE
L’esecuzione di codice remoto non richiede l’accesso fisico e, senza un adeguato monitoraggio e misure di sicurezza, può passare inosservata. I rischi di un attacco RCE riuscito all’infrastruttura IT aziendale includono:
- Infiltrazioni più profonde nei tuoi sistemi: Una volta stabilito un punto di entrata, i malintenzionati possono accedere in modo più profondo ai tuoi sistemi. Per esempio, un server Web pubblico compromesso può essere utilizzato per ottenere l’accesso alle risorse IT interne a cui si connette, anche se tali risorse sono protette da firewall e non accessibili al pubblico.
- Accesso a dati sensibili o protetti: Le informazioni commerciali proprietarie e i dati elaborati e memorizzati relativi ai tuoi utenti, comprese le informazioni di identificazione personale (PII), possono essere incredibilmente preziose per gli aggressori e possono essere utilizzate per chiedere un riscatto alla tua azienda o ai tuoi clienti. Le fughe di informazioni personali danneggiano la reputazione dell’azienda e possono comportare conseguenze legali ai sensi delle leggi sulla privacy come GDPR e CCPA.
- Distribuzione di malware (compresi rootkit): Una volta che il codice può essere eseguito con successo su un sistema remoto, può essere utilizzato per installare malware, tra cui rootkit per mantenere l’accesso persistente e backdoor, trojan per l’esfiltrazione dei dati e ransomware che negano l’accesso ai file (e possono persino rivelarne pubblicamente il contenuto) a meno che non si paghi un riscatto all’attaccante.
L’interruzione causata dagli attacchi di cybersecurity può essere dannosa per la sopravvivenza di un’azienda. La perdita di dati operativi o l’esposizione a responsabilità per l’uso improprio di dati regolamentati ha portato molte aziende a dover chiudere i battenti.
Esempi reali di attacchi RCE
Esistono diversi esempi significativi di ciò che può accadere se un’azienda non adotta misure adeguate per proteggersi dalle minacce informatiche. La violazione dei dati di Equifax avvenuta nel 2017 è stata causata da un exploit RCE (Remote Code Execution) nel framework web Apache Struts, che ha portato alla compromissione dei dati personali di oltre 140 milioni di persone. Ciò ha comportato 1,4 miliardi di dollari di costi per Equifax, il declassamento del rating finanziario dell’azienda e un accordo da 1,38 miliardi di dollari con gli utenti colpiti.
Nel 2021, diversi exploit zero-day hanno consentito l’esecuzione di codice remoto in Exchange Server di Microsoft, permettendo agli hacker di rubare dati e installare backdoor nei sistemi. Ciò ha provocato migliaia di violazioni di dati in tutto il mondo per le organizzazioni che utilizzano la piattaforma di posta elettronica (il cui vero impatto potrebbe non essere mai noto) e un significativo danno alla reputazione.
Una famosa vulnerabilità RCE che ha colpito diversi prodotti/piattaforme software ed è stata ampiamente sfruttata è la vulnerabilità Log4shell in Log4j. Questo software è in uso su milioni di sistemi e, data la facilità con cui era possibile sfruttarne le vulnerabilità, ha portato ad attacchi RCE contro il software di un numero enorme di fornitori che utilizzavano l’utilità di logging Log4j nei propri software commerciali e strumenti interni.
Risposta agli attacchi RCE e correzione
Devi disporre di criteri e meccanismi per affrontare un attacco RCE verso la tua azienda già andato a buon fine. Ciò dovrebbe includere la formazione dei dipendenti per riconoscere e rispondere agli incidenti di cybersecurity, nonché un sistema di monitoraggio e avvisi (con un sistemi di rilevamento delle intrusioni) in modo che, se si verifica un attacco, questo possa essere affrontato immediatamente.
Una volta contenuto un attacco, occorre valutarne l’impatto, esaminare i sistemi ed eliminare le minacce rimanenti. Questo dovrebbe comportare il rollback di qualsiasi modifica apportata dal codice maligno, compresa la rimozione del malware e l’inversione di qualsiasi modifica alla configurazione che potrebbe essere stata apportata per creare backdoor nei tuoi sistemi.
Una strategia di backup e disaster recovery è fondamentali in questo caso. Con questo approccio, dovresti essere in grado di tornare a uno stato integro precedente all’attacco, accelerando notevolmente il tempo necessario per il ripristino. Se ciò non è possibile, puoi confrontare le configurazioni e i file per identificare ciò che l’aggressore è riuscito a fare. In caso di attacco ransomware derivante da RCE, la possibilità di ripristinare da un backup potrebbe essere l’unico modo per garantire la continuità aziendale.
Una volta che un attacco è stato fermato e corretto, è necessario eseguire un’approfondita analisi post-attacco: il vettore dell’attacco deve essere identificato e la vulnerabilità utilizzata nell’attacco deve essere patchata o protetta. È opportuno valutare i tempi di risposta e l’impatto dell’attacco e, se necessario, rivedere i criteri e le procedure adottate per ridurne gli effetti.
Guarda: Che cos’è l’esecuzione di codice remoto (RCE)? Si tratta di una breve guida in formato video sull’argomento.
Applica patch, monitora ed esegui il backup di tutti gli endpoint per impedire ai criminali informatici di sfruttare le vulnerabilità RCE.
➤ Prova NinjaOne gratuitamente oppure guarda una demo.
Protezione dall’esecuzione di codice remoto su scala enterprise
Il successo di un RCE o di un altro attacco di cybersecurity contro l’infrastruttura IT dell’azienda potrebbe essere catastrofico, con costi imprevisti e ripercussioni legali da cui potrebbe essere difficile riprendersi. Con la crescente complessità dell’infrastruttura IT, che comprende più piattaforme software ospitate su un’infrastruttura ibrida on-premises e cloud, è importante avere una visibilità completa sulla superficie di attacco.
NinjaOne offre una soluzione di monitoraggio e gestione da remoto (RMM) che consente di gestire tutti gli endpoint e l’infrastruttura IT, ovunque si trovino, in modo da poter adottare misure proattive per proteggersi dagli attacchi di esecuzione di codice remoto e identificare comportamenti sospetti che potrebbero indicare un attacco in corso.
