Как проверить кошелек Trezor T на отсутствие вредоносного кода

Сначала развею распространенный миф о том, что приложение Trezor Suite каким-то образом проверяет оригинальность устройства. К сожалению это не так. В прошивке Trezor находятся две сущности: загрузчик (bootloader) и прошивка (firmware). Загрузчик устанавливается на заводе (для этого нужен программатор), а вот прошивку пользователь ставит сам. В процессе загрузки bootloader проверяет подпись прошивки, и если она не принадлежит SatoshiLabs, то выведет предупреждение на экран о том, что прошивка не является оригинальной. И наоборот, официальная прошивка не запустится на неоригинальном загрузчике, а выведет ошибку “unknown bootloader detected”.

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

Эти подделки отличного качества - голограммы, упаковка, всё как с завода, на корпусе отсутствуют следы вскрытия. Такие кошельки обычно продаются по нереально низким ценам для Trezor T, цена оригинала на официальном сайте производителя - 219$. Логично, что перепродавать его за 100$ не имеет никакого экономического смысла.

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

  1. На известных мне подделках установлен загрузчик версии 2.0.5 и прошивка 2.5.3. Как войти в режим загрузчика? Просто двигаете пальцем по экрану и подключаете кошелек к USB-порту.

Если вы видите такую картину, то это очень плохой знак:

Согласно официальной документации, загрузчика версии 2.0.5 не существовало https://trezor.io/learn/a/bootloader-changelog

  1. Необходимо проверить данные о прошивке через официальную утилиту trezorctl. Инструкции по установке:

https://trezor.io/learn/a/trezorctl-on-macos

На Linux:

Подключаем устройство и вводим команду:

trezorctl get-features

То же самое проделываем в режиме загрузчика.

Так выглядит у настоящего девайса со свежеустановленной последней прошивкой:

А вот так выглядит у скама:

Обратите внимание, на fw_vendor, но при этом на самом устройстве никаких предупреждений естественно нет.

  1. Логично предположить, что мошенники могут использовать и другие номера версий, и даже подделать вывод get-features под оригинал. Известно, что левая прошивка не позволяет обновиться на оригинальную. Поэтому устанавливаем последнюю прошивку и проверяем, изменилась ли версия прошивки/загрузчика. На наше счастье, совсем недавно Trezor обзавелся новой прошивкой 2.6.0 и загрузчиком 2.1.0. Так же изменился внешний вид режима загрузчика, теперь вся информация представлена на синем фоне. Если прошивка удачно завершилась, а версии не обновились - перед вами мошеннический девайс.

  2. Известно, что левые устройства выдают ограниченный список сид-фраз, а функция парольной фразы (она же passphrase или кодовая) работает неправильно - учитывается только первый символ.

Подробно о пассфразах и скрытых кошельках: https://trezor.io/learn/a/passphrases-and-hidden-wallets

  • Можно сгенерировать сид раз 20-30-40 и каждый записать, если сид повторился - это скам. Это, конечно, весьма тяжело.

  • Второй вариант - сгенерировать сид, добавить длинную парольную фразу (скрытый кошелек), получить адрес биткоин и проверить результат с помощью утилиты Иэна Коумана https://iancoleman.io/bip39. В утилите вы должны с помощью сида (BIP39 Mnemonic) и парольной фразы (BIP39 Passphrase) получить тот же адрес биткоин на вкладке BIP84.

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

  1. У скам девайсов не работает функция генерации сида из 24 слов. Включается такая функция с помощью trezorctl:

trezorctl device setup -t 256

Если устройство всё равно генерирует 12 - у вас левая прошивка.

Ну и немного пожурю SatoshiLabs. Эти скамные устройства известны уже не первый год. Так какого лешего инструкцию о проверке устройства пишет ноунейм из интернета, а не официальные лица компании?

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

Не доверяй - проверяй!