Автор: Андрей Васильков
Привычка носить с собой изрядную часть личных файлов стала распространенной с момента появления флэшек, крепла по мере их удешевления и превратилась в само собой разумеющееся с появлением мобильного (portable) софта. В то же время на протяжении длительного периода не было каких-либо специализированных и адекватных средств защиты персональных данных от чужого любопытства. До сих пор многие USB-флэшки или вообще не имеют средств защиты информации, или оснащаются фиктивными.
Все методы защиты данных на флэшках можно разделить на программные, аппаратные и смешанные (программно-аппаратные). Чисто программные позволяют создавать на USB-флэшке скрытый раздел с парольной защитой либо монтировать из хранящегося на нем же зашифрованного файла-образа виртуальный диск. Аппаратный способ подразумевает самодостаточность. Для этого флэшке требуется оснащение собственным чипом (обрабатывающим запросы аутентификации), клавиатурой или сканером отпечатков и (иногда) батарейкой. Программно-аппаратный способ обычно реализуется встроенным в корпус флэшки биометрическим сканером и поставляемым ПО для работы с ним.
Одними из первых USB-флэшек, комплектующихся софтом для создания на них скрытого раздела с парольной защитой, были Transcend серии JetFlash. Сейчас с ними дополнительно поставляется бесплатная утилита . Поскольку распространяется она с открытым исходным кодом и существует далеко не первый год, считаю, ей можно доверять. Интерес к анализу ее исходников и его плоды видны хотя бы по тому факту, что в конце 2005 года была обнаружена, опубликована и устранена уязвимость, присутствующая в версиях младше 4.0. Эта утилита универсальна и может быть использована с накопителями любого типа и от любого производителя.
Идею разделения памяти флэш-накопителей на две зоны (публичную и приватную) быстро взяли на вооружение и другие производители.
Использовавшаяся мной лет пять назад M.Tec MobileDisk M24 при емкости 256 Мбайт и то предлагала создать два раздела, закрыв один из них паролем.
К сожалению, большая часть программных методов защиты данных на флэшках работает лишь в том случае, если у владельца есть соответствующие привилегии на используемом компьютере. В случае отдельно взятого ПК учетная запись должна принадлежать к группе "администраторы", "опытные пользователи" или "операторы архива". Если речь идет о рабочей станции в домене, то должны быть созданы требуемые разрешения в доменной политике для учетных записей владельцев таких флэшек.
Точнее, требуется хотя бы однократно подключить флэшку и запустить/установить поставляемый для нее защитный софт из-под привилегированной учетной записи на каждом компьютере, где она будет использована (рис. 1).
Возникает такое условие из-за недоступности под гостевым и пользовательским аккаунтом операций, приводящих к изменению системных файлов и настроек (рис. 2).
Доступ к защищенному паролем скрытому разделу непосредственно на флэшке или монтирование виртуального диска из зашифрованного файла-образа на ней же потребует права добавлять дисковые тома, а поддержка биометрики - установить драйвер.
В противном случае вы будете созерцать неактивный дисковый раздел, с которым невозможно работать (рис. 3 - логический диск с буквой I).
Кроме того, штатный софт обычно написан под Windows, а в других ОС можно лишь пытаться запустить его с помощью эмулятора. Автор неоднократно наступал на эти грабли и каждый раз недоумевал - почему сложилась столь странная ситуация? Если человек может войти в некую систему с правами администратора, то он гарантированно имеет техническую возможность обеспечить себе в этой системе приемлемый уровень безопасности другими средствами. Если же он обладает правами обычного пользователя, то смысла переплачивать за флэшку со сканером отпечатков или скрывать дисковый раздел практически нет - без разрешения и помощи администратора воспользоваться дополнительным функционалом не удастся.
Самым опасным (с точки зрения приватности и конфиденциальности) местом, пожалуй, является интернет-кафе [Сейчас я не говорю о публичных WiFi-сетях — там опасностей тоже хватает, но они другие]. Обычно в таком заведении предлагается гостевой вход, не позволяющий ни убедиться в достаточной защите своих данных, ни самостоятельно улучшить ее.
Другой недостаток программных средств защиты данных состоит в том, что они вынуждены работать в неизвестной среде (чужой по отношению к владельцу флэшки операционной системе). Даже если в очередном месте удастся договориться с админом и смонтировать защищенный том с флэшки, на арендованном ПК запросто может оказаться установлен (хотя бы из любопытства) перехватчик клавиатурных нажатий. Им наверняка воспользуются, поскольку сам факт сокрытия данных уже вызовет к ним повышенный интерес. До них постараются добраться если и не в корыстных целях, то из спортивного азарта.
Компания Corsair считает, что с выпуском USB-флэшек серии PadLock ей удалось разом решить все вышеописанные проблемы за счет отказа от самой схемы использования дополнительного ПО или драйверов. К привычному USB-контроллеру и NAND-памяти в них добавили чип аутентификации, батарею постоянного тока и числовую клавиатуру на корпусе. Получилось довольно оригинальное устройство, с явными плюсами и менее очевидными минусами. Защита данных в нем опирается на встроенный чип, который при введении правильного PIN-кода с числовой клавиатуры на флэшке позволяет последней определиться в системе. Таким образом, в плане аутентификации устройство полностью самодостаточно.
По утверждению компании ClevX, разработавшей технологию, ее детище удобнее криптографической защиты и позволяет от нее отказаться. "Если вы не можете увидеть что-то, вы не можете взломать это" - гласит описание технологии на сайте. Но вывод из таких заявлений прямо противоположный: данные в NAND-памяти флэшки хранятся незашифрованными, а разрекламированный дополнительный чип лишь блокирует интерфейсную часть до ввода с клавиатуры правильного PIN-кода. Если удалить (паяльником) из схемы собственно чип памяти, то все данные с него можно будет считать, подключив напрямую к родному (или аналогичному) контроллеру. Иными словами, если хранящаяся на Corsair PadLock информация превышает стоимость самой флэшки (около 500 рублей за 1-гигабайтную модель), накопитель скорее всего вскроют и "доработают паяльником" ради получения конфиденциальных данных.
Я купил эту флэшку в качестве материала для статьи и любопытного гаджета. Сразу после покупки и за несколько месяцев использования заметил следующие особенности. Во-первых, вводимый код формируется не десятью цифрами [0–9], а пятью, так как цифры сгруппированы парами на пяти кнопках. Соответственно, число вариантов резко падает (см. табл.).
Во-вторых, клавиши расположены в один ряд и на заметном расстоянии друг от друга. Поэтому даже при однократном взгляде на ввод со стороны у наблюдателя скорее всего не возникнет трудностей с запоминанием последовательности. При этом собственно код можно и не выяснять для дальнейшего разблокирования флэшки без помощи ее хозяина.
В-третьих, разблокированная флэшка при извлечении из USB-порта блокируется не сразу, а через несколько секунд. В руководстве написано, что через 15, на самом деле побыстрее (8–10 секунд). Однако этого времени все равно достаточно, чтобы успеть вставить ее в USB-порт другого компьютера. Флэшка останется разблокированной. Специально проводил мини-эксперимент, в ходе которого успевал даже подключить ее к компьютеру, расположенному в другом кабинете.
В-четвертых, данное время можно увеличить с нескольких секунд до нескольких минут совершенно бесхитростным образом. Дело в том, что введенный код сохраняется в памяти флэшки на эти самые 8–10 секунд и при нажатии клавиши "ключ" проверяется. В случае совпадения флэшка разблокируется и… отсчет времени начинается заново. То есть достаточно сразу по извлечении из USB-порта периодически (раз в одну-две секунды) нажимать клавишу "ключ". Флэшка будет оставаться разблокированной до тех пор, пока у вас хватит терпения. В ходе другого мини-эксперимента я успевал уходить в другой корпус неспешным шагом (это занимало примерно пять минут) и без проблем подключал флэшку к другому ПК без повторного ввода пароля. Подозреваю, что емкости используемой в Corsair PadLock трехвольтовой литиевой батарейки cr2032 хватит даже на то, чтобы, скажем, во время обеденного перерыва съездить с разблокированной чужой флэшкой домой, переписать все данные и вернуть ее на место в прежнем состоянии.
Если вам показалось, что такая "недокументированная функция" может быть только у элементов аппаратной защиты, приведу аналогичный пример из программной области.
Некоторые материнские платы не отключают питание USB-портов при выключении компьютера. Пользуясь этим, можно заряжать от "выключенного" системника мобильный телефон и MP3-плеер. Долгое время я был склонен считать такую схему управления питанием скорее достоинством, чем недостатком… пока не случилась маленькая история:
Придя на работу, девушка на своей флэшке M.Tec Mobile Disk T4 открыла защищенный паролем скрытый раздел. Через минуту подошел админ и попросил уступить место за компьютером - он перезагрузится, залогинится под своей учеткой и установит софт. Девушка стоит рядом и смотрит. Через минуту ее глаза от удивления становятся такими же большими, как у героев аниме, потому что после перезагрузки скрытый раздел остается доступным. То есть эта, на вид - сугубо программная, реализация защиты все равно оказалась завязана на питание: стоит однократно смонтировать скрытый раздел, и он останется доступным в течение всего времени, пока на флэшку непрерывно подается питание. Видимо, в данной ситуации просто меньше допустимая пауза: вместо 8–10 секунд она измеряется миллисекундами. Для гарантии я воспроизвел описанную ситуацию с этой флэшкой дома, на плате ABIT IP35-Pro. Что после перезагрузки, что после "выключения" компьютера (при работающем блоке питания) и повторного включения скрытый раздел оставался смонтированным.
Текущие реализации программно-аппаратного подхода к защите USB-flash накопителей основаны на биометрике. Они выглядят серьезнее чисто программных аналогов… Собственно, на этом их преимущества и заканчиваются. Если в других областях защиты данных смешанные решения обычно оказываются надежнее или хотя бы удобнее, то в случае с флэшками я не вижу ни того ни другого. О низкой надежности средств биометрической аутентификации и даже средствах их обмана написано предостаточно. Что до удобства, то из-за необходимости устанавливать спецсофт и драйвер для сканера отпечатков о комфорте тоже говорить не приходится. Из-за требований миниатюризировать и при этом - удешевить весь комплекс биометрики обеспечиваемая им защита оказывается в основном психологической. С технической же стороны появляется масса претензий. Например, вполне удачная по потребительским качествам флэшка Apacer Handy Steno AH620 хранит отпечаток в выделенной области NAND-flash-памяти в закодированном, но незашифрованном виде. То есть используется принцип секретности не ключа, а самого алгоритма кодирования, что прямо нарушает правило надежности Керкгоффса, принятое криптографами на вооружение еще в конце XIX века. Более того, в случае, если пользователь по какой-то причине не сможет разблокировать флэшку своим отпечатком, то вместо этого ему (или кому угодно другому) будет достаточно просто ввести пароль. На момент написания статьи софт для создания защищенного раздела и работы с ним на AH620 работал только под ОС семейства Windows, начиная с версии 2000 SP3 и вплоть до Vista. На ПК под управлением Linux/*NIX скрытый раздел будет невозможно ни создать, ни (что печальнее) прочитать штатными средствами.
Резюмируя, напомню, что контроль доступа к данным - лишь один из базовых уровней защиты. Обычно он необходим, но вот достаточным оказывается лишь в простейших случаях. Как и все замки/заборы, одно лишь ограничение доступа защищает исключительно от честных, ленивых и не слишком компетентных людей. Если речь идет действительно о тайне, то полагаться на простейшую однолуровневую защиту явно не стоит. В обязательном порядке данные должны быть не только скрыты, но и зашифрованы. Нелудобства с использованием криптографии можно решить хотя бы с помощью архиватора WinRAR, умеющего создавать архивы, защищенные паролем. Его стойкость к различным криптоатакам (в особенности - грубому перебору) широко известна. Из десктопной версии легко получить portable-вариант, а библиотека распаковки UnRAR.dll вообще бесплатна и внедрена во многие программы.