Практика информационной безопасности для бизнеса: TrueCrypt

2 574 5 Время чтения: 13 мин. Сoinspot

Информация – это ресурс, передача информации – процесс управления… Данные, являющиеся источником важной информации, нуждаются в защите.

Введение

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

Выбор технологии шифрования

Шифровать данные можно по-разному. Самый простой вариант защиты документа электронного офиса – установить на него пароль. В случае с набором папок и файлов можно применить защиту на уровне архиватора. При выполнении редактирования документа непосредственно в архиве, архиватор извлекает документ во временную директорию, позволяя внести необходимые изменения, а, затем, добавляет в исходный архив обновленный файл. При этом файл во временной папке (в случае применения «правильного» архиватора) заполняется нулевыми значениями, и только после этого удаляется из файловой системы. Пока файл редактируется, архиватор наблюдает за состоянием редактируемого объекта, и во время редактирования и архиватор, и текстовый процессор соединяются в цепочку событий. Теория вероятностей сообщает нам, что надежность работы такой схемы ниже, чем у любого из компонентов. При сбое текстового процессора и формировании некорректного документа в архив будет добавлен «битый» файл. При возникновении ошибки при получении доступа к файлу, который был заблокирован текстовым процессором, может возникнуть ситуация, когда архив не будет обновлен, и, если повезет, и архиватор не уничтожит временный файл, пользователь сможет найти свой документ во временных директориях (в данной ситуации кроется источник утечки конфиденциальных данных). Архиваторы ориентированы на хранение данных, а не оперативную работу с ними, и применяя программное средство не по назначению, пользователь создает себе проблемы. К счастью, решение вопроса шифрования файлов и папок «на лету» нашло свое воплощение в множестве программных продуктов, как коммерческих, так и с открытыми исходными текстами. Наибольший рейтинг и доверие, опирающиеся на богатый функционал и публично проведенные экспертизы исходных текстов имеет программный комплекс «TrueCrypt 7.1a».

Поговорим о главном

«TrueCrypt» позволяет создать виртуальный зашифрованный диск, поток данных которого хранится в файле, файловом разделе, или устройстве непосредственно. Хранение в файле дает наибольшую мобильность, шифрование на уровне раздела позволяет работать с устройством менее гибко, но безопаснее (случайно раздел вы точно не удалите и не скопируете одним нажатие клавиши), шифрование же устройства целиком – это «высший пилотаж». Представьте себе ситуацию, когда вы теряете носитель данных. Нашедший подключает устройство к ПК и увидит… что «диск не отформатирован». «Слетела файловая система» подумает незнакомец, и это называется «первый уровень правдивого отрицания наличия данных». А ведь если бы на накопителе оказался набор архивов под паролями, это вызвало бы значительно больший интерес. Тем более, что технические специалисты, несомненно, поработали бы с незанятыми областями данных, в которых могли оказаться фрагменты конфиденциальных документов.

Очень важной особенностью утилиты «TrueCrypt» является то, что она позволяет разместить скрытый и обычный тома в одном и том же контейнере. Вернемся к ситуации с «флешкой». Изменим её до состояния, когда рядом находится человек, настойчиво помогающий Вам вспомнить пароль от тома «TrueCrypt». В конце концов, вы соглашаетесь, диктуете длинную парольную фразу, которая вводится в соответствующее поле текстового ввода. Открывается виртуальный диск, перед взором заинтересованных лиц предстает набор документов. Они получили то, что заслужили… пустышку. Если бы Вы продиктовали пароль от скрытого тома, то открылся бы совсем другой диск (это второй уровень «правдивого отрицания» наличия данных).

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

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

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

Подводные камни

Недостатки – это продолжения достоинств. Том «TrueCrypt» не имеет сигнатур целостности, и при передаче по сети, через flash-накопителиили тривиальном копировании на внешний винчестер через USB может возникнуть повреждение данных тома. Если повреждение (даже в один бит) выпадет на заголовок тома – будут повреждены ключи шифрования, и доступ к данным станет невозможен. Ситуацию усугубляет то обстоятельство, что flash-накопители на аппаратном уровне не контролируют целостность секторов, осуществляя прозрачную коррекцию, и сбой ячеек памяти, превысивший возможности системы коррекции никак не будет обнаружен – Вы скопируете с «флешки» поврежденный файл. Защитить от повреждений том «TrueCrypt» можно, например, поместив его в архив WinRAR5 в режиме без сжатия, добавив данные для восстановления (3-5%). При шифровании же разделов и устройств настоятельно рекомендуется выполнять резервное копирование заголовка тома (резервные копии заголовков также лучше всего хранить в архивах с данными для восстановления). Размер копии заголовка тома: 128 килобайт.

Выбор алгоритма шифрования

«TrueCrypt» имеет в своем арсенале несколько алгоритмов шифрования, и наибольшая надежность достигается при их каскадировании. Современные процессоры достаточно производительны, наиболее затратная последовательность шифров «Serpent-Twofish-AES» на ЦП «Core i5» обеспечивает производительность около 150 мегабайт в секунду.

image002

Стелс-технологии бизнеса

Может возникнуть ситуация, когда Ваш том «TrueCrypt» должен быть скрыт от посторонних глаз. Один из вариантов – размещение его под видом «безобидного» крупного файла, например, iso-образа или одного из файлов в составе инсталляционного пакета. Второй вариант ничуть не хуже: сформировать на «флешке» при помощи утилиты «BOOTICE» два раздела: один для хранения обычных файлов, другой – для «хранилища». Если контроллер устройства работает в режиме «removable», пользователю доступен только первый его раздел. В случае работы в режиме «HDD» будут видны все разделы, в том числе и раздел «TrueCrypt», не имеющий файловой системы (формат «RAW»), так что при попытке обращения к нему будет выдано соответствующее сообщение операционной системы. Таким образом, раздел «TrueCrypt» лучше всего промаркировать как «hidden» (скрытый). Используя функцию «Set Accessible» (предварительно выделив недоступный раздел) можно присвоить ему индекс «0», и, соответственно, сделать доступным для пользователя (то есть для монтирования через «TrueCrypt»).

Хранение томов «TrueCrypt»

Защищая данные от несанкционированного доступа, важно не забыть про защиту от нарушения целостности. При работе с накопителем, зашифрованным на физическом уровне, приходится целиком полагаться на его схему коррекции. При работе с томом, хранящимся в отдельном файле, можно применить как простое резервирование, так и резервирование с использованием кодов коррекции ошибок («WinRAR 5», «MultiPar» («PAR2», «PAR3»)). Примером резервирования может стать размещение Вашего тома «TrueCrypt» в облачном хранилище. В случае использования сервиса, аналогичного «DropBox» это особенно удобно, т.к. клиент, установленный на ПК пользователя, отслеживает изменения зашифрованного файла, и после размонтирования тома осуществляет синхронизацию только измененных его участков. Существенный недостаток такого способа хранения заключается в том, что анализ истории и структуры изменений тома «TrueCrypt» снижает степень защиты от несанкционированного доступа.

«WinRAR» и «флешки»

«Флешки» — достаточно популярный тип съемных носителей, вытеснивший дискеты и оптические диски (в массовом сегменте). Одной из особенностей этого типа накопителей является то, что они построены по образу и подобию используемого носителя-памяти: при считывании данных контроллер извлекает биты из ячеек, применяет коды коррекции и отдает результат «как есть». Коды коррекции, как правило, достаточно «короткие» (но с глубоким чередованием) и при высокой требуемой надежности способны гарантировать 100% коррекцию лишь относительно небольших «выпадений» (оставаясь достаточно эффективными и при большом количестве ошибок, если опустить требуемый уровень надежности ниже абсолютного, что может потребовать использование дополнительного программного обеспечения для организации архивного хранения). Кстати, именно наличие аппаратных кодов коррекции позволяет производителям «flash»-памяти получать значительно больший процент годных к применению чипов (и устройств). Для потребителя это означает лишь одно – рано или поздно, ввиду заводского брака или износа, данные, хранящиеся на «флешке», будут повреждены. И что самое неприятное в случае с «flash»-накопителем – пользователь не сможет узнать об этом при копировании файла, т.к. контроллер не сообщит драйверу о том, что произошел сбой. Да ведь он и сам не знает: коды коррекции, как правило, применяются в «прозрачной» схеме: «взял данные – применил коррекцию – отдал данные».

Если битовых повреждений было слишком много, чередование может не помочь – то есть получим битые блоки данных. Для конечного пользователя это означает одно: файл скопировался в штатном режиме, но он «битый». Архиватор «WinRAR» позволяет Вам, добавив данные для восстановления (рекомендуется использовать 3%-10%), снизить на многие порядки вероятность утраты данных (также интуиция подсказывает, что эффективность кодов коррекции будет выше, если архив будет обычный,
а не непрерывный). В случае, если архив будет поврежден, нужно выделить его курсором в оболочке «WinRAR» и нажать на кнопку «Исправить». Дополнительно нужно указать, какой тип архива используется – «RAR» или «ZIP». Далее Вы увидите диалог коррекции данных. Если Вы создаете многотомный архив, есть возможность создать тома для восстановления (*.rev). Главной особенностью таких томов является их универсальность – любой том для восстановления может заменить собой любой из основных томов. То есть, создав структуру томов 10(*.rar)+5(*.rev) Вы сможете утратить любые 5 из 15 томов. Это могут быть диски, «флешки» и т.д. Если тома данных и тома для восстановления также содержат индивидуальный набор данных для восстановления, целесообразно выделить все файлы c расширением «RAR» нажатием «+» на дополнительной клавиатуре и вводом маски «*.rar», выполнив описанный выше процесс «лечения». При появлении в директории файлов с префиксом «fixed.» требуется найти их прообразы («битые») и уничтожить, а у «вылеченных» томов убрать префикс «fixed.» путем переименования. Далее можно «зайти» в любой том для восстановления в составе архива, и реконструкция отсутствующих томов данных будет произведена автоматически.

В случае многотомной структуры файлов формируется «RS-RAID» система (файловый «RAID», базирующийся на кодах «Рида-Соломона»). В текущей версии «WinRAR» используется 16-и разрядный кодер, что позволяет создать в формате «RS-RAID» тысячи томов.

Подведем итоги: если Вы храните ценные данные на «флешках», одним из вариантов защиты их от нарушения целостности может стать помещение в «RAR»-архив (в том числе, в режиме без сжатия), но с данными для восстановления («recovery record»). Для очень важных данных рекомендуется формировать многотомную структуру с томами для восстановления («recovery volumes»). Такой вариант может быть очень полезен при хранении на оптических или жестких дисках, потому что оба типа накопителей не позволяют скопировать «битый» файл, и в случае «моноблочного» архива его оперативное извлечение с накопителя может быть затруднено. В многотомной же «RS-RAID» структуре работа с ошибками архива может быть значительно упрощена – можно пропустить «битый» файл при копировании.

Артем Дробанов специально для CoinSpot
Скачать статью в PDF

  • Василий

    TrueCrypt — это очень хорошее решение для персонального хранилища важных данных. Однако не стоит забывать недавние проблемы с ним. Репозиторий с исходным кодом был взломан, а автор отказался от поддержки продукта (в СМИ была информация, что автору якобы угрожали ФБР), поэтому теперь не все версии продукта можно считать безопасными.

    • https://coinspot.io dre

      Всё верно, автор как раз уточняет версию TrueCrypt 7.1a как наиболее надежную

  • Аноним

    Спасибо за статью, очень понравилась

  • https://vk.com/artem.drobanov Артём Дробанов

    А вам не кажется, что нападки на TrueCrypt связаны с тем, что проект был слишком независимый? Я постоянно отслеживал новые версии, когда случилась неприятность, нашел даже репост с твиттера от авторов, которые сообщали сигнатуры целостности…

    Цитата:
    «Из твиттера Matthew Green (один из аудиторов TrueCrypt):
    @SteveBellovin @mattblaze @0xdaeda1a I think this is legit.

    TrueCrypt Setup 7.1a.exe:
    sha1: 7689d038c76bd1df695d295c026961e50e4a62ea
    md5: 7a23ac83a0856c352025a6f7c9cc1526
    »
    Также нашел репозиторий с верифицированной версией, сравнил с имеющимися «старыми дистрибутивами»:
    https://vk.com/doc4297042_342198402

    Считаю версию 7.1a практически безупречной. Работаю на этом продукте долгие годы, он помогает мне обеспечивать соглашение о неразглашении коммерческой тайны.

  • Артём Дробанов

Новости о цифровых валютах, финтех-трендах и финансовых инновациях

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

Полное или частичное использование материалов сайта разрешается только с письменного разрешения редакции, при этом ссылка на источник обязательна!

Подпишитесь на Email рассылку о новые статьях и важных новостях от Coinspot.io