Mi az a munkamenet rögzítés?

A webhelyeken számos különböző típusú biztonsági rés található, az egyik érdekes az úgynevezett „Session Fixation”. A munkamenet-rögzítés olyan probléma, amelyben a támadó befolyásolhatja a felhasználó munkamenet-azonosítóját, más néven munkamenet-azonosítóját, majd ezzel hozzáférhet a fiókjához. Az ilyen típusú sebezhetőség kétféleképpen működhet: lehetővé teheti a támadó számára, hogy megkeresse vagy beállítsa egy másik felhasználó munkamenet-azonosítóját.

Hogyan történik a munkamenetrögzítési támadás

A felhasználó munkamenet-azonosítója gyakran kulcsfontosságú része a webhely hitelesítésének, és sok esetben ez az egyetlen adat, amely azonosítja a bejelentkezett konkrét felhasználót. Ezzel az a probléma, hogy ha egy támadó be tudja állítani vagy megtanulja egy másik felhasználó munkamenet-azonosítóját, akkor használhatja a munkamenet-token-t, majd felhasználóként léphet fel.

Ez általában úgy történik, hogy ráveszik a felhasználót, hogy rákattintsanak egy adathalász hivatkozásra. Maga a hivatkozás teljesen legitim, de tartalmaz egy változót, amely beállít egy meghatározott munkamenet-azonosítót. Ha a felhasználó ezután bejelentkezik a munkamenet-azonosítóval, és a szerver nem rendel hozzá új munkamenet-azonosítót bejelentkezéskor a támadó egyszerűen beállíthatja a munkamenet-azonosítóját, hogy azonos legyen, és hozzáférhessen az áldozat azonosítójához fiókot.

A támadó egy másik módja annak, hogy felfedezze az áldozat munkamenet-azonosítóját, ha az megjelenik egy URL-ben. Például, ha a támadó ráveheti az áldozatot, hogy küldjön neki egy linket, amely tartalmazza az áldozat munkamenet-azonosítóját, a támadó a munkamenet-azonosítóval hozzáférhet az áldozat fiókjához. Egyes esetekben ez teljesen véletlenül megtörténhet. Például, ha a felhasználó kimásolja az URL-t a munkamenet-azonosítóval, és beilleszti egy barátjába vagy egy fórumba, a linket követő bármely felhasználó bejelentkezik a felhasználói fiókjával.

Session fixing remedations

Van néhány megoldás erre a problémára, és mint mindig, a legjobb megoldás az, ha a lehető legtöbb javítást végrehajtja a mélyreható védelmi stratégia részeként. Az első megoldás a felhasználó munkamenet-azonosítójának módosítása bejelentkezéskor. Ez megakadályozza, hogy a támadó valaha is befolyásolni tudja a bejelentkezett felhasználó munkamenet-azonosítóját. A kiszolgálót úgy is beállíthatja, hogy mindig csak az általa generált munkamenet-azonosítókat fogadja el, és kifejezetten elutasítja a felhasználó által megadott munkamenet-azonosítókat.

A webhelyet úgy kell beállítani, hogy soha ne helyezzen el semmilyen bizalmas felhasználói adatot, például munkamenet-azonosítót az URL-ben, és azt egy GET vagy POST kérésparaméterben kell elhelyezni. Ez megakadályozza, hogy a felhasználó véletlenül veszélybe sodorja saját munkamenet-azonosítóját. A munkamenetazonosító és a külön hitelesítési token használatával megduplázza a támadónak megszerzett információ mennyiségét, és megakadályozza, hogy a támadók ismert munkamenet-azonosítókkal hozzáférjenek a munkamenetekhez.

Létfontosságú, hogy a felhasználó minden érvényes munkamenet-azonosítója érvénytelen legyen, amikor a kijelentkezés gombra kattintanak. A munkamenet-azonosító minden kérésnél újragenerálható, ha a korábbi munkamenet-azonosítók érvénytelenek, ez megakadályozza, hogy a támadók ismert munkamenet-azonosítót használjanak. Ez a megközelítés jelentősen csökkenti a fenyegetési ablakot is, ha a felhasználó nyilvánosságra hozza saját munkamenet-azonosítóját.

Azáltal, hogy több ilyen megközelítést is lehetővé tesz, egy mélyreható védelmi stratégia kiküszöbölheti ezt a problémát, mint biztonsági kockázatot.