Последние несколько лет выдались весьма удачными для криптосферы. Курс постепенно рос (вплоть до января этого года), те, кто покупали некоторые виды криптовалют, богатели не по дням, а по часам. И понятно, что это богатство нужно где-то хранить, чтобы никто не украл. Но где? В банк «цифру» не понесешь, поэтому вариантов всего два — либо на «горячем» кошельке, собственном или биржи, либо на аппаратном «холодном».

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

Защиту кошелька взломал 15-летний подросток, который смог обойти защиту и продемонстрировать взломанный кошелек. Подростка зовут Салим Рашид, а всю информацию изначально он публиковал в своем блоге. Он смог показать proof-of-concept атаку на примере модели Ledger Nano S, стоимость которой составляет около $100.

Программный код очень небольшой, всего 300 байт. Но зато он позволяет злоумышленнику генерировать для «железа» адрес кошелька с паролями доступа, известными взломщику. Злоумышленник даже может перенести затем все эти данные в новый железный кошелек для восстановления приватных ключей, которые хранит старый кошелек для указанного адреса.

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

Возможности, которые открывает взлом перед разного рода нехорошими личностями, сложно недооценить. К примеру, размер платежа, отправляемого со скомпрометированного кошелька, может быть изменен. Причем адрес, на который отправляется платеж, тоже можно подменить любым другим. И это еще не все. Как оказалось, код, созданный хакером (здесь этот термин используется в позитивном значении, поскольку ничего плохого подросток явно не делал) работает и на старшей модели железного кошелька Ledger Blue, стоимость его достигает $200. Его компания позиционирует, как самую надежную защиту из всех возможных. Похоже, что позиционирование ошибочное.

Стоит отметить, что Рашид обнаружил проблему еще в ноябре, отправив информацию об этом в компанию. После выпуска апдейта для прошивки кошелька представители Ledger заявили, что уязвимость не была критичной, но все равно исправлена. Что касается заявления о «некритичности», то компания имела в виду, что сторонние кошельки, подключенные к «железу», выявляются программным обеспечением Ledger, так что это хоть и проблема, но не смертельная.

Для Ledger Blue, как говорит руководитель подразделения информационной безопасности Ledger Шарль Гиём, вероятность взлома так и вовсе ничтожно мала. Продажи таких устройств — прямые, б/у гаджетов нет, поэтому и бороться с теоретической уязвимостью нет особых причин.



Но актуальна ли угроза на самом деле?


Подросток, который обнаружил уязвимость, собирается проверить, действительно ли компания сделала все, что в ее силах, чтобы сделать Nano S безопасными. Даже если это и так, считает Рашид, то в будущем нет гарантии, что кто-то не применит модифицированный код, который разработан им самим. Не в том смысле, что код находится в открытом доступе, вовсе нет. Имеется в виду, что создать нечто подобное сможет и другой человек — раз додумался один, то это вполне может сделать и другой.

Интересный момент — микроконтроллер, который отвечает за безопасность гаджета в Blue и Nano S, ST31H320, неспособен работать с подключенными дисплеями, USB-подключениями или другими скоростными каналами приема/передачи данных. Для того, чтобы добавить возможность подключения системы к ПК, был выбран еще один чип, микроконтроллер STM32F042K6. Он работает здесь в качестве прокси.

Микроконтроллер безопасности, который компания Ledger называет Secure Element, взаимодействует со вторым чипом, который компания обозначила, как MCU. Вот он и выполняет все необходимые задачи по взаимодействию с периферией, включая USB, OLED-дисплей, а также обрабатывает нажатия кнопок. Эксплоит, разработанный Рашидом, позволял заменить оригинальную прошивку устройства модифицированной прошивкой. При этом MCU отправлял чипу безопасности информацию о том, что гаджет все еще работает с оригинальным ПО.

Один из независимых исследователей по имени Мэтт Грин из Университета Джона Хопкинса изучил все данные, предоставленные Рашидом. И он также сомневается в том, что обновление прошивки, выпущенное Ledger, полностью решит проблему с уязвимостью.

«Ledger пытается решить сложную задачу, которую можно назвать фундаментальной. То, что им необходимо сделать — проверить прошивку, ее взаимодействие с процессором. При этом чип безопасности не может „читать“ код, обрабатываемый процессором. Именно поэтому был избран обходной путь, который все же позволил обоим чипам работать вместе. При этом проверить, правдива ли информация, передаваемая одни чипом другому, нельзя», — рассказывает Грин.

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

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

Комментарии (21)


  1. Mad__Max
    22.03.2018 02:27

    Ну да «взломал». Примерно такой же «взлом» как в прошлом году для другого аппаратного кошелька (Trezor).

    «Взлом» заключается в том, что устройство нужно похитить (физически) и залить на него левую (взломанную) прошивку, а потом незаметно для владельца вернуть назад.

    И как обычно при использовании кошелька с паролем (НЕ пин-кодом) не сработает.


    1. helg1978
      22.03.2018 02:56

      речь о том, что можно «модифицировать» и продать как б/у-шный


      1. Mad__Max
        22.03.2018 04:02

        Да, видел упоминание такого способа, но покупать у кого-то с рук б/у кошелек предназначенный для защиты от кражи очень больших денег (а если деньги не столь большие — то и отдельный аппаратный кошелек в общем-то не нужен, хватит обычного программного с нормальным паролем) и вся суть которого в защите от доступа посторонних к его содержимому ради экономии в несколько десятков баксов (разница новый-б/у) это за гранью разумного поведения.

        Разве что с целью «расковырять» (посмотреть устройство, попытаться самому «взломать» и для прочих издевательств в процессе которых не гарантируется сохранение работоспособности), но никак не для хранения собственных средств на нем.

        Производители наоборот прилагают все возможные усилия для минимизации верятности физ. доступа (или того чтобы факт такого доступа был сразу заметен). Т.к. это как раз практически единственный более-менее реальный вектор атаки. Пересылают покупателям устройство в упаковке плотно запаянной в пластик и с «разрушающимися» голографическими наклейками (контроль теоретически возможного доступа на почте на этапе доставки от производителя до покупателя) и прямо на упаковке размещают памятку в стиле «если у вас подозрение, что упаковку до вас кто-то вскрывал, НЕ используйте это устройство и свяжитесь со службой поддержки». А корпус самого устройства специально выполняется неразборным (вскрыть можно конечно, но «методом грубой силы», что не быстро и будет потом заметно).

        Но если клиент ССЗБ и вместо этого покупает неизвестно что неизвестно у кого и в такое изначально сомнительное устройство помещает ключи к ценным активам… Тут уж ничего не поможет — давно известно самое слабое место в любой системе безопасности — это сам пользователь этой системы. А самые успешные и эффективные «хакеры» это психологи использующие методы «социальной инженерии».


        1. betrachtung
          22.03.2018 07:02
          +2

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


          1. Mad__Max
            23.03.2018 01:18

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

            Неужели в Ledger в настолько самоуверенные идиоты работают что написали именно в такой формулировке о доступе к устройству именно ДО инициализации пользователем?
            Потом-то (после инициализации) данные из подобных кошельков практически невозможно вытащить — устройство можно «взломать», но это в процессе уничтожит полезную хранившуюся в нем информацию и злоумышленникам ничего не достанется. Так что похищение/утеря устройства особых рисков не несет (только расходы на покупку нового, восстановление доступа к старым ключам и потом на всякий случай перенос на новые).

            Но вот если устройство физически пробыло достаточное время в чужих руках ДО начала использования. То с ним в общем-то можно сделать что угодно. Какие бы крутые меры защиты не были — всегда найдется способ. Даже если будет «абсолютно невзламываемый» (что тоже невозможно в общем-то) чип и ПО, то при достаточном интересе и подготовке воришек всегда можно тупо подменить само устройство/заменить в нем аппаратную начинку (оставив только корпус если он имеет какие-то уникальные характеристики/признаки) и подсунуть пользователю по сути «аппаратный троян» вместо заказанного им кошелька. Который до нужного момента внешне будет имитировать ожидаемое пользователем поведение.


      1. Tachyon
        22.03.2018 09:31

        речь о том, что можно «модифицировать» и продать как б/у-шный

        Вы часто покупаете(продаёте) б/у замок для дверей в своей квартире (доме)?
        Вот точно так же надо относиться к б/у аппаратному кошельку


        1. Stchee
          22.03.2018 14:58

          Не часто. Замок от двери не часто.
          Но частотпокупатель бу автомобиля не меняет на нём сигнализацию.
          Такая аналогия наверное уместнее.


          1. Mad__Max
            23.03.2018 01:48

            В покупаемом автомобиле главная (и по сути единственная) ценность — это сам автомобиль и есть.

            А здесь речь о покупке ключа/замка обеспечивающего доступ к имуществу многократно более ценному чем его собственная стоимость.

            Так что именно или б/у замок и ключи на дверь квартиры/офиса. Ну или если автомобильной — покупка с рук б/у сигнализации (не авто) и установке его на собственный авто.

            сигнализация — замок с ключами — аппаратный кошелек = средства обеспечения сохранности/безопасности какого-то ценного имущества

            автомобиль — квартира — криптовалюта = само ценное имущество, которое нужно защитить


      1. besitzeruf
        22.03.2018 12:46

        ну так можно выложить инструкции по перепрошивки на не модифицированную версию прошивки.


  1. pronvit
    22.03.2018 04:03

    К чему такие сложности, ечли можно под видом БУ кошельков вообще что угодно с любой функциональностью продавать?


    1. OlegYch_real
      22.03.2018 04:21

      почему только бу, можно и на заводе или почте бэкдор поставить


    1. helg1978
      22.03.2018 04:43

      ну, функциональность устройства ведь сохраняется в случае подмены чипа.
      Просто устройство экзотическое, а вот представьте что речь идет о контроллере SSD диска. Кто-то купил б.у. SSD диск, вставил в макбук… Или вообще, купил б.у макбук. А перепрошитый контроллер подменяет ключи шифрования, цифровые подписи и куки. Ну или в home/user/.ssh свой ключ держит, а пользователю не показывает.


  1. LSDtrip
    22.03.2018 09:14

    Либо заливать прошивку на стадии производства чипа так, чтоб её нельзя было обновить уже никем и никогда, либо давать пользователям сравнивать прошивку с оригиналами и самим заливать. Ну ещё можно добавить цифровые подписи, но это не так надёжно (тоже можно поломать). Только прозрачность системы может гарантировать безопасность в достаточной мере.
    В прочем всё равно можно аппаратно подменить всю начинку на свою, которая эмулирует заводскую. Размеры вроде позволяют даже жирную FPGA туда впихнуть. Сложность баснословная, но если речь идёт о многих миллионах долларов…


    1. Mad__Max
      23.03.2018 01:41

      Совсем отказаться от обновлений плохая идея, софт не идеален, ошибки (в т.ч. иногда критические) бывают везде. К тому же сама сфера криптовалют быстро меняется — появляются новые валюты, меняются стандарты в старых (как например появление SeqWit адресов и транзакций в Bitcoin).
      И что делать если исправить невозможно? Менять и само устройство(время+деньги) и адреса всех кошельков каждый раз на новые?

      А насчет остального так и делают насколько знаю все основные кошельки — официальные прошивки подписываются цифровой подписью производителя и неподписанную прошивку так просто не зальешь.
      А при прошивке перед началом процесса помимо простого запроса подтверждения операции (дейсвительно хотите перешить?) пользователю показывают(на экранчике самого устройства) «цифровой отпечаток» (fingerprint) прошивки. Чтобы он мог проверить действительно ли он залил то, что хотел.

      А заливка неподписанной прошивки или прошивка в «аварийном» режиме приводит к уничтожению всех хранимых на устройстве данных.

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


  1. Afterk
    22.03.2018 09:28

    В прошлом году паренёк помог редактору Wired вытащить BTC с аппаратного кошелька Trezor c забытым пином: https://www.wired.com/story/i-forgot-my-pin-an-epic-tale-of-losing-dollar30000-in-bitcoin/


    1. Mad__Max
      23.03.2018 02:05

      На русском если кому длинно-текст на английском читать сложновато/лениво:

      bitnovosti.com/2017/11/27/poteryat-30-000-v-bitkojnah-epicheskij-rasskaz-o-tom-kak-ya-zabyl-svoj-pin-1

      bitnovosti.com/2017/12/04/poteryat-30-000-v-bitkojnah-epicheskij-rasskaz-o-tom-kak-ya-zabyl-svoj-pin

      P.S.
      «Взлом» в том случае так же представлял собой физический доступ к устройству (в данном случае с согласия владельца-раздолбая) и даже его небольшую аппаратную модификацию.
      Ну и потом и такую возможность «взлома» быстро закрыли в новой прошивке.


  1. Busla
    22.03.2018 10:22
    +1

    вариантов всего два — либо на «горячем» кошельке, собственном или биржи, либо на аппаратном «холодном»

    Вы совершенно зря проводите параллели между аппаратным и холодным кошельком — это несвязанные понятия.


  1. Victorius
    22.03.2018 13:42

    Странно, в новости не сказано, что эта уязвимость актуальна была для прошивок ниже 1.4.1.
    Недавно было обновление уязвимость устранена. Обновляйте леджеры до 1.4.1 и всё будет в порядке.


  1. ABy
    22.03.2018 21:43

    В чем преимущесто таких аппаратных кошельков по сравнению с флешкой или HDD на которой установлен чистый дистрибьютив linux, кошельки криптовалют и keepass с паролями к кошелькам?


    1. Mad__Max
      23.03.2018 01:23

      В том что секретные ключи в принципе никогда не оказываются на компьютере. А следовательно исключена даже теоретическая возможность их перехвата или подмены.


    1. Mad__Max
      23.03.2018 01:59

      Ну еще в удобстве использования:

      — если это не отдельный компьютер, а именно просто только носитель с чистой ОС и минимальным набором софта, которые не используется не для чего другого (чтобы минимизировать риск что-нибудь «подхватить»), то для проведения каждой транзакции нужно минимум 2 раза перезагружаться (с основной ОС, на «изолированную», а потом обратно).

      — а по сравнению с целым (выделенным) компьютером — он просто и дешевле и места меньше занимает.