[invisible iframe]Delete AccountClick to Win!click lands on iframe behind decoy

Clickjacking

10 lectura mínimaSeguretat

Clickjacking és l'atac en què una pàgina maliciosa se superposa a un iframe invisible sobre el contingut engany. L'usuari creu que està fent clic a un botó temptador; en realitat estan fent clic dins d'un marc ocult que conté un lloc diferent. El cas clàssic va fer que els usuaris "agradessin" pàgines de Facebook que mai havien vist. Les variants modernes roben pagaments i canvis de compte.

El cos complet de l'article es proporciona en anglès a continuació.

Clickjacking (també anomenada correcció de la interfície d'usuari o atac d'enquadrament) enganya els usuaris perquè facin clic en alguna cosa diferent del que perceben. L'atacant carrega el lloc objectiu en un iframe invisible, el col·loca sobre una interfície d'engany i espera. L'usuari fa clic a l'esquer visible; el clic aterra a l'iframe ocult; el lloc objectiu veu una interacció normal de l'usuari.

L'exemple clàssic

2008: els investigadors van demostrar la superposició de botons invisibles de "M'agrada" de Facebook en un contingut atractiu d'esquer ("Fes clic aquí per guanyar un iPad!"). Els usuaris van fer clic a l'esquer; al seu navegador li va agradar en silenci la pàgina de Facebook de l'atacant. Els m'agrada eren autèntics: l'usuari va iniciar sessió a Facebook, el navegador va enviar galetes normals, Facebook va veure un clic autenticat real.

El mateix patró funciona per a qualsevol acció de la interfície d'usuari: canviar la configuració, concedir permisos OAuth, transferir fons, confirmar compres. En qualsevol lloc on un usuari iniciat pot fer alguna cosa amb un sol clic, el clickjacking pot fer que ho faci sense adonar-se'n.

La mecànica

La implementació clàssica:


  iframe { opacity: 0; position: absolute; top: 100px; left: 100px; }


L'iframe es col·loca exactament sobre la imatge del botó temptador, però es representa amb zero opacitat. L'usuari veu la imatge; el clic passa a l'iframe. El posicionament CSS permet a l'atacant ajustar les coordenades perquè el clic arribi a un botó específic dins de la pàgina emmarcada.

Defenses

Tos mecanismes principals:

  • X-Frame-Options encapçalament. iframes. Valors: DENY (mai marc), SAMEORIGIN (només marc del mateix lloc), ALLOW-FROM (obsolet). Àmpliament compatible, fàcil d'implementar.
  • Política de seguretat del contingut: directiva d'ancestres de marcs. El substitut modern. Content-Security-Policy: antecessors del marc 'none' o 'self' o orígens específics. Més flexible que X-Frame-Options.

Ela capçalera (o totes dues) és la defensa estàndard. Els llocs sense ells són vulnerables a l'enquadrament.

Variants i complicacions

  • Cursorjacking. Trucs CSS que desalineen el cursor visible amb l'objectiu del clic real. Arreglat en gran part pels navegadors moderns, però històricament real.
  • Keystroke jacking. Concepte semblant per a l'entrada del teclat: el focus es centra en un iframe invisible.
  • Drag-and-drop framing. L'usuari s'ha de transferir a un marc de credencials induït o possiblement amagat. dades.
  • Configuracions de clics múltiples. Alguns atacs requereixen que l'usuari faci clic en diversos punts específics; una seqüència d'enganys atrau l'usuari a través de tot el flux.
  • Clic basat en el toc al mòbil. Els objectius del toc són més grans i més fàcils d'enfosquir; els navegadors mòbils tenen defenses en capes, però la superfície es manté.

Què pot aconseguir el clic-jacking

  • LLifem/seguint els comptes socials
  • Autorització de permisos OAuth (concedint a les aplicacions atacants accés a les vostres dades, configuració de la contrasenya de correu electrònic XC) recuperació)
  • Confirmació de compres o transferències
  • Concesión de permís de càmera/micròfon a les aplicacions web
  • EActivació d'accions enllaçades profundes en serveis connectats

L'atac es basa en que l'usuari s'enganxi al lloc objectiu i s'inicia la sessió. El dany augmenta amb l'impacte que pot tenir un clic a l'objectiu.

Iframes amb caixa de sorra i les plataformes web modernes

Les plataformes web modernes inclouen diverses funcions que compliquen el clic-jacking:

  • Cross-Origin-Opener-PolicyX contexts
  • Permisos API requereix indicacions explícites per a operacions sensibles (càmera, micròfon, etc.)
  • Gest de l'usuari requerit: moltes API d'alt impacte (escriptura del porta-retalls, pantalla completa, només clics a les finestres emergents en silenci parcial) overlay

Combinat amb X-Frame-Options i antecessors de marcs CSP àmpliament desplegats, el clic-jacking clàssic contra llocs ben configurats és molt més difícil que fa una dècada. La categoria és més rara però no s'extingeix.

Per als desenvolupadors

  • Configureu antecessors de fotogrames o opcions de marc X a cada pàgina autenticada
  • Per a pàgines aptes per incrustar (vídeos, ginys), sigui específic sobre els pares permesos
  • Requereix una confirmació gradual de les accions crítiques (fins i tot des de la contrasenya, l'autenticació de MFA) sessions
  • Utilitzeu la capçalera Origin per verificar l'origen de l'enquadrament per a les accions que funcionen legítimament des d'incrustacions

Per als usuaris

No podeu detectar fàcilment el clic-jacking del costat del client: aquest és el punt. Les defenses són del costat del servidor. La higiene general ajuda: no us quedeu connectat als comptes als quals no necessiteu estar, tanqueu la sessió dels serveis sensibles quan acabeu, aneu amb compte amb les pàgines desconegudes amb ofertes massa bones per ser veritables.

Preguntes freqüents

El bloquejador d'anuncis ajuda contra el clickjacking?
Parcialment: alguns bloquejadors d'anuncis eliminen els iframes de fonts sospitoses. No es bloquejarà el clic-jacking en un lloc legítim compromès. La defensa fiable és del costat del servidor (ancestres del marc), no del filtrat del costat del client.
Les aplicacions mòbils són vulnerables al clickjacking?
Menys que el web perquè la interfície d'usuari mòbil no té la mateixa mecànica de superposició. Existeixen equivalents mòbils ("tapjacking" a Android mitjançant permisos de superposició), però el sistema operatiu ha bloquejat progressivament. L'Android modern requereix una concessió explícita d'usuari per al permís de superposició SYSTEM_ALERT_WINDOW.
Per què l'atac es diu "jacking"?
El motlle "click-jacking" va ser encunyat per Jeremiah Grossman i Robert Hansen el 2008. Capta el segrest de clics legítims per part dels atacants.
Com puc comprovar si un lloc es deixa emmarcar?
Proveu de carregar-lo en un iframe mitjançant eines per a desenvolupadors o una pàgina HTML senzilla. Si la pàgina es carrega dins de l'iframe, li falten capçaleres de protecció de marcs i pot ser vulnerable a fer clics. Molts escàners de seguretat ho comproven automàticament.
El clic ha causat incidents importants recentment?
Menys que durant el pic de 2008-2015, però les plataformes de recompenses d'errors encara veuen informes de clics en llocs més petits. Els llocs principals solen tenir capçaleres adequades. Les interfícies d'administració amb menys manteniment, les eines internes i el SaaS heretat són on apareixen les superfícies de clic.
Explicació de Clickjacking: el truc de la interfície d'usuari que us fa fer clic al que no veieu