Perché i browser mettono in guardia sui contenuti misti per le immagini?

14

Ho a che fare con un utente del forum phpBB che vuole configurare SSL sul loro intero sito per proteggere le credenziali dell'utente e le parti "private" del sito web.

Tuttavia, vogliono preservare l'esperienza utente del forum tradizionale dei tag img generati dall'utente nel contenuto fuori sito, che attiva un avviso di contenuto misto del browser. L'unica soluzione che abbiamo trovato è un proxy di concessione SSL . Dopo aver riflettuto sul problema per un po 'di tempo, sono curioso di sapere perché i browser mettono in guardia specificamente sulle immagini? Capisco il caso di javascript, ma immagini?

    
posta jldugger 13.07.2012 - 02:03
fonte

4 risposte

15

Immagino che il tuo ragionamento sia qualcosa del tipo: "Se la persona che costruisce la pagina sceglie di inviare alcune delle sue immagini in modo insicuro, allora il browser dovrebbe rispettare il fatto che questa decisione sia stata presa per un motivo e consentita senza un avvertimento. è sicuro come l'entità che lo ha fornito voleva. "

Al contrario, il ragionamento degli sviluppatori del browser è qualcosa del tipo: "Stiamo mettendo un'icona sicura sulla pagina vista dall'utente e l'utente dovrebbe essere in grado di assumere che significa che l'intera pagina è sicura. di questo non lo è, l'utente merita di saperlo. "

Entrambi gli argomenti sono validi, sono solo diverse interpretazioni di ciò che significa per una pagina web essere sicuri.

Ci sono anche rischi specifici con le immagini. L'immagine è richiesta in chiaro usando il protocollo HTTP. Questo rivela qualsiasi informazione nell'URL o nelle intestazioni. La minaccia più seria è che l'immagine possa contenere istruzioni o informazioni che l'utente avrebbe assunto in modo sicuro originato dal sito scelto dall'utente. Questo potrebbe essere usato per gli attacchi di phishing.

    
risposta data 13.07.2012 - 02:12
fonte
9

Il browser non sa quale tipo di informazione debba contenere un'immagine o un'altra risorsa: forse è solo un logo, o forse è una parte dell'interfaccia utente, o forse l'immagine è l'intero punto della pagina che tu? ri visitare. Non è possibile per il browser sapere se una risorsa è importante o meno per l'utente.

Quando l'URL (pagina) primario viene caricato con HTTPS, il browser segnala all'utente che la pagina visualizzata è sicura, solitamente con l'icona blocco o la barra dell'URL verde o qualcosa del genere come quello. Non dice "questa pagina è sicura eccetto quella immagine lì" - semplicemente non c'è un meccanismo per indicare allo spettatore quali parti sono le parti insicure. Quindi, la risoluzione è che se il browser dice che la pagina è sicura, allora TUTTI gli elementi sulla pagina devono essere sicuri, o l'utente deve essere avvisato dell'eccezione.

Si noti che la visualizzazione di un URL non sicuro con pochi elementi sicuri non genera notifiche o avvisi, ma allo stesso tempo non viene segnalato all'utente che esiste una misura di sicurezza sulla pagina. Poiché non vi è alcuna aspettativa di sicurezza, la presenza di contenuti misti non è degna di nota.

    
risposta data 13.07.2012 - 05:25
fonte
5

Risposta breve: mancanza di informazioni semantiche

Risposta lunga

In un forum, l'utente si aspetta che le cose vengano da terze parti "non autorizzate" (qualsiasi utente registrato, potrebbe essere chiunque), non solo dal webmaster (e dagli autori autorizzati).

L'utente comprende appieno che i messaggi non rappresentano l'opinione del webmaster e non sono "autorizzati" in alcun modo dal proprietario del dominio. Per qualsiasi utente ragionevole, non vi sono particolari aspettative riguardo al contenuto dei messaggi visualizzati nella pagina Web o alle immagini incluse in tali messaggi (vi è una debole aspettativa che la schiuma venga rimossa in modo tempestivo, ma prima che venga rimossa può essere visto da chiunque).

Ma un browser web non capisce cos'è un forum . Ci si aspetta che la https://example.com/ di pagine provenga da example.com e in modo sicuro (come nella sicurezza del trasporto) rappresenti example.com opinione del webmaster e qualsiasi immagine sufficientemente insicura (in particolare IMG senza una dimensione esplicita ) potrebbe essere usato per mostrare un grande avvertimento che

Your account is suspended. You must go to http://fakesite-example.com/ to confirm it. If you don't, your account may be permanently deleted.

reso come immagine.

Ovviamente, in un messaggio del forum verrebbe preso come rappresentante l'opinione dell'autore dell'autore da parte dell'utente, ma il browser Web non può saperlo.

    
risposta data 13.07.2012 - 02:58
fonte
2

In realtà, tylerl, il browser non sa quale tipo di informazioni che una risorsa intende trasmettere.

Il rischio evidente è che le informazioni siano esposte nella richiesta (una volta che javascript è stato iniettato nella pagina, è banale iniettare dati nell'URL senza modificare la funzionalità, ad esempio img.src = img.src + '? session = 1234' ;) e può quindi essere utilizzato per compromettere lo scambio.

Un altro rischio è che l'immagine possa avere un valore - in termini di copyright, riservatezza o forse come parte di un processo di autenticazione.

    
risposta data 13.07.2012 - 10:38
fonte

Leggi altre domande sui tag