Статья является ответкой на эту вот статью.

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

  • потеря ноутбука/накопителя

  • отказ оборудования

  • вредоносные программы, шифровальщики например

На все риски ответ один, данные архивируют в резервные хранилища. При архивировании встаёт ряд вопросов:

  1. Где архивировать.

  2. В каком формате архивировать.

  3. Как шифровать.

  4. Как хранить ключи.

  5. Как всё это автоматизировать

Рассмотрим их детально

Где архивировать

Есть несколько вариантов

  • на внешних носителях

  • на FTP сервере

  • в облачном хранилище

Я когда был студентом, хранил все важные данные (рефераты, курсовые) на флешке, которую всегда носил с собой. Флешка ни разу меня не подводила. И в наши дни не подводит. Однако, если иметь ввиду природу памяти флешки, можно понять, что для длительного хранения она не подходит.

Я летом этого года покупал флешку на 16 гигов, для DrWeb Live Disk. Пару раз я ей воспользовался, когда установил на неё DrWeb и когда пылесосил комп. При очередной попытке загрузиться с неё я обнаружил, что она не только не открывается, но и не обнаруживается как устройство. Потрогав её я понял, что флешке пришёл красивый пушной зверёк.

Также внешний носитель легко потерять. И чем больше габариты носителя, тем проще. Иногда достаточно оставить без присмотра. Я так потерял флешку, на которой установил MS-DOS.

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

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

Как шифровать

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

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

Как хранить ключи

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

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

Но тогда какой смысл, хранить ключи на флешке или сами файлы на флешке. Риски всё те же. Как вариант, хранить ключевой файл в облачном менеджере паролей, защищённом доступом по СМС. Например: Keeper, Kaspersky Password Manager, т.е. уже с физической защитой. Без необходимости хранить ключевой файл на флешке с риском потери.

В каком формате архивировать

Шифрование данных, отправляемых на долгосрочное хранение, означает, что сохранять их нужно в совместимых с альтернативными программами форматах. При шифровании бэкапа важно, чтобы этот зашифрованный формат через N-лет можно было расшифровать. Пример такого формата - архивы 7z. Они допускают шифрование и совместимы с большим количеством программ, поддерживаемых различными организациями. Например: Total Commander, WinRar, CryptSync.

Один человек на Хабре пишет, что шифруется TrueCrypt'ом. Так дело в том, что TrueCrypt уже не поддерживается, он перестал поддерживаться с окончанием поддержки хрюсофта. То же самое с VeraCrypt, которую советуют там же некоторые товарищи. Где гарантии, что их не закроют через год, два и т.д.? Вот смотрите (предполагаемый вариант развития событий):

1 Всё хорошо, винт работает, вы копируете в облако контейнер, зашифрованный VeraCrypt. Дистрибутив не сохраняете.

2 Проходит несколько лет. Их конторку в результате каких то санкций прикрывают. Вы об этом даже не подозреваете.

3 Проходит несколько лет. Вы всё также копируете в облако контейнер, зашифрованный VeraCrypt. Бац, винт полетел. Вы скачиваете с облака зашифрованный контейнер. Ищете программу VeraCrypt в Интернете. А её либо нигде нет, либо её невозможно установить по причине, например, кончины сертификата, которым подписывается инсталлятор.

Как всё автоматизировать

Этот вопрос частично я оставляю за вами. Мне интересно ваше мнение. Я пробовал CryptSync с настройками синхронизации в каталог OneDrive. Но этот способ не подходит по причине шифрования всех файлов одним паролем. Можно сделать батник, генерирующий пароли с помощью OpenSSL и упаковывающий файлы по 7z архивам. Потом вызывать этот батник из GoodSync. Но тогда встаёт вопрос автоматического сохранения паролей в файл. Допустим файл находится в Keeper. Тогда нужно реализовать авторизацию.

Комментарии (32)


  1. aborouhin
    06.12.2021 18:19
    -1

    Шифрование каждого файла одним ключом увеличивает вероятность атаки открытого текста.

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

    А её либо нигде нет, либо её невозможно установить по причине, например, кончины сертификата

    Ну чтобы достаточно популярный open source продукт нельзя было так или иначе найти и установить через несколько лет - должен как минимум ядерный апокалипсис случиться (и даже от этого люди страхуются - гуглим Arctic Code Vault :) )


    1. NTDLL Автор
      06.12.2021 18:33
      -1

      Допустим архивируем 100 файлов, каждый в свой 7z архив под одним и тем же паролем. Берём зашифрованный архив и известный файл из Интернета. Далее в ход идёт брутфорс. Если пароль от архива подобран удачно, им же можно расшифровать и все остальные файлы. Всё зависит от качества пароля из которого генерируется ключ


      1. aborouhin
        06.12.2021 18:39

        Да принцип-то я знаю. И то, как от него защищаются, тоже, в общих чертах. Интересно на конкретном примере. Вот, скажем, у меня сейчас:

        • на ноуте Bitlocker с каким там он сейчас алгоритмом (шифровалось с нуля под Win11 недавно);

        • на сервере встроенное шифрование ZFS, aes-256-ccm;

        • для передачи в облако шифрование aes-256-cbc.

        Везде ключ один и тот же.

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

        Мне уже начитать бояться или можно пока спать спокойно? ;)


        1. NTDLL Автор
          06.12.2021 18:40
          -1

          Ну не знаю ххх


        1. dartraiden
          06.12.2021 18:50
          +1

          с каким там он сейчас алгоритмом

          AES-128-XTS для фиксированных накопителей и -CBC для съёмных. Через групповые политики можно форсировать -256-


        1. Daddy_Cool
          07.12.2021 02:33
          +1

          Слегка алармически правда,
          newdaynews.ru/technology/539941.html
          Я так понимаю, ключ у майков можно просто попросить если есть на то основания.


          1. aborouhin
            07.12.2021 02:53
            +1

            Предусмотреть в лицензионном соглашении что угодно - это одно, реально это делать - другое. Информации о случаях, когда ключи Bitlocker реально были бы получены от MS, хоть у нас, хоть в забугорье, я не находил, а такой прецедент явно привлёк бы внимание.

            Опция бекапа ключа в аккаунт MS прямо предусмотрена, и таки да, если я ей воспользуюсь, то, вероятно, этот ключ будет предоставлен по запросу соответствующих органов. Но я ей не пользуюсь и вообще пользуюсь локальной учёткой. Пока что пребываю в надежде, что этого достаточно :)

            P.S. В моей личной практике был случай, когда правоохранители расшифровали диск, зашифрованный Bitlocker. Всё было куда прозаичнее, без запросов в MS, бэкдоров и пр. Одному бизнесмену (бизнес малый, так что никаких централизованных систем) ноут настраивал доверенный IT-специалист. В т.ч. зашифровал диск, ключ сохранил на флэшку. Ввиду невысокой квалификации бизнесмена в компьютерных делах ключ восстановления этот специалист записал у себя, разумно подозревая, что пригодится.

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

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


    1. NTDLL Автор
      06.12.2021 18:38

      Зачем ключи от файлов хранить где-то отдельно? Ключи можно хранить зашифрованными на асимметричном ключе пользователя в заголовке самого файла. Именно так сделано в EFS.

      Так формат не позволяет так сделать


  1. Dzzzen
    06.12.2021 18:33

    поскольку рандомные ключи нужно хранить в отдельном файле

    Зачем ключи от файлов хранить где-то отдельно? Ключи можно хранить зашифрованными на асимметричном ключе пользователя в заголовке самого файла. Именно так сделано в EFS.

    Я пробовал CryptSync с настройками синхронизации в каталог OneDrive.

    Для Dropbox есть отличное решение - https://cryptomator.org/

    Преимущество облачного хранилища перед другими вариантами в том ...

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


    1. NTDLL Автор
      06.12.2021 19:04

      Я пробовал CryptSync

      Так CryptSync поддерживает упаковку в архивы 7z


  1. muxa_ru
    06.12.2021 18:48

    Авария в одном из дата-центров не подрывает сохранности данных.

    Было уже некоторое количество историй о том, что "облачное хранилище" размещалось в одном единственном дата-центре.


  1. Sergey-S-Kovalev
    06.12.2021 20:12
    +4

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

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

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


    1. AndreyDmitriev
      06.12.2021 20:25

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


    1. aborouhin
      06.12.2021 20:40
      +3

      Что обсуждать то?

      А вот весь тот большой и прекрасный мир, который расположился в промежутке между домохозяйками и большими корпорациями*, и обсуждать :) Когда данные уже более важные, чем 1001 фоточка любимого кота, но вся ИБ обеспечивается либо условным эникейщиком (часто приходящим) либо пользователем самостоятельно.

      Автор, конечно, местами правда усложняет, на что я попытался намекнуть в своём комментарии выше, но тема-то полезная, и популяризовать её надо.

      --

      *- да и в больших корпорациях ответственные за ИБ часто имеют очень наивную уверенность, что за пределы огороженного MDM, DLP и прочими аббревиатурами периметра у них муха не пролетит :)


    1. NTDLL Автор
      06.12.2021 20:43

      На облаке при авторизации двухфакторка.

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

      Если мне в линукс все данные понадобятся. Зачем дополнительно вытаскивать их из закриптованного битлокером раздела


      1. Sergey-S-Kovalev
        07.12.2021 05:56

        Слишком много "если", и ни одного ответа на "Зачем?".

        Чего Вы боитесь мистер Андерсон?


        1. NTDLL Автор
          07.12.2021 08:23

          Смысл — обеспечить беспроблемное восстановление в случае чего. Я вот сейчас заливаю в облако зашифрованные исходники своих программ, мало ли чего с винтом случится.
          А в случае чего я хочу быстро всё восстановить хоть в виндовс, хоть в линукс. И мне не нужно искать программу и поддерживаемую версию ОС, чтобы вытаскивать данные из какого то там контейнера. Мне не нужно искать потерявшиеся флешки, поскольку и файлы и пароли хранятся в облаке. У меня есть общепринятый формат, который понимает множество программ. А 7z в семёрке, он и в десятке 7z, и в линукс 7z


          1. Sergey-S-Kovalev
            07.12.2021 10:43
            +2

            А что случится, если Вы туда зальете не заархивированные исходники своих программ?


            1. NTDLL Автор
              07.12.2021 12:28
              -1

              Блин… конец света


          1. vlad-kras
            07.12.2021 11:01

            Смысл — обеспечить беспроблемное восстановление в случае чего.

            Можете подробнее рассказать про восстановление или "восстановление". Потому что учитывая вот этот фокус ...

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

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

            Как восстанавливаются файлы из MFT, при каких условиях это срабатывает?

            Много недосказанностей в статье.


            1. NTDLL Автор
              07.12.2021 12:05

              Не из хэша, а из MFT. Специально так сделал, чтобы файлы, содержащие пароли, находились в одной структуре для удобства поиска. В NTFS маленькие файлы хранятся прямо в MFT!
              Это я неосторожно вытащил флешку из компа и у меня полетела ФС. Восстанавливал вручную, чтобы не запороть окончательно.
              А проверял через Total Commander -> Проверить-CRC.
              Но статья в целом не об этом


    1. GospodinKolhoznik
      07.12.2021 07:43

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

      А где найти 416 рублей в год за ТБ?


      1. Sergey-S-Kovalev
        07.12.2021 08:02
        +2

        В черную пятницу Microsoft Office 365 для семьи (Электронная лицензия на 1 год) стоила на ОЗОНе 2499 рублей (при стандартной цене в магазинах в 3499 рублей). В этой лицензии может быть до 6ти пользователей, каждый из которых получает 1ТБ облачного диска, на сдачу там еще отсыпают актуальнейшую версию самого пакета Microsoft Office, и еще по мелочи.

        2499 рублей делите на 6 человек = 416,5 рублей на каждого.

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


        1. Anrikigai
          07.12.2021 08:26

          +100500. Отличное решение вопроса.

          А если 1TB мало, есть какие-то большие, но редко используемые архивы, можно их хранить в другом аккаунте той же семейной подписки (т.е. самостоятельно использовать 2-3 терабайта).

          Скажем, NAS бэкапить программно. Например, GoodSync умеет один набор директорий в OneDrive под одним аккаунтом, другой набор - под другим аккаунтом (в том числе шифруя локальным ключом). Наверняка и бесплатные синронизилки есть.


        1. GospodinKolhoznik
          07.12.2021 09:45

          Спасибо. А что можете сказать, например по поводу Amazon S3?

          3 Glacier Deep Archive обещают по 0,0018 $ за гигабайт в месяц, но я не совсем понял, там по видимому за каждое действие - загрузка или скачивание отдельно доплачивать придется. Ну и явно эти данные на ленте там хранятся, потому что ждать выгрузку своего архива надо будет 12 часов.


          1. Anrikigai
            07.12.2021 16:30
            +1

            У меня в свое время сложилось впечатление, что туда можно относительно дешево архивировать. Но восстановить оттуда выльется даже не в копеечку, а придется полновесно золотом отсыпать.

            Мои данные стоят дешевле. А то, что действительно ценнно (не восстанавливается типа типа видео с дитем) - то просто в разных местах раскидано. Но оно и статическое достаточно, апдейтов не требует. Какие-то копии в разных облаках, какие-то н адругой площадке, какие-то периодически переписываются (с DVD на винчестер и т.п.). Но такого мало.


  1. hungry_forester
    07.12.2021 12:31

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

    Во-вторых, шифрование как таковое является красной тряпкой для тех, кто может задать вопрос "что ты там шифруешь?" с последующим или параллельным применением термокриптоанализа и т.д.

    В-третьих, более или менее достаточно регулярно скидывать архив документов на пару недавно купленных внешних дисков (разных марок :), а также озаботиться бэкапом свежих "разработок" (впрочем, они обычно в почте болтаются)

    В-четвертых, шифрование от дурака вещь достаточно доступная, когда-то я полюблял TrueCrypt (однако см. пп. 1 и 2), потом тупо в Линуксе создавал шифрованные пользовательские разделы, потом наплевал на это дело - раньше архивный диск выйдет из строя, чем его украдут.

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

    В-шестых, необходимо работать вне доступа к [корпоративной] сети [через VPN]? Вот так прямо с сотнями тысяч файлов? Ну так если нет сети, некуда и бэкапить, не о чем разговаривать. Зашифруйте контейнер на винте. На бэкапных дисках не надо шифровать, их сами надо "зашифровать" в гермоконтейнер и закопать.


    1. NTDLL Автор
      07.12.2021 13:01

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

      И вы серьёзно этим руководствуетесь?


      1. Anrikigai
        07.12.2021 16:34

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

        Впрочем, даже и более свежие.

        Проекты. коды у простого человека - вряд ли что-то супер-пупер. Если организация пишет серьезный софт, так они не будут целиком проектом на одном ноуте лежать (не украсть).

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


        1. NTDLL Автор
          07.12.2021 17:54

          Сегодня только что видел, как ко мне в OneDrive кто то заходил и явно не с моего IP. Это при том, что я недавно заливал в облако зашифрованные исходники. Сейчас я вздыхаю с облегчением, слава богу, что зашифровал предварительно.
          Я не стал разводить сопли в статье, мало кому это нравится. Но вот в моём случае такова реальность
          Не верите, что я это не выдумал — я могу показать скриншот лога


          1. Anrikigai
            07.12.2021 18:21
            +1

            Круто


          1. Sergey-S-Kovalev
            08.12.2021 06:57

            Вопрос не в недоверии. Я знаю, что всему есть логическое объяснение. Это как если не учить физику и химию, то мир вокруг будет наполнен магией.

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

            Показывайте лог, мне реально интересно.