Що таке викрадення сесії та способи запобігання

Чи знаєте ви, що хакер може здійснювати банківські перекази або онлайн-покупки від вашого імені, не викрадаючи вашу реєстраційну інформацію?

Ми пов’язуємо файли cookie з відстеженням і надокучливою рекламою в Інтернеті, але вони також зберігають пошукові запити, що дозволяє нам відвідувати веб-сайти без введення імені користувача та пароля.

Однак якщо хтось перехопить файл cookie, це може призвести до катастрофічної кібератаки, яка називається викраденням сеансу, яка може поставити ваші конфіденційні дані під загрозу від рук зловмисників, і це може завдати великої шкоди, перш ніж ви навіть дізнаєтеся, що сталося.

Давайте дізнаємося, що це таке і як цьому запобігти!

Що таке викрадення сесії?

Під час викрадення сеансу зловмисник перехоплює та захоплює встановлений сеанс між користувачем і хостом, таким як веб-сервер, сеанс Telnet або будь-яке інше з’єднання на основі TCP. Сеанс починається, коли ви входите на веб-сайт або в програму, наприклад, веб-сайт соціальної мережі.

Він продовжується, коли ви перебуваєте в обліковому записі, перевіряєте свій профіль або берете участь у ланцюжку, і закінчується, коли ви виходите із системи. Але як веб-сервер дізнається, що кожен запит, який ви робите, насправді надходить від вас?

Ось де з’являються файли cookie. Після входу ви надсилаєте свої облікові дані на веб-сервер. Він підтверджує вашу особу та надає вам ідентифікатор сеансу за допомогою файлу cookie, який буде прикріплено до вас на час сеансу. Ось чому ви не виходите із програми щоразу, коли відвідуєте чийсь профіль, і чому інтернет-магазин запам’ятовує, що ви додали у кошик для покупок, навіть якщо ви оновлюєте сторінку.

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

Феномен викрадення сесії став відомим на початку 2000-х років, але досі залишається одним із найпоширеніших методів, використовуваних хакерами.

Останнім прикладом є Lapsus$ Group, яка цього року увійшла до списку найбільш розшукуваних ФБР. Він використовує зараження InfoStealer Maleware для захоплення сеансу.

Подібним чином GenesisStore — це магазин, доступний лише за запрошеннями, яким керує однойменна група, яка продає скомпрометовані дані файлів cookie, а в його списку понад 400 000 ботів.

  Як додати умовне форматування до комірок у таблицях Google

Типи захоплення сесії

Викрадення сесії можна розділити на дві основні категорії залежно від бажання зловмисника.

Активний: під час активної атаки зловмисник захоплює ваш сеанс, таким чином переймаючи з’єднання законного клієнта з ресурсом. Залежно від сайту сеансу, хакер може робити онлайн-покупки, змінювати паролі або відновлювати облікові записи. Типовим прикладом активної атаки є атака грубою силою, XSS або навіть DDoS.

Джерело: OSWAP

Пасивний: під час пасивної атаки зловмисник не переймає й не змінює сеанс. Натомість вони тихо відстежують трафік даних між вашим пристроєм і сервером, збираючи всю конфіденційну інформацію. Зазвичай для здійснення пасивних ін’єкційних атак використовуються IP-спуфінг та ін’єкція зловмисного програмного забезпечення.

Джерело: OSWAP

Як працює викрадення сесії?

HTTP є протоколом без стану, тобто сервер не має пам’яті про операції клієнта. Кожен новий HTTP-запит збігається з новою одиницею роботи, або, простіше кажучи, сервер подає сторінки клієнту, не запам’ятовуючи попередні запити клієнта.

Однак коли ми переглядаємо веб-сторінки, ми розуміємо, що програми в ідеалі знають, хто є клієнтом (навіть дуже добре!). Завдяки такій «пам’яті» сервера» можна створювати сучасні зарезервовані області веб-сайтів, онлайн-банків, сервісів веб-пошти тощо.

Для цього було створено додаток, який робить протокол без збереження стану, як-от HTTP, збереженим: файли cookie.

Сесії з підтримкою стану

Після входу веб-програми, які використовують сеанс із збереженням стану, видаляють сеансовий файл cookie. Це означає, що вони покладаються на цей файл cookie для відстеження клієнта. Усередині файлу cookie зберігається унікальний код, який дозволяє розпізнавати клієнта, наприклад:

SESSIONID=ACF3D35F216AAEFC

Будь-хто з згаданим вище унікальним ідентифікатором сеансу або кодом буде автентифікованим клієнтом для сервера. Якби зловмисник міг отримати цей ідентифікатор, як показано на малюнку нижче, він міг би використати сеанс, спочатку перевірений для своєї жертви, або пронюхавши законний сеанс, або навіть повністю захопивши сеанс. Цей ідентифікатор зазвичай вбудовано в URL-адресу, у приховане поле будь-якої форми або в файли cookie.

OSWAP

Сесії без стану

З розвитком Інтернету з’явилися рішення для керування «пам’яттю» сервера без використання сеансових файлів cookie. У веб-додатку, де інтерфейс і сервер добре розділені та спілкуються лише через API, найкращим рішенням може бути JWT (JSON Web Token), підписаний маркер, який дозволяє інтерфейсу використовувати API, надані сервером.

  8 найкращих самостійних маркетингових платформ електронної пошти

Зазвичай JWT зберігається в sessionStorage браузера, області пам’яті, яку клієнт зберігає активною, доки вкладка не буде закрита. Отже, відкриття нової вкладки створює новий сеанс (на відміну від того, що відбувається з файлами cookie).

Викрадення ідентифікаційного токена клієнта дозволяє вам викрасти сеанс користувача і, таким чином, здійснити атаку з викраденням сеансу. Але як вкрасти цей жетон?

Зараз хакери найчастіше використовують такі методи:

#1. Сесійний боковий підйом

Цей метод використовує незахищені мережі, щоб дізнатися ідентифікатор вашого сеансу. Зловмисник використовує сніффінг (спеціальне програмне забезпечення) і зазвичай націлюється на загальнодоступні Wi-Fi або веб-сайти без сертифіката SSL, які відомі своєю низькою безпекою.

#2. Фіксація сесії

Жертва використовує ідентифікатор сесії, створений зловмисником. Він може зробити це за допомогою фішингової атаки (через зловмисне посилання), яка «виправляє» ваш ідентифікатор сеансу.

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

Найбільш трудомісткий і малоефективний спосіб. Під час цієї атаки хакер не викрадає ваші файли cookie. Натомість він пробує всі можливі комбінації, щоб вгадати ваш ідентифікатор сеансу.

#4. XSS або міжсайтовий сценарій

Хакер використовує вразливі місця на веб-сайтах або в програмах для впровадження шкідливого коду. Коли користувач відвідує сайт, скрипт активується, викрадає файли cookie користувача та надсилає їх зловмиснику.

#5. Ін’єкція шкідливого ПЗ

Шкідливе програмне забезпечення може виконувати несанкціоновані дії на вашому пристрої, щоб викрасти особисту інформацію. Він також часто використовується для перехоплення файлів cookie та надсилання інформації зловмиснику.

#6. IP-спуфінг

Кіберзлочинець змінює IP-адресу джерела свого пакета, щоб виглядати так, ніби він надходить від вас. Через фальшиву IP-адресу веб-сервер думає, що це ви, і сеанс захоплюється.

Як запобігти захопленню сесії?

Можливість викрадення сесії зазвичай зводиться до безпеки веб-сайтів або програм, які ви використовуєте. Однак є кроки, які ви можете зробити, щоб захистити себе:

  • Уникайте громадського Wi-Fi, оскільки безкоштовні точки доступу ідеально підходять для кіберзлочинців. Зазвичай вони мають низький рівень безпеки і можуть бути легко підроблені хакерами. Не кажучи вже про те, що вони завжди повні потенційних жертв, чий трафік даних постійно скомпрометований.
  • Будь-який сайт, який не використовує сертифікат SSL, робить вас уразливим, оскільки не може шифрувати трафік. Перевірте, чи безпечний сайт, знайшовши маленький замок біля URL-адреси.

  • Установіть програму захисту від зловмисного програмного забезпечення, щоб виявити та захистити свій пристрій від зловмисного програмного забезпечення та щурів, які можуть викрасти особисту інформацію.
  • Уникайте завантаження зловмисного програмного забезпечення, використовуючи для завантаження програм офіційні магазини програм або веб-сайти.
  • Якщо ви отримали повідомлення з проханням натиснути незнайоме посилання, не робіть цього. Це може бути фішингова атака, яка може заразити ваш пристрій і викрасти особисту інформацію.
  Скільки оперативної пам’яті справді потрібно Chromebook?

Користувач мало що може протистояти атаці викрадення сеансу. Навпаки, однак програма може помітити, що інший пристрій підключився з тим же ідентифікатором сеансу. І покладаючись на це, ви можете розробити стратегії пом’якшення, такі як:

  • Пов’язуйте з кожним сеансом певний технічний відбиток або характеристики під’єднаного пристрою, щоб виявити зміни в зареєстрованих параметрах. Ця інформація має бути збережена в файлі cookie (для сеансів із збереженням стану) або JWT (для сеансів без стану) у абсолютно зашифрованому вигляді.
  • Якщо сеанс базується на файлах cookie, видаліть файл cookie з атрибутом HTTPOnly, щоб зробити його недоступним у разі атаки XSS.
  • Налаштуйте систему виявлення вторгнень (IDS), систему запобігання вторгненням (IPS) або рішення для моніторингу мережі.
  • Деякі служби виконують вторинну перевірку особи користувача. Наприклад, веб-сервер може перевіряти з кожним запитом, чи IP-адреса користувача збігається з останньою, використаною під час цього сеансу. Однак це не запобігає атакам з боку когось, хто має ту саму IP-адресу, і може викликати розчарування у користувачів, чия IP-адреса може змінитися під час сеансу перегляду.
  • Крім того, деякі служби змінюватимуть значення cookie з кожним запитом. Це суттєво зменшує вікно, в якому може діяти зловмисник, і полегшує визначення того, чи відбулася атака, але може спричинити інші технічні проблеми.
  • Використовуйте різні рішення багатофакторної автентифікації (MFA) для кожного сеансу користувача.
  • Підтримуйте всі системи в актуальному стані за допомогою останніх виправлень і оновлень безпеки.

FAQ

Чим викрадення сеансу відрізняється від підробки сеансу?

Викрадення сеансу передбачає прикидання користувача, тоді як спуфінг передбачає заміну користувача. Протягом останніх кількох років деякі аналітики безпеки почали характеризувати останнє як тип викрадення сесії.

Заключні слова

Останніми роками зросла кількість атак із захопленням сесії; тому стає все важливішим розуміти такі атаки та дотримуватися заходів профілактики. Однак у міру розвитку технологій атаки також стають все більш витонченими; отже, важливо створити активні стратегії пом’якшення проти викрадення сесії.

Вам також може бути цікаво дізнатися, скільки коштують ваші дані в темній мережі.