Monthly Archives: February, 2015

BitMessage и RetroShare: демаскировка одного притворства

В течение последних двух лет в Интернете определёнными лицами настойчиво продвигается протокол обмена сообщениями BitMessage как обеспечивающий стойкую анонимность корреспондентов. Зачем это делается для открытой сети (см. определение внизу), где крайне остро стоит проблема «человека посередине» и к которой относится и BM – вопрос открытый не менее, чем сама сеть. Данная заметка будет касаться лишь того, каким образом делается реклама вышеназванному сервису, а чтобы быть точнее – таблицы сравнения BM и RetroShare в этой статье.

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

1.  Н а з в а н и е  т а б л и ц ы

Название таблицы «Comparison of Messaging Services» (сравнительный анализ средств обмена сообщениями) касательно RetroShare не годится. Сервис обмена сообщениями в RetroShare есть лишь один из многих предоставляемых сервисов, причём – не самый главный, хотя и полезный. Поэтому, сравнивая по данному показателю, для объективности и из уважения к читателю в таблицу следует добавить ещё один столбец: является ли возможность обмена сообщениями единственным сервисом, предоставляемым программой? И указать: BM – да (красная заливка), RS – нет (зелёная заливка).

Только так читатель сможет составить целостное представление о сравниваемых сервисах, что сподвигнет его на дальнейшее изучение вопроса. В ином случае навание таблицы будет лукавить, а сам сравнительный анализ BM и RS окажется чем-то вроде проведения аналогий между сайтом о кошках и порталом о формах жизни на Земле.

2.  T r u s t l e s s

Дословный перевод слова „trustless“ даёт нам два смысла:

  1. ненадёжный;
  2. недоверчивый, подозрительный.

Касательно вопроса о методах установления соединений и обмена данными, термин «trustless protocol» – неудачный и, судя по всему, введён автором протокола BM. Расшифровка смысла, вкладываемого в термин, даётся во введении к основополагающей статье о протоколе BitMessage, да и то весьма вскользь и нечётко:

«What is needed is a communications protocol and accompanying software that encrypts messages, masks the sender and receiver of messages from others, and guarantees that the sender of a message cannot be spoofed, without relying on trust and without burdening the user with the details of key management. In this paper, we propose such a protocol». (Выделение моё). «Нам необходим такой протокол и соответствующее ему программное обеспечение, который бы шифровал ссобщения, скрывал бы от других пользователей информацию об источнике сообщений и их получателе, гарантировал бы невозможность подмены источника без необходимости полагаться на доверие <третьм лицам или сервисам>, а также чтобы пользователь не отягощался вопросами управления ключами шифрования. В настоящей статье предлагается такой протокол».

Само слово „trustless“ встречается как данность лишь в аннотации к статье без каких-либо последующих пояснений. Дословный перевод даёт нам „ненадёжный протокол“ или, что более адекватно отражает смысл термина, „протокол, не требующий установления доверия“, „протокол, не полагающийся на сервисы аутентификации“. Если понимать термин именно таким образом, то фраза „cannot be spoofed“ – невозможность подмены – вызывает обоснованные сомнения. Таким образом, сервис, не полагающийся на услуги третьего лица, которому доверяют оба корресподента, противопоставляется сервисам, которые для исключения злонамеренной подмены одного из корреспондентов, используют таковых. Как сказанное коррелируется с криптоплатформой RetroShare, где, в отличие от BitMessage, пользователь сам решает, с кем соединяться, а кого игнорировать, не восем понятно.

Отюда можно сделать вывод, что как минимум не совсем корректно помечать „trustless“-сеть BM зелёным цветом, „trusted“-сеть RS – красным. Было бы логично указанные признаки протоколов называть особенностями и не закрашивать вообще. Кроме того, сам термин был бы технически более чёток, если бы использовалось что-то вроде „trust based“ (для RS) и „trust irrelevant“ (для BM), хотя последнее, как было сказано выше, в контексте разговора о безопасности спорно.

3.  O p e n  S o u r c e  (открытый код)

Белое поле в ячейке о RetroShare – косвенный признак, что авторы статьи подошли к заданию весьма несерьёзно и поверхностно. Исходные коды анонимной криптоплатформы RetroShare доступны всем и каждому. Об этом можно было бы узнать хотя бы из Википедии.

4.  R e q u i r e s  P r o o f  o f  W o r k  (требуется PoW)

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

Цвета в столбце „Requires Proof of Work“, безусловно, следует инвертировать для всех приложений.

5.  H i d e  S e n d e r  (отправитель скрыт), H i d e  R e c e i v e r  (получатель скрыт)

Первое. До проведения всестороннего независимого аудита того или иного протокола говорить однозначно, обеспечивается ли анонимность пользователя или она только декларируется, – нельзя. В данный момент, как для BM, так и для RS, аудиты не проведены и это следует отмечать особо. Пользователь должен знать об этом факте и, руководствуюсь дополнительными сведениями, а также собственными познаниями, принимать решение, доверять ли личные данные конкретной службе обмена сообщениями.

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

Сеть BM открытая, доступ к ней имеет любое заинтересованное лицо. При наличии контроля над каналом передачи данных злоумышленнику не составит труда реализовать атаку „человек посередине“ со всеми вытекающими последствиями.

Третье. Криптоплатформа RetroShare не использует TCP-пакеты для непосредственной передачи информации. TCP-протокол в RetroShare лишь фундамент, на котором зиждется собственный протокол маршрутизации шифрованных данных.

Анонимность в RetroShare обеспечивается физическими принципами организации сети: IP-адреса не участвуют в прямом обмене информацией, данные передаются от узла к узлу по принципу сети Tor. Атаки на сеть крайне ограничены, так как злоумышленник не имеет возможности подключиться к ней без доброй воли того или иного участника сети. Кроме того, негативные последствия возможных атак ограничиваются малым кругом доверенных пользователей и не затрагивают всю сеть. Как distant-чаты (чаты с удалённым пользователям), так и публичные чаты общего пользования дают пользователю абсолютную анонимность по указанным выше причинам.

Ячейки полей «Hide Sender» и «Hide Receiver» для RetroShare следует установить в зелёный цвет, BitMessage – в промежуточный оранжевый. Приписка «аудит не проведён» должна присутствовать в ячейках обоих сервисов.

6.  M o b i l e  V e r s i o n  (версия для мобильных платформ)

Сложно сказать, какой сервер должен запустить рядовой пользователь, чтобы воспользоваться BM на своей мобильной платформе, но для RS таковой однозначно нет. Первый красный цвет в копилке RetroShare.

7.  A p p l i c a t i o n  o r  W e b  B a s e d  (приложение или веб-сервис)

В ячейке RS следует записать „Application“. Здесь мы впервые наблюдаем разумное понимание ситуации авторами статьи: в ячейке нет заливки. Действительно, в зависисимости от круга решаемых задач, пользователю может понадобиться как веб-сервис, так сервис, реализумый приложением. Правда, с точки зрения безопасности приоритет всё равно следует отдавать обычным программам, запускаемым на пользовательских компьютерах.

8.  A t t a c h m e n t s  o r  F i l e  T r a n s f e r s  (возможность передачи файлов)

К ячейке RS претензий нет. В анонимной сети RetroShare имеется возможность прикреплять не только отдельные файлы к письму или к сообщению в публичном чате, но и целые папки.

Касательно BM наблюдаем очередную махинацию с подменой понятий. BitMessage не имеет возможности штатными средставми прикреплять к сообщению и передавать по сети файлы, будь они хоть 180 МБ, хоть 180 кБ. Речь идёт о том, что протоколом предусмотрена передача текстовых посланий объёмом, не превышающим 180 МБ.

Обновление: объём передаваемых по сети BitMessage сообщений не должен превышать величины 255 кБ.

BM ограничение

При этом отсылка предельного по объёму сообщения требует от 6 до 40 мин. машинного времени в зависимости от настроек клиента и использумого программно-аппаратного обеспечения. Упоминаемое в статье значение „180 МБ“, как минимум, требует пояснений.

Желающий передать файл должен его преобразовать в текстовую форму, передать как текст, а принимающий должен осуществить обратное преобразование. Называть такой подход „возможностью передачи файлов“ нельзя. Кроме того, в данном режиме потребуются значительные вычислительные ресурсы для PoW.

Ячейка BitMessage должна быть залита красным цветом.

9.  A c k n o w l e d g e  d e l i v e r y  (подтверждение доставки)

RetroShare – зелёная заливка. В криптоплатформе подтверждается не только доставка сообщения, но и гарантируется его целостность и аутентичность.

10.  F u l l y  D i s t r i b u t e d  (распределённая система)

Важный параметр децентрализованных сетей, предполагающий как свободную топологию сети, так и возможность распределения данных по нескольким независимым узлам. RetroShare – да. Заливка зелёным цветом.

11.  I n s t a n t  m e s s a g i n g  (мгновенный обмен сообщениями)

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

12.  V o i c e  c a l l s  (голосовые звонки)

RetroShare – да. Заливка зелёным цветом.

13.  V i d e o  c a l l s  (видеозвонки)

RetroShare – да. Заливка зелёным цветом.

14.  O f f l i n e  m e s s a g e s  (отсылка сообщений пользователю, находящемуся не в сети)

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

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

BitMessage - RetroShare 1

BitMessage - RetroShare 2

Столбцы „Hide Sender“ и „Hide Receiver“ объединены в один – „Anonymous“; объединены также столбцы „Voice Calls“ и „Video Calls“.

Заключение

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

Вместо эпилога шутки ради

А что же с другими сервисами и программами, приведёнными в обсуждаемой таблице? Анализировать все ляпы не имеет смысла, но самые курьёзные случаи нельзя не отметить.

Начнём с классики жанра – Internet Relay Chat (IRC). Полностью распределённая (Fully distributed)? Автор(-ы) пишет «Да» и делает заливку зелёным. Хотя и стару, и младу хорошо известно, что последние 25 лет IRC был и остаётся типичной централизованной системой: для получения списка комнат и обмена сообщениями необходимо подключиться к серверу, предоставляющему сервис. Там же: мгновенные сообщения (Instant Messaging)? Обозначено: „нет“ и залито красным цветом… Видимо, мода на придуманную реальность захватила не только часть современных СМИ в Восточной Европе, но и некотрых специалистов в области анонимного обмена сообщениями: каждый придумывает собственное определение уже давно устоявшихся понятий, причём, одно и то же понятие трактуется по-разному в одной и той же статье.

Электронная почта в связке с PGP (Email + GPG; в таблице, почему-то GPG, но пусть, может быть, так даже лучше). Trustless? – Да, пишет автор! И отмечает зелёной заливкой. Предварительный обмен публичными ключами по безопасному каналу с предполагаемым корреспондентом, по всей видимости, с какого-то момента стал принципом „trustless“. Пусть так. Благо, смысл термина „trustless“ в специальной литературе обозначен слабо и его каждый может трактовать как ему удобно. Но тогда не понятно, почему предварительный обмен сертификами в сети RS не подпадает под определение „trustless“. (Правда, зачем это надо?)

Не менее интересны позиции «анонимность» (Hide sender, Hide receiver) для приложения TorChat. Там они отмечены как „Да“ с соответствующей заливкой зелёным цветом. А для RetroShare, в которой для передачи текстовых сообщений (как и файлов) используются случайные цепочки из множества узлов, т.е. так же, как и в TorChat, – уже помечена словом „нет“…

Совсем не понятно, как в таблице оказался сервис SMS. По каким критерям и из каких источников приводилась информация о f2f сети FreeNet и т.п. Эпоха дезинформации, одним словом. Будьте внимательны и осторожны, переходя дорогу на зелёный свет.

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

Advertisements