company_banner

Исследователи клонировали ключ безопасности Google Titan, раскрыв уязвимость чипсета


    Уязвимость (CVE-2021-3011) позволяет восстановить первичный ключ шифрования и обойти двухфакторную аутентификацию. Специалисты по безопасности из NinjaLab объяснили работу потенциальной хакерской атаки для токенов Google Titan на базе чипа NXP A700X, но теоретически та же схема взлома актуальна для криптографических токенов Yubico (от компании YubiKey) и Feitian, использующих аналогичный чип.

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

    О Google Titan


    Этот ключ безопасности существует на рынке с 2018 года. Он представляет собой аппаратное устройство MFA, используемое для физической проверки личности пользователя. Ключи обычно используются вместо менее безопасных методов многофакторной аутентификации, таких как коды подтверждения, отправляемые через SMS или на электронную почту.


    Особенность Google Titan состоит в том, что, даже получив электронный пароль, злоумышленники не смогут получить доступ к вашим данным без физического ключа. Это отметили и исследователи NinjaLab: ваш ключ будет в опасности, только в случае кражи или потери.

    Google Titan представлен на рынке в двух видах. Один чем-то похож на флешку — микрочип «обнажен», ключ работает через USB и NFC. Второй вариант похож на ключи от автомобиля в виде брелока и работает через Bluetooth.

    Вычислить по электромагнитному излучению


    С момента появления Google Titan эксперты NinjaLab подозревали, что ключи могут быть уязвимы для атак по сторонним, или побочным, каналам. К ним, в том числе, относятся атаки, базирующиеся на результатах мониторинга электромагнитного излучения, исходящему от устройств во время работы. Его анализ помогает выявлять закономерности в работе и собирать полезную для взлома информацию.

    Наблюдая за электромагнитным излучением во время формирования цифровых подписей (ECDSA), специалисты по безопасности успешно атаковали защищенный элемент ключа — чип NXP A700X — и клонировали его. Тот факт, что набор микросхем, используемый в Google Titan, стал основой и для других ключей безопасности, заставляет опасаться и за другие продукты на рынке.


    Среди подверженных атаке продуктов отмечены:

    • Google Titan Security Key,
    • Yubico Yubikey Neo,
    • Feitian FIDO NFC USB-A / K9,
    • Feitian MultiPass FIDO / K13,
    • Feitian ePass FIDO USB-C / K21,
    • Feitian FIDO NFC USB-C / K40,
    • NXP J3D081_M59_DF,
    • NXP J3A081,
    • NXP J2E081_M64,
    • NXP J3D145_M59,
    • NXP J3D081_M59,
    • NXP J3E145_M64,
    • NXP J3E081_M64_DF.

    Группа реагирования на безопасность NXP подтвердила, что все криптографические библиотеки NXP ECC до версии 2.9 для продуктов P5 и A7x уязвимы для атаки.

    Как производится атака


    Сразу стоит отметить, что ключ взломать можно, но никто не говорит, что сделать это легко. Так, описанный на 60 страницах отчета NinjaLab процесс взлома может стать основой для операции в духе фильмов про Агента 007.

    Все начинается с простой атаки, например, фишингового письма. Цель злоумышленника — получить имя пользователя и пароль целевого аккаунта. Это самая простая часть операции.

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

    На успешной краже токена «Миссия невыполнима» не заканчивается. Далее злоумышленник сталкивается с целым рядом ограничений.

    Для использования ключа безопасности Google Titan сначала нужно открыть корпус устройства. Так как злоумышленнику нужно еще вернуть ключ ничего не подозревающей жертве (желательно в первозданном виде), совершать вскрытие нужно крайне аккуратно.

    Специалисты из NinjaLab размягчали пластик термофеном и разделяли ключ с помощью скальпеля. Делать это нужно аккуратно, чтобы не повредить печатную плату. Как можно понять по картинке ниже, корпус ключа все равно теряет товарный вид, так что велика вероятность, что ситуацию спасет только распечатка нового корпуса на 3D-принтере. На разборку и сборку токена у экспертов NinjaLab ушло около 4 часов.

    Еще 6 часов понадобилось на восстановления ключа для одной учетной записи FIDO U2F. Исследователи показали, что электромагнитное излучение коррелирует с информацией об эфемерном ключе ECDSA, и этого достаточно для выявления секретного ключа с использованием методов машинного обучения. Для восстановления секретного ключа в токене Google Titan достаточно анализа около 6000 операций с цифровыми подписями на основе ключа ECDSA, используемых для двухфакторной аутентификации FIDO U2F при подключении к учетной записи Google.

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

    Казалось бы, все перечисленное уже отпугнет любого хакера, не желающего играть в шпиона. Но это еще не все. Для атаки также требуется достаточно дорогое оборудование, стоимостью около $13 000, навыки по реверс-инжинирингу микросхем и специальное ПО, которое не найти в публичном доступе.


    Среди необходимого оборудования:

    • измерительный комплекс Langer ICR HH 500-6, применяемый для испытаний микросхем на электромагнитную совместимость,
    • усилитель Langer BT 706,
    • микроманипулятор Thorlabs PT3/M с разрешением 10 мкм,
    • четырехканальный осциллограф PicoScope 6404D.

    Что дальше


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

    Ninja Labs добавляет, что адекватные меры безопасности могут помочь ограничить потенциальный ущерб, причиненный клонированным ключом безопасности. Предлагаемые меры включают внедрение системы MFA, которая может обнаруживать клонированный ключ и блокировать затронутую учетную запись. Например, механизм счетчиков, описанный в спецификации FIDO U2F.

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

    И, конечно, стоит помнить, что вся операция начинается с простых атак социальной инженерии. А значит, внимательность на этом этапе уже существенно снизит шансы на успех злоумышленников.

    Selectel
    IT-инфраструктура для бизнеса

    Комментарии 8

      +3
        +3
        Было бы здорово, если бы вы давали сразу технические подробности, а не просто писали общие слова. А то это выглядит не как пост для Хабра, а как кликбейтная новость для какого-то СМИ широкого профиля.

        Ну или хотя бы ссылку на публикацию дали бы. Для интересующихся – вот она ninjalab.io/wp-content/uploads/2021/01/a_side_journey_to_titan.pdf

        tl;dr: исследователи вскрыли корпус чипа и снимали электромагнитное излучение катушкой размером 500 мкм, находящейся в долях миллиметра от «внутренностей» чипа. На полученном следе вполне были видны отдельные математические операции алгоритма (что логично) и на 4000 образцах удалось найти корреляцию с закрытым ключом.

        image
          0
          читаем до п №2
          1. получить имя пользователя и пароль целевого аккаунта
          2. чтобы выкрасть ключ безопасности у владельца
          и останавливаемся — если первые 2 пункта можно выполнить, дальше мучиться не надо, я и без оборудования (типа осциллограф-масциллограф) могу продолжить атаку, а именно:
          1. получить имя пользователя и пароль целевого аккаунта
          2. чтобы выкрасть ключ безопасности у владельца
          3. Залогиниться
          4. Добавить свой U2F ключ
          5. Вернуть ключ из п.2 владельцу

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

            +1
            Есть один нюанс, не многие сервисы позволяют добавить больше одного ключа, и это при том, что добавление двух и более ключей нормальная практика, ибо если человек потеряет ключ, то всё.
              0
              не многие сервисы позволяют добавить больше одного ключа

              наоборот, многие позволяют. Ограничение в один ключ из сервисов которые я использую, только у твиттера, и то их с первого дня за это ругают
              в контексте статьи, раз это про гугл титан — Google Account позволяет несколько ключей. Сколько — нигде не написано, у меня вот столько:
                +1
                Многих за это ругают, во всяком случае на реддите многие владельцы YubiKey жалуются на этот момент, а еще они жалуются на недостаточную поддержку и распространённость в других сервисах (Привет PayPal!), а там где она вводится, сделано на отъ3.14сь позволяя привязать не более одного ключа.

                Ну может сейчас и получше, года два назад эту тему изучал, может и изменилось что.
                  0
                  Да, сейчас получше. FIDO стандарт молодой, меняется на глазах.
                  По поводу Yubikey (и иже с ними), там у всех есть модуль TOTP, к Fido не имеющий отношения, тем не менее так как работает на том же устройстве, многие их воспринимают как одно целое.
                  Так вот, там изначально похожая проблема, можно взять чужой ключ, перевести время вперед, нагенерить сотню OTP кодов и вернуть на место. Вскрывать даже не нужно — но второй фактор уже скомпрометирован. По какой-то причине, никто про это новости не пишет
            +1
            Как минимум потому, что для взлома нужно очень хорошо постараться.

            Ожидания и реальность
            image

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

            Самое читаемое