Akta dig för identifiering av sociala nätverk

Det är svårt att motstå att klicka på en gratis iPhone-länk. Men var försiktig: ditt klick kan lätt kapas och resultaten kan bli katastrofala.

Clickjacking är en attackmetod, även känd som User Interface Redressing, eftersom den ställs in genom att dölja (eller korrigera) en länk med en överlagring som lurar användaren att göra något annat än han eller hon tror.

De flesta användare av sociala nätverk åtnjuter bekvämligheten av att vara inloggad på dem hela tiden. Angripare kan lätt dra nytta av denna vana för att tvinga användare att gilla eller följa något utan att märka det. För att göra detta kan en cyberbrottsling sätta en frestande knapp – till exempel med en tilltalande text, som ”Gratis iPhone – tidsbegränsat erbjudande” – på sin egen webbsida och lägga över en osynlig ram med det sociala nätverkets sida i den, i en sådan ett sätt som en ”Gilla”- eller ”Dela”-knapp ligger över knappen Gratis iPhone.

Detta enkla clickjacking-trick kan tvinga Facebook-användare att gilla grupper eller fansidor utan att veta det.

Det beskrivna scenariot är ganska oskyldigt, i den meningen att den enda konsekvensen för offret är att läggas till en social nätverksgrupp. Men med lite extra ansträngning kan samma teknik användas för att avgöra om en användare är inloggad på sitt bankkonto och istället för att gilla eller dela något socialt mediaobjekt, kan han eller hon tvingas klicka på en knapp som överför pengar till en angripares konto, till exempel. Det värsta är att den skadliga åtgärden inte kan spåras, eftersom användaren var legitimt inloggad på sitt bankkonto och han eller hon klickade frivilligt på överföringsknappen.

Eftersom de flesta clickjacking-tekniker kräver social ingenjörskonst, blir sociala nätverk idealiska attackvektorer.

Låt oss se hur de används.

Clickjacking på Twitter

För ungefär tio år sedan drabbades det sociala nätverket Twitter av en massiv attack som snabbt spred ett meddelande, vilket ledde till att användare klickade på en länk och utnyttjade sin naturliga nyfikenhet.

Tweets med texten ”Klicka inte”, följt av en länk, spred sig snabbt över tusentals Twitter-konton. När användare klickade på länken och sedan på en till synes oskyldig knapp på målsidan, skickades en tweet från deras konton. Den tweeten innehöll texten ”Klicka inte”, följt av den skadliga länken.

Twitter-ingenjörer korrigerade clickjacking-attacken inte långt efter att den startade. Attacken i sig visade sig vara ofarlig, och den fungerade som ett larm som berättade om de potentiella riskerna med Twitters clickjacking-initiativ. Den skadliga länken tog användaren till en webbsida med en dold iframe. Inuti ramen fanns en osynlig knapp som skickade den skadliga tweeten från offrets konto.

Clickjacking på Facebook

Mobila Facebook-appanvändare utsätts för en bugg som låter spammare lägga upp klickbart innehåll på sina tidslinjer, utan deras samtycke. Felet upptäcktes av en säkerhetsexpert som analyserade en skräppostkampanj. Experten observerade att många av hans kontakter publicerade en länk till en sida med roliga bilder. Innan de nådde bilderna ombads användarna att klicka på en myndighetsförklaring.

Vad de inte visste var att deklarationen låg under en osynlig ram.

När användare accepterade deklarationen fördes de till en sida med roliga bilder. Men under tiden publicerades länken i användarnas Facebook-tidslinje. Det var möjligt eftersom webbläsarkomponenten i Facebook-appen för Android inte är kompatibel med ramalternativens rubriker (nedan förklarar vi vad de är), och därför tillåter skadlig ramöverlagring.

Facebook känner inte igen problemet som ett fel eftersom det inte har någon inverkan på användarnas kontointegritet. Så det är osäkert om det någonsin kommer att åtgärdas.

Clickjacking på mindre sociala nätverk

Det är inte bara Twitter och Facebook. Andra mindre populära sociala nätverk och bloggplattformar har också sårbarheter som möjliggör clickjacking. LinkedIn, till exempel, hade ett fel som öppnade en dörr för angripare att lura användare att dela och lägga upp länkar för deras räkning men utan deras samtycke. Innan det fixades tillät felet angripare att ladda LinkedIn ShareArticle-sidan på en dold ram och överlagra denna ram på sidor med till synes oskyldiga och tilltalande länkar eller knappar.

Ett annat fall är Tumblr, den offentliga webbloggarplattformen. Den här webbplatsen använder JavaScript-kod för att förhindra clickjacking. Men denna skyddsmetod blir ineffektiv eftersom sidorna kan isoleras i en HTML5-ram som hindrar dem från att köra JavaScript-kod. En noggrant utformad teknik kan användas för att stjäla lösenord, kombinera den nämnda bristen med ett lösenordshjälp-webbläsarplugin: genom att lura användare att skriva in en falsk captcha-text kan de oavsiktligt skicka sina lösenord till angriparens webbplats.

Förfalskning av förfrågningar på flera ställen

En variant av clickjacking-attack kallas Cross-site request forgery, eller förkortat CSRF. Med hjälp av social ingenjörskonst riktar cyberbrottslingar CSRF-attacker mot slutanvändare, vilket tvingar dem att utföra oönskade handlingar. Attackvektorn kan vara en länk som skickas via e-post eller chatt.

CSRF-attacker har inte för avsikt att stjäla användarens data eftersom angriparen inte kan se svaret på den falska begäran. Istället riktar attackerna sig mot tillståndsändringsförfrågningar, som en lösenordsändring eller en överföring av pengar. Om offret har administrativa rättigheter kan attacken äventyra en hel webbapplikation.

En CSRF-attack kan lagras på sårbara webbplatser, särskilt webbplatser med så kallade ”lagrade CSRF-brister”. Detta kan åstadkommas genom att ange IMG- eller IFRAME-taggar i inmatningsfält som senare visas på en sida, till exempel kommentarer eller en sökresultatsida.

Förhindra framing attacker

Moderna webbläsare kan få reda på om en viss resurs tillåts eller inte laddas inom en ram. De kan också välja att ladda en resurs i en ram endast när förfrågan kommer från samma plats som användaren är på. På så sätt kan användare inte luras att klicka på osynliga ramar med innehåll från andra webbplatser, och deras klick kapas inte.

Reducerande tekniker på klientsidan kallas frame busting eller frame killing. Även om de kan vara effektiva i vissa fall, kan de också lätt kringgås. Det är därför som metoder på klientsidan inte betraktas som bästa praxis. Istället för frame busting rekommenderar säkerhetsexperter metoder på serversidan som X-Frame-Options (XFO) eller nyare, som Content Security Policy.

X-Frame-Options är ett svarshuvud som webbservrar inkluderar på webbsidor för att indikera om en webbläsare får visa innehållet i en ram eller inte.

X-Frame-Option-huvudet tillåter tre värden.

  • DENY, som förbjuder att visa sidan inom en ram
  • SAMEORIGIN, som tillåter visning av sidan inom en ram, så länge den stannar i samma domän
  • ALLOW-FROM URI, som tillåter visning av sidan inom en ram men endast i en specificerad URI (Uniform Resource Identifier), t.ex. endast inom en viss, specifik webbsida.

Nyare anti-clickjacking-metoder inkluderar Content Security Policy (CSP) med direktivet frame-ancestors. Det här alternativet används ofta för att ersätta XFO. En stor fördel med CSP i jämförelse med XFO är att den tillåter en webbserver att tillåta flera domäner att rama in dess innehåll. Men det stöds ännu inte av alla webbläsare.

CSP:s frame-ancestors-direktiv tillåter tre typer av värden: ’ingen’, för att förhindra någon domän från att visa innehållet; ’self’, för att endast tillåta den aktuella webbplatsen att visa innehållet i en ram, eller en lista över webbadresser med jokertecken, såsom ’*.some site.com’,https://www.example.com/index.html,’ etc., för att endast tillåta inramning på alla sidor som matchar ett element från listan.

Hur du skyddar dig mot clickjacking

Det är bekvämt att vara inloggad på ett socialt nätverk medan du surfar runt, men om du gör det måste du vara försiktig med dina klick. Du bör också vara uppmärksam på de webbplatser du besöker eftersom inte alla vidtar nödvändiga åtgärder för att förhindra clickjacking. Om du inte är säker på en webbplats du besöker, bör du inte klicka på något misstänkt klick, oavsett hur frestande det kan vara.

En annan sak att vara uppmärksam på är din webbläsarversion. Även om en webbplats använder alla rubriker för förebyggande av klickjackning som vi nämnde tidigare, stöder inte alla webbläsare dem alla, så se till att använda den senaste versionen du kan få och att den stöder funktioner för att förhindra klickjackning.

Sunt förnuft är en effektiv självskyddsanordning mot clickjacking. När du ser ovanligt innehåll, inklusive en länk postad av en vän på något socialt nätverk, innan du gör något, bör du fråga dig själv om det är den typ av innehåll som din vän skulle publicera. Om inte, bör du varna din vän att han eller hon kan ha blivit offer för clickjacking.

Ett sista råd: om du är en influencer, eller om du bara har ett riktigt stort antal följare eller vänner på något socialt nätverk, bör du dubbla dina försiktighetsåtgärder och utöva ett ansvarsfullt beteende online. För om du blir ett offer för clickjacking kommer attacken att drabba en hel massa människor.