Vad är sessionskapning och sätt att förebygga

By rik

Kände du till att en cyberbrottsling kan genomföra banktransaktioner eller onlineköp i ditt namn, utan att ens stjäla dina inloggningsuppgifter?

Vi brukar associera cookies med spårning och påträngande annonser, men de lagrar faktiskt även sökfrågor och möjliggör att vi kan besöka webbplatser utan att behöva ange användarnamn och lösenord varje gång.

Men om en obehörig person lyckas komma över en cookie kan det resultera i en allvarlig cyberattack kallad sessionskapning. Detta kan utsätta din känsliga information för risk och orsaka stor skada innan du ens inser vad som har hänt.

Låt oss utforska vad sessionskapning är och hur du kan skydda dig mot den!

Vad är sessionskapning?

Sessionskapning, eller session hijacking, inträffar när en angripare kapar och tar kontroll över en befintlig session mellan en användare och en server, till exempel en webbserver, en Telnet-session eller någon annan TCP-baserad anslutning. En session påbörjas när du loggar in på en webbplats eller applikation, som en social medieplattform.

Sessionen fortsätter så länge du är inloggad, exempelvis när du granskar din profil eller deltar i en diskussion, och avslutas när du loggar ut. Men hur vet webbservern att varje begäran som görs faktiskt kommer från dig?

Det är här cookies spelar en avgörande roll. Efter att du har loggat in skickas dina inloggningsuppgifter till webbservern. Servern verifierar din identitet och genererar ett sessions-ID som tilldelas dig via en cookie. Denna cookie följer med dig under hela sessionen. Det är därför du inte blir utloggad från en app varje gång du besöker en annan profil, och varför en onlinebutik kommer ihåg varorna du har lagt i din varukorg även om du uppdaterar sidan.

Angripare kan kapa sessionen genom att använda speciella tekniker för sessionshantering eller genom att stjäla din cookie. På så sätt kan de lura webbservern att tro att förfrågningarna kommer från dig, den autentiserade användaren.

Sessionskapning blev ett känt fenomen i början av 2000-talet, men det är fortfarande en av de vanligaste metoderna som hackare använder sig av.

Ett aktuellt exempel är Lapsus$ Group, som i år hamnade på FBI:s lista över mest eftersökta brottslingar. Gruppen använder skadeprogrammet InfoStealer för att kapa sessioner.

GenesisStore är också värt att nämna. Denna exklusiva marknadsplats, som drivs av en grupp med samma namn, säljer data om stulna cookies och har över 400 000+ komprometterade enheter i sitt register.

Typer av sessionskapning

Sessionskapning kan delas in i två huvudkategorier, beroende på angriparens agerande.

Aktiv sessionskapning: Här tar angriparen aktivt kontroll över din session och kapar din uppkoppling till den aktuella resursen. Beroende på vilken webbplats det gäller kan hackaren utföra onlineköp, ändra lösenord eller återställa konton. Exempel på aktiva attacker är brute force-attacker, XSS-attacker eller DDoS-attacker.

Källa: OSWAP

Passiv sessionskapning: Vid en passiv attack tar angriparen inte över sessionen eller ändrar den. Istället övervakar de tyst datatrafiken mellan din enhet och servern för att samla in känslig information. Vanligtvis används IP-spoofing och skadeprogram för att genomföra passiva attacker.

Källa: OSWAP

Hur fungerar sessionskapning?

HTTP är ett tillståndslöst protokoll, vilket innebär att servern inte sparar information om klientens tidigare aktiviteter. Varje ny HTTP-förfrågan behandlas som en separat händelse. Servern levererar sidor till klienten utan att ”minnas” tidigare förfrågningar.

Men när vi surfar på webben är det tydligt att applikationer ofta har information om vem vi är (ibland lite för bra!). Denna funktion, där servern kommer ihåg användarens information, gör det möjligt att skapa moderna, reserverade områden på webbplatser, onlinebanker, e-posttjänster etc.

För att uppnå detta har cookies blivit en förlängning av det tillståndslösa HTTP-protokollet, vilket gör det ”tillståndskänsligt”.

Tillståndskänsliga sessioner

När du loggar in, genererar webbapplikationer som använder tillståndskänsliga sessioner en sessionscookie. De använder denna cookie för att spåra klienten. Inuti cookien lagras en unik kod som identifierar klienten, till exempel:

SESSIONID=ACF3D35F216AAEFC

Vem som helst som har detta unika sessions-ID skulle vara den autentiserade klienten för servern. Om en angripare kunde få tag på denna identifierare kan de utnyttja den session som ursprungligen validerades för offret, antingen genom att avlyssna en legitim session eller genom att helt ta över den. Identifieraren finns vanligtvis inbäddad i URL:en, i dolda fält i formulär eller i cookies.

OSWAP

Tillståndslösa sessioner

I takt med att webben har utvecklats har lösningar uppkommit för att hantera ”minnet” på servern utan att använda sessionscookies. I en webbapplikation där frontend och backend är tydligt åtskilda och endast kommunicerar via API:er kan en JWT (JSON Web Token) vara en bra lösning. En JWT är en signerad token som ger frontend tillgång till de API:er som backend tillhandahåller.

Vanligtvis lagras JWT i webbläsarens sessionStorage, ett minnesområde som klienten håller aktivt tills fliken stängs. En ny session skapas därför när en ny flik öppnas (i motsats till hur det fungerar med cookies).

Genom att stjäla klientens identifieringstoken kan du kapa användarens session. Men hur stjäler man den token?

De metoder som hackare för närvarande använder sig mest av är:

#1. Session Side Jacking

Den här metoden utnyttjar osäkra nätverk för att komma över ditt sessions-ID. Angriparen använder sig av sniffning (specialprogramvara) och riktar vanligtvis in sig på offentligt Wi-Fi eller webbplatser utan SSL-certifikat, som ofta har dålig säkerhet.

#2. Sessionsfixering

Offret använder ett sessions-ID som har skapats av angriparen. Detta kan ske genom en nätfiskeattack (via en skadlig länk) som ”fixerar” ditt sessions-ID.

#3. Råstyrka

Detta är den mest tidskrävande och ineffektiva metoden. Angriparen stjäl inte dina cookies, utan försöker gissa ditt sessions-ID genom att prova alla möjliga kombinationer.

#4. XSS eller Cross-site Scripting

En hackare utnyttjar säkerhetsbrister på webbplatser eller applikationer för att injicera skadlig kod. När en användare besöker webbplatsen aktiveras skriptet, stjäl användarens cookies och skickar dem till angriparen.

#5. Infektion med skadeprogram

Skadeprogram kan utföra obehöriga åtgärder på din enhet för att stjäla personlig information. De används också ofta för att fånga upp cookies och skicka information till en angripare.

#6. IP-spoofing

En cyberbrottsling ändrar källans IP-adress i sitt paket så att det ser ut som att det kommer från dig. På grund av den falska IP-adressen tror webbservern att det är du och sessionen kapas.

Hur kan man skydda sig mot sessionskapning?

Risken för sessionskapning beror oftast på säkerheten hos de webbplatser och applikationer du använder. Det finns dock åtgärder du kan vidta för att skydda dig själv:

  • Undvik offentligt Wi-Fi, eftersom gratis hotspots är en utmärkt grogrund för cyberbrottslingar. De har ofta dålig säkerhet och kan lätt förfalskas. Dessutom finns det alltid många potentiella offer som riskerar att få sin datatrafik komprometterad.
  • Webbplatser som inte använder SSL-certifikat gör dig sårbar, eftersom trafiken inte kan krypteras. Kontrollera om sidan är säker genom att se efter ett hänglås bredvid webbadressen.

  • Installera ett antivirusprogram för att upptäcka och skydda din enhet mot skadeprogram och trojaner som kan stjäla personlig information.
  • Undvik att ladda ner skadeprogram genom att använda officiella appbutiker eller webbplatser när du laddar ner appar.
  • Klicka aldrig på okända länkar. Det kan vara nätfiskeattacker som kan infektera din enhet och stjäla personlig information.

Användare kan inte göra så mycket för att skydda sig mot sessionskapning. Däremot kan applikationen upptäcka om en annan enhet har anslutit sig med samma sessionsidentifierare. Med detta som utgångspunkt kan man utveckla åtgärder som:

  • Koppla ett tekniskt fingeravtryck eller egenskaper hos den anslutna enheten till varje session för att upptäcka ändringar i registrerade parametrar. Denna information måste lagras krypterat i cookien (för tillståndskänsliga sessioner) eller i JWT (för tillståndslösa sessioner).
  • Om sessionen är cookie-baserad, markera cookien med attributet HTTPOnly för att skydda den mot XSS-attacker.
  • Konfigurera ett Intrusion Detection System (IDS), Intrusion Prevention System (IPS) eller en lösning för nätverksövervakning.
  • Vissa tjänster genomför extra kontroller av användarens identitet. En webbserver kan till exempel kontrollera vid varje begäran att användarens IP-adress stämmer överens med den som användes senast under sessionen. Detta hindrar dock inte attacker från någon som delar samma IP-adress och kan vara frustrerande för användare vars IP-adress kan ändras under en surfsession.
  • Vissa tjänster ändrar cookievärdet vid varje begäran. Detta minskar tiden en angripare har på sig att agera och gör det lättare att identifiera om en attack har inträffat. Men det kan också leda till tekniska problem.
  • Använd multifaktorautentisering (MFA) för varje användarsession.
  • Se till att alla system är uppdaterade med de senaste säkerhetsuppdateringarna.

Vanliga frågor

Vad är skillnaden mellan sessionskapning och sessionspoofing?

Sessionskapning innebär att man låtsas vara en annan användare, medan spoofing innebär att man ersätter användaren. Vissa säkerhetsanalytiker har på senare tid börjat anse det senare som en typ av sessionskapning.

Sammanfattning

Antalet sessionskapningsattacker har ökat de senaste åren, vilket gör det allt viktigare att förstå sådana attacker och vidta förebyggande åtgärder. Samtidigt som tekniken utvecklas blir attackerna alltmer sofistikerade. Det är därför viktigt att skapa proaktiva strategier för att minska risken för sessionskapning.

Du kanske också är intresserad av att ta reda på hur mycket din data är värd på darknet.