Come si verificano le connessioni HTTPS nelle app mobili?

35

Al giorno d'oggi ci sono molte app mobili con il supporto dei gateway di pagamento. Tuttavia, a differenza dei browser desktop, queste app mobili non ci mostrano una "barra degli indirizzi" con la quale possiamo identificare una connessione HTTPS. Come posso assicurarmi di effettuare un pagamento su un'app mobile con una connessione HTTPS?

    
posta Adarsh Konchady 14.03.2016 - 16:20
fonte

4 risposte

11

Come dice @StefHeylen, non puoi, generalmente. E come dice @ d1str0, Burp è un modo per vedere se il traffico è crittografato, se è possibile eseguire il proxy dell'app attraverso di esso.

In realtà è peggio di così - le app mobili non sempre creano una sola connessione ad un server. Non è insolito per loro utilizzare HTTP per alcune parti e HTTPS per gli altri. Possono anche fare altri trucchi che normalmente i normali browser non toccano. Ad esempio, possono certificare pin e rifiutarsi di eseguire se non possono stabilire una connessione sicura con un server specifico.

Pertanto, è perfettamente possibile avere applicazioni mobili che si rifiutano di essere eseguite con proxy (perché si connettono a un server HTTPS specifico con un certificato specifico, ovvero Burp non riesce), ma che quindi inviano i dati di pagamento tramite mezzi non crittografati a un altro server. L'unico modo per osservare questo è attraverso l'ispezione dei pacchetti usando qualcosa come Wireshark - vedrai una serie di dati crittografati, quindi alcuni dati non crittografati (spesso JSON o XML) inviati a un server diverso.

È anche possibile che i dati di pagamento siano inviati correttamente, quindi per script di terze parti per il monitoraggio delle statistiche (vedere quanto lontano gli utenti passano attraverso i moduli all'interno dell'applicazione, ad esempio) per inviare gli stessi dettagli su canali non criptati perché lo sviluppatore dell'app non ha esclusi i campi di pagamento.

L'intero sistema di applicazioni mobili è un disastro: secondo il consiglio di Stef, evito di effettuare pagamenti utilizzando le app, se possibile. Se non è possibile, considera l'utilizzo di una scheda specifica per tali pagamenti, che monitora regolarmente per transazioni insolite.

    
risposta data 14.03.2016 - 18:04
fonte
26

Sfortunatamente, a meno che tu non annusi e controlli il tuo stesso traffico, non puoi ... Il mio consiglio è di non usare browser incorporati che non indicano il protocollo utilizzato per gestire le informazioni sensibili

    
risposta data 14.03.2016 - 16:28
fonte
6

L'utilizzo di uno strumento proxy come BurpSuite ti consentirà di verificare se l'app specifica autorizza o nega connessioni HTTPS errate.

    
risposta data 14.03.2016 - 17:47
fonte
3

In iOS 9 HTTPS nelle app è abilitato per qualsiasi chiamata di rete. È possibile ignorarlo temporaneamente, ma presto sarà sempre solo HTTPS per tutte le chiamate di rete.

Starting in iOS 9.0 and OS X v10.11, a new security feature called App Transport Security (ATS) is available to apps and is enabled by default. It improves the privacy and data integrity of connections between an app and web services by enforcing additional security requirements for HTTP-based networking requests. Specifically, with ATS enabled, HTTP connections must use HTTPS (RFC 2818). Attempts to connect using insecure HTTP fail. Furthermore, HTTPS requests must use best practices for secure communications.

NSAppTransportSecurity

    
risposta data 15.03.2016 - 04:26
fonte

Leggi altre domande sui tag