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

Visste du att en hacker kan göra banköverföringar eller onlineköp för din räkning utan att stjäla din registreringsinformation?

Vi associerar cookies med spårande och irriterande onlineannonser, men de lagrar även sökfrågor, vilket gör att vi kan besöka webbplatser utan att ange ett användarnamn och lösenord.

Men om någon fångar upp kakan kan detta leda till en katastrofal cyberattack som kallas sessionskapning, vilket kan utsätta din känsliga data för risken för angripare, och det kan göra mycket skada innan du ens vet vad som hände.

Låt oss ta reda på vad det är och hur du kan förhindra det!

Vad är sessionskapning?

Vid sessionskapning fångar en angripare upp och tar över en etablerad session mellan en användare och en värd, såsom en webbserver, Telnet-session eller någon annan TCP-baserad anslutning. En session startar när du loggar in på en webbplats eller applikation, till exempel en webbplats för sociala nätverk.

Det fortsätter medan du är inne på kontot, kontrollerar din profil eller deltar i en tråd, och slutar när du loggar ut ur systemet. Men hur vet webbservern att varje begäran du gör faktiskt kommer från dig?

Det är här cookies kommer in. Efter att ha loggat in skickar du dina referenser till webbservern. Den bekräftar vem du är och ger dig ett sessions-ID med hjälp av en cookie som bifogas dig under hela sessionen. Det är därför du inte loggar ut från en applikation varje gång du besöker någons profil och därför kommer nätbutiken ihåg vad du lägger i din varukorg även om du uppdaterar sidan.

Men angripare kan kapa sessionen om de använder speciella sessionshanteringstekniker eller stjäl din cookie. Således kan det lura webbservern att tro att förfrågningarna kommer från dig, den auktoriserade användaren.

Fenomenet med sessionskapning blev känt i början av 2000-talet, men det är fortfarande en av de vanligaste metoderna som används av hackare.

Ett färskt exempel är Lapsus$ Group, som blev en del av FBI:s Most Wanted-lista i år. Den använder InfoStealer Maleware-infektion för att kapa sessionen.

På samma sätt är GenesisStore en inbjudningsbutik som drivs av en grupp med samma namn som säljer data om komprometterade cookies, och dess lista överstiger 400 000+ bots.

Sessionsfångsttyper

Sessionskapning kan delas in i två huvudkategorier, beroende på gärningsmannens önskemål.

Aktiv: I en aktiv attack tar angriparen över din session och tar därmed den legitima klientens anslutning till resursen. Beroende på sessionens webbplats kan hackaren göra onlineköp, ändra lösenord eller återställa konton. Ett vanligt exempel på en aktiv attack är en brute force attack, XSS eller till och med DDoS.

Källa: OSWAP

Passiv: I en passiv attack tar angriparen inte över eller ändrar sessionen. Istället övervakar de tyst datatrafiken mellan din enhet och servern och samlar in all känslig information. Vanligtvis används IP Spoofing och malware-injection för att utföra passiva injektionsattacker.

Källa: OSWAP

Hur fungerar sessionskapning?

HTTP är ett tillståndslöst protokoll, vilket innebär att servern inte har något minne av klientens drift. Varje ny HTTP-förfrågan sammanfaller med en ny arbetsenhet, eller för att uttrycka det enklare, servern serverar sidor till klienten utan att komma ihåg klientens tidigare förfrågningar.

När vi surfar på webben inser vi dock att applikationer helst vet vem kunden är (även för väl!). Tack vare detta ”minne” på servern är det möjligt att skapa moderna reserverade områden av webbplatser, onlinebanker, webbmailtjänster etc.

För att göra detta föddes ett bihang som gör ett tillståndslöst protokoll som HTTP stateful: cookies.

Statliga sessioner

När du är inloggad släpper webbapplikationer som använder den stateful sessionen en sessionscookie. Det betyder att de litar på denna cookie för att spåra klienten. Inuti kakan sparas en unik kod som gör det möjligt för klienten att känna igen, till exempel:

SESSIONID=ACF3D35F216AAEFC

Alla med ovan nämnda unika sessions-id eller kod skulle vara den autentiserade klienten för servern. Om en angripare kunde få denna identifierare, som visas på bilden nedan, kan de utnyttja sessionen som ursprungligen validerades för sitt offer antingen genom att sniffa en legitim session eller till och med ta över sessionen helt. Denna identifierare är vanligtvis inbäddad i URL:en, i valfri forms dolda fält eller i cookies.

OSWAP

Statslösa sessioner

Med webbens utveckling har lösningar uppstått för att hantera ”minnet” på servern utan att använda sessionscookies. I en webbapplikation där frontend och backend är väl åtskilda och endast pratar via API, kan den bästa lösningen vara en JWT (JSON Web Token), en signerad token som tillåter frontend att konsumera API:erna som tillhandahålls av backend.

Vanligtvis sparas JWT i webbläsarens sessionStorage, ett minnesområde som klienten håller aktivt tills fliken stängs. Följaktligen skapas en ny session genom att öppna en ny flik (i motsats till vad som händer med cookies).

Genom att stjäla klientens identifikationstoken kan du stjäla användarens session och på så sätt utföra en sessionskapande attack. Men hur stjäl man den poletten?

För närvarande är de metoder som mest används av hackare:

#1. Session Side Jacking

Den här metoden använder osäkra nätverk för att ta reda på ditt sessions-ID. Angriparen använder sniffning (speciell programvara) och riktar sig vanligtvis till offentligt Wi-Fi eller webbplatser utan SSL-certifikat, som är kända för dålig säkerhet.

#2. Sessionsfixering

Offret använder sessions-ID som skapats av angriparen. Det kan göra detta med en nätfiskeattack (via en skadlig länk) som ”fixar” ditt sessions-ID.

#3. Råstyrka

Den mest tidskrävande och ineffektiva metoden. Under denna attack stjäl hackaren inte dina cookies. Istället försöker den alla möjliga kombinationer för att gissa ditt sessions-ID.

#4. XSS eller Cross-site Scripting

En hacker utnyttjar sårbarheter 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. Malware Injection

Skadlig programvara kan utföra obehöriga åtgärder på din enhet för att stjäla personlig information. Det 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 för sitt paket så att det verkar komma från dig. På grund av den falska IP-adressen tror webbservern att det är du och sessionen kapas.

Hur kan man förhindra sessionskapning?

Möjligheten att kapa sessioner beror vanligtvis på säkerheten för de webbplatser eller 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 idealiska för cyberbrottslingar. De har vanligtvis dålig säkerhet och kan lätt förfalskas av hackare. För att inte tala om att de alltid är fulla av potentiella offer vars datatrafik ständigt äventyras.
  • Alla webbplatser som inte använder ett SSL-certifikat gör dig sårbar, eftersom den inte kan kryptera trafik. Kontrollera om sidan är säker genom att leta efter ett litet hänglås bredvid webbadressen.

  • Installera ett anti-malware-program för att upptäcka och skydda din enhet från skadlig programvara och råttor som kan stjäla personlig information.
  • Undvik att ladda ner skadlig programvara genom att använda officiella appbutiker eller webbplatser för att ladda ner appar.
  • Om du får ett meddelande som ber dig att klicka på en okänd länk, gör inte det. Detta kan vara en nätfiskeattack som kan infektera din enhet och stjäla personlig information.

Användaren kan göra lite mot en sessionskapningsattack. Tvärtom, dock kan applikationen märka att en annan enhet har anslutit till samma sessionsidentifierare. Och förlita dig på det kan du utforma begränsningsstrategier som:

  • Koppla till varje session några tekniska fingeravtryck eller egenskaper hos den anslutna enheten för att upptäcka ändringar i de registrerade parametrarna. Denna information måste sparas i cookien (för stateful sessioner) eller JWT (för stateless sessioner), absolut krypterad.
  • Om sessionen är cookie-baserad, släpp cookien med HTTPOnly-attributet för att göra den oåtkomlig vid en XSS-attack.
  • Konfigurera ett Intrusion Detection System (IDS), Intrusion Prevention System (IPS) eller nätverksövervakningslösning.
  • Vissa tjänster utför sekundära kontroller av användarens identitet. Till exempel kan en webbserver kontrollera med varje begäran att användarens IP-adress stämmer överens med den senast använda under den sessionen. Detta förhindrar 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.
  • Alternativt kommer vissa tjänster att ändra cookievärdet med varje begäran. Detta minskar drastiskt fönstret där en angripare kan agera och gör det lättare att identifiera om en attack har inträffat men kan orsaka andra tekniska problem.
  • Använd olika lösningar för multifaktorautentisering (MFA) för varje användarsession.
  • Håll alla system uppdaterade med de senaste uppdateringarna och säkerhetsuppdateringarna.

FAQ

Hur skiljer sig sessionskapning från sessionspoofing?

Sessionskapning innebär att låtsas vara användaren, medan spoofing innebär att användaren ersätts. Under de senaste åren har vissa säkerhetsanalytiker börjat karakterisera det senare som en typ av sessionskapning.

Slutord

Frekvensen av sessionskapningsattacker har ökat under de senaste åren; därför har det blivit allt viktigare att förstå sådana attacker och följa förebyggande åtgärder. Men precis som tekniken utvecklas blir attackerna också mer sofistikerade; därför är det viktigt att skapa aktiva begränsningsstrategier mot sessionskapning.

Du kanske också är intresserad av att veta hur mycket din data är värd på den mörka webben.