In che modo una pagina Web parzialmente crittografata non è sicura?

9

Quali sono le potenziali vulnerabilità che potrebbero verificarsi se una pagina Web è solo parzialmente crittografata.

Posso pensare a 2 possibilità:

  1. Puoi modificare le parti non crittografate della pagina (HTML, CSS, Immagini, JS) tramite un attacco MITM per modificare parzialmente l'aspetto della pagina.

  2. È possibile iniettare JS dannoso tramite la connessione non protetta per sottrarre / modificare le parti crittografate della pagina, rendendo così l'intera connessione non sicura.

Il secondo scenario è possibile o i browser Web incorporano alcuni meccanismi di sicurezza per impedire che ciò accada?

Questa domanda ha anche implicazioni per quanto riguarda lo Stack Exchange n / w, poiché solo l'iframe contenente il modulo di accesso all'interno della pagina di accesso è crittografato: link

Aggiornamento:

Come sottolineato da @Ladada, questa domanda è in realtà suddivisa in più parti:

Caso 1: una pagina non sicura che carica un iframe sicuro per trasmettere dati riservati

Risposta : come indicato da davidwebster48 nella sua risposta, questo meccanismo è banalmente sconfitto poiché la pagina genitore non sicura può essere manipolata per caricare l'iframe con una pagina diversa da quella dell'avversario. Come nota a margine, ciò significa che il sistema di accesso di StackExchange è vulnerabile agli attacchi MITM malgrado l'uso di moduli di accesso https.

Caso 2: una pagina sicura che carica una pagina non sicura tramite un iframe

(Supponendo che nessun dato riservato sia gestito dall'iframe insicuro). Questo caso è particolarmente interessante nel fatto che anche le politiche Same-Origin entrano nell'equazione. Anche se entrambe le pagine possono appartenere allo stesso dominio, poiché utilizzano entrambi protocolli diversi, (un HTTPS e l'altro HTTP) ciò causerà l'introduzione di restrizioni della stessa origine. Non sono sicuro che queste restrizioni siano sufficienti per fermare il nostro aggressore morto nelle sue tracce.

Caso 3: una pagina sicura che collega a JS non sicuro

La mia risposta : penso che questo sia ovviamente un errore poiché l'utente malintenzionato potrebbe modificare il file JS per accedere / manipolare l'intera pagina.

Caso 4: una pagina protetta che collega a fonti non sicure come le immagini, i CSS

L'attaccante potrebbe modificare l'aspetto della pagina per eseguire un attacco di phishing? O potrebbe montare un attacco Cross-Site Scripting?

    
posta nedR 26.06.2013 - 10:53
fonte

3 risposte

8

Esaminiamo ogni caso dal punto di vista di un malintenzionato attivo Malroy e di un passivo malvivente.

Caso 1: una pagina non sicura che carica un iframe sicuro per trasmettere dati riservati

Passivo: sei al sicuro dagli attacchi passivi mentre usi l'iframe sicuro. Tuttavia, nel caso di iframe di accesso, se il token di sessione viene inviato in chiaro, Eve può impersonare te. (Conosco ancora la rappresentazione come "passiva" qui, dal momento che Eva non sta alterando attivamente la tua connessione, ma sta solo facendo i suoi collegamenti con le nuove informazioni che ha appreso.)

Attivo: se la pagina HTML non è sicura, hai già perso completamente. Puoi fare in modo che tutte le risorse secondarie della pagina vengano trasmesse in modo sicuro, ma non importa: Malroy ha già riscritto la tua pagina per utilizzare risorse totalmente diverse.

Caso 2: una pagina sicura che carica una pagina non sicura tramite un iframe

Passivo: ovvio problema principale qui: tutto ciò che fai nell'iframe è in bella vista. Tuttavia, Eve non può vedere quello che fai nella pagina sicura di alto livello. Tuttavia, l'utente rimane confuso su quali elementi della pagina possono essere interagiti in modo sicuro e quali non possono.

Attivo: Malroy può far apparire qualsiasi cosa nell'iframe; Spero che tu non lo stia usando per qualcosa di importante. Non credo pensi che ci sia un modo per Malroy di uscire dall'iframe e leggere o alterare la tua pagina esterna sicura, perché i browser presuppongono già che gli iframe di origine incrociata non sono affidabili. Se ci fosse un modo per uscire dall'iframe, penso che sarebbe considerato un serio bug di sicurezza nel tuo browser (il che non vuol dire che non esistano, ma questo è un problema di implementazione, non un problema teorico con contenuto).

Caso 3: una pagina sicura che collega a JS non protetto

Passiva: Eve può sapere quale sito HTTPS stai visualizzando, in base alle risorse HTTP caricate. (È possibile che sia in grado di eseguire questa operazione tramite una connessione protetta, in base all'indirizzo IP di destinazione e alle dimensioni / modello delle risorse crittografate recuperate. Indipendentemente da ciò, HTTP le rende le cose solo più semplici.)

Attivo: Come hai intuito, Malroy può rendere la tua pagina HTTPS completamente riscritta alimentandola con uno script modificato.

Caso 4: una pagina sicura che collega a fonti non sicure come immagini, CSS

Passiva: come nel caso 3, sopra.

Attivo: CSS è piuttosto potente. Se Malroy potrebbe riscrivere una risorsa CSS, potrebbe fare una manipolazione di presentazione piuttosto pesante. Ad esempio, forse Malroy rimodella i campi di input della pagina "Crea nuovo thread" di un forum per apparire come una pagina di accesso. Questo induce l'utente a pensare che la sua sessione è scaduta, e lui inconsapevole sottomette le sue credenziali come un nuovo post pubblico.

Un utente malintenzionato attivo può anche utilizzare CSS per richiedere a un client di partecipare a un attacco CSRF, ad es. utilizzando background-image: url(http://www.bigbank.com/transfer?amt=1000000&to=malroy) .

    
risposta data 26.06.2013 - 19:16
fonte
5

Questa pagina ha un'ottima spiegazione e demo: link

Se si presume che l'attaccante possa modificare le parti non crittografate di una pagina, sarà in grado di modificarle in modo che includano il proprio modulo di accesso malevolo, invece del modulo di accesso sicuro.

    
risposta data 26.06.2013 - 11:41
fonte
1

Una possibilità che mi viene in mente è il jacking ad alta sessione. Se il cookie di sessione, per esempio, viene trasferito in un modo non sicuro, allora potrebbe essere ad alto jack.

    
risposta data 26.06.2013 - 11:27
fonte

Leggi altre domande sui tag