Эксплуатация действительного сеанса работы компьютера
В информатике перехват сеанса , иногда также известный как перехват файлов cookie , представляет собой эксплуатацию действительного сеанса компьютера — иногда также называемого сеансовым ключом — для получения несанкционированного доступа к информации или службам в компьютерной системе. В частности, он используется для обозначения кражи волшебного файла cookie, используемого для аутентификации пользователя на удаленном сервере. Он имеет особое значение для веб-разработчиков, поскольку файлы cookie HTTP, используемые для поддержания сеанса на многих веб-сайтах, могут быть легко украдены злоумышленником с помощью промежуточного компьютера или с доступом к сохраненным файлам cookie на компьютере жертвы (см. Кража файлов cookie HTTP ). После успешной кражи соответствующих файлов cookie сеанса злоумышленник может использовать технику Pass the Cookie для выполнения перехвата сеанса. Перехват файлов cookie обычно используется против аутентификации клиента в Интернете. Современные веб-браузеры используют механизмы защиты файлов cookie для защиты сети от атак. [1]
Популярным методом является использование IP-пакетов с маршрутизацией от источника. Это позволяет злоумышленнику в точке B в сети участвовать в разговоре между A и C , поощряя прохождение IP-пакетов через машину B.
Если исходная маршрутизация отключена, злоумышленник может использовать «слепой» захват, при котором он угадывает ответы двух машин. Таким образом, злоумышленник может отправить команду, но никогда не сможет увидеть ответ. Однако распространенной командой будет установка пароля, разрешающего доступ из любого места в сети.
Атакующий также может быть "встроен" между A и C, используя программу-сниффер для наблюдения за разговором. Это известно как "атака посредника".
История HTTP
В протоколах HTTP версий 0.8 и 0.9 отсутствовали файлы cookie и другие функции, необходимые для перехвата сеанса. Версия 0.9beta Mosaic Netscape, выпущенная 13 октября 1994 года, поддерживала файлы cookie.
Ранние версии HTTP 1.0 имели некоторые уязвимости безопасности, связанные с перехватом сеанса, но их было трудно использовать из-за капризов большинства ранних серверов и браузеров HTTP 1.0. Поскольку HTTP 1.0 был обозначен как резервный вариант для HTTP 1.1 с начала 2000-х годов, а серверы HTTP 1.0 по сути являются серверами HTTP 1.1, проблема перехвата сеанса превратилась в почти постоянную угрозу безопасности. [2] [ неудавшаяся проверка ]
Введение суперкуков и других функций с модернизированным HTTP 1.1 позволило проблеме перехвата стать постоянной проблемой безопасности. Стандартизация веб-сервера и конечного автомата браузера способствовала этой постоянной проблеме безопасности.
Методы
Существует четыре основных метода, используемых для совершения перехвата сеанса. Это:
- Фиксация сеанса , когда злоумышленник устанавливает идентификатор сеанса пользователя на тот, который ему известен, например, отправляя пользователю электронное письмо со ссылкой, содержащей определенный идентификатор сеанса. Теперь злоумышленнику остается только ждать, пока пользователь войдет в систему.
- Подмена сеанса , когда злоумышленник использует перехват пакетов для чтения сетевого трафика между двумя сторонами, чтобы украсть сеансовый cookie . Многие веб-сайты используют SSL -шифрование для страниц входа , чтобы злоумышленники не могли увидеть пароль, но не используют шифрование для остальной части сайта после аутентификации . Это позволяет злоумышленникам, которые могут читать сетевой трафик, перехватывать все данные, отправляемые на сервер или веб-страницы, просматриваемые клиентом. Поскольку эти данные включают сеансовый cookie , это позволяет им выдавать себя за жертву, даже если сам пароль не скомпрометирован. [3] Незащищенные точки доступа Wi-Fi особенно уязвимы, так как любой, кто использует сеть совместно, как правило, сможет прочитать большую часть веб-трафика между другими узлами и точкой доступа .
- Межсайтовый скриптинг , при котором злоумышленник обманывает компьютер пользователя, заставляя его запустить код, который считается заслуживающим доверия, поскольку он выглядит как принадлежащий серверу, что позволяет злоумышленнику получить копию cookie-файла или выполнить другие операции.
- Вредоносное ПО и нежелательные программы могут использовать захват браузера для кражи файлов cookie браузера без ведома пользователя, а затем выполнять действия (например, установку приложений Android) без ведома пользователя. [4] Злоумышленник с физическим доступом может просто попытаться украсть ключ сеанса , например, получив содержимое файла или памяти соответствующей части компьютера пользователя или сервера.
После успешного получения соответствующих сеансовых cookie-файлов злоумышленник внедряет сеансовый cookie-файл в свой браузер, чтобы выдать себя за пользователя-жертву на веб-сайте, с которого был украден сеансовый cookie-файл. [5]
Подвиги
Огнеовцы
Firesheep , расширение Firefox , представленное в октябре 2010 года, продемонстрировало уязвимости перехвата сеанса в незащищенных сетях. Оно захватывало незашифрованные файлы cookie с популярных веб-сайтов, позволяя пользователям захватывать активные сеансы других в той же сети. Инструмент работал, отображая потенциальные цели в боковой панели, обеспечивая доступ к сеансу без кражи пароля. Поддерживались следующие веб-сайты: Facebook , Twitter , Flickr , Amazon , Windows Live и Google , с возможностью использования скриптов для добавления других веб-сайтов. [6] Всего несколько месяцев спустя Facebook и Twitter ответили, предложив (а позже и потребовав) HTTP Secure по всему. [7] [8]
DroidSheep
DroidSheep — это простой инструмент Android для перехвата веб-сеансов (sidejacking). Он прослушивает HTTP-пакеты, отправляемые через беспроводное сетевое соединение (802.11), и извлекает идентификатор сеанса из этих пакетов для их повторного использования. DroidSheep может захватывать сеансы с помощью библиотеки libpcap и поддерживает: открытые (незашифрованные) сети, сети с шифрованием WEP и сети с шифрованием WPA/WPA2 (только PSK). Это программное обеспечение использует libpcap и arpspoof. [9] [10] APK был доступен в Google Play , но был удален Google.
CookieCadger
CookieCadger — это графическое приложение Java, которое автоматизирует сайдджекинг и воспроизведение HTTP-запросов, чтобы помочь выявить утечку информации из приложений, использующих незашифрованные запросы GET. Это кроссплатформенная утилита с открытым исходным кодом на основе пакета Wireshark , которая может контролировать проводной Ethernet, незащищенный Wi-Fi или загружать файл захвата пакетов для офлайн-анализа. Cookie Cadger использовался для выявления слабых мест сайтов обмена молодежными командами, таких как Shutterfly (используется футбольной лигой AYSO) и TeamSnap. [11]
Профилактика
Методы предотвращения перехвата сеанса включают в себя:
- Шифрование трафика данных, передаваемого между сторонами, с использованием SSL / TLS ; в частности, сеансового ключа (хотя в идеале всего трафика для всего сеанса [12] ). Этот метод широко используется веб-банками и другими службами электронной коммерции, поскольку он полностью предотвращает атаки в стиле сниффинга. Однако все еще может быть возможным выполнение некоторых других видов перехвата сеанса. В ответ на это ученые из Университета Радбуда в Неймегене предложили в 2013 году способ предотвращения перехвата сеанса путем корреляции сеанса приложения с учетными данными SSL / TLS [13]
- Использование длинного случайного числа или строки в качестве сеансового ключа . Это снижает риск того, что злоумышленник может просто угадать действительный сеансовый ключ методом проб и ошибок или методом подбора.
- Восстановление идентификатора сеанса после успешного входа в систему. Это предотвращает фиксацию сеанса , поскольку злоумышленник не знает идентификатор сеанса пользователя после того, как он вошел в систему.
- Некоторые службы выполняют вторичные проверки личности пользователя. Например, веб-сервер может проверять при каждом запросе, совпадает ли IP-адрес пользователя с последним использованным в течение сеанса. Однако это не предотвращает атаки со стороны кого-либо, кто использует тот же IP-адрес, и может быть неприятно для пользователей, чей IP-адрес может измениться во время сеанса просмотра .
- В качестве альтернативы некоторые службы будут изменять значение cookie с каждым запросом. Это значительно сокращает окно, в котором может действовать злоумышленник, и позволяет легко определить, произошла ли атака, но может вызвать другие технические проблемы (например, два законных, близко по времени выполненных запроса от одного и того же клиента могут привести к ошибке проверки токена на сервере).
- Пользователи также могут захотеть выходить из веб-сайтов, когда они заканчивают ими пользоваться. [14] [15] Однако это не защитит от таких атак, как Firesheep .
Смотрите также
Ссылки
- ^ Буглиези, Микеле; Кальзавара, Стефано; Фокарди, Риккардо; Хан, Вилайат (16.09.2015). «CookiExt: исправление браузера от атак перехвата сеанса». Журнал компьютерной безопасности . 23 (4): 509–537. doi : 10.3233/jcs-150529. hdl : 10278/3663357 . ISSN 1875-8924.
- ^ "Перехват сеанса и HTTP-коммуникация". 19 октября 2020 г. Архивировано из оригинала 31 октября 2020 г.
- ^ "Предупреждение о взломе веб-почты через Wi-Fi". BBC News . 3 августа 2007 г.
- ^ «Вредоносное ПО использует Browser Hijacking для кражи cookie». 19 октября 2020 г.
- ^ Никифоракис, Ник; Меерт, Ваннес; Юнан, Ив; Джонс, Мартин; Йосен, Воутер (2011). Эрлингссон, Ульфар; Виринга, Роэл; Занноне, Никола (ред.). «SessionShield: облегченная защита от перехвата сеанса». Инженерное безопасное программное обеспечение и системы . Берлин, Гейдельберг: Springer: 89. doi : 10.1007/978-3-642-19125-1_7. ISBN 978-3-642-19125-1.
- ^ "Расширение Firefox крадет сеансы Facebook, Twitter и т. д.". The H . 25 октября 2010 г. Архивировано из оригинала 2024-03-06.
- ^ "Facebook теперь использует SSL-шифрование по всему миру". The H. 27 января 2011 г.
- ^ "Twitter добавляет опцию "Всегда использовать HTTPS"". The H . 16 марта 2011 г.
- ^ "DroidSheep".
- ^ "DroidSheep Blog". Архивировано из оригинала 2016-11-20 . Получено 07-08-2012 .
- ^ «Как Shutterfly и другие социальные сайты делают ваших детей уязвимыми для хакеров». Mother Jones . 2013-05-03. Архивировано из оригинала 2024-05-19.
- ^ "Schneier on Security: Firesheep". 27 октября 2010 г. Получено 29 мая 2011 г.
- ^ Burgers, Willem; Roel Verdult; Marko van Eekelen (2013). «Предотвращение перехвата сеанса путем привязки сеанса к криптографическим сетевым учетным данным». Secure IT Systems . Lecture Notes in Computer Science. Vol. 8208. pp. 33–50. doi :10.1007/978-3-642-41488-6_3. ISBN 978-3-642-41487-9.
- ^ См . «NetBadge: Как выйти из системы».
- ^ См. также «Будьте умны в сети — всегда выходите из системы».