Защищен ли на самом деле ваш «защищенный» USB-накопитель?

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

Можно ли быть уверенным в том, что «защищенный» USB-накопитель, на котором вы храните свои секретные документы, действительно защищен и данные невозможно извлечь? Именно этим вопросом задались исследователи из Google Эли Бурштейн (Elie Bursztein), Жан-Мишель Пико (Jean-Michel Picod) и Реми Одбер (Rémi Audebert). И на недавно прошедшей конференции Black Hat USA 2017 они представили результаты своего исследования.

Если коротко, то их ответ таков: на данный момент быть уверенным в этом невозможно.

И вот в чем дело. Как говорят исследователи, сейчас производители USB-накопителей с шифрованием сертифицируют свои устройства в соответствии с FIPS 140. Этот стандарт был разработан американским Национальным институтом стандартов и технологий (NIST) и используется он для всех видов криптографических модулей — как аппаратных, так и программных. В процессе сертификации производитель обязан объяснить механизм работы шифрования и получить одобрение NIST.

По мнению исследователей имеющаяся сертификация полезна, поскольку раскрываемая в процессе сертификации информация помогает выявить потенциальные проблемы. Однако ее недостаточно: FIPS 140 учитывает далеко не все возможные векторы атаки. Как вы увидите дальше, исследователям удалось найти немало таких USB-накопителей, которые успешно прошли сертификацию — но все равно оказались уязвимы. В том числе к так называемым «детским» атакам.

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

  • Слабые места — недостатки, которые упрощают процесс взлома.
  • Единичный взлом — уязвимости, позволяющие злоумышленнику извлечь данные из одного отдельно взятого накопителя.
  • Полный взлом — самый тяжелый случай: уязвимости, на основе которых может быть создана методика для взлома всех накопителей данной модели.

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

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

Зашифрованный USB-накопитель имеет в своем составе несколько компонентов, и векторы атак стоит сгруппировать по тому, на какие компоненты они нацелены. Это могут быть конструктивные и технологические особенности, механизм аутентификации пользователя, USB/криптографический контроллер, алгоритм шифрования или собственно флеш-память. Давайте кратко рассмотрим эти категории.

Конструкция и изготовление

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

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

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

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

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

Но иногда стирая маркировку с микросхем, изготовители не удаляют ее до конца.

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

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

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

Аутентификация

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

Существует четыре способа аутентификации пользователя: с помощью мини-клавиатуры для ввода ПИН-кода, беспроводного токена, отпечатка пальца или программного ввода ПИН-кода. Ни один из них не идеален.

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

В некоторых случаях программное обеспечение может иметь уязвимости, которыми можно воспользоваться при атаках повторного воспроизведения. Так, например, были взломаны накопители исследователями из немецкой компании SySS взломали в 2009 году. Они, к слову, тоже были сертифицированы по FIPS.

У клавиатур для ввода ПИН-кода есть та же проблема, что и у кнопочных кодовых замков: по износу часто нажимаемых кнопок можно узнать возможные комбинации для разблокировки накопителя.

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

Во время доклада на Black Hat исследователи продемонстрировали, насколько легко клонировать бесконтактный токен, используемый в одном из «защищенных» накопителей:

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

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

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

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

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

Контроллер

Теперь рассмотрим USB-контроллер и криптографический контроллер накопителя. Для начала стоит быть уверенным в том, что накопитель нельзя взломать с помощью атаки полным перебором. Некоторые накопители именно так и взламываются. Например, тот накопитель, бесконтактную метку для которого удалось клонировать исследователям, заодно оказался уязвим и к атакам перебором.

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

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

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

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

Шифрование

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

Плохая новость состоит в том, что довольно сложно удостовериться, реализовано ли шифрование как следует.

Прежде всего, для обеспечения защиты устройство должно поддерживать стандарт шифрования AES или более новый — к сожалению, это не всегда так. Во время своего исследования Бурштейн и его коллеги столкнулись с несколькими накопителями, которые использовали устаревшие алгоритмы шифрования, такие как RC4 и RSA-512. Возможность взлома этих криптосистем уже доказана (хоть все еще требует значительных ресурсов).

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

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

Хранение

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

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

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

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

То же относится ко всему проекту в целом: исследователи призывают присоединяться к проекту всем, кто хочет внести свой вклад в разработку всеобъемлющей методологии аудита защищенных USB-накопителей и в тестирование как можно большего количества моделей накопителей.

Пожелаем им в этом удачи — проект действительно стоящий. Однако создание методологии и тестирование потребует немалого времени. Что же можно сделать прямо сейчас для защиты информации, хранимой на «защищенных» USB-накопителях, раз никто не может быть уверен в том, что эти накопители действительно защищены от атак? Лучший вариант — шифровать данные самостоятельно перед тем, как записать их на накопитель.

Например, в нашем решение Kaspersky Endpoint Security для бизнеса есть функция шифрования данных с помощью алгоритма AES. Работает это очень просто и удобно: при необходимости передать конфиденциальные данные, вы просто помещаете их в зашифрованный самораспаковывающийся архив, защищенный паролем. Впоследствии файлы можно расшифровать на любом компьютере, даже если на нем не установлен один из наших продуктов — достаточно ввести правильный пароль.

Советы