Безопасный броузер
Интересно, существует ли какой-нибудь броузер для интернет-серфинга, позволяющий:
подменять "идентификатор броузера" позволяя вручную подставить стандартно-распространенные броузеры (Mozilla, Opera, Explorer и т.д.) с разными версиями и разными ОС и другой "информации о пользователе",
Позволять пользователю не только тупо запрещать, но управлять такими функциями, как:
"история переходов на страницу",
"запоминать пользователя"(на сайте),
"сохранять уникальность"
запрещать отдельно-открытым окнам в броузере доступ в интернет (на выбор пользователя)
комментариев: 11558 документов: 1036 редакций: 4118
– Нет, сынок, это фантастика.
Впрочем, менять UA надо тоже с умом, есть много других заголовков вроде напрямую и не про идентификацию, но которых хватит чтобы опознать изначальную подмену, даже без скриптовых засад. Эту тему жевали много раз тут, однако.
Но безопасность в контексте браузера это фантастика, на сегодняшний день.
Мыслите в рамках человеческого языка, а не технологии (хочу такой нож, чтобы нельзя было порезаться, и людей нельзя было убить, а вот мясо чтоб прекрасно резал). "Запомнить пользователя" делается через кучу разных механизов в зависимости от сайта, и указывать что и как делать браузеру, надо в рамках механизмов, а не абстрактной "policy" ("волшебная кнопка в браузере, сделай мне хорошо! Хочу чтобы всё было зашибись!").
Это недоработка (или политика?) разработчиков браузеров. Чем больше внимания к механизмам, тем меньше понимания смысла. Людей вынуждают барахтаться в "как"-ах, не оставляя времени задуматься над вопросом "зачем". Зачем?
комментариев: 9 документов: 5 редакций: 0
Для подмены заголовков и фильтрации url удобно использовать privoxy. Можно написать скрипт, который меняет случайным образом user-agent и поставить его в cron.
Известно что куки можно ещё заложить в заголовки для кеширования, но в privoxy это нейтрализуется подменой заголовков if-modified-since и if-none-match. В меньшей степени, все заголовки Accept* тоже дают косвенную информацию для слежения, но можно задать для них краткие обобщённые значения, а некторые вообще удалить из запросов. Например, конкретный запрос
GET / HTTP/1.1
Host: www.google.com
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; Win64; x64; SV1)
Accept: */*
Accept-Language: en-us
Cache-Control: max-age=259200
If-Modified-Since: Fri, 02 Apr 2010 18:04:23 GMT
Connenction: keep-alive
Заголовки Accept-Contents и Accept-Encoding можно не посылать. Заголовки Accept и Accept-Language в принципе можно тоже не посылать, но тогда запрос будет заметно выделяться из стандартного потока, и значит давать информацию для слежения.
Каким образом из подобных запросов можно получить информацию для слежки? (Если user-agent меняется случайно, а из заголовков кеширования удаляются закладки).
SELinux по идее должен защищать пользовательское пространство от уязвимостей в приложениях. Правда я пока не освоил эту технику. Может кто из знающих людей покажет пример? Предположим, нужно изолировать браузер Firefox. Т.е. процесс запущенный как /usr/bin/firefox должен ограничиваться в памяти (чтобы не украл например парольную фразу из gpg-агента) и на диске в пользовательском каталоге $HOME/.mozilla. В системные каталоги может иметь доступ, т.к. имеет uid:gid обычного пользователя и поэтому не имеет прав на запись туда. Можно ещё добавить ограничение на количество процессов и загрузку процессора, чтобы с помощью js не дать злоумышленникам доступа к системным ресурсам (например для подбора паролей). Как написать политику для браузера? Если будет реальный рабочий пример, то для всех остальных приложений можно написать самостоятельно по аналогии.
комментариев: 9796 документов: 488 редакций: 5664