id: Гость   вход   регистрация
текущее время 03:17 13/12/2019
Владелец: spinore (создано 31/01/2010 14:35), редакция от 19/02/2010 14:45 (автор: unknown) Печать
Категории: софт, анонимность, инфобезопасность, tor, уязвимости, микс-сети, атаки
создать
просмотр
редакции
ссылки

Сетевая анонимность: общие вопросы


Вычеркнутые вопросы перенесены в FAQ


Оглавление документа:

Я хочу настроить своё рабочее место для возможности анонимной работы в сети. Какие риски для анонимности существуют и с чего мне начать?

Прежде всего, заметим, что анонимность немыслима без безопасности, которая отвечает за корректность и надёжность работы всех систем. Создание и настройка сколь-нибудь надёжного в плане анонимности рабочего места требует, как минимум, хорошего знакомства с устройством операционной системы (ОС), с основами сетевых технологий и с основными положениями информационной безопасности: именно поэтому настоятельно рекомендуется начинать разбираться с анонимностью только после получения хотя бы общих (схематических) представлений об указанных технологиях. Попытка описать проблему анонимности в нескольких абзацах или даже страницах заведомо упустит массу важных тонкостей, но мы всё же попытаемся дать краткое описание, которое могло бы послужить подспорьем при настоящем серьёзном изучении проблемы.


Проблема анонимности возникает при обработке служебной и целевой информации, покидающей компьютер, которая, если представлять схематически, проходит через систему следующим образом: прикладная программа -> ОС -> сеть. Каждый из этих уровней обработки информации (прикладной, системный (ОС) и сетевой) может влиять на анонимность пользователя. В силу сложившихся обстоятельств, в плане безошибочности и корректности реализации прикладной уровень наименее надёжен из всех, системный – существенно надёжнее, и самый надёжный – это сетевой.


Специалисты различают программные уязвимости по тому, на каком уровне они работают: прикладном, системном или сетевом. Наиболее часто используются следующие термины: уязвимость вида local root, remote root и 0day. Под local root понимается уязвимость, позволяющая получить самые высокие права (системного уровня) программе, выполняемой на этом же компьютере, под remote root понимается получение тех же прав по сети, программой, выполняемой удалённо на другом компьютере. Какую-либо уязвимость, уже кем-то открытую, но ещё не известную публично, называют 0day. Уязвимости вида local root в надёжных ОС типа Linux/BSD обнаруживают от силы несколько раз в год, remote root – не каждый год [в OpenBSD – 2 раза за всю историю её более чем десятилетнего существования], а фатальные ошибки в браузерах, позволяющие выполнить любой код от имени его запустившего пользователя, находят едва ли не ежедневно.


В силу того, что разные уровни по степени защищённости отличаются очень значительно, контроль за анонимностью работы с данными предпочтительнее возлагать на системный уровень, т.е. на средства самой ОС, а не прикладных программ. Перейдём теперь к рассмотрению того, что происходит внутри каждого уровня и какие угрозы для анонимности он в себе таит.


Прикладные программы помимо целевой информации отправляют массу служебных данных в сеть, начиная от списка своих опций и настроек, и кончая проверками обновлений софта или даже синхронизацией своего содержимого с какими-то хранилищами в сети. Исправить такое поведение иногда частично удаётся с помощью соответствующих настроек, предусмотренных рассматриваемой программой, или же с помощью дополнительных плагинов. Однако, приемлемо (но не полностью) решить эту проблему можно перелагая контроль на системный уровень: запускать программы в специальном окружении, на выделенной ОС в виртуальной или физически выделенной машине. Такой подход может существенно уменьшить ущерб, в том числе, и от передачи каких-то общесистемных файлов и данных, которые программа может попытаться отослать в сеть, став подконтрольной из-за уязвимости злоумышленнику.


На системном уровне возможны критические утечки служебных передаваемых данных из-за неверной настройки или несовместимости того, как работают отдельные прикладные программы и сама ОС. Как правило, эта проблема может быть полностью решена правильной настройкой firewall'а.


Сетевой уровень – один из самых сложных в силу многообразия связанных с ним проблем, но, к счастью, пользователь почти всегда может от него абстрагироваться в рамках своей модели угрозы. Как правило, рассматривают анонимные системы двух типов защиты: систему Tor, которая предоставляет доступ к ресурсам интернета в режиме реального времени без покрывающего трафика, и систему Freenet, являющуюся анонимной файлообменной сетью с покрывающим трафиком. Ограничения на анонимность каждой из этих сетей – предмет отдельного обсуждения, и пока мы от него абстрагируемся.


Стоит заметить, что прикладной и системный уровни могут быть программно изолированы друг от друга. Каждая прикладная программа (каждый процесс), как правило работает от отдельного пользователя, и имеет соответствующие ему права и привелегии в системе. Если уязвимости вида local root в системе нет, то такая программа никак не может получить прав больше, чем права запустившего её пользователя. Поскольку запуск программ от отдельных непривелегированных пользователей повышает защищённость системы, этим настоятельно рекомендуется пользоваться.


Вышеперечисленные проблемы, возникающие при построении анонимизирующих систем, могут быть решены исключительно в доверяемой среде – той, в которой можно прозрачно проконтролировать все стадии работы программ с данными. К примерам доверяемых сред можно отнести такие популярные ОС как Linux или *BSD. Поведение Windows настолько непрозрачно и плохо управляемо при работе с данными (например, отсутствует функциональный и надёжный firewall), доверие к производителям софта требуется настолько полное, а список всевозможных утечек столь велик, что попытка её анонимной настройки для специалиста средней руки едва ли подъёмная задача. Если говорить прямо, то понятия анонимности/безопасности и Windows с нашей точки зрения попросту несовместимы.


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


  1. Установка плагина torbutton (tb) на firefox (ff), который запускается от обычного пользователя (полностью прикладной уровень). Это базовая защита от деанонимизации, в том числе и от утечек служебных данных. ff и tb здесь полагаются неограниченно доверяемыми программами – уязвимость в них потенциально полностью деанонимизирует пользователя. Уязвимые tb и ff могут получить полный доступ как к системным файлам, так и всем файлам из неанонимного профиля пользователя (из домашней директории).
  2. Запуск связки ff+tb под отдельным пользователем tor_user и отдельным X-сервером, с последующей блокировкой на уровне системного firewall'а всех соединений, инициируемых tor_user'ом, идущих не в сеть Tor (уже системный уровень защиты). Этот уровень защиты уже не позволяет уязвимым ff и tb что-либо послать в сеть в обход Tor, и они уже не могут получить без local root уязвимости доступа к неанонимному профилю пользователя. Однако, они ещё могут получить доступ к системным настройкам и файлам, часть которых потенциально может содержать информацию, достаточную для деанонимизации, т.к. эти же системные настройки используются и неанонимным профилем под другим пользователем.
  3. Запуск связки ff+tb при тех же условиях, что и в предыдущем пункте, но теперь уже в виртуальной машине, причём сам Tor-клиент запускается на основной (host) ОС, и она же отвечает за перенаправление всего трафика от виртуальной машины в сеть Tor. При такой защите tb или ff не могут получить доступа ни к актуальным сетевым настройкам на host ОС, ни к актуальным системным файлам на ней. Для того, чтобы добраться до них, требуется иметь одновременно уязвимость класса local root в гостевой ОС с уязвимостью в виртуальной машине.
  4. Запуск связки ff+tb на физически выделенной (не виртуальной) машине, которая используется только для работы в Tor и не содрежит никакой информации, позволяющей связать анонимную и неанонимную личность пользователя. Трафик от этой машины направляется в сеть Tor внешним рутером, и он единственный, кто знает сетевые настройки реальной сети провайдера. Неанонимный профиль пользователя находится на отдельной машине, трафик с которой так же пропускает через себя рутер (сетевой уровень защиты). Для того, чтобы уязвимые ff или tb смогли что-то узнать об актуальных настройках сети, требуется уязвимость класса remote root либо против рутера, либо против машины с неанонимным профилем пользователя (на последней содержатся настройки, позволяющие ходить в сеть не через Tor).

Небольшое пояснение: выше под уязвимостью понимаются не только программные ошибки в общепринятом смысле, но и какие-либо другие ошибки в настройке, приводящие к деанонимизации.

Здесь почему-то уделено очень много внимания проекту Tor. Какие существуют ещё методы достижения анонимности в сети, разве они хуже?

Кто такой глобальный наблюдатель? Насколько он опасен? Почему не создаётся систем с защитой от него?

Что такое ремейлеры? Какое развитие на данный момент имеют сети ремейлеров?

Что такое атаки пересечения и подтверждения?



 
На страницу: 1, 2 След.
Комментарии [скрыть комментарии/форму]
— unknown (31/01/2010 19:30)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Хорошо бы отфильтровывать обороты вида:
а то сильно смахивает не на FAQ, а на диссер (эту пометку делаю для своих текстов тоже (и в первую очередь) — не хватает краткости и много лишних речевых оборотов).

Большие абзацы можно ужимать списками/таблицами и прочими перечислениями по ключевым пунктам.
— Гость (01/02/2010 00:15)   <#>
понятия анонимности/безопасности и Windows с нашей точки зрения попросту несовместимы.
Почему для анонимности не годиться вариант 4, особенно если Windows пиратская и используется только через внешний Tor-рутер?
— spinore (01/02/2010 01:57)   профиль/связь   <#>
комментариев: 1515   документов: 44   редакций: 5786
Хорошо бы отфильтровывать обороты вида ... а то сильно смахивает не на FAQ, а на диссер ... не хватает краткости и много лишних речевых оборотов

Знаю, сам мучаюсь с этой проблемой. Это издержки профессии, в том числе и из-за недостатка в чтении хорошей литературы. Порой пишешь текст как есть, потом исправляешь по многу раз обороты, а все отсеять всё равно не получается. Вон, уважаемые Гости нашего форума уже сколько времени жалуются на распознавание моих псевдоанонимных постов ;-) Другая причина – перфекионизм: попытка написать так, чтобы нельзя было исказить мысль, чтобы не было двусмысленности, что достигается надоедливой избыточностью фраз. На фабриках по производству роботов при тестировании В университетах экзаменатор ловит каждое несторожное и неточное слово в ответе, к которому потом усредно прикапывается, а если есть возможность, то и блещет добивает контрпримерами. Успешность сдачи экзамена определяется исключительно мерой неточных и неправильных утверждений в ответе, а не соотношением между количеством верных и неверных, как можно было бы подумать.

Со всеми замечаниями согласен, так что если кто возьмётся поправить – я всеми рукми за. Сам пока занят.
— spinore (01/02/2010 02:08, исправлен 01/02/2010 02:31)   профиль/связь   <#>
комментариев: 1515   документов: 44   редакций: 5786
Почему для анонимности не годиться вариант 4, особенно если Windows пиратская и используется только через внешний Tor-рутер?

Можно сказать, что годится, но у тех, кто сможет его настроить необходимости в чтении данного FAQ'а нет – он предназначен в первую очередь для самых начинающих пользователей, которые пытаются объять не объятное, и у которых ещё нет никаких системных знаний по предмету.


Можно сказать, что не годится (плохо годится), исходя из того, что слишком часто Windows ломится в сеть в попытках скачать (в т.ч. потецнеиально трояноподобные) обновления, её трафик и настройки не так легко контролируются и могут сильно зависеть от версии к версии. Когда ОС начинает во все стороны сифонить данными (а потенциально она может сливать всё содержимое компьютера):

Прикладные программы помимо целевой информации отправляют массу служебных данных в сеть, начиная от списка своих опций и настроек, и кончая проверками обновлений софта или даже синхронизацией своего содержимого с какими-то хранилищами в сети

получаем уязвимость типа "сужения множества поиска". Припоминая текущий шум по поводу https://panopticlick.eff.org, это может существенно вредить анонимности.


Большие абзацы можно ужимать списками/таблицами

Про таблицы сам в первую очередь подумал, но я с ними здесь ещё ни разу не работал, и потому предпочёл не связываться. Другой контраргумент – таблицы удобны для иллюстрации, но если в итоговом варианте оставить только таблицы, убрав (избыточные) пояснения, то потеряется точность смысла, которую вкладывал автор, пытаясь писать "правду, ещё раз правду, и ничего кроме правды" :) Я сам много лет медитировал над сложной научной литературой, не понимая предмет, и поэтому не по наслышке знаю насколько необходимы общечеловеческие пояснения, кажущиеся избыточными специалистам.


Была и другая мысль: этот текст вынести в качестве отдельной статьи, которую совместными усилиями бы дополнили до состояния законечнного введения в тему, а в самом FAQ бы ссылались при необходимости на это введение, давая лишь краткие ответы на вопросы (включая пока что единственный вышеотвеченный). Либо можно поначалу написать всё, что планировалось, а как упорядочить – позже виднее будет.

— unknown (01/02/2010 09:18)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Я сам много лет медитировал над сложной научной литературой, не понимая предмет, и поэтому не по наслышке знаю насколько необходимы общечеловеческие пояснения, кажущиеся избыточными специалистам.

Согласен, самые лучшие материалы для усвоения — это не справочники, а когда сначала объясняется на простом уровне, определения многократно повторяют (от поверхностного уровня к более глубокому) и только затем читателя подводят к чётким формулировкам и строгому описанию, а в конце уже даётся краткая выжимка в виде таблиц-шпаргалок, чтобы запомнить. Но объёмы и трудозатраты на создание таких работ растут катастрофически.
Да тоже возникла такая мысль после прочтения — вот она, почти готовая статья. Но поскольку написание статей трудозатратно, лучше в формате FAQ, а когда там какой-то пункт разрастётся, то вынести подробности отдельно и по его мотивам можно сделать и статью.
Вот. Раздел же называется черноВики — сюда пока складываем сырые заметки. Там дальше видно будет, что с ними делать.
— Гость (01/02/2010 17:18)   <#>
Всё таки оставлю комментарий.
Вероятно из-за технической ошибки, вместо слова Freenet в тексте иногда встречается Freedom.

Zero Knowledge Systems announces the Freedom Network late in 1998. Freedom was a commercial network with many similarities to Onion Routing.


— unknown (02/02/2010 09:03)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
fixed. Спасибо, что заметили.
— Гость (21/03/2011 22:01)   <#>
Дабы не создавать новый тред на форуме (возможно оффтоп, извиняюсь).

Запуск связки ff+tb на физически выделенной (не виртуальной) машине, которая используется только для работы в Tor и не содрежит никакой информации, позволяющей связать анонимную и неанонимную личность пользователя.
А что если некая зловредная программа передаст параметры железок выделенной машины (серийники и прочее)? Ведь по ним теоретически можно отследить их владельца.
— Гость (21/03/2011 22:22)   <#>
А что если некая зловредная программа передаст параметры железок выделенной машины (серийники и прочее)? Ведь по ним теоретически можно отследить их владельца.
Если выделенная машина никогда не использовалась для неанонимного хождения по сети, то максимум, что может получить злоумышленник — это полный набор информации об анонимных похождениях пользователя в сети*. Здесь параметры железок — возможность приписать псевдоним анониму, и не более того.

*Конечно, это не так анонимно, как хотелось бы, но в рамках разумного допущения приемлемо. Когда вы одновременно открываете несколько вкладок в браузере под Tor'ом, вы тоже коррелируете все свои посещения между собой как на эксит-узлах, так и на посещаемых серверах (последние, скооперировавшись между собой, могут с какой-то вероятностью узнать, на какие ресурсы вы ещё ходите), потому описываемая модель анонимности упрощёная: одна выделенная машина — один анонимный профиль, в рамках которого вы ведёте себя так, как будто никакой анонимности и нет (точнее говоря, ведёте себя псевдонимно). Конечно, это крайний случай, а по факту и в среднем анонимность будет повыше :) Если для вас категорически неприемлемо связывание каких-то двух своих "анонимных профилей" (псевдонимов, если точнее), то под них должны быть разные выделенные машины, дабы сказанное оставалось в силе.
— Гость (21/03/2011 22:31)   <#>
Я не то имел ввиду. Производитель выпускает железку, дает ей некоторый серийный номер. Далее по этому номеру отследить в какой магазин она поступила, ну и там найти покупателя уже просто. На грани паранойи, но тем не менее, есть подозрение, что некоторый трекинг по серийникам произвести возможно.
— Гость (22/03/2011 00:27)   <#>
Железка не на поспорт покупается. В крупных городах — вообще муравейник в магазинах, тем более на совке. О каких серийниках идёт речь? Я знаю разве что о MAC-адресах сетевых, но они программно (а иногда даже и хардварно, навеки) меняются, если есть на то желание. Где в выводе dmesg вы видете серийник?
— Гость (22/03/2011 00:37)   <#>
Не на паспорт, но в магазинах стоят камеры.
Если программно изменить MAC, троян все равно увидит.
В dmidecode, серийный номер винчестера и т.д.
— Гость (22/03/2011 01:27)   <#>
Ну используйте полноценную виртуалку, что тут ещё посоветуешь :)
— Гость (23/03/2011 02:35)   <#>
Вообще, если что, получение удалённой стороной полного root-доступа к системе в любом случае считается аварийной ситуацией, при любой схеме настройки. Последняя может уменьшить потенциальный ущерб от такой компрометации, но никак не "сделать такую ситуацию в порядке вещей".
— SATtva (25/03/2011 00:16)   профиль/связь   <#>
комментариев: 11543   документов: 1036   редакций: 4092
Не на паспорт, но в магазинах стоят камеры.
Если программно изменить MAC, троян все равно увидит.
В dmidecode, серийный номер винчестера и т.д.

Существует отдельная сфера безопасности — безопасность канала поставок (чем занимаются спецслужбы и военные, закупающие оборудование у гражданских подрядчиков). Надевайте бутафорские усы, тёмные очки и парик перед походом в магазин, что тут ещё скажешь...
На страницу: 1, 2 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3