April 8, 2019

Азы безопасности: шифрование данных

Наш telegram канал : @Save and betray

Вступай в наши ряды

Переход к использованию криптоконтейнеров

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

Я на своем примере расскажу о начале применения криптоконтейнеров, а вы, опираясь на мой опыт, настроите работу криптоконтейнеров на компьютере или мобильном устройстве. Как у многих из вас, файлы у меня были разложены по папкам.

Я всегда пытался навести порядок на своем компьютере: у меня была папка «Работа» с множеством вложенных папок, была папка «Учёба» с образовательными материалами, были различные папки с фотографиями, видео и всяким хламом. Была, конечно, и папка XXX, предусмотрительно переименованная в «Лекции».

Общий объём файлов составлял порядка 112 ГБ. При переходе к использованию криптоконтейнеров я разделил файлы на три группы.

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

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

Совет: создавайте как можно больше криптоконтейнеров. Хранить все данные в одном криптоконтейнере небезопасно. Вернёмся к моим криптоконтейнерам. Я создал криптоконтейнеры, создал резервную копию файлов (на всякий случай) и перенёс файлы в созданные криптоконтейнеры. Весь хаос папок и файлов на моём жёстком диске преобразовался в три надёжно зашифрованных файла. Всё просто: вы продумываете, сколько криптоконтейнеров вам понадобится, создаёте их и переносите в них файлы. Перенос данных в криптоконтейнеры — один из важнейших шагов на пути к построению защищённой системы.

Совет: храните всю информацию только в криптоконтейнерах. У криптоконтейнера есть ещё одно преимущество. Например, вам надо экстренно уничтожить ваши данные, занимающие 100 ГБ жесткого диска. Сколько времени будет происходить удаление их безопасным способом? В зависимости от возможностей жёсткого диска это может занять до 30 минут.

А если эти 100 ГБ будут в криптоконтейнере, то с помощью технологии CryptoCrash данные можно уничтожить за несколько секунд. В следующих параграфах мы познакомим вас с программами, позволяющими создавать и использовать криптоконтейнеры.

История TrueCrypt

TrueCrypt — почти образцовая программа шифрования папок и файлов. Первая версия программы вышла в свет ещё в далеком 2004 году, и на тот момент TrueCrypt оказалась фактически единственной программой с открытым исходным кодом для шифрования «на лету». Что значит «на лету»? Обычные программы для работы с зашифрованными файлами требуют сначала расшифровать файл или папку, выполнив необходимые манипуляции с данными, затем создать зашифрованную копию файла или папки, а незашифрованный оригинал удалить. TrueCrypt позволяла создавать зашифрованную папку, указав в программе пароль, и работать с зашифрованной папкой, шифруя и расшифровывая данные «на лету». С 2004 по 2014 программа TrueCrypt регулярно обновлялась. Некоторые функции исключались. Так, например, была убрана поддержка дискет, когда этот формат канул в лету, удалялись и некоторые протоколы шифрования.

С развитием компьютерной индустрии совершенствовались и технологии взлома методов шифрования, из-за этого ряд протоколов перестал считаться надёжным. Так, в последней, 7-й, версии TrueCrypt вы уже не увидите протоколов шифрования с размером блока в 64 бита (Тройной DES, Blowfish, CAST5).

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

Некоторые говорили, что программа разработана ФБР, другие утверждали, что если и не ФБР, то в софте непременно есть закладки. Популярность TrueCrypt росла, пока весной 2014 года не произошло необъяснимое событие, повергшее интернет-общественность в шок. 28 мая 2014 проект TrueCrypt был закрыт. Точные причины закрытия проекта никому не известны по сей день. Сами разработчики сообщили на официальном сайте, что использование TrueCrypt небезопасно, и предложили переходить на BitLocker, который всегда высмеивали. Есть много версий и догадок о случившемся, мы приведём основные.

Первая версия гласит, что разработчикам угрожали спецслужбы, вторая — что их переманили на работу в Microsoft, чем и объясняется реклама BitLocker, третья — им надоело продвигать и поддерживать проект, не приносящий денег, четвертая — они действительно обнаружили в продукте критическую уязвимость, которую не способны были исправить. Интернет-сообщество погрузилось в споры о безопасности TrueCrypt, и одному Богу известно, сколько бы они продлились, если бы к началу апреля 2015 не был завершен независимый аудит TrueCrypt, на который было собрано свыше 60 000 USD пожертвований. Он не выявил никаких уязвимостей или серьёзных недостатков в архитектуре приложения и показал, что TrueCrypt является хорошо спроектированной криптографической программой. Источник: здесь. Мы считаем, что, TrueCrypt 7.1 надежен, и закрытие проекта не связано с его безопасностью. А вот хронологически последняя версия программы (7.2) не является безопасной и полнофункциональной, по крайней мере, об этом предупреждают сами разработчики, и это мнение разделяют многие эксперты.

Потому мы рекомендуем использовать последнюю стабильную и надежную версию — TrueCrypt 7.1а. TrueCrypt

Недоказуемость криптоконтенейра

У TrueCrypt масса преимуществ, одно из которых заключается в невозможности идентифицировать зашифрованный контейнер. Даже если недоброжелатели получат доступ к вашему диску, укажут на криптоконтейнер и скажут «это — криптоконтейнер», вы смело можете сказать, что это не так, что это какой-то неизвестный вам файл. Доказать обратное невозможно. Разумеется, вы можете «случайно» прищемить палец дверью и тогда не только признаете в файле криптоконтейнер, но и вспомните пароль. Но и от этого есть защита, о которой мы расскажем в главе, посвященной антикриминалистике, а сейчас просто запомните, что доказать наличие криптоконтейнера исследованием файла невозможно. Опираясь на это, мы рекомендуем вам называть свои контейнеры как-нибудь нейтрально и пробовать их маскировать под программные файлы. Например, открываем у себя папку с менеджером паролей KeePassX и видим какие-то непонятные файлы с расширением *.dll. Создавая криптоконтейнер, назовем его LsQN7.dll и положим в эту папку. Только мы будем знать, что LsQN7.dll на самом деле криптоконтейнер. После создания криптоконтейнера и размещения его в папке KeePassX. Вы видите отличия? Только дата? Менять дату мы вас научим в части, посвященной маскировке криптокойнтейнеров. Но не спешите создавать криптоконтейнер. Совет Называйте криптоконтейнеры так, чтобы название не выдавало криптоконтейнер. Указывайте у криптоконтейнеров расширение *.dat и размещайте в папке с другими файлами с расширением *.dat.

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

VeraCrypt

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

VeraCrypt предложил ощутимо более устойчивое против брутфорса решение, о котором мы подробнее расскажем, когда дойдем до сравнения программ. При «живом» TrueCrypt форки не пользовались популярностью; все изменилось, когда весной 2014 года разработчики TrueCrypt сообщили о прекращении поддержки проекта. Тогда о VeraCrypt заговорили как о надежной альтернативе TrueCrypt (хотя были и другие форки, такие как GostCrypt, CipherShed например). Часть пользователей TrueCrypt сразу перешла на использование VeraCrypt, а часть осталась верна TrueCrypt.

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

VeraCrypt vs TrueCrypt

Давайте сравним TrueCrypt и VeraCrypt. Эти программы очень близки по функционалу и дизайну, что неудивительно для форка и оригинала, потому мы сравним быстродействие и безопасность. Скорость монтирования криптоконтейнеров.

Первый негативный момент, с которым сталкиваются пользователи TrueCrypt, первый раз попробовав VeraCrypt, — время монтирования криптоконтейнера. Когда в TrueCrypt вы указываете верный пароль, время ожидания до доступа к зашифрованным данным составляет на современном компьютере десятые доли секунды. При использовании VeraCrypt ждать приходится заметно дольше. TrueCrypt vs VeraCrypt

Устойчивость к брутфорсу

Брутфос, если говорить простыми словами, — попытка подобрать пароль (ключ) путем перебора всех возможных вариантов. Современные суперкомпьютеры, имеющиеся в распоряжении спецслужб, умеют перебирать варианты очень быстро. За счёт более совершенного метода генерации ключей VeraCrypt от 10 до 300 раз более устойчив к атакам прямого перебора. Для многих это самое главное преимущество VeraCrypt. Поддержка со стороны разработчиков. TrueCrypt уже не поддерживается разработчиками, используемые решения устаревают с каждым днем, потенциальные уязвимости не исправляются. Это безусловно плюс для VeraCrypt, который активно поддерживается и развивается.

TrueCrypt vs VeraCrypt: уязвимости

Казалось бы, наличие поддержки со стороны разработчиков должно было обеспечить VeraCrypt преимущество, но на самом деле все наоборот. В главе, посвященной TrueCrypt, мы рассказывали о проведенном аудите программы, который не выявил критических уязвимостей. Подобному аудиту было подвергнуто и программное обеспечение VeraCrypt. По результатам аудита были выявлены 36 уязвимостей, 8 из которых получили статус критических, 3 — умеренных и 15 — незначительных. 8 критических уязвимостей в таком приложении нельзя назвать иначе как катастрофа. С полной версией отчета об аудите вы можете познакомиться по этой ссылке. В настоящий момент большинство обнаруженных уязвимостей успешно исправлены, однако некоторые из них требуют существенной переработки архитектуры и до сих пор присутствуют в VeraCrypt.

TrueCrypt vs VeraCrypt: уровень команды разработчиков

Как было сказано ранее, аудит VeraCrypt обнаружил 8 критических уязвимостей, а при аудите TrueCrypt не было обнаружено ни одной. Это вызывает опасения по поводу уровня команды разработчиков VeraCrypt. У нас нет никаких сомнений, что программное обеспечение TrueCrypt разрабатывалось более компетентными специалистами.

Допустим, обнаруженные в ходе аудита 8 критических уязвимостей в VeraCrypt будут закрыты, но где гарантии, что команда разработчиков не допустит еще столько же новых критических уязвимостей? TrueCrypt vs VeraCrypt А какую программу выберете вы?

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