/
/

Che cos’è l’esecuzione di codice remoto (RCE)?

di Lauren Ballejos, IT Editorial Expert   |  
translated by Sergio Oricci
Cos'è l'esecuzione di codice remoto (RCE) Immagine banner del blog

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.

Che cos’è l’esecuzione di codice remoto (RCE)?

Le vulnerabilità RCE consentono agli aggressori remoti di eseguire il proprio codice sui computer connessi alla rete. Di solito sfruttano le vulnerabilità esistenti nella rete o nei sistemi informatici: una volta identificata una vulnerabilità che consente l’esecuzione di codice remoto, questa può essere utilizzata per eseguire azioni dannose e aprire ulteriormente la rete agli attacchi di cybersecurity.

Il concetto chiave alla base dell’RCE è che non è necessario un livello di accesso precedente per un exploit riuscito, a differenza degli attacchi di esecuzione di codice locale (LCE) in cui un certo livello di privilegi dell’utente è già disponibile per l’attaccante sul sistema.

Entrambi gli attacchi di esecuzione di codice RCE e LCE sono noti come esecuzione di codice arbitrario (ACE).

Tecniche e meccanismi di sfruttamento RCE

Esistono diverse tecniche di sfruttamento comunemente utilizzate per eseguire con successo un attacco RCE alla tua infrastruttura:

  • 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.
  • 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.

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

Ci sono diversi esempi notevoli di ciò che può accadere se un’azienda non adotta misure adeguate per proteggersi dalle minacce informatiche. La violazione dei dati di Equifax nel 2017 è stata causata da un exploit RCE del framework web Apache Struts e ha portato alla compromissione delle informazioni 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 è utilizzato su milioni di sistemi e, data la sua facilità di sfruttamento, ha provocato attacchi RCE contro i software di un numero enorme di fornitori che si affidavano all’utilità di registrazione Log4j nel loro software commerciale e nei loro 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. I tempi di risposta e l’impatto dell’attacco devono essere analizzati e i criteri e i processi utilizzati per contenere l’attacco devono essere modificati, se necessario.

Guarda la breve guida video “Che cos’è l’esecuzione di codice remoto (RCE)?

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 proteggere l’ambiente dagli attacchi di esecuzione di codice remoto e identificare comportamenti sospetti che potrebbero indicare un attacco in corso.

Potresti trovare interessante anche

Pronto a semplificare le parti più complesse dell'IT?