11 марта 2020

Web Кошельки & Безопасность (ThanosWallet Update #3)

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

Еще есть Custodial wallets. И речь идёт о том, что ключами управляет сторонний “доверенный” сервис. О них мы, к счастью, говорить не будем.

Примеры кошельков:

  • Hardware Wallets: Trezor, Ledger;
  • Desktop Wallets: GalleonWallet, Bitcoin Core, Electrum;
  • Mobile Wallets: AirGap, TrustWallet, ZenGo;
  • Web Wallets: ThanosWallet, TezBox, MagnumWallet, MetaMask, MyEtherWallet.

Hot или Cold Wallet?

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

Cold Wallets

Холодные кошельки— те кошельки, устройства которых НЕ подключено к интернету. Это делает их более устойчивыми к взлому. К ним относятся:

  • Hardware Wallets — отдельное физическое электронное устройства;
  • CLI Wallets — console program;
  • Paper Wallets — лист бумаги, на котором физически распечатаны открытый и закрытый ключи адреса криптовалюты. Эти ключи часто отображаются в виде QR-кодов вместе с соответствующими буквенно-цифровыми строками.

Hardware Wallet считается самым безопасным т.к. ваши ключи никогда не выйдут за пределы физического устойства. И подтверждение всех транзакций приходят прямо на устройстве ?.

Hot Wallets

В свою очередь Горячие кошельки имеют связь с интернетом. К ним относятся все остальные: Desktop, Mobile and Web wallets.

Desktop & Mobile Wallets похожи между собой. Это программное обеспечение, которое вы устанавливаете и используете на основном устройстве. Такая программа шифрует ключи паролем, и складывает в storage непосредственно на устройство. А в момент подписи транзакции: достаёт зашифрованную версию из хранилища, расшифровывает приватный ключ, подписывает транзакцию, отправляет, а потом “забывает” ключ (выгрузка из RAM).

Web Wallets

С Web кошельками всё не так однозначно. Есть кошельки в виде web-site or web-app(hosted under domain), далее — Web Wallet. А есть в виде Browser Extension(дополнение к браузеру). И это большая разница. Их механизмы под капотом отличаются.

Для начала разберём какие есть явные уязвимости у всех горячих кошельков:

  • Storage. Данные, лежащие там — зашифрованы. Но это уже одна часть от “успеха”. Обычно, заполучить хранилище могут другие программы с повышенным уровнем доступа, установленные  то же устройство что и кошелек — вирусы.
  • Memory. Как минимум, в нём время от времени появляются все ключи. Так же, большинство кошельков хранит там ваш пароль или хэш пароля, чтоб не спрашивать его каждый раз перед любым действием. Обычно, доступ к памяти получают так же — вирусы.

Как видно, можно жить спокойно, если соблюдать правила “цифровой гигиены”. Но не всё так с Web Wallets.

Вы можете использовать Web Wallets для доступа к блокчейну через интерфейс браузера без необходимости загрузки или установки стороннего ПО. И у них, есть ряд downside’ов:

  • Storage в Web Wallets — это browser localStorage. И он НЕ безопасный, так как находится в той же области видимости, что и любой JavaScript на web-страничке. Подробнее тут: https://dev.to/rdegges/please-stop-using-local-storage-1i04.
  • Иногда ключи могут копироваться прямо в интерфейс. И это еще более сильная уязвисмоть. Многие Browser Extensions управляют вашей web-page, и могут случайно(или не случайно), забрать себе ключи.
  • Fishing Attacks. Это мошеннические атаки, используемые для кражи личной информации, такой как имена пользователей и пароли. Это выглядит примерно так:

Джин работает на своем ноутбуке с несколькими вкладками, открытыми в его браузере. Он открывает свой кошелек MetaMask для совершения транзакции. Атакующий использует открытые вкладки, чтобы увидеть, что Джин использует MetaMask. Атакующий отправляет Джину всплывающее сообщение о том, что его транзакция не удалась. Это иногда случается, чтобы Джин не волновался. Он вводит свой пароль для повторной транзакции. Атакующий теперь имеет доступ к кошельку Джина.

  • Browser access. Ваш браузер не будет иметь доступа к вашим личным ключам, но он может собирать информацию о том, когда и как вы используете приложение.

Why ThanosWallet more secure?

ThanosWallet — это Web(Browser) Extension. И он имеет другие механизмы под капотом, нежили online wallet’ы.

  • Web Extension API has separated thread named Background Script. Это означает, что он изолирован от всех. Это отдельный процесс на вашем компьютере запущенный от имени браузера.
  • Web Extensions имеет свой Storage, который невидим ни для кого, кроме самого Extension приложения.
  • Интерфейс ThanosWallet так же изолирован от всех.

Еще одним плюсом нашего кошелька является наличие нового стандарта для взаимодействия с Decentralized Applications — tzip10. Он более защищенный от fishing атак. Больше об этом можно почитать тут: https://www.walletbeacon.io/

Таким образом, мы считаем что Thanos Wallet можно с натяжкой прировнять к Desktop и Mobile wallets.

Conclusion

  • Hardware Wallets — самый безопасный способ.
  • Web Wallets(online) — имеют более тяжелые уязвимости, чем другие hot wallets.
  • Thanos Wallet — достаточно защищен.

Что нового ThanosWallet? (Development Update):

  • ? Security improvement: новая стратегия шифрования и хранения. Вы вероятнее прочли об этом выше;
  • ?? Новый интерфейс popup page(находится на панели инструментов браузера);
  • ? Multi-accounting с разными типами аккаунтов: HD Account(генерируемые из одной сид фразы) и Imported Account ;
  • ? Basic explore(home) page layout with account stats and control actions;
  • ? Receive page с QR кодом;
  • ?️ Settings page with wallet Seed Phrase revealing;

ThanosWallet находиться в стадии разработки. Мы готовим релиз alpha версии на конец марта.

OpenSource на Github: https://github.com/madfish-solutions/thanos-wallet
Не забывайте ставить звездочки!

If you want to read this article on English — Subscribe to our Medium!

Подписывайтесь на наш Facebook and Twitter!

Обсудить в Discord!

Madfish.Solutions
  • Зарегистрирован: 22 мая 2012 г.
  • Локация:London/United Kingdom
  • Сайт:penroseisparty.com