Come proteggersi dal clickjacking tramite finestre pop-under?

2

Huang e Jackson hanno descritto un metodo di clickjacking che non si basa su iframe, ma su finestre pop-under. Questo attacco è ancora attuale oggi o è impedito dai blocchi popup? C'è un modo in cui un sito può proteggerlo?

L'attacco funziona in questo modo: una finestra viene aperta dietro la finestra corrente e all'utente viene chiesto di fare doppio clic. Il primo clic porta il pop-under in primo piano e il secondo clic esegue un'interazione che l'utente non intende.

Passaggio 1: all'utente viene chiesto di fare clic due volte sul pulsante:

Passaggio2:dopounclic,unafinestrasisovrapponeallapaginainmodocheilclicdelpulsantesiagestitodaun'altrapagina:

Questo è ancora possibile con i browser di oggi? C'è qualcosa che un utente o un sito può fare per impedirlo?

    
posta Sjoerd 08.07.2016 - 11:53
fonte

2 risposte

1

Uso il plugin Tab Mix Plus in Firefox e lo configuro per trasformare tutte le finestre pop-up / nuove in schede. Ciò impedisce anche a Javascript di portare le schede in primo piano / sullo sfondo.

Puoi inoltre configurarlo per impedire agli script di modificare la dimensione e la posizione della finestra, quindi un posizionamento accurato è impossibile.

Un plug-in simile potrebbe esistere per altri browser.

    
risposta data 08.07.2016 - 17:26
fonte
0

I browser generalmente includono la protezione click-jacking per i loro popup interni . Ad esempio per impedirti di aprire accidentalmente un file scaricato senza rendertene conto.

Tuttavia, nello scenario che descrivi, la responsabilità della protezione è nel sito che ospita il pulsante Consenti accesso. (in questo caso, Google) Non esiste soluzione al 100% pazzo a prova di utente. Quindi, purtroppo, parte di questo deve essere un'iniziativa generale anti-phishing. (Google cerca di database siti dannosi, ma questo è un sistema reazionario.)

La forma più semplice di click-jacking è ovviamente la navigazione o un popup semplice attivato dal primo dei due clic. I blocchi popup non hanno effetto quando il popup viene attivato direttamente dal clic dell'utente e, naturalmente, i blocchi popup non interrompono la semplice navigazione.

Is there any way a site can protect against it?

  1. Google include un tempo minimo prima che il pulsante Approve inizi a funzionare?

  2. In questo caso, la pagina di Google potrebbe non caricarsi abbastanza velocemente da catturare il secondo clic.

La tecnica pop-under è un modo intelligente per assicurarsi che la pagina sia stata caricata in anticipo.

  1. Chiedi all'utente di fare clic su qualcosa.
  2. Apri la pagina Consenti e chiama immediatamente self.focus() portando il sito dannoso in primo piano.
  3. Al primo clic, popup.focus() per portarlo in primo piano, in modo che il secondo clic visualizzi Consenti.

Questo è lo scenario che hai descritto, ma in realtà non funziona (per fortuna) a causa della stessa politica di origine, impedendo al sito dannoso di chiamare .focus() se il popup si trova su un altro sito.

Purtroppo , il seguente potrebbe funzionare

  1. Chiedi all'utente di fare clic su qualcosa.
  2. Apri un "popup dannoso".
  3. Chiedi all'utente di fare clic su qualcosa di diverso.
  4. Apri la pagina Consenti e chiama immediatamente self.focus() portando in primo piano "popup dannosi".
  5. Al primo clic, self.close() per sbarazzarsi di "popup dannoso", quindi il secondo clic farà clic su Consenti.

Is there any way a site can protect against it?

  1. Una cosa veramente semplice è controllare history.length == 1 , e se questo è il caso, Google sa che è stato aperto tramite popup. Questa non è una soluzione completa.

  2. Google può utilizzare gli API Visibility e / o self.onfocus e self.onblur per richiedere un tempo minimo prima che il clic abbia effetto. Penso che questa possa essere una protezione completa. Ma è soggetta al supporto del browser.

Posso immaginare uno scenario più complesso in cui il logo di Google è nascosto da altri popup, in modo da ingannare l'utente.

Is there anything a user ... can do to prevent this?

Assicurati di non fare doppio clic su un sito di cui non ti fidi. In realtà stare lontano da qualsiasi sito sospetto. ☺

    
risposta data 08.07.2016 - 15:12
fonte

Leggi altre domande sui tag