Pages:
Author

Topic: Уязвимости аппаратных кошельков. - page 2. (Read 535 times)

legendary
Activity: 2058
Merit: 1256
⭐⭐⭐⭐⭐⭐
^
Залезть "во внутрянку" можно любого кошелька, (если знаешь как), каким бы навороченным он не был.

Если бы такой возможности не существовало, то кошелёк бы попросту не работал.


Почему сразу "не работал"? Утверждать ничего не могу, но чисто технически вполне можно реализовать так, что все операции начиная с разворачивания пар ключей из фразы, заканчивая подписанием транзакции, выполняется в изолированной среде "одним чипом". Что-то типа принципа "air-gap". А с компьютером взаимодействует только на уровне подготовки транзакции (на подпись). Я думал за это аппаратники как раз и ценятся. Это раньше они не имели своего экрана и клавиши, фразу надо было с клавиатуры/монитора вводить, хоть и один раз всего. Хотя я ничему не удивлюсь, особенно если почитать что выше говорят... Куда мир катится?  Undecided
hero member
Activity: 714
Merit: 1298
Cashback 15%
^
Залезть "во внутрянку" можно любого кошелька, (если знаешь как), каким бы навороченным он не был.

Если бы такой возможности не существовало, то кошелёк бы попросту не работал.

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

Кто интересуется может посмотреть как такие меры  реализованы у Леджер (стр 25)


Вообще по моему глубоку убеждению самая большая уязвимость любого аппаратника кроется в его обладателе.
legendary
Activity: 3220
Merit: 3545
Top Crypto Casino
Максимально спорное решение со стороны ledger, но стоит отметить, что это нововведение будет недоступно для большинства пользователей, ведь сначала подписка на этот сервис будет только для тех, у которых есть паспорт ЕС, Великобритании, Канады или США. Понятно, что сейчас есть еще опасения по поводу потенциальной уязвимости в коде и, как мне кажется, ledger следовало бы учитывать мнение комьюнити по этому поводу и выпустить две прошивки (с Ledger Recover и без), тем самым дав пользователям возможность выбора.


И это схавает комьюнити  Grin И дело здесь даже не в прошивке, а в том что изначально было зашито во внутрянке. Какое здесь вообще может быть мнение? Уже после слов Ledger Recover можно смело посылать на три буквы)

legendary
Activity: 2842
Merit: 2013
По заявлением Леджер, эта фича опциональна, но проверить это никак нельзя из-за закрытости кода прошивок. И даже если она опциональна, то хакер может воспользоваться данной возможностью для извлечения сид фразы дистанционно. Такого никогда нельзя было представить, что производители аппаратника сами добавят возможность контактирования устройства с внешним миром, но Леджер постарались.

Максимально спорное решение со стороны ledger, но стоит отметить, что это нововведение будет недоступно для большинства пользователей, ведь сначала подписка на этот сервис будет только для тех, у которых есть паспорт ЕС, Великобритании, Канады или США. Понятно, что сейчас есть еще опасения по поводу потенциальной уязвимости в коде и, как мне кажется, ledger следовало бы учитывать мнение комьюнити по этому поводу и выпустить две прошивки (с Ledger Recover и без), тем самым дав пользователям возможность выбора.
legendary
Activity: 2310
Merit: 4313
🔐BitcoinMessage.Tools🔑
Потенциальная уязвимость есть в недавно анонсированной функции восстановления от Ledger https://www.ledger.com/recover Не буду рассуждать здесь насколько это глупо для провайдера аппаратного кошелька, то есть устройства для обеспечения надежного хранения активов без необходимости обращаться к услугам кастодианов, предлагать услугу, которая подразумевает передачу ключей сторонним лицам, но сама эта возможность передачи и обеспечивает новый вектор атаки. Если кратко, то сид фраза из кошелька копируется, затем шифруется и делится на три фрагмента. Каждый фрагмент передается и хранится у кастодиана и соответственно бесполезен сам по себе. Опять же, не будем вдаваться в подробности о том, что случится когда две из трех компаний решат скамануться. Беспокойство представляет фича по шарингу сид фразы.

Quote
Ledger Recover is provided by Coincover. When you subscribe to the service, your Ledger device sends 3 encrypted fragments of a pre-BIP version of your private key to 3 separate and independent companies.

По заявлением Леджер, эта фича опциональна, но проверить это никак нельзя из-за закрытости кода прошивок. И даже если она опциональна, то хакер может воспользоваться данной возможностью для извлечения сид фразы дистанционно. Такого никогда нельзя было представить, что производители аппаратника сами добавят возможность контактирования устройства с внешним миром, но Леджер постарались.
hero member
Activity: 714
Merit: 1298
Cashback 15%
^
Аппаратники относятся к (как я их называю) "нательным" устройствам, что означает владелец должен предпринять все меры для того, чтобы они не попали в чужие руки.

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

Кошельки с такой архитектурой существуют и  думаю, что у нас ещё будет время поговорить о них.

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

Меня  всё время беспокоит такой вопрос. Наскольно случайно то  изначальное число, из которого была создана SEED фраза моего Ledger. Даже незначительный её детерминизм делает кошелёк уязвимым к несанкционированному выводу средств.

Надо сказать, что даже зная это  число ( в моём случае оно 256 битное и из него генерируется фраза из 24 слов) ответить на этот вопрос очень сложно, или даже невозможно. Приведу простейший пример. Одно-битное число 0, выбранное устройством, случайное или нет? Ответ вроде простой. - Если оно выбрано случайным образом, то оно случайное. Но как узнать что оно выбрано случайным образом? - Только выбирая его огромное число  раз. Если после  окончания испытания и подсчета верояности окажется, что вероятность его выборки равна 1/2 ( или как говорят его энтропия равна 1 биту) , то оно случайное. Если получим другой результат, то в выборке имеется некоторая детерминированность, степень которой зависит от того, насколько сильно результат отличается от 1/2).

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

На практике устройства генерирующие "случайные числа" проходят различные тесты (например тест на следующий бит) и получают соответствующие сертификаты от уполномоченых назовём их так лабораторий, которые испытывают их согласно разработaнным и зарекомендовавашим себя методикам.

Далее я приведу голые факты , касающие только генераторов случайных чисел в кошельках Ledger и Passport. Я намеренно не публикую здесь свои умозаключения относительно этих генераторов, Пусть каждый сделает их сам для себя. Только найденные мною голые факты, причём взятые  из официальных источников, а не из "жёлтой прессы".

Леджер использует RNG (Random Number Generator), который сертифицирован по  методике AIS-31.


Этот RNG относится к классу  ТRNG( Тrue RNG), что подтверждается ANSSI (Французским Национальным Агенством по Безопасности Информационных систем)


Как видно он соответствует PTG2 уровеню AIS31, что означает что генератор имеет дополнительный стохастический источник энтропии  и его стохастичность была протестирована по методике, разработанной Федеральным Офисом по Информационной Безопасности Германии (BSI).

Какой основной источник и какой дополнительный источник мне найти не удалось. Вот что говорит сам Леджер по этому поводу


И тут же следует следующее


после чего, по крайней мере у меня возникают вопросы.

Кстати Foundation не скрывает источник энтропии, который использует ТRNG в Пасспорт кошельке



И напоследок.

Если у вас есть сомнения относительно случайности случайного числа, из которого  содаётся СИД вашего аппаратника используйте мультиsig адреса, требующие для своего управления коопреативное использование приватных ключей, генерируемых кошельками от разных производителей.




legendary
Activity: 2282
Merit: 1696
hero member
Activity: 714
Merit: 1298
Cashback 15%
Поводом для открытия темы послужил очередной найденный баг относящийся к кошельку Леджер.

На этот раз он касается куска кода, ответственного за реализацию части функций мiniscript в приложении, работающего с биткоин транзакциями.

Простыми словами этот кусок кода   преобразовывал условия траты накладываемые сложными скриптами минискрипт  в неправильный адрес  (" fragment, causing the app to produce wrong addresses." ), что неизбежно должно приводить к потере средств.

С минискрипт можно ознакомиться например прочитав эту статью.

Баг пофиксили несколько дней назад  ("2.1.2 version of the app fixed the handling") и рекомендуется обновить приложение биткоин на аппаратном кошельке тем не менее Леджер настоятельно рекомендует всегда проверять адреса, показываемые им на дисплее во процессе подписывания транзакций


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

Лично у меня в ипользовании три модели аппаратников: Ledger nano s, Ledger nano s+  и Foundation Passport  2.  В очереди на приобретение ColdCard mk4. Буду следить за "новинками" в плане их уязвимостей.

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

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

Какие найденные и ненайденные уязвимости хотелось бы обсудить:

1) Конструктивные уязвимости  аппаратных кошельков, включая их архитектуру.

2) Уязвимости элементной базы аппаратных кошельков.

3) Уязвимости связанные с  програмным обеспечением аппаратных кошельков, включая их OS  (если таковая имеется), прошивки (драйвера),  встраиваемые приложения.

Что ещё?



Pages:
Jump to: