id: Гость   вход   регистрация
текущее время 12:38 16/04/2024
создать
просмотр
редакции
ссылки

10.09 // ConScript: мобилизация через JavaScript или анонимность по призыву


Для защиты своей анонимности и неотслеживаемости передаваемых данных в интернете пользователи нередко прибегают к помощи анонимных сетей, таких как Tor. Особенно остро такая потребность возникает в случае необходимости организовать утечку секретных документов для последующей публикации, если факт передачи и личность добровольного информатора общественности необходимо скрыть хотя бы на время. Однако, в таком случае уровень анонимности, обеспечиваемый сетями реального времени (Tor и др.), может оказаться недостаточным. Даже не самый могущественный противник может с некоторой заметной вероятностью, по крайней мере, частично отслеживать активность пользователя в таких сетях, прибегая к низкозатратным атакам анализа трафика.


Для высокого уровня анонимности существуют сети с передачей небольших сообщений с задержками по времени (такие как системы ремейлеров) и основанные на проверяемом смешивании в DC-сетях (такие как Dissent). Авторы протокола Dissent* помимо того, что в очередной раз подчеркнули повышенную теоретическую стойкость специализированных протоколов, обратили внимание на то, что на практике анонимность при их применении будет близка к нулю из-за малого числа пользователей как по количеству, так и по времени нахождения в анонимной сети, что делает множество анонимности чрезвычайно малым и уязвимым к простейшему анализу трафика.


В самом деле, такие системы на практике сталкиваются с рядом неизбежных проблем:

  1. Использование средств повышенной анонимности сложно, поэтому мало кто захочет разбираться в способах работы с ними.
  2. Системы повышенной анонимности функционально ограничены и предназначены только для редких сценариев применения. Возможно, даже у технически грамотного пользователя потребность в использовании такой системы будет возникать крайне редко (включая случаи «раз в несколько лет»).
  3. В отличие от более разнообразных повседневных сценариев использования сетей (наподобие Tor), сам факт использования систем повышенной анонимности, несмотря на трудности, перечисленные в п. 1-2, может свидетельствовать о повышенной мотивации пользователя к сокрытию своих данных.

Таким образом, прослушивающая сторона может составить список всех доступных её наблюдению пользователей сетей повышенной анонимности и сопоставить факты их редких сеансов связи с интересующими её событиями, — например, утечками документов, установлениями каких-то контактов между пользователями и т.д., что позволяет подтвердить имеющиеся подозрения. Отсутствие массовости использования практически сводит на нет анонимность любого теоретически стойкого протокола.


Можно ли сделать использование сетей повышенной анонимности массовым? Исследователи Генри Корригэн-Гиббс (Стэнфордский Университет) и Брайен Форд (Йельский Университет) в своей новой публикации «Conscript Your Friends into Larger Anonymity Sets with JavaScript» нашли достаточно необычное, парадоксальное и отчасти вызывающее решение этой проблемы: они решили ввести в анонимные сети группу «обычных» пользователей. От последних не требуется никаких умственных усилий, кроме как абстрактного желания поддержать анонимность в Интернете. Кроме того, необходимо наличие дружественных, но необязательно доверяемых веб-сайтов, согласных разместить у себя JavaScript-код для поддержки анонимных сетей. Хотя теоретически такой скрипт может выполняться вообще без ведома пользователя, авторы предлагают использовать хотя бы уведомительный характер при его применении: пользователю на странице выводится предупреждение об использовании его компьютера для поддержки анонимности с возможностью отказа. Другим вариантом является упоминание в тексте о правилах пользования сайтом. Загружаемый с сайта JavaScript генерирует в браузере пользователя шифрованное пустое сообщение для анонимной сети, которое играет роль покрывающего трафика. Несмотря на сложности в реализации криптографии на JavaScript, авторы указывают, что им удалось добиться генерации таких сообщений c приемлемым уровнем безопасности, при этом расход времени на операции составил не более десятков миллисекунд даже для мобильных устройств, а повышение энергопотребления при таких операциях было незначительным по сравнению со средним, создаваемым некоторыми видами веб-серфинга для различных распространённых на данный момент браузеров и операционных систем.


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


Мы рассмотрели роль группы «обычных» пользователей в этом проекте. Другая группа — это так называемые «продвинутые» пользователи, которые хотят на выбор по желанию отправлять покрывающие или реальные анонимные сообщения в соответствующие сети посредством сотрудничающих веб-сайтов. У них в браузере должен быть установлен специальный плагин, который и выполняет подготовку сообщения. Сначала плагин полностью собирает полученный с сотрудничающего сайта JavaScript. Последний должен побайтово совпадать с версией, встроенной в плагин и синхронизированной заранее до актуального состояния. Если полученный с сайта JavaScript отличается, то плагин воспринимает его как несовместимый или злонамеренный, после чего передаёт ему на отправку пустое покрывающее зашифрованное сообщение. Если JavaScript совпадает, то плагин может передать ему реальное зашифрованное сообщение «продвинутого» пользователя для отправки через его сайт в сеть повышенной анонимности.


Этот проект авторы назвали ConScript, что удачно описывает в одном созвучии две идеи: использование JavaScript для нетрадиционных целей повышения анонимности в сети и увеличение множества анонимов за счёт покрывающих сообщений, где последнее реализуется путём зова о помощи повысить анонимность, адресумого всем посетителям сотрудничающих сайтов (Conscript переводится как «призывать, мобилизовывать»).


Для этой задачи важным является то, что ни сотрудничающие сайты (которые могут использовать выслеживание или подмену JavaScript), ни прослушивающая сторона не могут отличить зашифрованные пустые покрывающие сообщения от истинных сообщений «продвинутых» пользователей. Это могут сделать только конечные узлы анонимной сети, которые не знают адреса отправителя. Чтобы именно так и было, сообщения должны удовлетворять условию адаптивной неразличимости второго порядка к атакам с подобранным шифртекстом (условие IND-CCA2). Этому требованию удовлетворяет как широко распространённое шифрование RSA-OAEP, так и многие другие элементы протоколов, используемые в сетях повышенной анонимности, что открывает широкие перспективы для создания неразличимых покрывающих множеств пользователей для самых редких и экзотических протоколов анонимной связи, анонимного голосования и др. Однако, следует помнить, что не все протоколы подходят для такого использования. Так, например, протоколы ремейлеров, которые отправляют сообщения по мере накопления пула, не подходят — наблюдатель может заметить, что слишком много сообщений в пуле пустые, и в момент наполнения пула перед его переотправкой выделить реальные сообщения. Универсальным способом различения «продвинутых» и «обычных» (покрывающих) пользователей являются попытки определить факт скачивания и установки ConScript-плагина, так что продвинутые пользователи должны позаботиться об этом заранее. В закрытом сообществе такой плагин можно передать и полностью оффлайновым способом, используя портативный носитель информации. Вопрос атак на браузер пользователя (через тот же самый JavaScript), которые из-за уязвимостей позволят определить, по крайней мере, сам факт наличия плагина, остаётся открытым.


Несмотря на всё вышесказанное, столь необычный взгляд на использование небезопасных и уязвимых технологий (JavaScript в браузере) заслуживает внимания. «Продвинутые» пользователи могут поставить и настроить в системе редко используемый изолированный профиль для отправки сообщений, нуждающихся в сильной анонимности, не ограничивая себя в изобретательности и защите, но пользуясь неразличимостью и покрывающим трафиком от рядовых пользователей, даже ничего не понимающих в анонимных сетевых технологиях. При желании сами «продвинутые» пользователи также могут попытаться прикинуться принадлежащими к группе «обычных» — достаточно удалить следы использования плагина в системе, чтобы получить возможность сильной отрицаемости использования анонимных сетей. Конечно, для этого необходима широкая поддержка проекта ConScript множеством популярных сайтов и проработка согласования ConScript с анонимными сетями доставки сообщений таким образом, чтобы злоумышленник посредине, знающий лишь публичные ключи узлов анонимной сети (и, возможно, лишь часть закрытых ключей, принадлежащих своим подконтрольным узлам) не мог ни отличать пустые сообщения от реальных, ни предсказывать направление сообщений «обычных» и «продвинутых» пользователей.


Работа авторов будет представлена на симпозиуме по вопросам приватности в электронном обществе в рамках двадцатой конференции по вопросам безопасности компьютеров и связи в ноябре 2013 года.


* См. также их fileработу и fileслайды «Dissent in Numbers: Making Strong Anonymity Scale».


Источник: arXiv.org: Cryptography and Security archive


 
— Гость (11/09/2013 01:39)   <#>
Не буду вдаваться в тонкости филологии, скажу только про вопиющее:

  1. им удалось добиться генерации таких сообщений c приемлемым уровнем безопасности за интервалы времени не более десятков миллисекунд даже на мобильных устройствах при незначительном повышении энергопотребления по сравнению с некоторыми видами веб-серфинга для различных распространённых на данный момент браузеров и операционных систем.
    Чистейшая жесть как она есть.

  1. Первоначально плагин полностью собирает полученный с сотрудничающего сайта JavaScript.
    Компилит что ли? Или скачивает всё-таки? Не стал исправлять, т.к. не полнял однозначно смысл.

  1. использование JavaScript для нетрадиционных целей повышения анонимности в сети
    Имелось в виду, что сам факт пользования анонимной сетью — нетрадиционная вещь, или имелось в виду, что есть как традиционное использование анонимной сети, так и нетрадиционное?

  1. увеличения множества анонимов за счёт покрывающих сообщений путём призыва к помощи в повышении анонимности всех посетителей сотрудничающих сайтов
    «Призыв к помощи» — это что-то совершенно нерусское, нет такого выражения. Есть «призыв к ответу», но это из другой оперы. Если сильно хочется, есть зов (или «взывание», если совсем ударяться в архаику ради точности перевода) к кому-то о помощи.

  1. Возможен факт передачи в закрытом сообществе такого плагина полностью оффлайновым способом через портативный носитель информации.
    Так и не понял, к чему это. К тому, что тогда скачивание не будет задетекчено? Всё равно запуск узла с JS-кодом станет публичным.

  1. не ограничивая себя в изобретательности и защите
    При чём тут изобретательность? Даже примерно не понял.

Я почти всё исправил по своему усмотрению, поэтому проверьте, не исказил ли где-то смысл.

По теме:
Общая идея тривиальна и лежит на поверхности: пусть пользуются анонимной сетью все, скачивая оттуда и закачивая туда что-то липовое, тогда все остальные растворятся среди первых, осталось только предусмотреть дифференциацию между пустыми сообщениями и липовыми на исходящих узлах анонимной сети. Основные атаки против — фингерпринтинг разных мастей. Если бы использование сети было унифицированным (один протокол, короткие сообщения), было бы проще, но существующая ситуация нетакова. Если обычные (casual) пользователи отправляют время от времени в сеть по нескольку килибайт, а wistleblower слил туда 100 MB, его не трудно будет распознать. Более того, я вообще не знаю, как решать проблему растворения нефейков внутри фейков без создания специального протокола, где это будет учтено на уровне дизайна сети (типа Freenet).

Спасибо за новость.
— Гость (11/09/2013 01:50)   <#>
P.S.
незначительном повышении энергопотребления по сравнению с некоторыми видами веб-серфинга
Кстати, у вас часто встречается такая ошибка: из-за опущенных ради краткости слов по факту получается сравнение сапогов с пирогами (энергопотребления с вебсерфингом).
— unknown (11/09/2013 11:42)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

JavaScript со страниц разного типа отдаётся разными кусками, в отличие от статического контента. Особенно если на странице размещено несколько скриптов. Я так понял, что плагин выковыривает из того что скачалось то, что ему нужно (в моём представлении собирает по кускам).


использование JavaScript для нетрадиционных целей повышения анонимности в сети
Имелось в виду, что сам факт пользования анонимной сетью — нетрадиционная вещь, или имелось в виду

Ужас какой! Я уже начинаю подозревать, что значительную часть моих постингов понимают совершенно неправильным образом, как говориться, до фатальных ошибок в применении. Имелось в виду, что традиционное применение JavaScript — это всяческое снижение анонимности пользователя в сети, а сам язык кроме как для атак на браузер, в плане анонимности обычно никакого конструктивного интереса не представляет. И в плане анонимности/безопасности традиционно думают только что с ним делать: вообще отключить или как-то урезать функциональность, чтобы и сайты работали, и чтобы копромисс в сторону безопасности как-то соблюсти.

Так и не понял, к чему это. К тому, что тогда скачивание не будет задетекчено? Всё равно запуск узла с JS-кодом станет публичным.

Допустим, пользователя прослушивают всё время. Он ходит на относительно популярный сайт (pgpru, к примеру). На сайте, допустим, когда-нибудь SATtva поставит такой JavaScript (это не призыв к помощи :-). Тогда все, кто заходит на сайт и согласен запустить JavaScript, будут делать вид, что они отправляют анонимные сообщения в сеть. А у кого есть плагин, может отправить сообщения и по-настоящему. Ни SATtva, ни любая другая потенциальная прослушивающая сторона не сможет различить фоновую покрывающую активность от редких случаев использования системы для реальной отправки данных через анонимную сеть по назначению. Но тот, кто прослушивает пользователя всё время может заинтересоваться вопросом — скачивал ли пользователь себе такой плагин или нет? Если да, скачивал, то это вызовет гораздо больше подозрений. Поэтому надо скрыть факт скачивания и установки такого плагина.

При чём тут изобретательность? Даже примерно не понял.

В случае с тором, попытка перестраховаться при помощи изобретательных схем защиты приведёт к профилированию и выделению. Пользователь будет светиться, как "самый умный" на фоне общей массы и его трафик будет заметен на всех исходящих узлах. В случае с ConScript защищаться от дырок в браузере и JavaScript можно более широко. Поскольку отправка реально критичных сообщений, в отличие от покрывающих, будет редкой, то можно поэкспериментировать и с виртуалками, и с отдельными загрузочными флэшками для этой цели. Продвинутому пользователю будет не лень потратить время на настройку и загрузку чего-то особенного, не сильно опасаяcь проблемы профилирования, которая здесь не так остра, как в систмах анонимизации реального трафика.


В ремейлерах mixmaster зарезервирован размер под сообщение — 1 килобайт. В Mixminion — вроде также какое-то фиксированное и одинаковое значение побольше, но вроде, не больше 1 Мб. Подразумевается, что это только для короткой текстовой почты с задержками. Договариваться об обмене крупными файлами и документами придёться как-то отдельно. Эту проблему по-крайней мере сети ремейлеров не решают, да. Dissent решает, но он здесь не может быть раскручен на полную мощность, по правильно замеченной вами проблеме фиксированного размера сообщений, который принудительно будет задан для всех. Отправка пустых сообщений и их отбрасывание на конечных узлах в ремейлерах поддерживается изначально.

Ещё раз спасибо за правку и вопросы к новости — без вас её смысл похоже был бы совсем искажён в моём представлении. После ваших правок предыдущих материалов старался эту новость опубликовать как можно более простым и аккуратным языком. Как бы не так! Смотрю на ваши правки и осознаю, какой ужас всё время получаетя. Из всех публикаций, которые мне встречаются, наиболее ясным языком (правда, как образец английского, но речь не о конкретном языке, а о логике изложения, простоте и однозначности последующего чтения и понимания) только Шнайер пишет.
— Гость (12/09/2013 09:36)   <#>

После ваших развёрнутых комментариев всё стало понятно, но в самом тексте этого не произнесено, поэтому, не читая работу, трудно догадаться до правильных интерпретаций.


Нет, в вашем представлении (т.е. то, как вы сами её понимаете) смысл статьи моими комментариями и правками искажён не будет — вы же читали работу и более-менее правильно её понимаете безотносительно моих правок, а вот те, кто читатет новость в вашем представлении изложении — те да, могут понять её неправильно. Я вам буду отсылать свои тексты для обфускации авторства. Я даже специально не смогу так писать, как вы, у меня меня попросту не получится. :)


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

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

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

Наконец, нет в написании статей чудес. Как и в любом ремесле, чтобы хорошо писать, надо много писать, много читать и много говорить, надо страдать графоманией. Это закладывает готовые правильные универсальные шаблоны, через которые потом можно выразить любую формальную мысль. Кстати, бюрократический язык возникает не сам по себе, а как неизбежная вещь при попытках сформулировать мысль точно и полно. Конечно, хуже всего, когда бюрократические обороты употреблены не к месту — в этом случае они ничего не уточняют, а только засоряют ясность изложения. То, над чем приходится биться постоянно — над балансом между точностью текста и литературной лёгкостью его чтения: слишком формальный текст невозможно читать, а слишком красивый и легко читаемый текст оказывается неформальным вплоть до того, что содержит фактические ошибки.



Логика в тексте не берётся с потолка — нужны чистые ясные с хорошо поставленным математическим мышлением мозги. Кстати, гумманитарии писали в некоторых текстах, что приток физиков в гумманитарные дисциплины очень помог структурировать готовую информацию, выразить её в чётком ясном виде.** Шнайер был криптографом (оттуда логика и математика), много писал (есть практика) и ещё и бизнесмен (опыт общения, практика). Неудивительно, что эти компоненты, все вместе взятые, дают такой результат.

P.S.: Был ещё один пункт, про который забыл сказать, это предложение-кентавр:
{(голова)В этом случае покрывающее сообщение или не сможет попасть в анонимную сеть,} {(туловище)или определить факт отправки зашифрованного покрывающего сообщения} {(ноги)или какого-либо ещё контента от пользователя смогут лишь сами конечные узлы сети (не знающие адрес пользователя), но не злонамеренный сайт или прослушивающая сторона.}
Голова+туловище — хорошо, туловище+ноги — тоже, но всё вместе не вяжется: к первому не подходят ноги, ко второму — голова. Такое впечатление, что начало одного предложения механически соединили с концом другого, а середина по каким-то причинам выпала. Я отделил голову, а туловищие отнёс к хвосту, но это был не единственный вариант пофикса (и, кстати, смыслы у этих пофиксов были бы разными).

**Наверное, каждый из нас помнит случаи в жизни, когда понимать — понимаешь, но чётко выразить не можешь.
— Гость (16/09/2013 19:57)   <#>
Концепт хороший, но я не понял, как конкретно это будут реализовывать.
WebRTC не подойдёт – ему нужен центральный сервер, а другой пир2пир реализации для браузеров нет.

И что будут делать, если использование подобных скриптов на сайте сделают преступлением?
Что-то в роде "использование и разработка програм, наносящих вред государству", мера пресечения – 20 лет тюрьмы?
— unknown (16/09/2013 21:12)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Причём всё сразу во всём мире.

Или как в /comment70603 к смежной теме.
И SSL запретят. И коннекты к сайтам за рубеж. И вообще интернет отключат. И электричество. И мобильники. И за пронос флэшки в кармане будет рассстрел на месте. И вообще сразу всех посадят в концлагерь и расстреляют в газовой камере.
— SATtva (16/09/2013 21:18)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
И что будут делать, если использование подобных скриптов на сайте сделают преступлением?

Накроются простынёй и неспеша поползут на кладбище. Я Вам тут на подобный вопрос ответил.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3