Förrädiska Klick: En Djupdykning i Clickjacking-attacker
Det är lockande att trycka på en länk som lovar en gratis iPhone. Men det är viktigt att vara försiktig, eftersom ett enda klick kan leda till oönskade konsekvenser. Denna artikel utforskar metoden clickjacking och ger dig insikter om hur du kan skydda dig.
Clickjacking, även känt som User Interface Redressing, är en angreppsmetod som utnyttjar ett lager av osynliga element för att manipulera användarens klick. Genom att dölja en länk bakom en annan, ser angriparen till att användaren utför åtgärder som den inte har för avsikt att göra.
Många av oss loggar in på sociala medier och förblir inloggade under långa perioder. Denna vana kan utnyttjas av angripare för att tvinga användare att gilla eller följa innehåll utan deras vetskap. Ett frestande erbjudande, som ”Gratis iPhone – begränsad tid”, kan placeras på en webbplats. Under denna synliga knapp döljs en osynlig ram med en sida från det sociala nätverket, där till exempel en ”Gilla”- eller ”Dela”-knapp befinner sig.
Detta enkla trick kan tvinga Facebook-användare att gilla grupper eller sidor utan deras samtycke.
Scenariot ovan kan verka relativt harmlöst, med enbart följd att användaren läggs till i en grupp på sociala medier. Men med lite extra ansträngning kan samma teknik användas för att kontrollera om en användare är inloggad på sitt bankkonto. Istället för att gilla eller dela något, kan användaren tvingas klicka på en knapp som överför pengar till angriparens konto. Det farliga är att denna åtgärd är svår att spåra, eftersom användaren är inloggad och klickar på överföringsknappen helt frivilligt.
Clickjacking-attacker utnyttjar social ingenjörskonst, vilket gör sociala medier till en idealisk attackvektor.
Låt oss se några konkreta exempel.
Clickjacking på Twitter
För ungefär tio år sedan drabbades Twitter av en omfattande attack som snabbt spred sig. Denna attack lurade användare att klicka på en länk genom att utnyttja deras nyfikenhet.
Tweets som löd ”Klicka inte”, följt av en länk, spred sig snabbt över tusentals konton. När användare klickade på länken och sedan på en till synes oskyldig knapp på målsidan, skickades en likadan tweet från deras konton.
Twitters tekniker lyckades åtgärda clickjacking-attacken ganska snabbt. Attacken i sig var ofarlig, men den fungerade som en varningssignal om de potentiella riskerna med clickjacking på plattformen. Den skadliga länken ledde användaren till en webbsida med en dold iframe. Inuti ramen fanns en osynlig knapp som skickade tweeten från offrets konto.
Clickjacking på Facebook
Användare av Facebooks mobilapp utsätts för en bugg som låter spammare posta klickbart innehåll på deras tidslinjer utan att de ger sitt godkännande. Denna bugg upptäcktes av en säkerhetsexpert som analyserade en spamkampanj. Han noterade att många av hans kontakter delade en länk till en sida med roliga bilder. Innan de fick se bilderna, uppmanades användarna att godkänna en förklaring.
Vad användarna inte visste var att förklaringen låg under en osynlig ram.
När användare godkände förklaringen, blev de ledda till en sida med roliga bilder. Samtidigt publicerades länken på deras Facebook-tidslinje. Detta var möjligt eftersom webbläsarkomponenten i Facebook-appen för Android inte är kompatibel med ramalternativens rubriker, vilket möjliggjorde skadlig ramöverlagring.
Facebook betraktar inte detta som ett fel, eftersom det inte påverkar användarnas kontointegritet. Det är därför oklart om detta kommer att åtgärdas.
Clickjacking på andra sociala nätverk
Det är inte bara Twitter och Facebook som är utsatta. Även mindre sociala nätverk och bloggplattformar har sårbarheter som möjliggör clickjacking. LinkedIn, till exempel, hade en brist som öppnade upp för angripare att lura användare att dela och posta länkar för deras räkning utan deras samtycke. Innan felet åtgärdades, kunde angripare ladda LinkedIns ”ShareArticle”-sida i en dold ram och lägga denna ram över sidor med till synes harmlösa länkar eller knappar.
Ett annat exempel är Tumblr, en offentlig bloggplattform. Tumblr använder JavaScript-kod för att förhindra clickjacking. Men detta skydd kan vara ineffektivt, eftersom sidor kan isoleras i en HTML5-ram som hindrar dem från att köra JavaScript-kod. En väl utformad teknik kan användas för att stjäla lösenord. Genom att kombinera denna brist med en lösenordshjälp i webbläsaren, kan användare luras att skriva in en falsk captcha och oavsiktligt skicka sina lösenord till angriparens webbplats.
Förfalskade begäranden över sajter (CSRF)
En variant av clickjacking kallas Cross-site request forgery, eller CSRF. Genom social ingenjörskonst riktar cyberbrottslingar CSRF-attacker mot slutanvändare, vilket tvingar dem att utföra oönskade handlingar. En attackvektor kan vara en länk som skickas via e-post eller chatt.
CSRF-attacker syftar inte till att stjäla användardata, eftersom angriparen inte kan se svaret på den förfalskade begäran. Istället fokuserar attackerna på begäranden som ändrar tillstånd, som lösenordsändringar eller penningöverföringar. Om offret har administrativa rättigheter kan en CSRF-attack äventyra en hel webbapplikation.
En CSRF-attack kan lagras på sårbara webbplatser, särskilt de med ”lagrade CSRF-brister”. Detta kan åstadkommas genom att infoga IMG- eller IFRAME-taggar i inmatningsfält som visas på sidan, till exempel kommentarer eller sökresultat.
Att Förhindra Ram-attacker
Moderna webbläsare har förmågan att avgöra om en viss resurs är tillåten att laddas i en ram. De kan också ställa in att en resurs endast ska laddas i en ram om begäran kommer från samma plats som användaren befinner sig. På detta sätt förhindras användare från att luras till att klicka på osynliga ramar med innehåll från andra webbplatser, och deras klick kapas inte.
Tekniker på klientsidan, såsom frame busting och frame killing, kan användas för att minska riskerna. Men dessa metoder kan lätt kringgås. Därför rekommenderar säkerhetsexperter metoder på serversidan, som X-Frame-Options (XFO) eller den nyare Content Security Policy.
X-Frame-Options är ett svarshuvud som webbservrar inkluderar i sina webbsidor för att ange om en webbläsare får visa innehållet i en ram eller inte.
X-Frame-Option-huvudet accepterar tre värden:
DENY
, som förbjuder visning av sidan i en ram.SAMEORIGIN
, som tillåter visning av sidan i en ram, så länge den stannar inom samma domän.ALLOW-FROM URI
, som tillåter visning av sidan i en ram, men endast för en specificerad URI (Uniform Resource Identifier), till exempel endast inom en viss webbsida.
Nyare metoder mot clickjacking inkluderar Content Security Policy (CSP) med direktivet frame-ancestors
. Detta alternativ används ofta som en ersättning för XFO. En stor fördel med CSP är att det tillåter webbservrar att godkänna flera domäner för att rama in deras innehåll. Dock stöds detta ännu inte av alla webbläsare.
CSP:s frame-ancestors
-direktiv accepterar tre typer av värden: ’none’, för att förhindra att någon domän visar innehållet; ’self’, för att endast tillåta den nuvarande webbplatsen att visa innehållet i en ram; eller en lista över webbadresser med jokertecken, till exempel ’*.exempel.se’, https://www.example.com/index.html, etc., för att endast tillåta inramning på sidor som matchar listan.
Hur du skyddar dig mot clickjacking
Det är bekvämt att vara inloggad på sociala medier när man surfar. Men när du gör detta, är det mycket viktigt att vara försiktig med vad du klickar på. Du bör också vara uppmärksam på de webbplatser du besöker. Om du är osäker på en webbplats, undvik att klicka på misstänkta saker, oavsett hur lockande de verkar.
En annan viktig faktor är din webbläsarversion. Även om en webbplats använder alla rubriker för att förhindra clickjacking, stöds inte alla av alla webbläsare. Se därför till att använda den senaste versionen av din webbläsare som stödjer funktionerna som motverkar clickjacking.
Sunt förnuft är en effektiv försvarsmekanism mot clickjacking. Om du stöter på ovanligt innehåll, eller en länk som delats av en vän på sociala medier, bör du fråga dig själv om det är något som din vän skulle dela. Om inte, bör du varna din vän om att han eller hon kan ha blivit utsatt för clickjacking.
Ett sista råd: om du är en influencer eller har många följare på sociala medier, bör du vara extra försiktig och uppvisa ett ansvarsfullt beteende online. Om du blir utsatt för clickjacking kan attacken påverka en stor mängd människor.