Какво е отвличане на сесии и начини за предотвратяване

Знаете ли, че хакер може да извършва банкови преводи или онлайн покупки от ваше име, без да открадне вашата регистрационна информация?

Ние свързваме бисквитките с проследяване и досадни онлайн реклами, но те също така съхраняват заявки за търсене, което ни позволява да посещаваме уебсайтове, без да въвеждаме потребителско име и парола.

Ако обаче някой прихване бисквитката, това може да доведе до катастрофална кибератака, наречена отвличане на сесия, която може да изложи вашите чувствителни данни на риск в ръцете на нападатели и може да причини много щети, преди дори да разберете какво се е случило.

Нека разберем какво е това и как можете да го предотвратите!

Какво е отвличане на сесии?

При отвличане на сесия нападателят прихваща и поема установена сесия между потребител и хост, като например уеб сървър, Telnet сесия или всяка друга TCP-базирана връзка. Сесията започва, след като влезете в уебсайт или приложение, например уебсайт за социална мрежа.

Продължава, докато сте в акаунта, проверявате профила си или участвате в нишка, и приключва, когато излезете от системата. Но как уеб сървърът знае, че всяка ваша заявка всъщност е от вас?

Тук се намесват бисквитките. След като влезете, изпращате вашите идентификационни данни на уеб сървъра. Той потвърждава кой сте вие ​​и ви дава идентификатор на сесия с помощта на бисквитка, която ще бъде прикрепена към вас за продължителността на сесията. Ето защо не излизате от приложение всеки път, когато посещавате нечий профил и защо онлайн магазинът запомня какво сте сложили в пазарската си количка, дори ако опресните страницата.

Но нападателите могат да откраднат сесията, ако използват специални техники за управление на сесията или откраднат бисквитката ви. По този начин може да заблуди уеб сървъра да повярва, че заявките идват от вас, оторизирания потребител.

Феноменът отвличане на сесии стана известен в началото на 2000-те години, но все още е един от най-разпространените методи, използвани от хакерите.

Скорошен пример е групата Lapsus$, която тази година стана част от списъка на ФБР за най-търсените. Той използва InfoStealer Maleware инфекция, за да отвлече сесията.

По същия начин GenesisStore е магазин само с покани, управляван от група със същото име, която продава компрометирани данни за бисквитки, а списъкът му надхвърля 400 000+ бота.

  Поправете грешка на файловата система 2147219196

Типове заснемане на сесии

Отвличането на сесии може да бъде разделено на две основни категории в зависимост от желанията на извършителя.

Активен: При активна атака нападателят поема вашата сесия, като по този начин отнема връзката на легитимния клиент към ресурса. В зависимост от сайта на сесията, хакерът може да прави онлайн покупки, да променя пароли или да възстановява акаунти. Често срещан пример за активна атака е атака с груба сила, XSS или дори DDoS.

Източник: OSWAP

Пасив: При пасивна атака нападателят не поема или променя сесията. Вместо това те тихо наблюдават трафика на данни между вашето устройство и сървъра, като събират цялата чувствителна информация. Обикновено IP Spoofing и инжектирането на злонамерен софтуер се използват за извършване на пасивни атаки чрез инжектиране.

Източник: OSWAP

Как работи отвличането на сесии?

HTTP е протокол без състояние, което означава, че сървърът няма памет за операцията на клиента. Всяка нова HTTP заявка съвпада с нова единица работа, или казано по-просто, сървърът обслужва страници на клиента, без да помни предишните заявки на клиента.

Когато сърфираме в мрежата обаче, разбираме, че приложенията в идеалния случай знаят кой е клиентът (дори твърде добре!). Благодарение на тази „памет“ на сървъра е възможно да се създават модерни запазени области на уебсайтове, онлайн банки, услуги за уеб поща и др.

За да направите това, се роди придатък, който прави протокол без състояние като HTTP със състояние: бисквитки.

Сесии със състояние

Веднъж влезли в системата, уеб приложенията, които използват сесията със състояние, изпускат бисквитка за сесия. Това означава, че те разчитат на тази бисквитка за проследяване на клиента. В бисквитката се записва уникален код, който позволява разпознаването на клиента, например:

SESSIONID=ACF3D35F216AAEFC

Всеки с горепосочения уникален идентификатор на сесия или код ще бъде удостовереният клиент за сървъра. Ако нападателят успее да получи този идентификатор, както се вижда на снимката по-долу, той може да използва сесията, първоначално валидирана за жертвата си, или чрез надушване на легитимна сесия, или дори чрез пълно превземане на сесията. Този идентификатор обикновено е вграден в URL адреса, в скрито поле на всеки формуляр или в бисквитки.

OSWAP

Сесии без състояние

С развитието на мрежата се появиха решения за управление на „паметта“ на сървъра без използване на сесийни бисквитки. В уеб приложение, където фронтендът и бекендът са добре разделени и говорят само чрез API, най-доброто решение може да бъде JWT (JSON Web Token), подписан токен, който позволява на фронтенда да използва API, предоставени от бекенда.

  Как да предотвратите прихващане на Chromecast в споделена мрежа

Обикновено JWT се записва в sessionStorage на браузъра, област от паметта, която клиентът поддържа активна, докато разделът се затвори. Следователно отварянето на нов раздел създава нова сесия (за разлика от това, което се случва с бисквитките).

Кражбата на идентификационния токен на клиента ви позволява да откраднете сесията на потребителя и по този начин да извършите атака за отвличане на сесия. Но как да откраднете този жетон?

В момента най-използваните от хакерите методи са:

#1. Страничен жак на сесията

Този метод използва несигурни мрежи, за да открие идентификатора на вашата сесия. Нападателят използва снифинг (специален софтуер) и обикновено се насочва към обществен Wi-Fi или уебсайтове без SSL сертификат, които са известни с лоша сигурност.

#2. Фиксиране на сесия

Жертвата използва идентификатора на сесията, създаден от нападателя. Може да направи това с фишинг атака (чрез злонамерена връзка), която „поправя“ идентификатора на вашата сесия.

#3. Груба сила

Най-отнемащият време и неефективен метод. По време на тази атака хакерът не открадва вашите бисквитки. Вместо това, той опитва всяка възможна комбинация, за да познае идентификатора на вашата сесия.

#4. XSS или Cross-site Scripting

Хакер използва уязвимости в уебсайтове или приложения, за да инжектира зловреден код. Когато потребител посети сайта, скриптът се активира, открадва бисквитките на потребителя и ги изпраща на нападателя.

#5. Инжектиране на зловреден софтуер

Злонамереният софтуер може да извърши неразрешени действия на вашето устройство, за да открадне лична информация. Също така често се използва за прихващане на бисквитки и изпращане на информация до нападател.

#6. IP Spoofing

Киберпрестъпник променя IP адреса на източника на своя пакет, за да изглежда, че идва от вас. Поради фалшивия IP, уеб сървърът мисли, че сте вие, и сесията бива отвлечена.

Как да предотвратим отвличане на сесия?

Възможността за отвличане на сесия обикновено се свежда до сигурността на уебсайтовете или приложенията, които използвате. Има обаче стъпки, които можете да предприемете, за да се защитите:

  • Избягвайте обществения Wi-Fi, тъй като безплатните горещи точки са идеални за киберпрестъпниците. Те обикновено имат лоша защита и могат лесно да бъдат подправени от хакери. Да не говорим, че те винаги са пълни с потенциални жертви, чийто трафик на данни постоянно е компрометиран.
  • Всеки сайт, който не използва SSL сертификат, ви прави уязвими, тъй като не може да криптира трафика. Проверете дали сайтът е защитен, като потърсите малък катинар до URL адреса.
  Поправете грешка в Microsoft Store 0x80246019

  • Инсталирайте приложение против злонамерен софтуер, за да откриете и защитите вашето устройство от злонамерен софтуер и плъхове, които могат да откраднат лична информация.
  • Избягвайте изтеглянето на зловреден софтуер, като използвате официални магазини за приложения или уебсайтове за изтегляне на приложения.
  • Ако получите съобщение с молба да щракнете върху непозната връзка, не го правете. Това може да е фишинг атака, която може да зарази вашето устройство и да открадне лична информация.

Потребителят може да направи малко срещу атака за отвличане на сесия. Напротив, приложението може да забележи, че друго устройство се е свързало със същия идентификатор на сесия. И разчитайки на това, можете да проектирате стратегии за смекчаване като:

  • Свържете с всяка сесия някакъв технически отпечатък или характеристики на свързаното устройство, за да откриете промени в регистрираните параметри. Тази информация трябва да бъде запазена в бисквитката (за сесии със състояние) или JWT (за сесии без състояние), абсолютно криптирана.
  • Ако сесията е базирана на бисквитки, пуснете бисквитката с атрибута HTTPOnly, за да я направите недостъпна в случай на XSS атака.
  • Конфигурирайте система за откриване на проникване (IDS), система за предотвратяване на проникване (IPS) или решение за наблюдение на мрежата.
  • Някои услуги извършват вторични проверки на самоличността на потребителя. Например, уеб сървър може да проверява с всяка заявка дали IP адресът на потребителя съвпада с последния, използван по време на тази сесия. Това обаче не предотвратява атаки от някой, който споделя същия IP адрес и може да бъде разочароващо за потребителите, чийто IP адрес може да се промени по време на сесия на сърфиране.
  • Като алтернатива някои услуги ще променят стойността на бисквитката с всяка заявка. Това драстично намалява прозореца, в който атакуващият може да работи, и улеснява идентифицирането дали е извършена атака, но може да причини други технически проблеми.
  • Използвайте различни решения за многофакторно удостоверяване (MFA) за всяка потребителска сесия.
  • Поддържайте всички системи актуални с най-новите пачове и актуализации за сигурност.

ЧЗВ

По какво се различава отвличането на сесия от подправянето на сесия?

Отвличането на сесия включва преструване на потребителя, докато подправянето включва подмяна на потребителя. През последните няколко години някои анализатори по сигурността започнаха да характеризират последното като вид отвличане на сесия.

Заключителни думи

Честотата на атаките за отвличане на сесии се е увеличила през последните години; следователно става все по-важно да се разбират подобни атаки и да се следват превантивните мерки. Въпреки това, точно както технологията се развива, атаките също стават все по-сложни; следователно е важно да се създадат активни стратегии за смекчаване срещу отвличане на сесии.

Може също да ви е интересно да научите колко струват вашите данни в тъмната мрежа.