Перейти к основному разделу

Что такое перехват сеанса и как это работает?

Женщина, работающая за ноутбуком

Большинство людей ежедневно пользуются разными сайтами и порталами. Как только вы открываете сайт, начинается сеанс – процесс взаимодействия двух систем, который продолжается до тех пор, пока пользователь не завершит его. Сеанс – это неотъемлемая часть информационного взаимодействия, но каждый сеанс сопряжен с риском его перехвата. В этой статье мы расскажем, что такое перехват сеанса и как защитить себя от атаки.

Что такое перехват сеанса?

Перехват сеанса – это атака, во время которой злоумышленник перехватывает управление вашим сеансом. Ее еще называют перехватом файлов cookie или перехватом TCP. Атака может произойти, когда вы выбираете товар в интернет-магазине, оплачиваете квитанцию или проверяете баланс банковского счета. Как правило, злоумышленники перехватывают сеансы браузера и веб-приложений, пытаясь получить доступ к вашим персональным данным и паролям.

Выдавая себя за авторизованного пользователя, мошенник получает несанкционированный доступ к защищенным учетным записям (и содержащимся в них данным) – в итоге такие атаки могут приводить к очень серьезным последствиям для безопасности ресурса.

Что такое сеанс?

При каждом подключении к сайту или приложению по протоколу HTTP сервис аутентифицирует пользователя (например, по логину и паролю) и только после этого открывает канал связи и предоставляет доступ. Однако HTTP-подключения сами по себе не отслеживают данные о состоянии, то есть воспринимают каждое действие пользователя отдельно от других действий. И если бы мы полагались исключительно на протокол HTTP, нам приходилось бы вводить учетные данные при каждом переходе на новую страницу или совершении других действий на сайте.

Сеансы позволяют решить эту проблему. После ввода учетных данных на сервере, на котором размещен сайт или приложение, создается сеанс, который и позволяет платформе запомнить начальные аутентификационные данные. Пользователь остается в системе, пока сеанс открыт, и закрывает сеанс, выходя из системы. Иногда сеанс закрывается после некоторого периода бездействия пользователя.

При открытии сеанса многие сервисы создают идентификатор сеанса – строку, состоящую из чисел и букв, которая хранится во временном файле сеанса – cookie, ссылках или скрытых полях на сайте. Некоторые сервисы (но не все) шифруют идентификаторы сеансов. Идентификаторы часто содержат данные, которые легко узнать, например IP-адрес пользователя.

Как происходит перехват сеанса?

Вот гипотетический пример того, как может осуществляться перехват сеанса.

Шаг 1. Пользователь входит в свою учетную запись 

в онлайн-банке, интернет-магазине, приложении или на портале как обычно. Браузер создает временный файл сеанса – cookie. Этот файл содержит информацию о пользователе, которая позволяет ему оставаться в системе, и отслеживает его активность во время сеанса. Cookie-файл сеанса сохраняется до тех пор, пока пользователь не выйдет из учетной записи или пока сеанс не завершится автоматически по истечении настроенного на сервере периода бездействия.

Шаг 2. Злоумышленник получает доступ к активному сеансу пользователя. 

Преступники знают много способов перехвата сеансов. Например, они могут украсть cookie-файл, найти в нем идентификатор сеанса и воспользоваться этой информацией для перехвата сеанса. Идентификатор сеанса также называют ключом сеанса. Получив идентификатор, злоумышленник может перехватить сеанс, не оставив следов.

Шаг 3.Атака начинает давать плоды.

Легитимный пользователь продолжает свое путешествие по интернету, а злоумышленник тем временем использует его активный сеанс в своих коварных целях. Он может украсть деньги со счета пользователя, купить себе что-нибудь, извлечь персональные данные и впоследствии воспользоваться ими или зашифровать важную информацию и потребовать выкуп за ее расшифровку.

Такие атаки обычно происходят в сетях с интенсивным трафиком, где одновременно открыто большое количество сеансов. Это позволяет злоумышленникам эксплуатировать сразу несколько сеансов и повышает их шансы остаться в тени – в оживленной сети обнаружить их будет сложно.

Виды перехвата сеансов

Межсайтовый скриптинг
Межсайтовый скриптинг – это атака, во время которой преступник эксплуатирует пробелы в безопасности веб-сервера или приложения и внедряет скрипты в веб-страницы. В результате этих действий он извлекает из браузера ключ сеанса для дальнейшего перехвата.

Взлом на стороне сеанса (или прослушивание сеанса)
В этом случае преступники пытаются получить доступ к вашему сетевому трафику. Это возможно, если вы пользуетесь незащищенным Wi-Fi, а также в результате атаки типа Man in-the-Middle. Для взлома злоумышленник использует метод прослушивания пакетов: он следит за сетевым трафиком жертвы, ожидая начала сеанса, после чего перехватывает cookie и устанавливает контроль над сеансом.

Фиксация сеанса
Киберпреступник создает идентификатор сеанса и находит способ заставить пользователя начать сеанс с этим идентификатором, например отправляет ему сообщение со ссылкой на страницу входа на сайт, который интересует мошенника. Пользователь входит на сайт с поддельным идентификатором и приводит с собой самозванца.

Атака типа Man-in-the-Browser
Она имеет много общего с атакой типа Man-in-the-Middle, только в этом случае злоумышленнику сначала нужно отправить троянца на компьютер жертвы. Вредоносная программа вступает в дело, когда пользователь переходит на нужный сайт. Она способна незаметно изменить сведения о транзакции и даже инициировать новые транзакции втайне от пользователя. Поскольку запросы поступают с компьютера жертвы, веб-сервис не может определить, что за ними стоит мошенник.

Предсказуемый идентификатор сеанса
Для генерации идентификаторов сеансов многие веб-серверы используют собственные алгоритмы или готовые шаблоны. Чем более предсказуемым является идентификатор сеанса, тем он слабее. Для того чтобы вычислить очередной идентификатор сеанса, злоумышленнику бывает достаточно перехватить несколько других идентификаторов и проанализировать шаблон. (Этот метод похож на атаку методом перебора.)

Женщина вводит данные для входа в банковский сервис

Чем перехват сеанса отличается от подмены сеанса?

Перехват и подмена сеанса – это разные виды атаки, хотя они и имеют некоторые сходства. Основная разница между ними в том, что перехват сеанса происходит после того, как легитимный пользователь начал сеанс. Подмена сеанса – это атака, при которой злоумышленник начинает сеанс от имени другого пользователя (то есть самому пользователю в это время совсем не обязательно находиться на сайте).

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

Последствия перехвата сеанса

Приняв меры к защите от перехвата сеансов, вы сможете защитить себя от многих угроз. Вот некоторые из них.

Кража идентификационных данных 

Получив несанкционированный доступ к личным данным, сохраненным в учетных записях, злоумышленники могут воспользоваться ими за пределами взломанного сайта или приложения.

Кража денег

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

Заражение вредоносным ПО

Заполучив идентификатор сеанса, злоумышленник может заразить устройство пользователя вредоносным ПО, получить контроль над компьютером и украсть важные данные.

DoS-атаки (атаки типа «отказ в обслуживании»)

Получив контроль над сеансом пользователя, преступник может начать DoS-атаку на сайт или сервер, к которому он подключен. Это может привести к сбоям в работе сервиса или временной недоступности сайта.


Доступ к другим системам через SSO

SSO – это служба единого входа (англ. single sign-on). Если вы пользуетесь этой службой, киберпреступник может получить несанкционированный доступ сразу к нескольким сервисам, которыми вы пользуетесь, что еще больше повышает риск атаки с перехватом сеанса. Это особенно важно учитывать организациям, которые внедрили эту технологию для удобства сотрудников. Ведь в конце концов это значит, что даже неприступные на первый взгляд системы с надежными протоколами аутентификации и непредсказуемыми cookie сеансов, например системы для обработки финансовой и клиентской информации, защищены ровно настолько, насколько защищено их самое слабое звено.

Примеры атак с перехватом сеанса

Zoom-бомбинг
Во время пандемии Covid-19 огромную популярность набрали приложения для видеоконференций, такие как Zoom. Популярными они стали и среди злоумышленников, а для обозначения атак на приложение даже появился специальный термин – Zoom-бомбинг. В новостях то и дело появлялись истории о том, как преступники вторгались в видеоконференцию, выкрикивая непристойные и оскорбительные фразы и отправляя в чат изображения порнографического характера. Для снижения рисков разработчики Zoom расширили набор инструментов для защиты приватности.

Slack
В 2019 году один из участников программы Bug Bounty нашел в приложении Slack уязвимость, которая позволяла злоумышленникам создавать фальшивые сеансы для пользователей и красть cookie сеансов. Таким образом злоумышленник получал доступ ко всем данным, передаваемым через Slack (для многих организаций это может быть серьезной угрозой). Разработчики Slack оперативно отреагировали на сообщение об угрозе и исправили уязвимость за 24 часа.

GitLab

В 2017 году специалист по безопасности обнаружил в GitLab уязвимость, которая позволяла перехватывать токены пользовательских сеансов через URL-адрес. В результате дальнейшего расследования выяснилось, что в GitLab использовались постоянные токены сеансов без срока действия. То есть, заполучив такой токен, злоумышленник мог пользоваться им сколь угодно долго.Такая доступность идентификаторов и использование постоянных токенов подвергали пользователей высокому риску атаки с перехватом сеанса или атаки методом перебора. В результате GitLab изменила подход к использованию и хранению токенов, устранив уязвимость.

Как предотвратить перехват сеанса

Следуйте нашим советам, чтобы предотвратить перехват сеанса и укрепить свою безопасность.

Не пользуйтесь публичным Wi-Fi
Старайтесь не совершать важных транзакций в публичной сети Wi-Fi: не пользуйтесь банковскими приложениями, не делайте покупок и не входите в учетные записи электронной почты или социальных сетей. Поблизости могут быть злоумышленники, прослушивающие пакеты, чтобы перехватить cookie-файлы и другую ценную информацию.

Используйте VPN
Если без публичного Wi-Fi не обойтись, используйте технологию VPN (виртуальная частная сеть), чтобы повысить безопасность и защитить сеанс от перехвата. VPN передает ваш трафик по защищенному туннелю, скрывая IP-адрес и обеспечивая приватность в сети, а также шифрует данные, которые вы передаете и получаете.

Не забывайте о фишинге и других видах онлайн-мошенничества
Не переходите по ссылкам в электронных письмах, если не уверены в надежности отправителя. Злоумышленники, планирующие перехват сеанса, могут отправить письмо со ссылкой, нажав на которую вы рискуете установить на устройство вредоносную программу или перейти на сайт, который использует идентификатор сеанса, сфабрикованный мошенником.

Пользуйтесь надежными сайтами
Известные банки, сервисы электронной почты, интернет-магазины и социальные медиа принимают меры для защиты пользователей от перехвата сеанса. Адреса таких сайтов начинаются с HTTPS – буква S означает «безопасный» (англ. secure). Сомнительные сайты и сервисы могут иметь недостаточный уровень защиты, оставляя пользователей уязвимыми для перехвата сеансов.

Используйте антивирусное ПО
Установите надежную антивирусную программу, которая обнаруживает вирусы и защищает от всех типов вредоносного ПО (в том числе от программ, которые злоумышленники используют для перехвата сеансов). Настройте автоматическое обновление приложений на всех устройствах.

Другие продукты

Статьи по теме:

Что такое перехват сеанса и как это работает?

Перехват сеанса – это атака, во время которой злоумышленник устанавливает контроль над сеансом, чтобы получить неправомерный доступ к данным или ресурсам. Узнайте об этом подробнее.
Kaspersky logo

Статьи на эту тему