Как защитить куки от кражи

Обновлено: 18.04.2024


  • Первый вид файлов — это используемые только в течение текущего сеанса, которые удаляются сразу же по окончании сеанса или же по истечении определенного времени, называемого временем жизни.
  • Второй вид — файлы (представляющие собой обычные текстовые файлы), которые остаются навсегда на жестком диске пользователя, обычно располагаемые в каталоге Cookies (в современных ОС оседание файлов cookie происходит в директория web-браузеров, т.е. чем их больше, тем больше мест для их скопления, в любом случае их удаления я часто использую CCleaner). Несложно понять, что хакеры, получившие доступ к файлам cookie пользователя, могут использовать такие файлы для идентификации в соответствующей системе под видом этого пользователя или извлечь из них важную информацию.

Похищение cookie с использованием Achilles

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


Не следует при попытках взлома пренебрегать похищением файлов cookie — в больших корпоративных сетях поток данных, пересылаемых кли­ентами в Internet, дает для этого богатые возможности!

Как по мне, есть определенный интерес в рассмотрении утилиты Achilles, предназначенную для осуществления взломов с использованием файлов cookie. Программа Achilles является про­кси-сервером и позволяет перехватывать данные, пересылаемые между клиентом и сервером, а также редактировать их. Для начала работы с этой утилитой необходимо запустить ее, а за­тем указать Web-браузеру использовать эту программу в качестве прокси-сервера. В результа­те все соединения между клиентом и Internet будут осуществляться через Achilles. Настройки использования прокси-сервера популярных web-браузеров (указать прокси – localhost, порт – 5000):

После того, как это сделано, можно запустить Achilles и, щелкнув на кнопке с пиктограм­мой начала воспроизведения (напоминает кнопку Play бытовой техники), приступить к работе. Теперь при посещении любого Web-узла все данные, которые Web-браузер от­сылает Web-серверу, будут отображаться в окне программы Achilles, как показано на рис. 12.7. При нажатии кнопки Send запрос браузера отсылается серверу. Этот процесс мож­но продолжить, принимая ответы сервера и отсылая новые запросы на сервер и т.д.


На картинке видно, что в cookie присутствует строка wordpress_logged_in_263d663a02379b7624b1028a58464038=admin. Это значение находится в незашифрованном виде в файле cookie и его легко перехватить с помощью утилиты Achilles, но как правило в большинстве случаев в Achilles можно увидеть лишь хеш той или иной записи. Перед отсылкой запроса на сервер можно попытаться заменить эту строку на любую подобную (хотя в данном случае смысла нет) — количество попыток не ограничено. Затем, отослав этот запрос на сервер с помощью кнопки Send, можно получить ответ от сервера, предназначаю­щийся администратору.


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

В предыдущем примере можно использовать прямую подмену идентификатора пользователя. Кроме того, название параметра, подмена значения которого предоставляет дополнительные возможности хакеру, может быть следующим: user (например, USER=JDOE), любое выражение со строкой ID (например, USER=JDOE или SESSIONID=BLAHBLAH), admin (например, ADMIN=TRUE), session (например, SESSION=ACTIVE), cart (например, CART=FULL), а также такие выражения, как TRUE, FALSE, ACTIVE, INACTIVE. Обычно формат файлов cookie очень зависит от приложения, для нужд которого они используются. Однако приведенные советы по поиску изъянов приложений с помощью файлов cookie годятся практически для всех форматов.



Меры противодействия извлечению информации из файлов cookie, выполняемые на стороне клиента

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

Еще одной причиной регулярной установки обновлений Web-броузера, является постоянно выявляемые изъяны системы безопасности этих программ. Так, Бенет Хэйзелтон (Bennet Haselton) и Джеми МакКарти (Jamie McCarthy) создали сценарий, который после щелчка на ссылке извлекает файлы cookie с машины клиента. В результате становится доступным все со­держимое файлов cookie, которые находятся на машине пользователя.

Взлом подобного рода может быть также осуществлен с помощью дескриптора , встраиваемого в HTML-текст на Web-странице (или в HTML-содержимое электронного письма или рассылки групп новостей) для похищения файлов cookie. Рассмотрим следующий пример:

Для того, чтоб подобные вещи не грозили нашим личным данным, сам так делаю и всем советую всегда обновлять ПО, работающее с HTML-кодом (e-mail клиенты, медиа-проигрыватели, браузеры и т.д.).

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

Меры противодействия, выполняемые на стороне сервера

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

Конечно же, важно понимать, что файлы cookie могут использоваться в целях обеспече­ния безопасности Web-серверов для осуществления авторизации пользователей. Если все же разрабатываемому приложению необходимо использовать файлы cookie, то этот механизм следует настроить таким образом, чтобы при каждом сеансе использовались различные клю­чи с коротким периодом действия, а также стараться не помещать в эти файлы информацию, которая может быть использована хакерами для взлома (такую как ADMIN=TRUE).

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

Читайте также: