Содержание статьи
В недавно вышедшем обновлении DSM 7.2 разработчики Synology добавили зашифрованные тома в дополнение к существующему методу шифрования сетевых папок. Новый для Synology способ шифрования более универсален и работает быстрее использовавшегося ранее, но не обошлось и без ложки дегтя, которая делает такой способ защиты данных практически бесполезным.
Несколько лет назад я писал об особенностях защиты данных в сетевых хранилищах разных производителей. В NAS от Synology применялось шифрование сетевых папок с использованием стандартной для Linux криптографической файловой системы eCryptFS. Кроме того, что с таким подходом связано множество ограничений и неудобств, управление ключами шифрования было реализовано прямолинейно и небезопасно. Если пользователь включал автоматическое монтирование сетевых папок, то ключи шифрования, сохраненные на самом устройстве либо на внешнем USB-накопителе, защищались фиксированным известным паролем, что делало защиту неэффективной.
В новой версии операционной системы Synology DSM 7.2 появилось долгожданное шифрование на уровне тома. По утверждениям разработчиков, новый способ защиты данных работает быстрее механизма шифрования сетевых папок и при этом избавился от присущих пофайловому шифрованию ограничений. В то же время механизм управления ключами снова реализован так, что на большинстве устройств реальная защищенность данных оказывается далека от желаемой.
Развитие событий
Пока мы готовили статью к публикации, произошел ряд интересных вещей.
В течение восьми часов после выхода DSM 7.2 защиту, обеспечиваемую шифрованием тома с обязательным хранением ключей на том же диске, удалось обойти. Для этого достаточно смонтировать в Linux системный раздел DSM (он хранится в незашифрованном и неподписанном виде в зеркальном RAID на всех установленных в NAS дисках) и отредактировать несколько текстовых файлов. Подробности — в треде на Reddit.
В скобках заметим, что и внешний KMIP-сервер от этой атаки не спасет, если в процессе загрузки NAS этот сервер окажется доступен, а автоматическое монтирование тома — включено.
Между написанием и публикацией этой статьи разработчики Synology успели выпустить два обновления DSM 7.2, в последнем из которых проблема со сторонними KMIP-серверами была исправлена. Подробно о работе KMIP в Synology рассказано в публикации на Reddit, а скачать работоспособный опенсорсный KMIP-сервер можно из репозитория на GitHub.
Шифрование в Synology: как было
Если ты хочешь в деталях ознакомиться с методом шифрования сетевых папок, механизмом управления ключами в Synology DSM и узнать о выявленной в нем уязвимости, порекомендую статью «Дырявые диски. Эксплуатируем уязвимости в сетевых хранилищах Synology». Добавлю только, что с тех пор никаких изменений в механизме хранения ключей не произошло и пользователи, которые включили автоматическую разблокировку сетевых папок, до сих пор подвергают зашифрованные данные риску. Здесь же я хочу кратко описать основные достоинства и недостатки eCryptFS — криптографической файловой системы, которую выбрали разработчики Synology DSM для защиты сетевых папок.
Вот список достоинств шифрования на уровне сетевых папок:
- Поскольку шифруются отдельные сетевые папки, не имеет значения, на каком из внутренних физических или логических накопителей они расположены (а вот зашифровать таким образом USB-накопитель пользователю не удастся).
- Каждая сетевая папка может быть зашифрована уникальным паролем. Если пользователей несколько, каждый может использовать собственный пароль.
- Содержимое зашифрованной папки можно просто скопировать на другой накопитель, и данные останутся зашифрованными. Необходимости вводить (или даже знать) пароль шифрования нет, так что резервное копирование как на локальные, так и на удаленные системы можно проводить без монтирования (и расшифровки) сетевых папок.
- eCryptFS защищает как данные, так и имена файлов и папок (последнее — небесплатно).
Несмотря на все достоинства, у шифрования сетевых папок есть ряд существенных недостатков:
- Ограничение на длину имен файлов. В имени файла в зашифрованной папке не может быть больше 143 символов ANSI или 47 символов иероглифической записи. Это прямое следствие шифрования имен файлов и папок.
- Несмотря на то что имена файлов и папок шифруются, общая структура данных остается доступной внешнему наблюдателю, включая размеры и атрибуты отдельных файлов и папок.
- Заметно страдает скорость доступа к данным, особенно если речь идет о множестве мелких файлов.
- Разработчики Synology не предусмотрели разделения ключей шифрования на первичные и вторичные. Для шифрования данных используется ключ, получаемый напрямую из пароля, который вводит пользователь. Как следствие — невозможно отозвать скомпрометированный пароль или изменить пароль шифрования (расшифровку всего массива данных с его последующим шифрованием другим паролем мы не рассматриваем, как максимально неэффективный способ потратить время).
- Наконец, механизм управления ключами шифрования Synology, хоть и не является частью eCryptFS, позволяет расшифровать содержимое устройства, если пользователь включит функцию автоматического монтирования зашифрованных папок.
Обрати пристальное внимание на пункт 5: данные зашифрованных сетевых папок уязвимы, если пользователь активирует необязательную функцию автоматического монтирования. Если же он не станет этого делать, а то и вовсе решит не сохранять пароль шифрования ни на самом устройстве, ни на внешнем USB-накопителе, то для расшифровки защищенных сетевых папок потребуется атака перебором паролей, что совершенно не гарантирует результата, если был выбран длинный и сложный пароль. Это очень важный момент: механизм управления ключами в новом способе шифрования Synology претерпел кардинальные изменения, но, увы, не в пользу усиления безопасности.
Шифрование дисков: новое в DSM 7.2
В недавно вышедшей версии DSM 7.2 появилась возможность шифрования тома — volume encryption. Используется стандартный механизм LUKS в режиме aes-xts-plain64.
Включить шифрование можно только на вновь создаваемых томах. Зашифровать данные на уже имеющемся томе нельзя.
При включении шифрования тома система предложит пользователю сохранить резервный ключ, с помощью которого том можно будет расшифровать, если что‑то случится с основной системой. Забегая вперед, скажу, что ранее выданные резервные ключи можно отозвать, сгенерировав новый ключ (в этом случае ранее выданный ключ перестанет работать).
Важный момент: по умолчанию ключ к зашифрованному тому сохраняется на том же устройстве, на котором создается сам зашифрованный том. Это позволяет системе автоматически монтировать зашифрованные тома при загрузке NAS. Не сохранять ключ, равно как и отказаться от автоматического монтирования тома при загрузке, нельзя: единственная альтернатива — использовать внешний KMIP-сервер, в роли которого на данный момент может выступать только другой NAS от Synology (как это работает, можно узнать в документации производителя).
Запишем в блокнотик: в бета‑версиях DSM 7.2 была возможность использовать KMIP-серверы сторонней разработки (кстати, сами разработчики Synology как раз и используют один из вариантов с открытым исходным кодом). В релизе DSM 7.2 эту возможность убрали, на мой взгляд — совершенно напрасно с точки зрения безопасности данных, но очень правильно с точки зрения маркетинга (возможность продать дополнительное устройство Synology из свежей линейки — только такие поддерживают нужные для организации KMIP-сервера функции).
Таким образом, получаем два возможных варианта хранения ключей — и оба небезопасны:
- Ключ к зашифрованному тому хранится на локальном устройстве. В этом случае мы имеем дело с классическим security through obscurity: в документации Synology нет информации о том, где именно хранится ключ шифрования, и это — единственное, что может не остановить, но замедлить злоумышленника, получившего физический доступ к устройству.
- Ключ хранится на другом устройстве Synology: в этом случае злоумышленнику придется получить физический доступ уже к двум устройствам и повозиться с расшифровкой ключа шифрования, который хранится на втором девайсе. И если второе устройство Synology, выполняющее роль KMIP-сервера, находится в той же или соседней комнате, что и устройство с зашифрованным томом, то полагаться на него для защиты пляжных фото в купальнике, наверное, можно, а вот без такового, пожалуй, не стоит. И хотя безопасность KMIP — тема отдельная и довольно обширная, физическая недоступность KMIP-сервера для злоумышленника — один из ключевых моментов в обеспечении безопасного хранения ключей. В скобках отметим: KMIP-сервер может хранить ключи как на обычных, так и на зашифрованных томах.
Совместное использование шифрования тома и сетевых папок
Мне было интересно узнать, получится ли создать зашифрованную сетевую папку на зашифрованном томе. Оказалось, что никаких препятствий к этому нет: шифрование тома полностью прозрачно; на зашифрованных томах можно создавать и использовать как зашифрованные, так и незашифрованные сетевые папки. Можно как реплицировать на зашифрованные тома снимки (снапшоты) зашифрованных на другом NAS сетевых папок, так и проделывать то же самое в обратную сторону. Короче говоря, шифрование тома целиком и полностью прозрачно.
Таким образом, в DSM 7.2 доступны следующие варианты защиты данных:
- Только шифрование тома.
- Только шифрование сетевых папок.
- Зашифрованные сетевые папки на зашифрованном томе.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»