Furto di carte al checkout: formjacking e Magecart
Il negozio funziona. Gli ordini arrivano, la banca paga, nulla sembra fuori posto. E da settimane o mesi qualcun altro sta raccogliendo i dati delle carte dei vostri clienti.
Che cos'è
Il formjacking è il furto di ciò che un cliente digita in un modulo di pagamento. Magecart è il nome dato ai gruppi che lo fanno ai danni dei negozi online dalla metà degli anni 2010, prima su Magento e poi su ogni piattaforma.
L'attacco non rompe il negozio, perché un negozio rotto viene riparato. Cambia una piccola cosa nel percorso di pagamento e lascia stare tutto il resto.
I quattro modi in cui avviene
1. Viene cambiato l'indirizzo di pagamento
Il vostro negozio manda il cliente alla pagina di pagamento della banca. L'aggressore sostituisce quell'indirizzo con una propria pagina dall'aspetto identico, spesso su un dominio che differisce di una lettera da quello vero. Il cliente digita lì la carta e poi viene inoltrato alla vera pagina della banca, dove il pagamento si conclude normalmente. Il cliente pensa di averla digitata due volte. Voi vedete un ordine pagato.
2. Viene aggiunto codice alla pagina di checkout
Poche righe vengono aggiunte a un file o a un template del checkout del vostro negozio. Copiano tutto ciò che viene digitato nei campi della carta e lo inviano altrove, mentre il modulo continua a funzionare come sempre.
3. Vengono cambiate le impostazioni di pagamento
Nei file non cambia nulla. L'aggressore modifica l'indirizzo del gateway di pagamento o i dati dell'esercente salvati nel database del negozio, dall'area di amministrazione o direttamente.
4. Viene modificato lo script di un terzo
Il vostro checkout carica uno script di un'altra azienda, per esempio uno strumento di chat o di statistiche. Quell'azienda viene violata e lo script viene alterato sul suo server. Nel vostro negozio non è cambiato nulla.
Due casi diventati pubblici
- British Airways, 2018. Codice aggiunto alla pagina di pagamento della compagnia raccoglieva i dati delle carte dei clienti. Nel 2020 l'autorità britannica per la protezione dei dati ha inflitto alla società una multa di 20 milioni di sterline.
- Ticketmaster UK, 2018. Il codice è arrivato attraverso uno strumento di chat di terzi presente nella pagina di pagamento. Nel 2020 la stessa autorità ha inflitto alla società una multa di 1,25 milioni di sterline.
Le grandi aziende finiscono nei notiziari. Lo stesso metodo viene usato ogni giorno sui piccoli negozi, dove nessuno guarda.
Perché gli strumenti abituali non lo vedono
- L'antivirus cerca codice dannoso noto. Un indirizzo web cambiato non è un virus.
- Il firewall blocca il traffico sospetto. Quando l'aggressore è entrato con una password rubata, la modifica sembra lavoro normale.
- La scansione esterna, compresa la scansione PCI trimestrale, guarda il server da fuori. Da fuori il negozio sembra a posto.
- Voi vedete ordini che vengono pagati.
Come di solito i negozi lo scoprono
- La banca o il gestore delle carte comunica che carte usate nel loro negozio sono state poi utilizzate per frodi.
- I clienti scrivono che è stata chiesta loro la carta due volte, o che vedono addebiti che non riconoscono.
- Non lo scoprono affatto.
A quel punto la modifica è di solito al suo posto da molto tempo. Seguono un'indagine, una possibile sospensione dei pagamenti con carta e la domanda se occorra avvisare i clienti e l'autorità per la protezione dei dati.
Che cosa fa HachiGuard in ciascun caso
Rilevato al controllo successivo. Il file pulito viene rimesso al suo posto automaticamente e venite avvisati.
Rilevato: ogni modifica a un file di checkout viene segnalata, e gli schemi di furto noti fanno scattare un avviso critico. Ripristinato automaticamente quando la modifica aggiunge una destinazione sconosciuta.
Rilevato e segnalato come critico quando compare un indirizzo sconosciuto. Le impostazioni non vengono riportate indietro automaticamente.
Coperto in parte. Il nostro controllo esterno nota un nuovo dominio di terzi sulle vostre pagine pubbliche. Una modifica fatta dentro uno script che c'era già, sul server del terzo, non viene rilevata.
Che cos'altro dovreste fare
- Tenete aggiornate la piattaforma e le sue estensioni.
- Date a ogni amministratore un account proprio, con una password robusta e l'accesso in due passaggi dove la piattaforma lo offre. Eliminate gli account che nessuno usa.
- Dove potete, mandate il cliente alla pagina di pagamento della banca stessa invece di raccogliere la carta dentro il vostro negozio.
- Caricate nel checkout il minor numero possibile di script di terzi.