Уязвимость в биткоин-кошельках

Опубликовано: 15.12.2019

Большую часть прошедшего года я работал в ConsenSys над энергетическими проектами, кульминацией которых стала спица, направленная на то, чтобы стать первой в мире электрической системой на основе блокчейна под названием Grid + . Одна из наших задач - создание новой системной архитектуры , которая позволит наивным пользователям безопасно хранить и использовать криптовалюты. Благодаря моей работе у меня также была возможность взаимодействовать с рядом отдельных лиц и крупных организаций, которые входят в криптовалюту и которые неизбежно приходят к одному и тому же вопросу: как хранить свою криптовалюту? Какой самый безопасный и удобный метод для обработки криптографии? Лучшим ответом, который существует в настоящее время , является аппаратный кошелек. Самыми популярными кошельками на рынке в настоящее время являются Trezorи Леджер Nano S . Существуют и другие кошельки, такие как KeepKey , но они по сути являются вариантами Trezor. Я выполнил демонтаж кошельков Ledger Nano S и Trezor и хотел бы поделиться этими разборками, а также подробностями о безопасности на высоком уровне. Это включает в себя мое мнение об очерчивании областей, где я вижу большие поверхности атаки, но я не обязательно знаю или намереваюсь иметь конкретный эксплойт. Кроме того, я не смотрел на устройства без экранов устройств из-за резко возросшей уязвимости к атакам MIM. Более детально узнать про уязвимость в биткоин-кошельках вы можете на сайте findbtc.org.

Аппаратные средства

Трезор

Trezor - относительно простое устройство с питанием от разъема micro-usb. Он имеет очень простой литой пластиковый корпус с двумя пластиковыми кнопками и ЖК-экраном. Интересно, что пластиковый корпус соединяется с тем, что выглядит как цианоакрилат или супер клей.

Trezor использует стандартный STM32F205 в качестве единственного микроконтроллера, который создает большую аппаратную поверхность атаки. Это очень распространенный стандартный 32-битный процессор ARM Cortex M3. Это не считается одним из безопасных MCU ST и не является каким-либо видом безопасного анклава. Этот MCU общего назначения предназначен для генерации и хранения закрытых ключей. По этим причинам у Trezor нет общих критериев сертификации безопасности.

Леджер Нано С

Ledger Nano S также работает от микро-USB, имеет две кнопки пользовательского ввода и встроенный экран. Самая большая разница между Trezor и Ledger состоит в том, что Ledger имеет два микроконтроллера вместо одного. Первый микроконтроллер - STM32F042K, а второй микроконтроллер - ST31H320 . STM32F042K очень похож на STM32F205, используемый в Trezor, с заметным исключением, что он имеет внутренние, а не внешние часы. Что еще интереснее, Ledger имеет надлежащий банковский класс ST31H320, в котором хранятся личные ключи кошелька. ST31H320 уже используется во многих других приложениях, включая банковское дело, идентификацию и платное телевидение. Кроме того, он соответствует общим критериям EAL6 + стандарты безопасности. Комбинированная архитектура ST31 / STM32 имеет более низкую, но похвальную сертификацию EAL5 +. Помимо надежного хранения закрытых ключей, защищенный анклав может хранить ключ устройства, что обеспечивает высокую степень уверенности в том, что устройство бухгалтерской книги не является контрафактным и не было скомпрометировано в цепочке поставок.

Похожие статьи