Перехват сеанса: типы, методы вторжения и меры противодействия

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

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

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

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

Он продолжается, пока вы находитесь в аккаунте, проверяете свой профиль или участвуете в обсуждении, и заканчивается, когда вы выходите из системы. Но как веб-сервер узнает, что каждый запрос, который вы делаете, действительно от вас? Вот здесь-то и пригодятся файлы cookie. После входа в систему вы передаете свои учетные данные веб-серверу. Он подтверждает, кто вы, и выдает вам идентификатор сеанса с помощью cookie, который будет привязан к вам на время сеанса. Вот почему вы не выходите из приложения каждый раз, когда заходите в чей-то профиль, и почему интернет-магазин запоминает, что вы положили в корзину, даже если вы обновите страницу. Но злоумышленники могут перехватить сессию, если используют специальные методы управления сессиями или украдут ваш cookie. Таким образом, они могут обмануть веб-сервер, заставив его поверить, что запросы поступают от вас, авторизованного пользователя. Феномен перехвата сессий стал известен в начале 2000-х годов, но он до сих пор является одним из самых распространенных методов, используемых хакерами. Недавний пример – группа Lapsus$, которая в этом году вошла в список самых разыскиваемых ФБР.

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

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

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

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

HTTP – это протокол stateless, то есть у сервера нет памяти о действиях клиента. Каждый новый HTTP-запрос совпадает с новой единицей работы, или, говоря проще, сервер обслуживает страницы клиента, не запоминая его предыдущие запросы. Однако, просматривая веб-страницы, мы понимаем, что приложения в идеале знают, кто является клиентом (даже слишком хорошо!). Благодаря этой “памяти” сервера ” можно создавать современные зарезервированные области веб-сайтов, онлайн-банки, службы веб-почты и т. д. Для этого был создан придаток, который делает протокол без статических данных, например HTTP, государственным: cookies.

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

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

SESSIONID=ACF3D35F216AAEFC

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

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

С развитием веба появились решения, позволяющие управлять “памятью” сервера без использования сессионных cookie. В веб-приложении, где фронтенд и бэкенд хорошо разделены и общаются только через API, лучшим решением может стать JWT (JSON Web Token) – подписанный токен, который позволяет фронтенду использовать API, предоставляемые бэкендом. Обычно JWT сохраняется в sessionStorage браузера – области памяти, которую клиент держит активной до закрытия вкладки. Следовательно, при открытии новой вкладки создается новая сессия (в отличие от того, что происходит с cookies). Украв идентификационный токен клиента, вы сможете украсть его сессию и тем самым осуществить атаку с перехватом сессии. Но как украсть этот токен? В настоящее время хакеры чаще всего используют следующие методы:

Сеанс бокового джекинга

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

Фиксация сессии

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

Грубая сила

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

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

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

Вредоносная инъекция

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

Подмена IP-адреса

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

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

Firesheep

Расширение для Firefox (Firesheep), созданное исследователями безопасности Эриком Батлером и Яном Галлахером в 2010 году, подчеркивает важность HTTPS и опасность незашифрованных сетей WiFi. Firesheep позволял людям, находящимся в одной незашифрованной сети WiFi, прослушивать не-HTTPS-активность друг друга. С помощью этого можно было скопировать сессионный cookie и завладеть чужим аккаунтом в Интернете. Хотя это было сделано для повышения уровня безопасности, оно высветило лазейку, которая ждет своего часа и может иметь катастрофические последствия для многих пользователей. Реагируя положительно, многие сайты, включая Facebook, Twitter (теперь X) и т. д., сделали HTTPS протоколом подключения по умолчанию.

Взлом аккаунтов YouTube

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

FlyTrap

В 2021 году FlyTrap появилась как вредоносная программа для Android, которая похищала сеансы Facebook, заманивая пользователей войти во вредоносные приложения, используя их учетные данные Facebook. Вредоносные приложения, доступные в магазине Google Play, были удалены. В нем использовались тактики социальной инженерии, такие как раздача купонов, голосование за любимую футбольную команду и т. д. В конечном итоге пользователи входили в систему через Facebook законным образом, но на веб-портале, предназначенном для перехвата куки-файлов сессии и личной информации. Все отправлялось на серверы FlyTrap, жертвами которого стали 10 тысяч пользователей в более чем 140 странах.

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

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

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

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

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

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

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

clickfraud, ООО “ИНТЕРНЕТ ЗАЩИТА”, ИНН 7806602123, ОГРН 1227800111769, info@clickfraud.ru
Просмотров: 0