Att logga in på webbplatser eller portaler är för de flesta en del av vardagen när man använder internet. Varje gång du loggar in på en webbplats skapas en session. En session är kommunikationen mellan två system, och den förblir aktiv tills användaren avslutar kommunikationen. Att starta en session är nödvändigt för att kommunikation ska kunna ske över internet, men ger också upphov till en risk för sessionskapning. Läs vidare om du vill veta mer om sessionskapning, hur det fungerar och hur du skyddar dig.
Vad är sessionskapning?
Sessionskapning, även kallat cookiekapning, sidejacking eller TCP-sessionskapning, inträffar när en angripare tar över din internetsession. Det kan hända när du handlar på nätet, betalar en räkning eller kontrollerar ditt banksaldo. Sessionskapare riktar vanligtvis in sig på webbläsare eller webbapplikationer, och deras syfte är att ta kontroll över din webbläsarsession för att få tillgång till dina personuppgifter och lösenord.
Sessionskapare lurar webbplatser att tro att de är du. Denna typ av attack kan få allvarliga konsekvenser för applikationssäkerheten eftersom den gör det möjligt för angripare att få obehörig åtkomst till skyddade konton (och de data de innehåller) genom att maskera sig som en legitim användare.
Vad är en session?
Varje gång en användare öppnar en webbplats eller ett program via en HTTP-anslutning autentiserar tjänsten användaren (t.ex. via ett användarnamn och lösenord) innan kommunikationslinjen öppnas och åtkomst ges. HTTP-anslutningar i sig är dock "statslösa", vilket innebär att varje åtgärd som en användare vidtar betraktas separat. Om vi enbart förlitade oss på HTTP skulle användarna därför behöva autentisera sig på nytt för varje åtgärd de vidtar eller sida de tittar på.
Sessionerna löser detta problem. En session skapas på den server som är värd för webbplatsen eller applikationen när en användare loggar in och fungerar sedan som referens för den första autentiseringen. Användare kan vara autentiserade så länge som en session är öppen på servern och kan avsluta en session genom att logga ut från tjänsten. Vissa tjänster avslutar en session efter en viss period av inaktivitet.
Många tjänster skapar dessa sessioner genom att utfärda ett sessions-ID, en sträng av siffror och bokstäver som lagras i tillfälliga sessionscookies, webbadresser eller dolda fält på webbplatsen. I vissa fall, men inte alltid, är dessa sessions-ID:n krypterade. Ofta baseras sessions-ID:n på förutsägbar information, t.ex. en användares IP-adress.
Hur fungerar sessionskapning?
Här är ett hypotetiskt exempel på hur sessionskapning kan fungera:
Steg 1: En internetanvändare loggar in på ett konto som vanligt.
Det kan vara deras internetbank eller kreditkortskonto, en webbutik, en applikation eller en portal. Applikationen eller webbplatsen installerar en tillfällig sessionscookie i användarens webbläsare. Denna cookie innehåller information om användarna som gör det möjligt för webbplatsen att hålla dem autentiserade och inloggade och att spåra deras aktivitet under sessionen. Sessionscookien ligger kvar i webbläsaren tills användaren loggar ut (eller automatiskt loggas ut efter en viss period av inaktivitet).
Steg 2: En brottsling får tillgång till internetanvändarens giltiga session.
Cyberbrottslingar använder olika metoder för att stjäla sessioner. Ofta innebär sessionskapning att man stjäl användarens sessionscookie, lokaliserar sessions-ID:t i kakan och använder den informationen för att ta över sessionen. Sessions-ID:t kallas även sessionsnyckel. När brottslingen får tag på sessions-ID:t kan hen ta över sessionen utan att bli upptäckt.
Steg 3: Sessionskaparen får en belöning för att ha stulit sessionen.
När den ursprungliga internetanvändaren har fortsatt sin resa på nätet kan kaparen använda den pågående sessionen för att begå olika menliga handlingar. Det kan handla om att stjäla pengar från användarens bankkonto, köpa varor, stjäla personuppgifter för att begå identitetsstöld eller kryptera viktiga uppgifter och sedan kräva en lösensumma för att få tillbaka dem.
Sessionskapningsattacker utförs vanligtvis mot livliga nätverk med ett stort antal aktiva kommunikationssessioner. Detta ger angriparen en stor mängd sessioner att utnyttja och ger angriparen ett visst skydd, eftersom antalet aktiva sessioner på servern gör det mindre sannolikt att de upptäcks.
Typer av sessionskapning
Webbkodinjektion
En attack med webbkodinjektion (cross-site scripting) innebär att cyberbrottslingar utnyttjar säkerhetsbrister i en webbserver eller
applikation. Webbkodinjektion innebär att en angripare injicerar skript i webbsidor. Dessa får webbläsaren att avslöja din sessionsnyckel för angriparen så att denne kan ta över sessionen.
Sidejacking (även kallat sessionssniffning)
I denna typ av attack behöver en brottsling tillgång till en användares nätverkstrafik. De kan få åtkomst när användaren använder osäkert Wi-Fi eller genom mannen-i-mitten-attacker.
Vid sidejacking använder en brottsling "paketsniffning" för att övervaka en internetanvändares nätverkstrafik i syfte att söka efter sessioner. Detta gör det möjligt för angriparen att få tag på en sessionscookie och använda den för att ta över sessionen.
Sessionsfixering
Vid en sessionsfixeringsattack skapar brottslingen ett sessions-ID och lurar användaren att starta en session med det. Detta kan uppnås genom att skicka ett e-postmeddelande till användaren med en länk till ett inloggningsformulär
för den webbplats som angriparen vill komma åt. Användaren loggar in med det falska sessions-ID:t, vilket ger angriparen en fot i dörren.
Mannen-i-webbläsaren-attack
Detta liknar en mannen-i-mitten-attack, men angriparen måste först infektera offrets dator med en trojan. När offret har lurats att installera skadlig programvara
i systemet väntar den skadliga programvaran på att offret ska besöka en utvald webbplats. Den skadliga programvaran mannen-i-webbläsaren kan osynligt ändra transaktionsinformation och kan även skapa ytterligare transaktioner utan att användaren vet
om det. Eftersom begärandena initieras från offrets dator är det mycket svårt för webbtjänsten att upptäcka att de är falska.
Förutsägbart sessions-ID
Många webbservrar använder en anpassad algoritm eller ett fördefinierat mönster för att generera sessions-ID. Ju mer förutsägbar ett session-ID är, desto svagare är det. Om angriparen kan fånga flera ID och
analysera mönstret kan det vara möjligt att förutsäga ett giltigt sessions-ID. (Detta tillvägagångssätt kan jämföras med en råstyrkeattack).
Hur skiljer sig sessionskapning från sessionsspoofing?
Sessionskapning och sessionsspoofing har likheter men är inte samma typ av attack. Den största skillnaden mellan de två är att sessionskapning sker när en legitim användare redan är inloggad på en webbsession. Sessionsspoofing sker däremot när angripare utger sig för att vara en användare för att starta en ny webbsession (vilket innebär att användaren inte behöver vara inloggad vid den tidpunkten).
Denna skillnad innebär att legitima användare upplever attackerna på olika sätt. Vid sessionskapning kan en angripare som avbryter sessionen få webbplatsen eller applikationen att bete sig ovanligt eller till och med krascha för offret. Men eftersom användaren inte är aktivt inloggad under en attack med sessionsspoofing kommer de inte att uppleva några störningar under sin nästa session.
Konsekvenserna av sessionskapningsattacker
Det finns många risker med att inte vidta åtgärder för att förhindra sessionskapning. Några av dessa faror är bl.a:
Identitetsstöld
Genom att få obehörig åtkomst till känslig personlig information som sparats i konton kan angripare stjäla offrets identitet utanför den hackade webbplatsen eller applikationen.
Ekonomisk stöld
Genom sessionskapning kan angripare få möjlighet att utföra finansiella transaktioner på användarens vägnar. Det kan handla om att föra över pengar från ett bankkonto eller att genomföra köp med sparad betalningsinformation.
Infektering med skadlig programvara
Om en hackare kan stjäla en användares sessions-ID kan de också infektera användarens dator med skadlig programvara. På så sätt kan de få kontroll över offrens dator och stjäla deras data.
Överbelastningsattack (DoS)
En hackare som får kontroll över en användares session kan utföra en DoS-attack mot den webbplats eller server som användaren är ansluten till, vilket kan leda till driftstörningar eller att webbplatsen kraschar.
Åtkomst till ytterligare system via SSO
SSO står för "single sign on" (samlad inloggning). Angripare kan också få obehörig åtkomst till ytterligare system om SSO är aktiverat, vilket ytterligare ökar den potentiella risken för en sessionskapningsattack. Denna risk är särskilt viktig för organisationer, där man ofta möjliggör SSO för sina anställda. I slutändan innebär detta att även mycket välskyddade system med starkare autentiseringsprotokoll och mindre förutsägbara sessionscookies, t.ex. där man hanterar finansiell information eller kundinformation, endast är så säkra som den svagaste länken i hela systemet.
Exempel på sessionskapningsattacker
Zoom-bombning
Under covid-19-pandemin vände sig världen till videokonferensappar som Zoom. Dessa appar blev ett populärt mål för sessionskapare och fick till och med smeknamnet "zoom-bombing". Det kom nyhetsrapporter om sessionskapare som anslöt sig till privata videosessioner och i vissa fall skrek svordomar, hatiskt språk och delade pornografiska bilder. Som svar på detta införde Zoom bättre integritetsskydd för att minimera risken.
Slack
2019 upptäckte en forskare på en buggbelöningsplattform en sårbarhet i Slack som gjorde det möjligt för angripare att tvinga användare
till falska omdirigeringar av sessionerna så att de kunde stjäla deras sessionscookies. Detta gav angriparna tillgång till alla data som delades inom Slack (vilket för många organisationer kan vara betydande). Slack svarade snabbt och patchade sårbarheten
inom 24 timmar efter att forskaren hade uppmärksammat den.
GitLab
2017 upptäckte en säkerhetsforskare en sårbarhet i GitLab där användarnas sessions-ID var tillgängliga direkt i webbadressen. Ytterligare undersökningar visade att GitLab även använde varaktiga sessions-ID:n som aldrig förföll, vilket innebar att en angripare som fått tag på ett sessions-ID kunde använda det utan att behöva oroa sig för att det skulle förfalla. Denna kombination av öppen exponering och varaktiga ID:n utgjorde en allvarlig risk, eftersom användarna potentiellt kunde falla offer för olika allvarliga attacker genom sessionskapning via en råstyrkeattack. GitLab åtgärdade sårbarheten genom att ändra hur de använde och lagrade dessa ID:n.
Hur man förhindrar sessionskapning
Följ dessa tips för att förhindra sessionskapningar och öka din säkerhet på nätet:
Undvik offentligt Wi-Fi
Undvik att utföra viktiga transaktioner som bankärenden, e-handel eller logga in på e-postkonton eller sociala medier på offentligt Wi-Fi. Det kan
finnas en cyberbrottsling i närheten som använder paketsniffning för att försöka få tag på sessionscookies och annan information.
Använd ett VPN
Om du måste använda offentligt Wi-Fi bör du använda ett virtuellt privat nätverk (VPN) för att maximera din säkerhet och hålla sessionskaparna borta från dina
sessioner. Ett VPN maskerar din IP-adress och håller dina onlineaktiviteter privata genom att skapa en privat tunnel som all din onlineaktivitet färdas genom. Ett VPN krypterar de data
du skickar och tar emot.
Var uppmärksam på nätfiske och andra bedrägerier på nätet
Klicka inte på länkar i e-postmeddelanden om du inte är säker på att det kommer från en betrodd avsändare. Sessionskapare kan skicka ett e-postmeddelande till dig med en länk
som du ska klicka på. Länken kan installera skadlig programvara på din enhet eller leda dig till en inloggningssida som loggar in dig på en webbplats med hjälp av ett sessions-ID som skapats av angriparen.
Var medveten om webbplatsens säkerhet
Kända banker, e-postleverantörer, e-handlare och sociala medier har skyddsåtgärder på plats för att undvika sessionskapning. Håll utkik efter webbplatser vars URL börjar med HTTPS – S:et står för
"secure" (säker). Om du använder tvivelaktiga webbutiker eller andra leverantörer som kanske inte har robusta säkerhetsfunktioner kan du bli utsatt för en sessionskapningsattack.
Använd antivirusprogram
Installera ett välrenommerat antivirusprogram som enkelt kan upptäcka virus och skydda dig mot alla typer av skadlig programvara (inklusive skadlig programvara som angripare använder för att utföra sessionskapning).
Håll dina system uppdaterade genom att ställa in automatiska uppdateringar på alla dina enheter.
Relaterade produkter:
Läs mer: