Comprimendo o influenzando lettori di carte, sistemi di fatturazione o terminali POS utilizzando una carta maliziosa

1

La nostra azienda ha ottenuto una nuova stampante per tessere per gli ID dei dipendenti. Era un po 'costoso e abbiamo dovuto sottostare a uno sfondo perché ci permetteva di stampare sia strisce magnetiche che chip EMV. Non capisco abbastanza dei chip EMV, ma ho scoperto che sarebbe molto semplice duplicare la striscia magnetica della mia carta di debito e creare un clone funzionante. Oltre a far archiviare tutto ciò che volevo che memorizzasse. Il che mi ha fatto pensare a quali sono i rischi di accettare ciecamente i dati delle carte. Ovviamente un programmatore dovrebbe disinfettare tutti gli input ma cosa succederebbe se ci fosse una supervisione. E qualcuno trova un exploit in un sistema di elaborazione / fatturazione per eseguire la propria carta e averla eseguire codice incorporato nella scheda. Molto simile a come alcuni script PHP iniziarono a venire compromessi quando tentarono di elaborare l'immagine di un exif dati o qualsiasi altro scenario di errore di sterilizzazione dell'input. Immagino che sarebbe difficile con le strisce magnetiche poiché ci sono limitazioni su quali caratteri potresti usare e la lunghezza dipende dalla traccia. Come ho detto, non sono sicuro del funzionamento interno dei chip EMV, ma forse avrebbero più possibilità.

Quindi ho un paio di domande di cui sono stato curioso. È possibile compromettere o interrompere un sistema tramite una carta malevola e è già stato fatto prima? Questo scenario è già stato esplorato e sono state adottate alcune procedure per impedirlo dai POS / distributori automatici?

    
posta Bacon Brad 30.10.2015 - 19:11
fonte

2 risposte

4

Quello che so dei prodotti POS che rivendo / supporto, quando si prende una carta di credito per un pagamento, ci sono # di caratteri che sta cercando.

In generale, sta cercando qualcosa di simile a questo:

  • 16 cifre per Visa / Mastercard / Scopri
  • 15 per Amex (utilizzeremo solo un Visa / MC / Discover per esempio)
  • 4 cifre per la scadenza
  • Codice di sicurezza a 3 cifre

Quindi il sistema vuole i dati in questo formato

[Card number][Expiration][Security Code]

Ci sono altre informazioni nella striscia, ma stiamo solo cercando di illustrare un semplice esempio.

Inoltre, non menzionando le carte scheggiate, solo in riferimento alle vecchie schede a banda magnetica, per il mio esempio.

Quindi diciamo che il mio sistema POS si aspetta 23 cifre (16 + 4 + 3) e faccio una carta falsa con una stampante per card. Ne ho uno proprio accanto a me sulla mia scrivania. Tuttavia, ho sbagliato nel mio ordine di informazioni.

Invece di [Card number][Expiration][Security Code]

I

[Security Code] [Card number] [Expiration]

Il sistema prenderà comunque le informazioni che ho fornito, ma molto probabilmente tornerà con un "numero di tessera non valida" come un messaggio.

Quindi rifai la mia carta falsa con il giusto ordine di informazioni. Vai in un negozio e prova la carta e funziona perfettamente.

Decidi di includere il mio carico utile alla fine della carta. Il mio pensiero che una delle due cose accadrebbe:

  1. La carta passava normalmente, il sistema prendeva le 24 cifre che cercava inviate all'azienda della carta di credito per l'autorizzazione.

  2. Il POS non accetta la carta in quanto, la quantità di cifre sulle strisce magnetiche non corrisponde al set standard.

On # 2 ho visto accadere in natura. Una catena di negozi supportata dalla mia azienda si trova accanto a una grande università. L'università rilascia carte d'identità, ma è anche una carta di credito che gli studenti possono usare. Possono usare la carta per acquistare materiale e ottenere servizi (dai un'occhiata ai libri e simili) all'Università.

Le carte a banda magnetica hanno fino a 3 tracce di informazioni. Due tracce sono utilizzate per una transazione con carta di credito. È possibile utilizzare una sola traccia, ma il commerciante paga una commissione extra in quanto non si trattava di una transazione "traccia 1 & traccia 2".

Dopo le frequenti chiamate da parte dei proprietari del negozio con il problema delle "XXXX carte universitarie non funzionano, a meno che non le inseriamo manualmente", sono andato all'università e mi hanno permesso di vedere una scheda e scorrere per vedere come le informazioni veniva messo sulla banda magnetica. Sono stati respinti un po 'dalla mia richiesta, ma hanno capito il problema e ho fatto il mio test di fronte a loro dopo che uno staff IT dell'università mi ha osservato.

Stavano mettendo le informazioni dell'ID studente sulla Traccia 3 delle carte. Quindi il sistema POS che ho supportato stava leggendo la traccia 1, la traccia 2 e la traccia 3 e non accettando la scheda perché aveva troppe informazioni.

Per risolvere il problema, l'MSR (lettori di banda magnetica) nei negozi che dovevamo programmare per non leggere le informazioni della traccia 3.

Questa è stata la mia esperienza con un prodotto POS. Esistono centinaia di prodotti POS e suppongo che sarebbe prassi normale accettare solo il numero "X" di cifre.

Se questa fosse una possibilità, penserei che il punto "debole" sarebbe il gateway di pagamento che invia le informazioni della carta alla banca per l'approvazione.

Computer Point of Sale ---- > Payment Gateway ---- > Bank of card-owner

Il gateway di pagamento imposta la sintassi di come vogliono che i dati arrivino a loro.

Potrebbero piacere un modo diverso rispetto al mio esempio di

[Card number][Expiration][Security Code]

Quindi, se pensassimo di sfruttarlo, immagino simile a un attacco di SQL injection, il gateway di pagamento sarebbe dove cercare. I PG sono sistemi piuttosto complessi, quindi immagino che non tollererebbero nulla che sia NOT nella loro sintassi.

    
risposta data 30.10.2015 - 20:24
fonte
1

L'hacking è in teoria possibile. Il problema che incontrerai è che hai a che fare con un sacco di incognite. Non sai come vengono letti o verificati i dati della carta. Inoltre, non si sa quale sia la sanificazione dei dati che viene eseguita. Quando una carta maligna viene letta in un sistema, che sta correttamente disinfettando i dati, è possibile passare l'intero carico utile dannoso al processore di pagamento. Non sarebbe difficile per loro capire cosa stava succedendo e seguire il negozio per presentare un rapporto della polizia. La convalida può essere verificata rapidamente dal negozio utilizzando il Algoritmo di Luhn . Questo è essenzialmente un modo rapido per verificare che i numeri siano legittimi.

Se ti capita di essere fortunato e di compromettere con successo un terminale POS, sarà necessario scaricare i dati. Le violazioni di Target e Home Depot hanno portato all'accumulo di decine di milioni di numeri di carte. Non c'è davvero un modo semplice per scaricare i dati. Riesci in qualche modo a caricare i numeri sulle tracce della carta di credito? Oppure il dispositivo POS potrebbe provare a caricare il file su un sito Web di terzi, tuttavia, i requisiti PCI-DSS impongono rigide regole di firewalling. Ciò rende estremamente improbabile che il sistema POS abbia accesso a Internet. Nel caso dei suddetti hack, gli attaccanti avevano bisogno di usare una jumpbox per capovolgere tra segmenti di rete.

I criminali sono uomini d'affari molto bravi e questo aggiunge un indebito livello di rischio rispetto alla ricompensa. È molto più sicuro provare a violare i segmenti POS da remoto. Hanno più controllo sugli strumenti disponibili e un modo incredibilmente efficace per mascherare la loro origine.

    
risposta data 30.10.2015 - 19:38
fonte

Leggi altre domande sui tag