December 9, 2022

TON: Конфиденциальность и безопасность кошельков

Это очень важная тема, пожалуйста, уделите время этому лонгриду!

English translation is here. (Английский перевод здесь).

Во-первых, давайте рассмотрим некоторые основные принципы, такие как открытый исходный код против закрытого, и независимая оценка квалифицированными экспертами.

До сих пор не было абсолютно никакой независимой оценки квалифицированными экспертами по безопасности и конфиденциальности ни одного из кошельков TON.

Да, сами TON Foundation утверждают, что сделали это, однако, это не является независимой оценкой: TON Foundation и Tonkeeper - это одно и то же.

Таким образом, Tonkeeper до сих пор не имел независимой оценки конфиденциальности и безопасности.

С другой стороны, TON Foundation также проверил API Tonhub - и признал его безопасным. Это оценка, которой мы можем, по крайней мере на первый взгляд, доверять, потому что TON Foundation и Tonhub Whales не совсем друзья.

Если TON Foundation также проверила кошелек Tonhub, то неясно, что именно они проверили и как это связано с прошлыми или текущими версиями кошелька Tonhub.

Кошелек Tonhub имеет открытый исходный код, а Tonkeeper был закрытым в течение целого года, только недавно код был выложен в открытый доступ. Итак, давайте теперь разберемся, что такое открытый и закрытый исходный код и как публикация кода связана с вопросами безопасности и конфиденциальности.

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

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

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

Таким образом, поскольку TonSafe использует открытый исходный код "The Open Network", мы можем быть уверены в самом блокчейне, который TonSafe не имеет никакого вклада или контроля над ним.

А как насчет API, который TonSafe использует для подключения к блокчейну? Поскольку существуют API с открытым исходным кодом, которые можно использовать и которые уже разработаны экспертами по блокчейну TON, мы решили использовать один из них, а не создавать его самостоятельно.

Создание такого API мы бы ввели и взяли на себя дополнительную ответственность, которую мы не были готовы взять на себя, учитывая доступные ресурсы, и мы выбрали Tonhub API именно потому, что он не является частью TON Foundation, но был одобрен им.

Как мы заявляли ранее, собственный API TON Foundation должен был бы пройти независимую проверку, а на тот момент она не была проведена. Исходя из того, что было объяснено ранее, поэтому имеет смысл использовать API Tonhub, который содержит лицензию MIT.

Поэтому TonSafe не несет ответственности ни за блокчейн TON, ни за интерфейс между кошельком и блокчейном, а именно API. И то, и другое можно считать безопасным, учитывая количество квалифицированных специалистов по блокчейну, которые имеют к ним доступ.

Поэтому наша ответственность лежит исключительно на самом приложении кошелька: обеспечить максимальную безопасность, надежность и конфиденциальность для пользователей кошелька TonSafe. Итак, давайте теперь обратимся к кошелькам.

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

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

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

Хотя это может помочь в разработке, особенно пользовательского опыта (UX) и пользовательского интерфейса (UI), в которых команда китов очень слаба, потому что они могут анализировать все, что вы нажимаете и все, что вы делаете в кошельке, но действительно ли вам это нужно?

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

Вы хотите, чтобы каждое взаимодействие с вашим кошельком отслеживалось почти так же или даже более точно, чем если бы кто-то заглядывал вам через плечо? Да, они не смогут узнать ваши 24 секретных слова из отслеживания Mixpanel, но практически все остальное.

Они получают адрес вашего кошелька и то, что вы делали в приложении, когда и где вы нажали, какое окно вы открыли и что вы делали в этом окне. TonSafe абсолютно не делает ничего подобного, и вам нужно проверить, делает ли это Tonkeeper, поскольку мы не смотрели их код, нас больше волнует наш собственный код.

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

До недавнего времени, в течение более чем шести месяцев, Tonkeeper был связан со всеми видами крупных технологических компаний, нарушающих конфиденциальность, включая Google. Это было даже заметно пользователям iPhone, которые могли использовать функцию Privacy, чтобы проверить, куда подключается Tonkeeper. Таким образом, и Tonkeeper, и Tonhub крайне небрежно относятся к конфиденциальности!

Но есть ли минусы у открытого кода? Безусловно. Злоумышленник может изучить код, к которому иначе он не имел бы доступа, и найти уязвимость, которую никто другой не заметил. Даже "лучшие программисты мира" допускают ошибки:

Помните, Certik выявил несколько проблем, которые "лучшие программисты в мире" (из Telegram/TON Foundation) пропустили. И они быстро исправили их. Но что если бы эта проверка не состоялась и что если бы существовала более серьезная не обнаруженная уязвимость?

"Andrew Python", еще один способный программист из команды Tegro, нашел такую уязвимость и сумел опустошить кошелек игорного сайта TON. Если бы он был злоумышленником, он мог бы просто оставить все деньги себе и молчать обо всем этом.

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

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

И давайте не будем забывать, что TON Foundation, который утверждает, что поддерживает только проекты с открытым исходным кодом, а не с закрытым, все это время поддерживал и фактически владел кошельком Tonkeeper с закрытым исходным кодом. Так что давайте не будем поддаваться на этот аргумент.

Итак, что же касается трех основных конкурирующих кошельков в качестве фронтэндов?

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

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

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

А поскольку TON-Telegram сам в значительной степени централизован вокруг сайта ton.org и владеет/продвигает Tonkeeper-ом и другими проектами, такими как fragment, нет необходимости беспокоиться о продвижении кошелька, которому не хватает качества UI/UX.

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

Это, конечно, полностью разрушается, когда личность человека связана с кошельком и это дает китам Tonhub богатую информацию о том, кто именно является их пользователями, на каких IP-адресах они находятся и что именно они делают со своими кошельками в мельчайших подробностях.

Но ничего, это все с открытым исходным кодом, верно? В том числе о вашей личной жизни. И это может быть даже связано с вашей личной безопасностью. И не говоря уже о вопиющем отсутствии функций безопасности и возможности «отправить весь» свой баланс, чего вы не найдете ни в одном банковском приложении, ни в TonSafe.

И неважно, что и Tonkeeper, и Tonhub обманывают своих пользователей и Apple, создавая фальшивую кнопку удаления аккаунта (а в случае с Tonhub даже поощряя пользователей отправить весь оставшийся баланс китам/Whales), в то время как TonSafe не делает ничего подобного, мы четко информируем пользователей, что аккаунт не может быть удален из блокчейна.

В-третьих, TonSafe, задуманный именно по той причине, что не существовало ни одного кошелька TON, который бы понимал вопросы пользовательского интерфейса/UX и безопасности, а также функции, необходимые для профессионального и делового использования, всегда заботился о конфиденциальности в качестве приоритета.

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

И как будто, прочитав это, вы захотите доверять другим кошелькам больше, просто потому что они существуют дольше: TonSafe находится в разработке с апреля 2022 года, после нескольких месяцев исследований необходимых функций безопасности в других кошельках и месяцев тестирования был выпущен в магазины приложений.

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

Для получения дополнительных изображений см. оригинал на английском языке.

Ref: https://developer.mixpanel.com/docs

Ref: https://github.com/tonwhales/wallet