id: Гость   вход   регистрация
текущее время 08:42 20/08/2018
создать
просмотр
редакции
ссылки

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


 
Несколько комментариев (7) [показать комментарии/форму]
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3