Насколько опасны куки?
Добрый день!
Открыл некоторые материалы в интернет и прочел, что куки совершенно не опасны.
Как-то не задавался ранее таким вопросом, хотя знал, что некоторые куки могут быть опасны, по той причине, что в случае их похищения злоумышленники могут получить некоторые пароли для входа на определенные интренет-ресурсы. Как то даже читал в CHIP, что google ханимается сбором куки, и в случае слабой защиты компьютера многие конфидециальные данные пользователя могут быть похищены.
Насколько в самом деле опасны куки? Каковы формы этой опасности? Насколько ответственны интернет ресурсы (вынося за скобки озабоченность самого пользователя за безопасность своей машины) за безопасность пользователстких компьютеров?
Cookie — это небольшой блок произвольных данных, которые могут быть переданы пользователю и сохранены у него на диске в специальном файле браузера. Куки передаются пользователю в HTTP-ответе сервера (например, при авторизации на сайте пользователь вводит своё имя и пароль, сабмитит форму, сервер обрабатывает её и вместе со страницей, поздравляющей об успешном входе, передаёт пользователю куку), что делается наиболее часто. Кроме того, установить куку может javascript, исполняемый на стороне пользователя (обычно на AJAX-сайтах с очень динамичным содержимым, к примеру, GMail).
Устанавливая куку, сервер (или скрипт) может наложить ряд ограничений на возможность получения его данных. В частности, в куке может быть определён домен и директория, в которых производится передача кука, может установлен secure-бит, запрещающий передачу данных кука на страницах без SSL.
Само считывание содержимого кука происходит так. Если, например, у Вас установлен кук для домена pgpru.com, то при открытии любой страницы сайта браузер включает данные кука в каждый HTTP-запрос к серверу (конечно, если в куке установлены ограничения на директорию сайта, то кук будет передан только при открытии файлов из этой директории). При этом в запросе передаются все куки, доступные для домена.
Как видите, за сохранность данных куков отвечает прежде всего браузер. Если браузер дырявый, то в каких-то случаях он может передавать куки даже тем доменам, для которых они не предназначались (скажем, в ответ на злонамеренный javascript, эксплуатирующий уязвимость, что не раз было с IE). Однако, атака может быть произведена и со стороны злонамеренного скрипта на веб-сайте: взломщик может разместить свой код на каких-то страницах сайта, если имеет к ним доступ, или организовать XSS-атаку, если формы сайта недостаточно корректно фильтруют ввод от пользователей (в этом случае взломщик может и не обладать какими-то особыми привилегиями).
Резюмирую:
еще небольшое дополнение:
благодаря кукам сайты могут отслеживать конкретного пользователя, составлять профиль его поведения. Например, в яндексе/гугле наверняка хранится история поиска каждого конкретного пользователя основанные на каком-нибудь ID через куки.
Поэтому я периодически их удаляю =)
Интересно, сколько надо "себя вести", чтобы набрать профиль, достаточный для идентификции. Другими словми, как часто следует удалять куки?
ходите анонимно на сайты из-под отдельного профиля браузера и тогда в 1-ом приближении можете вообще забить на кукисы.
А во втором приближении профиль анонимный сравнивается с профилем открытым.
Кстати, в профиль поведения входит ещё и манера письма. Так что хотите сохранить анонимность – молчите! :)
В большинстве браузеров можно поставить умолчальный запрет на сохранение любых куков, а потом уже разрешать сеансовые или постоянные по мере необходимости для индивидуальных сайтов. По-моему, очень удобно и практично.
Ну удалите вы свои куки, а где уверенность, что у провайдера или ещё где не копится архив сетевого обмена? А идентифицировать пользователя можно всяко-разно: стилистика, ошибки, любимые или профессиональные темы и избранные места, список друзей, ответы в анкетах и записи в дневниках...
А ещё лучше – не входите в сеть.
:)
Несомненно.
В Google вдобавок есть такая услуга, как персонализованный поиск. Если у вас есть GMail-аккаунт, то по умолчанию Google собирает, хранит и анализирует ваши поисковые запросы и результаты, на которые вы кликаете и в дальнейшем производит поиск с учетом ваших предпочтений. Также Google предоставляет вам доступ к вашей личной истории поиска. Возможно впрочем и отключение этой сомнительной фигни.
От всяких там поисковиков вообще куки принимать неприлично. Как и отдавать.
Кусок из моего конфига Privoxy (user.action):
{ +crunch-incoming-cookies +crunch-outgoing-cookies }
.google.com/search
.yandex.ru/yandsearch
Сложно это сделать, так как анонимный юзер не имеет права на чтение профиля неанонимного юзера, и во внешней сети они видны совершенно по-разному и с разных IP.
Но профили то их с течением времени сближаются!
А могут и расходиться, если принять меры.
;)
Врядли. При большом кол-ве материала для анализа. Автороведческая экспертиза в последнее время достигла небывалых высот ;)
Ошибка вышла,
Вот о чем молчит наука:
Хотели кока, а съели кука.
Некоторые сайты не позволяют проходить аутентификацию, если в браузере отключены куки. В то же время другие сайты, которые позволяют это сделать, вместо приема куки прописывают информацию сессии прямо в адресной строке браузера.
Если предположить, что сервер не очень корректно обрабатывает куки (плюс если предположить использование не очень надежного браузера), можно ли при прочих равных условиях считать использование ресурса позволяющего авторизироваться без сохранения куки более безопасным? (с точки зрения трудности кражи идентификационной информации пользователя для этого ресурса).
Нет, скорее наоборот. Если идентификатор сессии (SID) передаётся через URL, то пользователю достаточно перейти на другой сайт, чтобы скомпрометировать сессию через referrer — всякий, кто имеет доступ к логам этого второго сайта, может выдать себя за легитимного пользователя, просто передав его SID до истечения или аннулирования сессии. (Опять же, при прочих равных: пользователь может фильтровать поле referrer, сайт может привязывать сессию к IP и т.д.) Передача SID через URL считается крайним вариантом на случай, если пользователь совсем отказывается или не может работать с cookie, а поддерживать сессию как-то нужно. Но по соображениям безопасности такая схема не рекомендуется.