Дырявые диски. Эксплуатируем уязвимости в сетевых хранилищах Synology

Защита данных, приватность и соответствие нормам безопасного хранения информации — то, над чем работают практически все производители средств хранения информации. И если в корпоративном сегменте все более-менее хорошо, то рекламным лозунгам «безопасное шифрование AES-256» в накопителях, нацеленных на домашний сегмент, безусловно верить не стоит.

Эта статья открывает новую большую тему: шифрование данных на внешних дисках и сетевых хранилищах. Откровенно наплевательские реализации защиты, дырявые схемы хранения ключей, генераторы случайных чисел, выдающие один из 255 прошитых в систему вариантов, — это самое малое из того, с чем нам довелось столкнуться во время исследования. Начнем с самой, пожалуй, популярной марки сетевых хранилищ — моделей компании Synology.

 

Шифрование в сетевых накопителях (NAS)

Конкуренция среди производителей сетевых хранилищ для домашних пользователей и офисов огромна. Здесь и модели Western Digital, привлекающие нулевой или отрицательной ценой (NAS со встроенным диском стоит дешевле такого же диска отдельно), и признанные гранды QNAP и Synology, которые берут мощной программной частью и длительной поддержкой, и выступающие с переменным успехом Asustor и Drobo, и даже экзотические для нас Terra Master и Thecus. В большинстве моделей этих производителей предусмотрено шифрование, позволяющее защитить пользовательские данные.

 

Шифрование в Synology

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

Практически во всех NAS, в которых вообще есть возможность зашифровать данные, используется либо защита всего накопителя целиком (аппаратное шифрование SED — Self-Encrypting Disk — на уровне контроллера SATA), либо шифрование тома, расположенного как на одном диске, так и на массиве RAID. В части моделей (например, QNAP) можно активировать оба способа — и это позволяет избежать некоторых очевидных атак.

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

Шифрование реализовано средствами стандартной для Linux файловой системы eCryptFS, о которой можно почитать, например, здесь или здесь. В сравнении с методами шифрования, основанными на защите целых томов, у такого пофайлового шифрования есть и достоинства, и недостатки.

В достоинства мы запишем следующее:

  • Поскольку шифруются отдельные сетевые папки, не имеет абсолютно никакого значения, на каком из внутренних физических или логических накопителей они расположены.
  • Каждый пользователь может зашифровать свою папку своим собственным паролем. Таким образом обеспечивается защита между отдельными пользователями.
  • Стандартная реализация шифрования позволяет просто скопировать зашифрованную папку, к примеру на другой накопитель, — и данные останутся надежно зашифрованными. При этом смонтировать и расшифровать такую папку легко получится стандартными же средствами на любом компьютере с Linux.
  • Шифруются как сами данные, так и имена папок и файлов.
  • Если у пофайлового шифрования столько достоинств, почему все остальные производители предпочитают шифровать целые тома? К сожалению, недостатки eCryptFS способны серьезно ограничить шифрование или даже сделать его невозможным.

    Основное и самое неприятное ограничение eCryptFS — на длину имен файлов. В имени файла в зашифрованной папке не может быть больше 143 символов ANSI или 47 символов иероглифической записи.

    Следующее ограничение напрямую касается безопасности зашифрованных данных, и оно более чем серьезно. В рамках реализации eCryptFS разработчики Synology не предусмотрели такой простой вещи, как разделение ключей шифрования данных MEK (Media Encryption Key) и ключей шифрования ключа KEK (Key Encryption Key). В результате тот пароль, который пользователь задает при создании зашифрованной папки, и служит тем самым ключом шифрования данных — MEK. Не говоря даже о том, что энтропия заданного домашним пользователем или офисным работником пароля, как правило, существенно меньше 256 бит, что позволяет создать очень быструю и эффективную атаку.

    Источник: xakep.ru

    Ответить

    Ваш адрес email не будет опубликован. Обязательные поля помечены *