«Невзламываемый» eyeDisk защищён сканом радужной оболочки глаза, но передаёт пароль в открытом виде


    USB-накопитель eyeDisk с биометрической защитой, который «невозможно взломать»

    Самые современные методы биометрической защиты не всегда означают повышенную безопасность. Провал разработчиков eyeDisk на самом деле показывает более общие тенденции. К сожалению, в IT-отрасли случается так, что под впечатлением «блестящих» новых технологий люди забывают об основах безопасности.

    Разработчики рекламировали eyeDisk как «невзламываемый» USB-накопитель — и успешно оформили на «Кикстартере» более $21 тыс. предварительных заказов.

    По сути, устройство eyeDisk представляет собой флэш-карту со встроенной камерой, которая сканирует радужную оболочку глаза. Поскольку вычислительной мощности гаджета недостаточно для анализа картинки и аутентификации, картинка вместе с паролем передаётся по USB на компьютер, где работает специальное программное обеспечение.

    Сканирование и распознавание занимают примерно 0,5 секунды.



    Флэшка на 32 ГБ продаётся за $99, а инвесторы в рамках краудфандинговой кампании могли заказать её за $50. Самая дорогая флэшка на 128 ГБ стоит $178 ($89). Продажи начались в марте 2019 года.

    «Невзламываемая» флэшка привлекла внимание хакеров из PenTestPartners. Они пишут, что первым делом подключили носитель к виртуальной машине Windows. Оно распозналось как три устройства, в том числе USB-камера. Инфракрасная камера делает забавные чёрно-белые фотографии: например, у бородатых людей не видно бороды.

    Затем пентестеры вскрыли eyeDisk и рассмотрели его внутренности. Впоследствии это не пригодилось для взлома, но такова стандартная процедура. Они обратили внимание на любопытный факт: на плате присутствует три MCU (выделены красным и зелёным цветом на фотографиях), но среди них нет центрального блока управления, у каждого чипа своя роль.



    Синим цветом показана камера, а фиолетовым — две микросхемы tssop8 (PUYA P25Q040H SPI NOR Flash).



    Затем пришло время программного обеспечения. Последние версии пакетного снифера Wireshark умеют прослушивать трафик по USB. Для справки, USB mass storage представляет собой оболочку для команд SCSI, так что общий паттерн выглядит примерно так:



    Здесь указаны LUN (Logical Unit Number), под которым распознаётся устройство, и блок дескрипторов команд CDB (Command Descriptor Block). В данном случае верхний пакет отправляет команду SCSI с опкодом 0х06 и получает ответ от устройства. В терминологии USB слово “In” обозначает направление к хосту, “Out” — к устройству.

    Содержимое первого пакета:



    Содержимое ответного пакета:



    А вот какие пакеты передаются в момент разблокировки устройства после успешной аутентификации. Сначала команда SCSI с хоста:



    И ответ устройства:



    Красным цветом показан пароль, который установлен для устройства. Как видим, он передаётся в открытом виде. А ведь прослушать шину USB не представляет никакой сложности, о чём разработчики совершенно не подумали. Или это были фрилансеры, которым прямо не сказали реализовать шифрование паролей (см. статью «Веб-разработчики пишут небезопасный код по умолчанию»: в вебе такая же проблема).

    Синим цветом на скриншоте выделены 16 байт хэша радужной оболочки глаза — второй фактор двухфакторной аутентификации.

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

    Вот и всё, что представляет собой «невзламываемый» накопитель eyeDisk.

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

    Отчёт об уязвимости отправили в eyeDisk месяц назад, производитель пообещал исправить уязвимость, но до сих пор ответа так и не дал, в связи с этим пентестеры приняли решение огласить подробности взлома.

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



    Примите участие в PKI опросе от GlobalSign до 24 мая 2019 г. и вы получите возможность выиграть призы, один из которых Amazon Gift Card на сумму 500$.


    Опрос доступен по ссылке: www.surveymonkey.com/r/GlobalSignPKI-2019
    GlobalSign
    201,00
    Компания
    Поделиться публикацией

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

      +4
      А я правильно понял что на компе должны стоять «дровцы», которые этот пароль и хеш радужки сверяют?

      И смысл?

      Если хотели сделать защиту, то нужно было всю аутентификацию делать на самой флешке, и только если она прошла — открывать доступ к самому флешу. Если для работы этой флешки нужен драйвер/программа — то это не о чем.
        0
        Ага. А это ПО поддерживает все платформы? Что-то мне подсказывает, что нет.
        А по факту, да, все проверки нужно делать на самом устройстве. Глядишь, и уязвимостей станет меньше.
        Хотя, я в принципе не могу понять что же такое секретное можно там хранить. И, если на флешке что-то особо секретное, то, может, проще физически доступ к ней ограничить. Для корпораций смысл я вижу, а для обычных пользователей — нет.
          0
          Ага. А это ПО поддерживает все платформы? Что-то мне подсказывает, что нет.

          wireshark вполне себе кросс-платформенная утилита, имеет даже portable версию. Воспроизвести все шаги для взлома флешки на обычном пк и без глубоких хакерских познаний можно минут за 10-15. В статье они, кстати, приводятся
            0

            Вопрос про ПО от флешки был.

              0
              Полагаю имелась ввиду кроссплатформенность софта от eyeDisk. А раз надо ставить софт, то TrueCrypt или VeraCrypt в данном случае выглядят куда безопаснее чем эти модные штучки, еще вопрос как внутри данные шифруются.
                0
                Как-как… XOR! :)
          +2
          А что, правда, что такой камерой можно надежно сканировать радужку?
          фото
          image
            +2
            Правда, только это делается на других углах и расстояниях — нужно прямо посмотреть в камеру с указанного производителем расстояния… В Самсунгах такая же технология стоит, вполне неплохо работает.
              0
              Ничесе, алгоритмы дошли. Спасибо.
            +1
            А лучше бы отреагировали, чтобы не было огласованно… Подпортили себе репутацию
              0
              Не совсем понял в чём собственно суть взлома?

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

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

                Корректная аналогия: вы вводите пароль во вконтактике, а пароль улетает открытым текстом по незащищённому HTTP.

                Кроме того, против кейлоггеров тоже есть защита. Например, драйверы типа KeyScrambler.
                  +2

                  Тырим флешку. На свой компьютер ставим ПО производителя. Смотрим в флешку "неправильным" глазом. При этом Wiresharkом получаем правильный пароль. Открываем флешку паролем, без глаза.
                  Наверняка так же можно сэмулировать handshake и тогда ПО производителя не понадобится.

                    0
                    Самое интересное, что в случае ввода неправильного пароля или сканирования произвольной радужной оболочки глаза программа посылает на устройство в точности тот же пакет данных, получая такой же ответ.
                    т.е. эти мегаизобретатели отсылают пароль на компьютер по usb в открытом виде, даже если снять не тот глаз
                    0
                    А еще можно разобрать флешку, выпаять чип NAND-памяти и прочитать на безымянном китайском адаптере-контроллере. Но это не точно.

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

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