Что такое перехват сеанса и способы предотвращения

Знаете ли вы, что хакер может совершать банковские переводы или совершать покупки в Интернете от вашего имени, не похищая вашу регистрационную информацию?

Мы связываем файлы cookie с отслеживанием и раздражающей онлайн-рекламой, но они также сохраняют поисковые запросы, что позволяет нам посещать веб-сайты без ввода имени пользователя и пароля.

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

Давайте узнаем, что это такое и как вы можете предотвратить это!

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

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

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

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

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

Феномен перехвата сеанса стал известен в начале 2000-х годов, но до сих пор является одним из наиболее распространенных методов, используемых хакерами.

Свежий пример — группа Lapsus$, которая в этом году попала в список самых разыскиваемых преступников ФБР. Он использует заражение InfoStealer Maleware для захвата сеанса.

Точно так же GenesisStore — это магазин только по приглашению, управляемый одноименной группой, которая продает скомпрометированные данные файлов cookie, и его список превышает 400 000+ ботов.

Типы захвата сеанса

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

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

Источник: ОСВАП

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

Источник: ОСВАП

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

HTTP — это протокол без сохранения состояния, то есть сервер не запоминает операции клиента. Каждый новый HTTP-запрос совпадает с новой единицей работы, или, проще говоря, сервер отдает страницы клиенту, не запоминая предыдущие запросы клиента.

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

Для этого был создан придаток, который делает протокол без сохранения состояния, такой как HTTP с отслеживанием состояния: файлы cookie.

Сессии с отслеживанием состояния

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

SESSIONID=ACF3D35F216AAEFC

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

ОСВАП

Сеансы без сохранения состояния

С развитием Интернета появились решения для управления «памятью» сервера без использования файлов cookie сеанса. В веб-приложении, где внешний и внутренний интерфейс хорошо разделены и взаимодействуют только через API, лучшим решением может быть JWT (веб-токен JSON), подписанный токен, который позволяет внешнему интерфейсу использовать API, предоставляемые серверной частью.

Обычно JWT сохраняется в sessionStorage браузера, области памяти, которую клиент сохраняет активной, пока вкладка не будет закрыта. Следовательно, открытие новой вкладки создает новый сеанс (в отличие от того, что происходит с файлами cookie).

Кража идентификационного токена клиента позволяет украсть сеанс пользователя и, таким образом, выполнить атаку с перехватом сеанса. Но как украсть этот токен?

В настоящее время хакеры чаще всего используют следующие методы:

№1. Сессия со стороны домкрата

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

№ 2. Фиксация сеанса

Жертва использует идентификатор сеанса, созданный злоумышленником. Это можно сделать с помощью фишинговой атаки (через вредоносную ссылку), которая «исправляет» ваш идентификатор сеанса.

№3. Грубая сила

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

№ 4. XSS или межсайтовый скриптинг

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

№ 5. Внедрение вредоносного ПО

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

№ 6. IP-спуфинг

Киберпреступник изменяет исходный IP-адрес своего пакета, чтобы он выглядел исходящим от вас. Из-за поддельного IP-адреса веб-сервер думает, что это вы, и сессия перехватывается.

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

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

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

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

Пользователь мало что может сделать против атаки Session Hijacking. Однако, наоборот, приложение может заметить, что другое устройство подключилось с тем же идентификатором сеанса. И, опираясь на это, вы можете разработать такие стратегии смягчения последствий, как:

  • Свяжите с каждым сеансом какой-либо технический отпечаток или характеристики подключенного устройства, чтобы обнаружить изменения в зарегистрированных параметрах. Эта информация должна быть сохранена в файле cookie (для сеансов с сохранением состояния) или JWT (для сеансов без сохранения состояния) в абсолютно зашифрованном виде.
  • Если сеанс основан на файлах cookie, удалите файл cookie с атрибутом HTTPOnly, чтобы сделать его недоступным в случае атаки XSS.
  • Настройте систему обнаружения вторжений (IDS), систему предотвращения вторжений (IPS) или решение для мониторинга сети.
  • Некоторые службы выполняют вторичные проверки личности пользователя. Например, веб-сервер может проверять с каждым запросом, соответствует ли IP-адрес пользователя последнему использованному во время этого сеанса. Однако это не предотвращает атаки от кого-то, кто использует один и тот же IP-адрес, и может раздражать пользователей, чей IP-адрес может измениться во время сеанса просмотра.
  • В качестве альтернативы, некоторые службы будут изменять значение файла cookie с каждым запросом. Это резко сокращает окно, в котором может работать злоумышленник, и упрощает определение того, произошла ли атака, но может вызвать другие технические проблемы.
  • Используйте разные решения многофакторной аутентификации (MFA) для каждого сеанса пользователя.
  • Поддерживайте все системы в актуальном состоянии с помощью последних исправлений и обновлений безопасности.

Вопросы-Ответы

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

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

Заключительные слова

В последние годы частота атак с перехватом сеанса увеличилась; поэтому становится все более важным понимать такие атаки и соблюдать превентивные меры. Однако по мере развития технологий атаки становятся все более изощренными; поэтому важно создать активные стратегии смягчения последствий перехвата сеанса.

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