Защищен ли на самом деле ваш «защищенный» 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 исследователи продемонстрировали, насколько легко клонировать бесконтактный токен, используемый в одном из «защищенных» накопителей:

https://youtu.be/rjjuLAanavU

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

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

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

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

https://youtu.be/MCkOhymGDaY

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

Контроллер

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

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

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

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

https://youtu.be/pOgDmDrTyZg

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

Шифрование

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

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

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

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

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

Хранение

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

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

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

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

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

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

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

Советы