Аппаратное шифрование Kingston, SanDisk уязвимо
Компания Kingston Technology, один из лидеров в области производства безопасных USB накопителей, которая одна из первых начала выпускать USB flash drive с аппаратным шифрованием (Kingston DataTraveler secure) объявила, что некоторые модели USB накопителей с функцией аппаратной защиты уязвимы. На сайте компании размещено объявление, в котором говорится, что с помощью некоторой утилиты можно получить доступ к данным USB накопителя (т.е. взломать его без предъявления пароля). Новость удивительная тем, что некоторые модели Kingston, которые подвержены взлому, были сертифицированы по стандарту FIPS 140-2.
Все началось с того, что немецкая компания SySS опубликовала документ под названием “Компании SySS удалось взломать USB накопитель с аппаратным шифрованием Kingston сертифицированный FIPS 104-2″. В этом документе они подробно описывают протокол аутентификации между накопителем и программой (пользователем), который они выяснили исходя из перехваченного USB трафика + уязвимость, которая была обнаружена. А также приведены скриншоты утилиты, которая внедряется в процесс программы Аутентификации для USB накопителя, и в результате - вводим любой пароль и доступ открыт.
Что получается - данные сильно шифруются аппаратурой, но есть внешняя утилита, которая выполняет Аутентификацию (проверка\изменение пароля и настройки) с помощью некого протокола (API + алгоритм утилиты). Этот протокол не был защищен, и в нем нашли уязвимость.
Тоже самое было обнаружено и описано для USB накопителей с аппаратным шифрованием (hardware based encryption) от SanDisk.
Наиболее интересная дискуссия на эту тему развернулась на блоге Брюса Шнаера - известного криптолога и специалиста по компьютерной безопасности.
Наиболее интересные резюме из комментариев в этом блоге:
- Стандарт FIPS 140-2 не причем. Он просто не покрывает\проверяет те места, в которых была обнаружена уязвимость.
- Компании производители прикрываются этим стандартом FIPS 140-2, чтобы внушить пользователям, что уровень защиты данных достаточно высок. И тем самым дискредитируют этот стандарт. Хотя, он на самом деле всего лишь проверяет\тестирует криптографический модуль, но не весь продукт в целом.
- То, что схожая уязвимость обнаружена в USB накопителях разных устройств говорит о том, что эта технология (вместе с уязвимостью) либо кочует из рук-в-руки между крупными компаниями. Либо ее делает кто-то третий (outsourcing), и многие компании пользуются его услугами.
- Наиболее Правильный протокол аутентификации в данном случае -
- Пароль должен шифровать ключ
- Ключ должен шифровать данные на устройстве. - Сейчас уже понятно почему Sandisk отказалась предоставить Linux сообществу документацию на USB протокол host-to-drive для своего накопителя. В случае публикации было бы очевидно, что доступ открывается константной командой.
Вывод - любой накопитель для которого отсутствует документация (USB протокола) для создания Linux-драйвера потенциально уязвим. В частности IronKey. - Для сравнения: данная ошибка это все равно, что продавать замки и сейфы с одинаковыми ключами от них.
Напомним, что в прошлом данная схема аутентификации на самом деле была использована многими Биометрическими USB flash drive, т.е. процесс аутентификации происходил на уровне программы, после чего константный сигнал передавался в аппаратную часть для открытия доступа к USB устройству.
Исследователи обнаружили этот сигнал к USB-контролеру устройства, и таким образом вся защита оказалась сплошной уязвимостью.
После перевода оригинальной статьи на русский мы планируем более детально рассмотреть эту уязвимость.
В нашем последнем обзоре биометрической флэшки BioSlimDisk с аппаратным шифрованием мы показали на иллюстрациях, чем отличается аппаратная аутентификация от программной для таких устройств.
В дополнение хотим привести наиболее важные, на наш взгляд, критерии безопасности для USB устройств:
- Защита внутренней конфигурации.
Многие USB накопители, токены и др. устройства аутентификации подразумевают изменение своих свойств, таких как - параметры аутентификации, пароли доступа и др. Эта конфигурация должна быть соответствующим образом защищена. - Внешняя утилита управления потенциальна уязвима.
Если есть Приложения которые из-вне способны управлять устройством, а также управлять доступом к данным на устройстве, то возможны атаки на их протоколы. Тоже самое относится и к удаленному управлению\удалению устройств. Данные протоколы не должны быть подвержены всевозможным REPLY атакам. - Активные устройства могут быть потенциально опасными.
В последнее время появились токены, которые из себя представляют USB-клавиатуру (генерирующую OTP пароль в текстовом виде). При подключении такие токены обладают функцией авто-навигации - которая способна открыть на компьютере определенный web сайт. А поскольку есть заведомо вредоносные сайты , то это может привести к заражению ПК.
Несмотря на возможность наличия многих уязвимостей в USB устройствах, всетаки жизнь не может стоят на месте. Поэтому поводу хотим вам привести очень интресный принцип, который зародился в форумах и блогах при обсуждении разных программ и устройств по защите данных и аутентификации. Этот принцип Гласит “Шифрование не достаточно” (в оригинале ‘Encryption is not enough’) это значит-
- Кроме того, что данные зашифрованны, либо еще каким-нибудь образом закрыты - есть много месть ,где эти же данные можно перехватить - незащищенные бакапы, временные файлы, зараженные ПК с шпионским ПО, вредные-коллеги либо члены семьи и т.д.
- Протокол защиты и его реализация должны быть открытыми (open source если можно).
- К Собственно-разработанным алгоритмам шифрования доверия нет. Можно расчитывать только на алгоритмы, которые признаны сообществом криптологов и прошли проверку временем.
- Должно существовать открытое сообщество у данного продукта, чтобы люди могли своевременно находить уязвимости в новых версиях ПО или реализации протокола, и сообщать об этом всем. Поскольку прогресс не стоит на месте, также как и люди, которые его делают, то каждая новая версия должна рассматриваться с точки зрения безопасности заново.
Если определенный продукт соответствует этим качествам, то это доверительный знак к нему.