Дерево страниц

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 5 Следующий »

В данной статье рассматривается использование так называемых "дисков с самошифрованием" и связанные с этим вопросы идентификации пользователей для предоставления доступа к данным.

В данной статье рассматривается использование так называемых "дисков с самошифрованием" и связанные с этим вопросы идентификации пользователей для предоставления доступа к данным.

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

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


Данная статья применима к:

  • ОС ОН Орёл 2.12
  • ОС СН Смоленск 1.6
  • ОС СН Смоленс 8.1 (в части ATA Security)

Накопители данных с "самошифрованием"

Аппаратное защитное преобразование данных на накопителях данных ("самошифруемый диск", в английской литературе применяются термины FDE, Full-Drive Encription или Self-Encrypting Drive, SED, являющиеся синонимами) предоставляется сейчас многими производителями накопителей данных, и позиционируется как общее решение для защиты данных от несанкционированного доступа, в том числе и данных, хранящихся на твердотельных накопителях. В таких устройствах защитное преобразование данных выполняется специализированными встроенными в контроллер устройства микросхемами  "на лету", и все данные на устройстве хранятся преобразованном виде.
Декларируются следующие возможности таких устройств:

  • использование устойчивых к взлому алгоритмов преобразования AES 128 бит / AES 256 бит;
  • невозможность извлечение ключей шифрования из устройства;
  • возможность мгновенного  "удаления" всех хранящихся данных простой заменой внутреннего ключа, после чего все данные становтся не подлежащими восстановлению;

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

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

    • ATA Security - встроенная болкировка/деблокировка накопителя с помощью задаваемого пользователем пароля, передаваемого через команды интерфейса ATA. Поддерживается большинством накопителей, и никак не привязана к наличию или отсутствию в накопителе встроенного преобразования данных;

    • TCG OPAL - решение , предусматривающее установку на накопитель предзагрузочного ПО, запускающегося при первом включении устройства для инициализации параметров безопасности, и, далее, при каждом включении устройства, для идентификации пользователя и разблокировки устройства;

Данные технологии идентификации несовместимы с режимами пониженного энергопотребления компьютеров, при которых обесточиваются подключенные периферийные устройства (S3 («Suspend to RAM» (STR) в BIOS, «Ждущий режим» («Standby») ).

АTA Security

Установка ПО и проверка соответствия оборудования

Для проверки параметров накопителя выполняется инструментом командной строки hdparm, входящим в пакет hdparm. Пакет доступен в дистрибутиве/репозитории ОС ОН Орёл 2.12 и в дистрибутивах ОС СН Смоленск 1.6 и ОС СН Ленинград 8.1.
Установить пакет можно их графического менеджера пакетов или из командной строки

sudo apt install hdparm
Подробные параметры накопителя выводятся командой (пример для накопителя /dev/sda):
sudo hdparm -I /dev/sda
Пример полного вывода команды:


$ sudo hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media
        Model Number: TOSHIBA HDWD110
        Serial Number: X7HW1XWFS
        Firmware Revision: MS2OA8J0
        Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0; Revision: ATA8-AST T13 Project D1697 Revision 0b
Standards:
        Used: unknown (minor revision code 0x0029)
        Supported: 8 7 6 5
        Likely used: 8
Configuration:
        Logical max current
        cylinders 16383 16383
        heads 16 16
        sectors/track 63 63
        --
        CHS current addressable sectors: 16514064
        LBA user addressable sectors: 268435455
        LBA48 user addressable sectors: 1953525168
        Logical Sector size: 512 bytes
        Physical Sector size: 4096 bytes
        Logical Sector-0 offset: 0 bytes
        device size with M = 1024*1024: 953869 MBytes
        device size with M = 1000*1000: 1000204 MBytes (1000 GB)
        cache/buffer size = unknown
        Form Factor: 3.5 inch
        Nominal Media Rotation Rate: 7200
Capabilities:
        LBA, IORDY(can be disabled)
        Queue depth: 32
        Standby timer values: spec'd by Standard, no device specific minimum
        R/W multiple sector transfer: Max = 16 Current = 16
        Advanced power management level: disabled
        DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
        Cycle time: min=120ns recommended=120ns
        PIO: pio0 pio1 pio2 pio3 pio4
        Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
        Enabled Supported:
                * SMART feature set
                  Security Mode feature set
                * Power Management feature set
                * Write cache
                * Look-ahead
                * Host Protected Area feature set
                * WRITE_BUFFER command
                * READ_BUFFER command
                * NOP cmd
                * DOWNLOAD_MICROCODE
                  Advanced Power Management feature set
                  Power-Up In Standby feature set
                * SET_FEATURES required to spinup after power up
                  SET_MAX security extension
                * 48-bit Address feature set
                * Device Configuration Overlay feature set
                * Mandatory FLUSH_CACHE
                * FLUSH_CACHE_EXT
                * SMART error logging
                * SMART self-test
                  Media Card Pass-Through
                * General Purpose Logging feature set
                * WRITE_{DMA|MULTIPLE}_FUA_EXT
                * 64-bit World wide name
                * URG for READ_STREAM[_DMA]_EXT
                * URG for WRITE_STREAM[_DMA]_EXT
                * WRITE_UNCORRECTABLE_EXT command
                * {READ,WRITE}_DMA_EXT_GPL commands
                * Segmented DOWNLOAD_MICROCODE
                  unknown 119[7]
                * Gen1 signaling speed (1.5Gb/s)
                * Gen2 signaling speed (3.0Gb/s)
                * Gen3 signaling speed (6.0Gb/s)
                * Native Command Queueing (NCQ)
                * Host-initiated interface power management
                * Phy event counters
                * NCQ priority information
                  Non-Zero buffer offsets in DMA Setup FIS
                * DMA Setup Auto-Activate optimization
                  Device-initiated interface power management
                 In-order data delivery
                * Software settings preservation
                * SMART Command Transport (SCT) feature set
                * SCT Write Same (AC2)
                * SCT Error Recovery Control (AC3)
                * SCT Features Control (AC4)
                * SCT Data Tables (AC5)
Security:
        Master password revision code = 65534
                  supported
              not enabled
              not locked
                  frozen
              not expired: security count
              not supported: enhanced erase
              156min for SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: 5000039fd3cc4d45
        NAA : 5
        IEEE OUI : 000039
        Unique ID : fd3cc4d45
Checksum: correct

Информация о поддерживаемых параметрах безопасности ATA Security содержится в секции "Security":


...

Security:
        Master password revision code = 65534
                  supported
              not enabled
              not locked
                  frozen
              not expired: security count
              not supported: enhanced erase
              156min for SECURITY ERASE UNIT.

....

В приведённом примере указано, что поддерживается защита по парольному доступу ("Master password ... suported"), которая на момент регистрации параметров накопителя отключена ("not enabled").

Установка пароля

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

Установка пароля выполняется командой (в примере - установка пароля 12345678 на устройство /dev/sdb) :

sudo hdparm --user-master u --security-set-pass 12345678 /dev/sdb

Разблокировка

После подключение

Отключение блокировки

TCG OPAL

Установка ПО и проверка соответствия оборудования

Включение блокировки

Разблокировка

Выключение блокировки

Программное обеспечение для реализации режима защиты данных FDE не является сертифицированным решением, и не входит в репозитории и дистрибутивы ОС Astra Linux.

Для работы, поддерживающего этот режим,  требуется разрешить использование специальных служебных команд  ATA (TPM) в параметрах ядра (точнее, в параметрах входящей в ядро библиотеки libata).
По умолчанию использование этих команд запрещено, и, как указано в документации к библиотеке libata, разрешение этих команд

"... обеспечивает по сути неконтролируемый зашифрованный "черный ход" между приложениями и диском. Устанавливайте libata.allow_tpm = 1, только если вы имеете для этого реальную причину...".

Использование ПО требует привилегий суперпользователя.

Для того, чтобы проверить, поддерживает ли имеющееся оборудование технологию защиты данных FDE, нужно скачать и установить ПО sedutil.

ПО sedutil свободно доступно по ссылке https://github.com/Drive-Trust-Alliance/exec/blob/master/sedutil_LINUX.tgz?raw=true и скачать его можно командой:

wget https://github.com/Drive-Trust-Alliance/exec/blob/master/sedutil_LINUX.tgz?raw=true -O sedutil_LINUX.tgz
После загрузки в текущем каталоге будет создан архив sedutil_LINUX.tgz, который нужно распаковать:
tar xzf sedutil_LINUX.tgz
После распаковки в текущем каталоге будет создан подкаталог sedutil, содержащий описания программы и инструменты командной строки для разных аппаратных платформ.

Так как ОС Astra Linux является 64-х битной, нужно будет использовать вариант инструмента

sedutil/Release_x86_64/GNU-Linux/sedutil-cli.

Для проверки возможностей накопителя (накопителей) следует:

  1. Разрешить использование служебных команд ATA. Для этого:

    1. добавить в файл /etc/default/grub в строку параметров загрузчика параметр libata.allow_tpm=1, например:

      GRUB_CMDLINE_LINUX_DEFAULT="quiet net.ifnames=0 libata.allow_tpm=1"
    2. Выполнить команду обновления загрузчика:

      sudo update-grub

    3. Перезагрузить компьютер

      Способ временно (до перезагрузки) разрешить использование служебных команд ATA  без перезагрузки компьютера, указанный в документации на ПО, использовать не удалось:

      sudo -i
      chmod 0744 /sys/module/libata/parameters/allow_tpm
      echo "1" > /sys/module/libata/parameters/allow_tpm
      exit

  2. Подключить накопитель (накопители) к компьютеру;

  3. Выполнить команду сканирования

    sudo sedutil-cli --scan

    Примерный вывод команды:


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

  • Crucial MX100
  • Crucial MX200
  • Crucial MX300
  • Intel 320
  • Intel 520
  • Samsung 840 EVO
  • Samsung 850 EVO
  • Samsung xxx PRO
  • Samsung T3
  • Samsung T5

Включение защиты


Уязвимости

Уязвимость "сохранение питания"

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

Скомпрометированное встроенное ПО

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


  • Нет меток