30.05 // Концептуальная уязвимость в популярных браузерах может угрожать пользователям Tor
Всем известно, что браузеры хранят список посещенных ссылок и отображают их в другом цвете. Стиль отображения посещенных ссылок на любом сайте может быть изменен через CSS, а js-скрипты могут определить стиль отображения любого элемента своей страницы и даже снять её попиксельное изображение. Зная эти два факта, легко придумать сценарий атаки, позволяющей извлечь список посещенных страниц.
Сценарий атаки прост:
Атакующий создает подставной сайт, на который заманивает жертву. Сайт выдает страничку с невидимым DHTML-слоем, который содержит список ссылок, факт посещения которых мы хотим установить. Устанавливаем для этого слоя специальный CSS стиль, в котором вид посещенных ссылок резко отличается от непосещенных. JS этой страницы дожидается завершения рендеринга, после чего считывает цвета пикселей страницы и, таким образом, определяет, какие ссылки из списка посещались, после чего они передаются через ajax на сайт атакующего.
Данная атака не раскрывает IP пользователя, но позволяет различать пользователей по посещаемым ими сайтам. Весьма вероятно применение такой атаки для установления круга интересов конкретного человека, которым заинтересовался атакующий. Возможно массовое применение этого метода для охоты за посетителями запрещённых законом сайтов.
Рекомендации по закрытию уязвимости:
1 – Полностью отключите js, если это возможно.
2 – Используйте разные копии браузера для серфинга под Tor и без него – этим вы минимизируете ущерб от успешной атаки.
3 – Полностью отключите сохранение списка посещенных ссылок, однако, не во всех браузерах данный список, хранящийся в памяти браузера, может быть отключен. В таком случае вы должны периодически перезапускать браузер.
4 – Отключите поддержку CSS, если это позволяет ваш браузер (эффективность этого метода не проверена).
Мной проверено наличие этой уязвимости в IE6, IE7, IE8, Firefox 2.0.0.14 и Opera 9.64.
Пример реализации данной атаки на основе широкого списка самых посещаемых сайтов представлен на сайте http://www.startpanic.com/
Все прочие браузеры потенциально в группе риска. Отключать в них надо, в идеале, одновременно скрипты и css, иначе есть шанс нарваться еще и на другие столь же концептуальные баги.
https://www.torproject.org/torbutton/design/
комментариев: 11558 документов: 1036 редакций: 4118
В торбаттоне, этот механизм отключаем только через about:config, т.е. из коробки защищает пользователя от описанной атаки.
Верней он отключаем и через менюшечки-рюшечки, не с той стороны на этот процесс глядел. Но они включены изначально, кроме того отмечено как критичное для анонимности.
комментариев: 11558 документов: 1036 редакций: 4118
Каких-то особых телодвижения для "подружения" не требуется. Если настроено принудительное заворачивание всего трафика в Tor силами файерволла, он и будет заворачиваться весь независимо от того, проходил через Privoxy или нет. В любом случае всё, что покидает Firefox с включенным Torbutton, уже достаточно обезличено.
Зря, если хочется действительно анонимности (как минимум при наличии множества документированных, на сей день, концептуальностей). Если Вы используете что-то иное от рекомендованного (проверенного, специально заточенного), весь груз теоретических и практических проверок ложится на Ваши плечи,
дерзайте. Только, работоспособность такого фильтра не гарантированна в некоторых случаях.
Это да, только, боюсь работать при некорректной настройке не будет, а корректно сделать может не позволить существующий функционал. В данном случае мне нужно, чтобы на выходе из браузера шёл обезличенный трафик (что есть), но, в то же время, чтобы шёл он в инет напрямую, т.е. настройки proxy в браузере были пустыми (ибо заворачивать в инет будет уже сам firewall, передавая трафик тор-клиенту, запущенному от другого юзера и с другими полномочиями). Вот собсно и вопрос: допускает ли Tb "отключение торификации" с сохранением остальных настроек?
Для пояснения: торифицировать прозрачно можно двумя способами: либо сделать так, чтобы на остальных портах (не типичных) юзер, под которым браузер запущен, не мог передавать ничего и никому, т.е. что-то типа:
либо просто брать весь исходящий трафик от того юзера и принудительно направлять его на localhost:9050. Мне кажется предпочтительным именно второй вариант, т.е. что-то типа
[Правила указаны чисто для смысла, – за синтаксисом не следил].
Он завернется со всем оверхедом get запросов, под хттп прокси, который добавит браузер.
Лучше тогда, для прозрачности, "установить" вручную настройки для прокси — очистив все (и сокс прокси) поля.
комментариев: 11558 документов: 1036 редакций: 4118
Если это допускается (и будет понято как direct connection), то так, конечно, лучше.
комментариев: 9796 документов: 488 редакций: 5664
http://archives.seul.org/or/talk/May-2009/msg00067.html
Идея в том, что torbutton заворачивает всё privoxy, все программы, которые настроены на privoxy – тоже будут работать через него и выходить в сеть Tor через privoxy.
То, что не может работать через privoxy заворачивается файрволлом в локальный tor-клиент напрямую, а если какие-то левые пакеты с непонятными протоколами "не смогут завернуться", то попытаются обработаться локальными сервисами или убьются на локалхосте.