Rischi specifici di incorporare un iframe HTTPS in una pagina HTTP

24

Ho bisogno di aiuto per elencare i rischi specifici di incorporare un iframe HTTPS che abilita il pagamento con carta di credito all'interno di una pagina HTTP. Ci sono problemi di sicurezza con l'incorporamento di un iframe HTTPS su una pagina HTTP? fornisce alcuni dubbi di alto livello, ma sto cercando di essere il più specifico possibile sui potenziali vettori di attacco. Fai clic su Acquista ora per un buon esempio di iframe sicuro all'interno di una pagina non sicura, in uso oggi per le transazioni con carta di credito. Ecco cosa ho finora:

  • La conversione sarà probabilmente inferiore perché gli utenti istruiti sapranno di non inserire il loro numero di carta di credito senza vedere un lucchetto verde nell'URL nel cromo del browser. (Gli utenti meno esperti possono non sapere che non dovrebbero fidarsi di un blocco che appare all'interno del frame del browser, come nell'esempio sopra.)
  • Anche se gli utenti si sentono a proprio agio con questo approccio, è generalmente una cattiva idea incoraggiare gli utenti a inserire il proprio numero di carta di credito quando non vedono una conferma di blocco SSL nella barra degli indirizzi. Insegna agli utenti cattive abitudini di sicurezza. Questo post rende il punto che SSL riguarda la sicurezza più della semplice crittografia e autenticazione.
  • Un uomo attivo nel mezzo potrebbe iniettare uno script canaglia nella pagina padre che potrebbe eseguire lo spintone dei tasti. Credo che questo sia ciò che il governo tunisino ha fatto per rubare dissidenti Credenziali di Facebook (Credo che allo script canaglia sarebbe impedito di accedere al nome utente e alla password dall'iframe sicuro, ma potrebbe comunque accedere alle sequenze di tasti). Ovviamente, un'autorità governativa più determinata potrebbe sovvertire il DNS e falsificare anche un certificato SSL, come il governo iraniano apparentemente fatto, nel qual caso una pagina genitore sicura non sarebbe stata di aiuto.

Ho anche questo elenco di preoccupazioni non realistiche:

  • Un altro oggetto Javascript nella pagina padre non protetta potrebbe spiare il contenuto dell'iframe sicuro. Credo che questo non sia più possibile purché siano supportati solo i browser IE8 e successivi.
  • Un oggetto Javascript non autorizzato nella pagina padre può eseguire la registrazione della sequenza di tasti per acquisire il numero di una carta di credito dell'utente. Ciò potrebbe essere possibile, ma il rischio non è influenzato dal fatto che la pagina padre sia pubblicata via SSL o meno. Uno script canaglia potrebbe battere lo snoop in qualsiasi modo.
  • L'utente non può vedere l'URL dal quale viene servito l'iframe sicuro. Con una pagina genitore protetta o non sicura, devi essere un utente tecnicamente avanzato per visualizzare l'URL dell'origine iframe.

Potresti dirmi quali altre vulnerabilità realistiche e non realistiche mi mancano? Non ho dubbi che l'opzione migliore sia sempre quella di incorporare un iframe sicuro in una pagina genitore sicura. Quello che sto cercando di decidere sono i rischi e i benefici relativi di abilitare un iframe sicuro all'interno di una pagina non sicura rispetto alla scarsa esperienza utente di saltare fuori dal sito non sicuro dove vedono il prodotto per completare un checkout sicuro altrove. / p>     

posta dankohn 02.07.2013 - 20:34
fonte

2 risposte

15

Click on Buy Now for a good example of a secure iframe inside of an insecure page, being used today for credit card transactions.

Oltre a tutte le suddette ragioni tecniche, questa è una cosa disastrosa, questo è esplicitamente contrario ai requisiti PCI-DSS. Vedi il requisito 4.1 "Navigating DSS 2.0":

When using SSL secured websites, ensure “https” is part of the URL

L'interfaccia collegata viola le condizioni PCI che i commercianti sottoscrivono come parte del loro accordo con la loro banca. ShopLocket sembra fornire / incoraggiare un approccio palesemente non conforme allo standard PCI e molto discutibile per l'elaborazione delle carte.

    
risposta data 03.07.2013 - 10:48
fonte
20

Un utente malintenzionato che può incorporare uno script canaglia nella pagina padre può anche semplicemente modificare l'URL per l'iframe, reindirizzandolo a una posizione arbitraria, a quel punto tutti i tipi di impostazioni di phishing e man-in-the-middle sono facili . Non c'è bisogno di giocare trucchi DNS a quel livello. Questo è il problema principale con un iframe HTTPS di questo tipo: non puoi sapere facilmente se hai la cosa autentica (devi attivare la modalità di debug del browser per essere davvero sicuro - un aspetto superficiale del sorgente della pagina non è in definitiva sufficiente perché gli script caricano dalla pagina puoi manipolarlo a piacimento a livello di DOM, quindi quello che ti sembra di vedere nel codice sorgente non è necessariamente quello che ottieni).

Si riduce in realtà alla mancanza della barra degli URL per l'iframe. Per un sito HTTPS, la barra degli URL mostra che SSL corretto è a posto, con un certificato server valido, e ti dice il nome del server con cui stai effettivamente parlando. Rimuovi la barra e tutti i tipi di brutti scherzi diventano possibili.

Sul lato positivo , un iframe HTTPS, come un URL di destinazione HTTPS per un modulo di accesso in una pagina HTTP, è ottimo contro gli attaccanti passivi (il tipo di aggressori che ascolta tutti scambiati byte ma mai inietta nulla da solo). Succede solo che credere che la maggior parte degli attaccanti sia passivo è diventato singolarmente ingenuo al giorno d'oggi.

Per quanto riguarda l'esperienza utente, la solita raccomandazione è semplicemente quella di rendere l'intero sito HTTPS. È molto meno costoso, da un punto di vista computazionale, di quanto si crede di solito. In generale, gli esseri umani non sono bravi a prevedere i problemi di prestazione. Le prestazioni sono una questione di misurazione, non indovinare. Ti suggerisco di provarlo.

Inoltre, come utente (anche se non necessariamente un utente tipico ), mi piace la transizione visibile da HTTP a HTTPS. La cassa riguarda i soldi e, soprattutto, i i miei soldi. Pertanto, è importante .

    
risposta data 02.07.2013 - 21:20
fonte

Leggi altre domande sui tag