- Device Guard: Что это такое и как включить или отключить
- Ограничение на использование Device Guard
- Как включить и отключить Device Guard
- Ошибка несовместимости с Credential Guard сторонних виртуальных машин
- Отключить Windows Defender Credential Guard и Device Guard
- Включение безопасной загрузки, BitLocker и Device Guard в Windows 10 IoT базовая Enabling Secure Boot, BitLocker, and Device Guard on Windows 10 IoT Core
- Порядок загрузки Boot Order
- Блокировка устройств IoT Locking-down IoT Devices
- Безопасная загрузка платформы Platform Secure Boot
- Безопасная загрузка UEFI UEFI Secure Boot
- Целостность кода Windows Windows Code Integrity
- Шифрование устройства BitLocker BitLocker Device Encryption
- Device Guard в Windows IoT базовая Device Guard on Windows IoT Core
- Обеспечение безопасности на основе Интернета вещей Core Turnkey Security on IoT Core
- Предварительные требования Prerequisites
- Разработка устройств IoT Development IoT Devices
- Создать блокирующие пакеты Generate Lockdown Packages
- Тестирование пакетов блокировки Test Lockdown packages
- Создать образ блокировки Generate Lockdown image
- Разработка с включенным применением совместного проектирования Developing with CodeSigning Enforcement Enabled
- Разблокировка зашифрованных дисков Unlocking Encrypted Drives
- Отключение BitLocker Disabling BitLocker
Device Guard: Что это такое и как включить или отключить
Device Guard — использует виртуализацию для изоляции секретов и тем самым обеспечивает защиту от взлома. Это гарантирует, что только привилегированное системное программное обеспечение может получить доступ к таким данным как хэши паролей NTLM и учетные данные домена. Credential Guard создает виртуальный контейнер и хранит все важные данные в нем, что не позволяет получить доступ к этим токенам на уровне системы без специальных прав авторизации. Примечательно то, что Credential Guard можно развернуть на виртуальной машине как Hyper-V.
К примеру, если хакер взломал и получил доступ к Windows 10, то он мог получить и доступ к хэшу, который используется для шифрования учетных записей, так как хэш храниться в локальной ОЗУ без защиты. В Credential Guard хэш храниться в виртуальном контейнере, и даже, если система будет скомпрометирована, то хакер не получит доступ к этому хэшу.
Ограничение на использование Device Guard
- Поддержка виртуализации 64x битным процессором.
- Безопасная загрузка.
- Чип на материнской плате TPM версии 1.0 или 2.0.
- Включенный Hyper-V.
- Доступно в Windows 10 Education, Enterprise и Windows Server 2016.
В документации Microsoft вы можете обнаружить, что Credential Guard поддерживается в Windows 10, что означает Pro и Home. Я сам запутался, и дело в том, что документация не правильная и требует правок. На github есть обсуждение на эту тему, и функция Credential Guard как бы есть, но она не шифрует данные в виртуальном контейнере, т.е. она не работает. Обратите внимание на это сообщение и это .
Как включить и отключить Device Guard
В групповых политиках перейдите «Конфигурация компьютера» > «Административные шаблоны» > «Система» > «Device Guard» > справа выберите «Включить средство обеспечения безопасности на основе виртуализации«.
Ошибка несовместимости с Credential Guard сторонних виртуальных машин
Иногда, пользователи могут видеть ошибку «VMware Workstation и устройства Device/Credential Guard несовместимы. VMware Workstation можно запустить после отключения Device/Credential Guard» при использовании сторонних виртуальных машин как VirtualBox или VMware Workstation.
Способ 1. В этом случае нужно отключить несколько компонентов как Aplication Guard, Hyper-V и песочница Windows. Также, посмотрите не включен ли Credential Guard в групповых политиках, указанном выше способом.
Способ 2. Если выше способ не помог и виртуальные машины выдают ошибку на несовместимость Credential Guard, то откройте редактор реестра и перейдите по пути:
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity
- Нажмите два раза по Enabled и установите значение 0.
- Перезагрузите ПК.
Если после перезапуска Windows, ошибка появляется, то запустите командную строку от имени администратора и введите:
- bcdedit /set hypervisorlaunchtype off
Если хотите вернуть команду по умолчанию, то введите bcdedit /set hypervisorlaunchtype auto
Отключить Windows Defender Credential Guard и Device Guard
В последних обновлениях Windows 10 по умолчанию включен Windows Defender Credential Guard (Защитник Windows Защита учетной записи) и может получиться так, что ранее подготовленные виртуальные машины не запускаются в VMware Workstation или Hyper-V.
Не буду останавливаться на том, что это за технологии, т.к. цель данной заметки – просто и надежно отключить новый функуионал безопасности и тем самым исправить ошибку: “VMware Workstation and Device/Credential Guard are not compatible. VMware Workstation can be run after disabling Device/Credential Guard“.
При запуске несовместимой VM, появляется данное предупреждение и сразу же есть ссылка на официальный мануал по устранению этой проблемы. Там пошагово описан процесс включения и отключения Защиты учетной записи, но самый быстрый и безопасный вариант спрятан в самом конце заметки – что ж исправим ситуацию.
- Скачиваем официальны набор скриптов – Windows Defender Credential Guard hardware readiness tool – microsoft.com/en-us/download/details.aspx?id=53337 ;
- Распаковываем содержимое архива в удобную директорию;
- Запускаем Power Shell от имени администратора, переходим в папку с распакованным скриптом;
- Запускаем скрипт с нужными ключами (при необходимости подтверждаем выполнение операции – R).
В нашем примере используется ключ автоматической перезагрузки системы:
После перезагрузки можем как и прежде запускать виртуальные машины в VMware Workstation в нашей любимой Windows 10 😉
Нашли ошибку в тексте? Выделите фрагмент текста и нажмите Ctrl+Enter
Включение безопасной загрузки, BitLocker и Device Guard в Windows 10 IoT базовая Enabling Secure Boot, BitLocker, and Device Guard on Windows 10 IoT Core
Windows 10 IoT базовая включает в себя предложения функций безопасности, такие как безопасная Загрузка UEFI, шифрование устройств BitLocker и Device Guard. Windows 10 IoT Core includes security feature offerings such as UEFI Secure Boot, BitLocker Device Encryption and Device Guard. Они помогут сборщикам устройств создавать полностью заблокированные устройства Windows IoT, устойчивые к различным типам атак. These will assist device builders in creating fully locked down Windows IoT devices that are resilient to many different types of attacks. Вместе эти функции обеспечивают оптимальную защиту, которая гарантирует, что платформа будет запускаться определенным образом, одновременно заблокируя неизвестные двоичные файлы и защищая данные пользователя с помощью шифрования устройства. Together, these features provide the optimal protection that ensures that a platform will launch in a defined way, while locking out unknown binaries and protecting user data through the use of device encryption.
Порядок загрузки Boot Order
Чтобы углубиться в отдельные компоненты, предоставляющие безопасную платформу для устройства IoT, необходимо понимать порядок загрузки на устройстве Windows 10 IoT базовая. An understanding of the boot order on a Windows 10 IoT Core device is needed before we can delve into the individual components that provide a secure platform for the IoT device.
Существует три основных области, которые происходят при включении устройства Интернета вещей, вплоть до загрузки ядра ОС и выполнения установленного приложения. There are three main areas that occur from when an IoT device is powered on, all the way through to the OS kernel loading and execution of installed application.
- Безопасная загрузка платформы Platform Secure Boot
- Безопасная загрузка Единый интерфейс EFI (UEFI) Unified Extensible Firmware Interface (UEFI) Secure Boot
- Целостность кода Windows Windows Code Integrity
Дополнительные сведения о процессе загрузки Windows 10 можно найти здесь. Additional information on the Windows 10 boot process can be found here.
Блокировка устройств IoT Locking-down IoT Devices
Чтобы зафиксировать устройство Windows IoT, необходимо выполнить следующие рекомендации. In order to lockdown a Windows IoT device, the following considerations must be made.
Безопасная загрузка платформы Platform Secure Boot
При первом включении устройства первым шагом в общем процессе загрузки является загрузка и запуск загрузчиков загрузки встроенного по, который инициализирует оборудование на iOS и предоставляет возможности аварийной мигания. When the device is first powered on, the first step in the overall boot process is to load and run firmware boot loaders, which initialize the hardware on the devies and provide emergency flashing functionality. Затем среда UEFI загружается и управление передается. The UEFI environment is then loaded and control is handed over.
Эти загрузчики встроенного по являются специфичными для SoC, поэтому вам придется работать с соответствующим производителем устройства, чтобы эти загрузчики были созданы на устройстве. These firmware boot loaders are SoC-specific, so you will need to work with the appropriate device manufacturer to have these boot loaders created on the device.
Безопасная загрузка UEFI UEFI Secure Boot
Безопасная Загрузка UEFI является первой точкой применения политики и находится в UEFI. UEFI Secure Boot is the first policy enforcement point, and is located in UEFI. Она позволяет системе разрешать только выполнение двоичных файлов, подписанных указанными полномочиями, например драйверы встроенного по, ПЗУ, драйверы UEFI, приложения и загрузчик UEFI. It restricts the system to only allow execution of binaries signed by a specified authority, such as firmware drivers, option ROMs, UEFI drivers or applications, and UEFI boot loaders. Эта функция предотвращает выполнение неизвестного кода на платформе и защищает систему от потенциальных проблем с безопасностью. This feature prevents unknown code from being executed on the platform and potentially weakening the security posture of it. Безопасная загрузка снижает риск атак с помощью вредоносных программ, выполняемых при предварительной загрузке на устройство, например rootkit-программы. Secure Boot reduces the risk of pre-boot malware attacks to the device, such as rootkits.
Изготовителям оборудования необходимо хранить базы данных безопасной загрузки UEFI на устройстве IoT во время изготовления. As the OEM, you need to store the UEFI Secure Boot databases on the IoT device at manufacture time. К этим базам данных относятся база данных сигнатур (DB), Отозванная база данных сигнатуры (DBX) и база данных ключа регистрации ключа (KEK). These databases include the Signature database (db), Revoked Signature database (dbx), and the Key Enrollment Key database (KEK). Эти базы данных хранятся в энергонезависимом ОЗУ (NV-RAM) на встроенном устройстве. These databases are stored on the firmware nonvolatile RAM (NV-RAM) of the device.
База данных сигнатур (DB): Здесь перечислены хэши для входа или образы для загрузчиков операционных систем, приложений UEFI и драйверов UEFI, которые разрешено загружать на устройство. Signature Database (db): This lists the signers or image hashes of operating system loaders, UEFI applications, and UEFI drivers that are allowed to be loaded on the device
База данных отозванных подписей (DBX): Здесь перечислены хэши для входа или образы для загрузчиков операционных систем, приложений UEFI и драйверов UEFI, которые больше не являются доверенными и не могут быть загружены на устройстве. Revoked Signature Database (dbx): This lists the signers or image hashes of operating system loaders, UEFI applications and UEFI drivers that are no longer trusted, and are NOT allowed to be loaded on the device
База данных ключей регистрации ключей (KEK): Содержит список ключей подписывания, которые можно использовать для обновления подписей и отозванных баз данных сигнатур. Key Enrollment Key database (KEK): Contains a list of signing keys that can be used to update the signature and revoked signature databases.
После создания и добавления этих баз данных на устройство изготовитель оборудования блокирует редактирование встроенного по и создает ключ подписывания платформы (PK). Once these databases are created and added to the device, the OEM locks the firmware from editing, and generates a platform signing key (PK). Этот ключ можно использовать для подписывания обновлений KEK или для отключения безопасной загрузки UEFI. This key can be used to sign updates to the KEK or to disable UEFI Secure Boot.
Ниже приведены действия по безопасной загрузке UEFI. Here are the steps taken by UEFI Secure Boot:
- После включения устройства базы данных подписей проверяются по ключу подписывания платформы (PK). After the device is powered on, the signature databases are each checked against the platform signing key (PK).
- Если встроенное по не является доверенным, встроенное по UEFI запускает восстановление, зависящее от изготовителя оборудования, для восстановления доверенного встроенного по. If the firmware isn’t trusted, UEFI firmware initiates OEM-specific recovery to restore trusted firmware.
- Если не удается загрузить диспетчер загрузки Windows, встроенное по попытается загрузить резервную копию диспетчера загрузки Windows. If Windows Boot Manager cannot be loaded, the firmware will attempt to boot a backup copy of Windows Boot Manager. Если это также не удается, встроенное по UEFI инициирует исправление, зависящее от изготовителя оборудования. If this also fails, the UEFI firmware initiates OEM-specific remediation.
- Диспетчер загрузки Windows запускает и проверяет цифровую подпись ядра Windows. Windows Boot Manager runs and verifies the digital signature of the Windows Kernel. Если вы доверяете, диспетчер загрузки Windows передает управление ядру Windows. If trusted, Windows Boot Manager passes control to the Windows Kernel.
Дополнительные сведения о безопасной загрузке, а также рекомендации по созданию ключа и управлению см. здесь. Additional details on Secure Boot, along with key creation and management guidance, is available here.
Целостность кода Windows Windows Code Integrity
Целостность кода Windows (ВЦИ) повышает безопасность операционной системы, проверяя целостность драйвера или приложения при каждой загрузке в память. Windows Code Integrity (WCI) improves the security of the operating system by validating the integrity of a driver or application each time it is loaded into memory. CI содержит два основных компонента: целостность кода режима ядра (КМЦИ) и целостность кода пользовательского режима (УМЦИ). CI contains two main components — Kernel Mode Code Integrity (KMCI) and User Mode Code Integrity (UMCI).
Настраиваемая целостность кода (CCI) — это функция Windows 10, позволяющая сборщикам устройств блокировать устройство и разрешать его запуск и выполнение только подписанного и доверенного кода. Configurable Code Integrity (CCI) is a feature in Windows 10 that allows device builders to lockdown a device and only allow it to run and execute code that is signed and trusted. Для этого сборщики устройств могут создать политику целостности кода на «Золотой» устройстве (финальной версии оборудования и программного обеспечения), а затем защитить и применить эту политику на всех устройствах в цехе. To do so, device builders can create a code integrity policy on a ‘golden’ device (final release version of hardware and software) and then secure and apply this policy on all devices on the factory floor.
Дополнительные сведения о развертывании политик целостности кода, аудите и применении см. впоследней документации TechNet. To learn more about deploying code integrity policies, auditing and enforcement, check out the latest technet documentation here.
Ниже приведены действия, выполняемые функцией целостности кода Windows. Here are the steps taken by Windows Code Integrity:
- Ядро Windows будет проверять все остальные компоненты на соответствие базе данных сигнатур перед загрузкой. Windows Kernel will verify all other components against the signature database before loading. Сюда входят драйверы, файлы запуска и ELAM (ранний запуск антивредоносной программы). This includes drivers, startup files, and ELAM (Early Launch Anti-Malware).
- Ядро Windows загрузит доверенные компоненты в процессе запуска и запрещает загрузку ненадежных компонентов. Windows Kernel will load the trusted components in the startup process, and prohibit loading of the untrusted components.
- Операционная система Windows 10 IoT базовая загружается вместе с любыми установленными приложениями. Windows 10 IoT Core operating system loads, along with any installed applications.
Шифрование устройства BitLocker BitLocker Device Encryption
Windows 10 IoT базовая также реализует упрощенную версию шифрования устройств BitLocker, защищая устройства IoT от автономных атак. Windows 10 IoT Core also implements a lightweight version of BitLocker Device Encryption, protecting IoT devices against offline attacks. Эта возможность имеет строгую зависимость от наличия доверенного платформенного модуля на платформе, включая необходимый протокол предварительной версии в UEFI, который выполняет необходимые измерения. This capability has a strong dependency on the presence of a TPM on the platform, including the necessary pre-OS protocol in UEFI that conducts the necessary measurements. Эти измерения, предшествующие ОС, гарантируют, что операционная система будет иметь более точную информацию о том, как была запущена ОС. Однако он не применяет никаких ограничений на выполнение. These pre-OS measurements ensure that the OS later has a definitive record of how the OS was launched; however, it does not enforce any execution restrictions.
Функции BitLocker в Windows 10 IoT Базовая обеспечивает автоматическое шифрование тома ОС на основе NTFS при привязке всех доступных томов данных NTFS к нему. BitLocker functionality on Windows 10 IoT Core allows for automatic encryption of NTFS-based OS volume while binding all available NTFS data volumes to it. Для этого необходимо убедиться, что для GUID тома ЕФИЕСП задано значение C12A7328-F81F-11d2-BA4B-00A0C93EC93B. For this, it’s necessary to ensure that the EFIESP volume GUID is set to C12A7328-F81F-11D2-BA4B-00A0C93EC93B.
Device Guard в Windows IoT базовая Device Guard on Windows IoT Core
Большинство устройств IoT основаны на устройствах с фиксированной функцией. Most IoT devices are built as fixed-function devices. Это означает, что сборщики устройств точно узнают, какое встроенное по, операционную систему, драйверы и приложения должны выполняться на определенном устройстве. This implies that device builders know exactly which firmware, operating system, drivers, and applications should be running on a given device. В свою очередь, эти сведения можно использовать для полного блокирования устройства IoT, разрешая только выполнение известного и надежного кода. In turn, this information can be used to fully lockdown an IoT device by only allowing execution of known and trusted code. Device Guard в Windows 10 IoT базовая помогает защитить устройства IoT, гарантируя, что неизвестный или недоверенный исполняемый код нельзя запустить на заблокированных устройствах. Device Guard on Windows 10 IoT Core can help protect IoT devices by ensuring that unknown or untrusted executable code cannot be run on locked-down devices.
Обеспечение безопасности на основе Интернета вещей Core Turnkey Security on IoT Core
Чтобы упростить включение ключевых функций безопасности на устройствах Интернета вещей, корпорация Майкрософт предоставляет готовый пакет безопасности , позволяющий построителям устройств создавать полностью заблокированные устройства IOT. To facilitate easy enablement of key security features on IoT Core devices, Microsoft is providing a Turnkey Security Package that allows device builders to build fully locked down IoT devices. Этот пакет поможет вам: This package will help with:
- Подготовка защищенных загрузочных ключей и включение функции на поддерживаемых платформах IoT Provisioning Secure Boot keys and enabling the feature on supported IoT platforms
- Настройка и Настройка шифрования устройств с помощью BitLocker Setup and configuration of device encryption using BitLocker
- Запуск блокировки устройства для разрешения выполнения только подписанных приложений и драйверов Initiating device lockdown to only allow execution of signed applications and drivers
Следующие шаги позволят создать образ блокировки с помощью пакета безопасности с подготовкой The following steps will lead through the process to create a lockdown image using the Turnkey Security Package
Предварительные требования Prerequisites
- КОМПЬЮТЕР под управлением Windows 10 Корпоративная (другие версии Windows не поддерживаются предоставленными сценариями) A PC running Windows 10 Enterprise (other Windows versions are not supported by the provided scripts)
- Пакет SDK для Windows 10 — требуется для создания сертификата Windows 10 SDK — Required for Certificate Generation
- Windows 10 ADK — требуется для создания CAB-файла Windows 10 ADK — Required for CAB generation
- Эталонная платформа. для окончательного закрытия потребуется выпуск оборудования с поставкой встроенного по, ОС, драйверов и приложений Reference platform — release hardware with shipping firmware, OS, drivers, and applications will be required for final lockdown
Разработка устройств IoT Development IoT Devices
Windows 10 IoT базовая работает с различными полупроводниковыми устройствами, которые используются на сотнях устройств. Windows 10 IoT Core works with various silicons that are utilized in hundreds of devices. Из предложенных устройств для разработки IOTниже предоставляются встроенные функциональные возможности TPM, а также безопасная загрузка, измеряемая Загрузка, BitLocker и Device Guard. Of the suggested IoT development devices, the following provide firmware TPM functionality out of the box, along with Secure Boot, Measured Boot, BitLocker, and Device Guard capabilities:
Адаптер Qualcomm Драгонбоард 410c Qualcomm DragonBoard 410c
Чтобы включить безопасную загрузку, может потребоваться выполнить инициализацию РПМБ. In order to enable Secure Boot, it may be necessary to provision RPMB. После того как ЕММК будет включен в Windows 10 IoT Core (в соответствии с инструкциями в этой статье, нажмите [Power] + [vol +] + [vol-] одновременно на устройстве при включении питания и выберите «подготавливать рпмб» в меню «БДС». Once the eMMC has been flashed with Windows 10 IoT Core (as per instructions here, press [Power] + [Vol+] + [Vol-] simultaneously on the device when powering up and select «Provision RPMB» from the BDS menu. Обратите внимание, что это необратимый шаг. Please note that this is an irreversible step.
Intel Минновбоардмакс Intel MinnowBoardMax
Версия встроенного по для MinnowBoard Intel должна быть 0,82 или выше (получите последнюю версию встроенного по). For Intel’s MinnowBoard Max, firmware version must be 0.82 or higher (get the latest firmware). Чтобы включить возможности доверенного платформенного модуля, включите поддержку TPM с помощью клавиатуры & дисплей и нажмите клавишу F2, чтобы войти в программу установки UEFI. To enable TPM capabilities, power up board with a keyboard & display attached and press F2 to enter UEFI setup. Перейдите в раздел Device Manager-> установка системы — > конфигурация безопасности — > PTT и установите для нее значение _ _. Go to Device Manager -> System Setup -> Security Configuration -> PTT and set it to . Нажмите клавишу F10, чтобы сохранить изменения и продолжить перезагрузку платформы. Press F10 to save changes and proceed with a reboot of the platform.
Raspberry Pi 2 и 3 не поддерживают TPM, поэтому мы не можем настроить сценарии блокировки. Raspberry Pi 2 nor 3 do not support TPM and so we cannot configure Lockdown scenarios.
Создать блокирующие пакеты Generate Lockdown Packages
Скачайте пакет скриптов девицелоккдовн , который содержит все дополнительные средства и сценарии, необходимые для настройки и блокировки устройств. Download the DeviceLockDown Script package, which contains all of the additional tools and scripts required for configuring and locking down devices
Запустите консоль администрирования PowerShell (PS) на компьютере с Windows 10 и перейдите к расположению скачанного скрипта. Start an Administrative PowerShell (PS) console on your Windows 10 PC and navigate to the location of the downloaded script.
Подключите эталонную аппаратную платформу (запустив незаблокированный образ) к компьютеру через сетевую папку с помощью Mount your reference hardware platform (running the unlocked image) to your PC via network share using
Создание ключей для устройства с помощью Generate keys for your device using
- Ключи и сертификаты создаются в указанной выходной папке с соответствующим суффиксом. The keys and certificates are generated in the specified output folder with appropriate suffix.
- Защитите созданные ключи , так как устройство будет доверять двоичным файлам, подписанным с помощью этих ключей, только после блокировки. Secure your generated keys as the device will trust binaries signed with these keys only after lockdown.
- Вы можете пропустить этот шаг и использовать предварительно созданные ключи только для тестирования You may skip this step and use the pre-generated keys for testing only
Настройка settings.xml Configure settings.xml
- Раздел «Общие». Указание каталогов пакетов General section : Specify the package directories
- Раздел Tools: Указание пути для средств Tools section : Set the path for the tools
- Windows10KitsRoot (e.g. C:\Program Files (x86)\Windows Kits\10\ ) Windows10KitsRoot (e.g. C:\Program Files (x86)\Windows Kits\10\ )
- виндовссдкверсион (e.g. 10.0.15063.0 ) WindowsSDKVersion (e.g. 10.0.15063.0 )
- Версия пакета SDK, установленная на компьютере, находится в папке C:\Program Files (x86)\Windows Kits\10\ SDK version installed on your machine is under C:\Program Files (x86)\Windows Kits\10\
- Раздел безопасной загрузки. Укажите, какие ключи следует использовать для безопасной загрузки (ключи PK и SB). SecureBoot section : Specify which keys to use for secure boot (PK and SB keys)
- Раздел BitLocker: Указание сертификата для восстановления данных BitLocker (ключ DRA) BitLocker section : Specify a certificate for BitLocker data recovery (DRA key)
- Раздел Сиполици. Указание сертификатов, которые должны быть доверенными SIPolicy section : Specify certs that should be trusted
- Сканпас: путь к устройству для сканирования двоичных файлов, \\a.b.c.d\C$ ScanPath : Path of the device for scanning binaries , \\a.b.c.d\C$
- Обновление: подписавшие Сиполици (ключи Паус) Update : Signer of the SIPolicy (PAUTH keys)
- Пользователь: сертификаты пользовательского режима (ключи УМЦИ) User : User mode certificates (UMCI keys)
- Ядро: сертификаты режима ядра (ключи КМЦИ) Kernel : Kernel mode certificates (KMCI keys)
- Упаковка: укажите параметры для создания пакета. Packaging : Specify the settings for the package generation
Чтобы помочь в тестировании во время первоначального цикла разработки, корпорация Майкрософт предоставила вам соответствующие ключи и сертификаты. In order to assist with testing during the initial development cycle, Microsoft has provided pre-generated keys and certificates where appropriate. Это означает, что Microsoft Test, разработка и предварительные версии двоичных файлов считаются доверенными. This implies that Microsoft Test, Development and Pre-Release binaries are considered trusted. Во время окончательного создания продукта и создания образа обязательно удалите эти цертифкатес и используйте собственные ключи, чтобы убедиться, что устройство полностью заблокировано. During final product creation and image generation, be sure to remove these certifcates and use your own keys to ensure a fully locked down device.
- Выполните следующие команды, чтобы создать необходимые пакеты: Execute the following commands to generate required packages:
Тестирование пакетов блокировки Test Lockdown packages
Чтобы проверить созданные пакеты, вручную установите их на незаблокированном устройстве, выполнив следующие действия. You can test the generated packages by manually installing them on a unlocked device by the following steps
Flash устройство с разблокированным образом (изображение, используемое для сканирования на предыдущем шаге). Flash the device with the unlocked image (image used for scanning in earlier step).
Подключение к устройству (с помощью SSH или с помощью PowerShell) Connect to the device (using SSH or using PowerShell)
Скопируйте следующие CAB-файлы на устройство в каталоге, например c:\OemInstall Copy the following .cab files to the device under a directory e.g. c:\OemInstall
- OEM.Custom.Cmd.cab OEM.Custom.Cmd.cab
- OEM.Security.BitLocker.cab OEM.Security.BitLocker.cab
- OEM.Security.SecureBoot.cab OEM.Security.SecureBoot.cab
- OEM.Security.DeviceGuard.cab OEM.Security.DeviceGuard.cab
Запустите промежуточное хранение созданных пакетов, выполнив следующие команды. Initiate staging of the generated packages by issuing the following commands
Если вы используете пользовательский образ, вам придется пропустить этот файл и вручную изменить его на c:\windows\system32\oemcustomization.cmd содержимое, доступное в Output\OEMCustomization\OEMCustomization.cmd файле If you are using custom image, then you will have to skip this file and manually edit the c:\windows\system32\oemcustomization.cmd with the contents available in Output\OEMCustomization\OEMCustomization.cmd file
Finally, commit the packages via
Устройство будет перезагружено в ОС обновления (с отображением шестеренки) для установки пакетов и будет снова перезагружено в основную ОС. The device will reboot into update OS (showing gears) to install the packages and will reboot again to main OS. После повторной загрузки устройства в Маинос безопасная загрузка будет включена, а Сиполици будет задействована. Once the device reboots back into MainOS, Secure Boot will be enabled and SIPolicy should be engaged.
Перезагрузите устройство еще раз, чтобы активировать шифрование BitLocker. Reboot the device again to activate the BitLocker encryption.
Тестирование функций безопасности Test the security features
- Безопасной загрузки: повторите попытку bcdedit /debug on получить сообщение о том, что значение защищено политикой безопасной загрузки SecureBoot: try bcdedit /debug on , you will get an error stating that the value is protected by secure boot policy
- BitLocker: Run start /wait sectask.exe -waitencryptcomplete:1 , если ERRORLEVEL имеет значение -2147023436 (ERROR_TIMEOUT), а шифрование не завершено. BitLocker: Run start /wait sectask.exe -waitencryptcomplete:1 , if ERRORLEVEL is -2147023436 (ERROR_TIMEOUT) then encryption is not complete. При запуске sectask.exe из CMD-файла пропустите start /wait . When running sectask.exe from a .cmd file omit the start /wait .
- Девицегуард: запустите любой неподписанный двоичный файл или двоичный файл, подписанный сертификатом, которого нет в списке Сиполици, и убедитесь, что он не работает. DeviceGuard : Run any unsigned binary or a binary signed with certificate not in the SIPolicy list and confirm that it fails to run.
Создать образ блокировки Generate Lockdown image
После проверки того, что заблокированные пакеты работают в соответствии с заданными ранее параметрами, эти пакеты можно включить в образ, выполнив приведенные ниже действия. After validating that the lockdown packages are working as per the settings defined earlier, you can then include these packages into the image by following the below given steps. Инструкции по созданию пользовательских образов см. в статье о производстве IOT . Read the IoT manufacturing guide for custom image creation instructions.
В каталоге рабочей области обновите следующие файлы из созданного выходного каталога выше. In the workspace directory, update the following files from the generated output directory above
- Безопасной загрузки Copy ..\Output\SecureBoot\*.bin ..\Workspace\Common\Packages\Security.SecureBoot SecureBoot : Copy ..\Output\SecureBoot\*.bin ..\Workspace\Common\Packages\Security.SecureBoot
- SetVariable_db. bin SetVariable_db.bin
- SetVariable_kek. bin SetVariable_kek.bin
- SetVariable_pk. bin SetVariable_pk.bin
- Диска Copy ..\Output\Bitlocker\*.* ..\Workspace\Common\Packages\Security.Bitlocker BitLocker : Copy ..\Output\Bitlocker\*.* ..\Workspace\Common\Packages\Security.Bitlocker
- DETask.xml DETask.xml
- Security.Bitlocker.wm.xml Security.Bitlocker.wm.xml
- Setup. BitLocker. cmd setup.bitlocker.cmd
- Девицегуард: Copy ..\Output\DeviceGuard\*.* ..\Workspace\Common\Packages\Security.DeviceGuard DeviceGuard : Copy ..\Output\DeviceGuard\*.* ..\Workspace\Common\Packages\Security.DeviceGuard
- Сиполицион. p7b SIPolicyOn.p7b
- Сиполициофф. p7b SIPolicyOff.p7b
Добавление RetailOEMInput.xml и TestOEMInput.xml в каталоге ProductName с ИДЕНТИФИКАТОРом функции пакета блокировки Add RetailOEMInput.xml and TestOEMInput.xml under the ProductName directory with lockdown package feature ID
- SEC_BITLOCKER
- SEC_SECUREBOOT
- SEC_DEVICEGUARD
Повторно создать изображение Re-generate Image
- buildpkg all (при этом создаются новые блокирующие пакеты на основе файлов политики выше). buildpkg all (this generates new lockdown packages based on above policy files)
- buildimage ProductName test(or)retail (это приведет к созданию нового Flash. ФФУ) buildimage ProductName test(or)retail (this generates new Flash.ffu)
Устройство Flash с этой новой Flash. ФФУ и проверить функции безопасности. Flash the device with this new Flash.ffu and validate the security features.
См. секуресампле в качестве примера конфигурации dragonной доски. See SecureSample as an example of a lockdown dragon board configuration.
Кроме того, вы можете создать пакеты безопасности в самой оболочке Иоткоре. Дополнительные сведения см. в разделе Добавление пакетов безопасности . Alternatively, you can generate the security packages in the IoTCore Shell itself, see adding security packages for the details.
Разработка с включенным применением совместного проектирования Developing with CodeSigning Enforcement Enabled
После создания и блокировки пакетов все двоичные файлы, появившиеся в образе во время разработки, должны быть подписаны соответствующим образом. Once the packages are generated and lockdown is activated, any binaries introduced into the image during development will need to be signed appropriately. Убедитесь, что двоичные файлы пользовательского режима подписаны с помощью ключа .\кэйс\ * * *-умЦи. pfx. Ensure that your user-mode binaries are signed with the key .\Keys\ ***-UMCI.pfx. Для подписывания режима ядра, например для драйверов, необходимо указать собственные ключи подписывания и убедиться, что они также включены в Сиполици выше. For kernel-mode signing, such as for drivers, you’ll need to specify your own signing keys and make sure that they are also included in the SIPolicy above.
Разблокировка зашифрованных дисков Unlocking Encrypted Drives
При разработке и тестировании при попытке чтения содержимого с зашифрованного устройства в автономном режиме (например, SD-карты для Минновбоардмакс или ЕММК Драгонбоард в режиме массового хранения USB) программа «DiskPart» может использоваться для назначения буквы диска Маинос и объема данных (предположим, что используется v: для Маинос и w: для данных). During development and testing, when attempting to read contents from an encrypted device offline (e.g. SD card for MinnowBoardMax or DragonBoard’s eMMC through USB mass storage mode), ‘diskpart’ may be used to assign a drive letter to MainOS and Data volume (let’s assume v: for MainOS and w: for Data). Тома будут заблокированы и должны быть разблокированы вручную. The volumes will appear locked and need to be manually unlocked. Это можно сделать на любом компьютере, на котором установлен сертификат ОЕМ-дра. pfx (включен в Пример девицелоккдовн). This can be done on any machine that has the OEM-DRA.pfx certificate installed (included in the DeviceLockDown sample). Установите PFX-файл и выполните следующие команды в командной строке администратора: Install the PFX and then run the following commands from an administrative CMD prompt:
- manage-bde -unlock v: -cert -cf OEM-DRA.cer
- manage-bde -unlock w: -cert -cf OEM-DRA.cer
Если содержимое должно часто использоваться в автономном режиме, для томов после первоначального разблокировки можно настроить автоматическое разблокирование BitLocker с помощью следующих команд: If the contents need to be frequently accessed offline, BitLocker autounlock can be set up for the volumes after the initial unlock using the following commands:
- manage-bde -autounlock v: -enable
- manage-bde -autounlock w: -enable
Отключение BitLocker Disabling BitLocker
Если возникает необходимость временно отключить BitLocker, инициировать сеанс PowerShell с устройством Интернета вещей и выполнить следующую команду: sectask.exe -disable . Should there arise a need to temporarily disable BitLocker, initate a remote PowerShell session with your IoT device and run the following command: sectask.exe -disable .
Шифрование устройства будет снова включено при следующей загрузке устройства, если не будет отключена задача по расписанию. Device encryption will be re-enabled on subsequent device boot unless the scheduled encryption task is disabled.