- Изменение метки объекта Modify an object label
- Справочные материалы Reference
- Возможные значения Possible values
- Рекомендации Best practices
- Location Location
- Значения по умолчанию Default values
- Управление политикой Policy management
- Групповая политика Group Policy
- Вопросы безопасности Security considerations
- Уязвимость Vulnerability
- Противодействие Countermeasure
- Возможное влияние Potential impact
- File Security and Access Rights
Изменение метки объекта Modify an object label
Область применения Applies to
В этой статье описываются лучшие методики, расположение, значения, **** управление политиками и вопросы безопасности, которые следует учитывать при изменении параметра политики безопасности меток объектов. Describes the best practices, location, values, policy management, and security considerations for the Modify an object label security policy setting.
Справочные материалы Reference
Эта привилегия определяет, какие учетные записи пользователей могут изменять метку целостности объектов, таких как файлы, ключи реестра или процессы, которые принадлежат другим пользователям. This privilege determines which user accounts can modify the integrity label of objects, such as files, registry keys, or processes owned by other users. Процессы, работающие под учетной записью пользователя, могут изменять метку объекта, владельцем который является этот пользователь, на более низкий уровень без этой привилегии. Processes running under a user account can modify the label of an object owned by that user to a lower level without this privilege.
Метка целостности используется функцией контроля целостности Windows (WIC), которая была представлена в Windows Server 2008 и Windows Vista. The integrity label is used by the Windows Integrity Controls (WIC) feature, which was introduced in Windows Server 2008 and Windows Vista. WIC не позволяет процессам с более низкой целостностью изменять процессы высокой целостности, назначая одну из шести возможных меток объектам в системе. WIC keeps lower integrity processes from modifying higher integrity processes by assigning one of six possible labels to objects on the system. Хотя подобно разрешениям файлов и папок NTFS, которые являются дискреционными средствами контроля над объектами, уровни целостности WIC являются обязательными средствами контроля, которые применяются операционной системой. Although similar to NTFS file and folder permissions, which are discretionary controls on objects, the WIC integrity levels are mandatory controls that are put in place and enforced by the operating system. В следующем списке описываются уровни целостности от самого низкого до самого высокого: The following list describes the integrity levels from lowest to highest:
- Неверная Назначение по умолчанию для процессов, которые вошли в систему анонимно. Untrusted Default assignment for processes that are logged on anonymously.
- Низкий Назначение по умолчанию для процессов, взаимодействующих с Интернетом. Low Default assignment for processes that interact with the Internet.
- Средний Назначение по умолчанию для стандартных учетных записей пользователей и любого объекта, который явно не назначен с более низким или более высоким уровнем целостности. Medium Default assignment for standard user accounts and any object that is not explicitly designated with a lower or higher integrity level.
- Высокая Назначение по умолчанию для учетных записей администраторов и процессов, которые запрашивают запуск с использованием прав администратора. High Default assignment for administrator accounts and processes that request to run using administrative rights.
- Система Назначение по умолчанию для ядра Windows и основных служб. System Default assignment for Windows kernel and core services.
- Установщик Используется программами установки для установки программного обеспечения. Installer Used by setup programs to install software. Важно, чтобы на компьютерах было установлено только доверенного программного обеспечения, так как объекты, для уровня целостности установщика могут устанавливать, изменять и удалить все остальные объекты. It is important that only trusted software is installed on computers because objects that are assigned the Installer integrity level can install, modify, and uninstall all other objects.
Константа: SeRelabelPrivilege Constant: SeRelabelPrivilege
Возможные значения Possible values
- Определяемый пользователей список учетных записей User-defined list of accounts
- Не определено Not Defined
Рекомендации Best practices
- Не делайте этого пользователя правой для какой-либо группы. Do not give any group this user right.
Location Location
Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment
Значения по умолчанию Default values
По умолчанию этот параметр не определен на контроллерах домена и на автономных серверах. By default this setting is Not defined on domain controllers and on stand-alone servers.
В следующей таблице перечислены фактические и эффективные значения политики по умолчанию для последних поддерживаемых версий Windows. The following table lists the actual and effective default policy values for the most recent supported versions of Windows. Значения по умолчанию также можно найти на странице свойств политики. Default values are also listed on the policy’s property page.
Тип сервера или объект групповой политики Server type or GPO | Значение по умолчанию Default value |
---|---|
Default Domain Policy Default Domain Policy | Не определено Not defined |
Политика контроллера домена по умолчанию Default Domain Controller Policy | Не определено Not defined |
Параметры по умолчанию для автономного сервера Stand-Alone Server Default Settings | Не определено Not defined |
Действующие параметры по умолчанию для контроллера домена Domain Controller Effective Default Settings | Не определено Not defined |
Действующие параметры по умолчанию для рядового сервера Member Server Effective Default Settings | Не определено Not defined |
Действующие параметры по умолчанию для клиентского компьютера Client Computer Effective Default Settings | Не определено Not defined |
Управление политикой Policy management
В этом разделе описаны компоненты, средства и рекомендации, которые помогут в управлении этой политикой. This section describes features, tools, and guidance to help you manage this policy.
Для активации этого параметра политики не требуется перезагрузка компьютера. A restart of the computer is not required for this policy setting to be effective.
Изменения прав пользователя вступают в силу при его следующем входе в учетную запись. Any change to the user rights assignment for an account becomes effective the next time the owner of the account logs on.
Групповая политика Group Policy
Параметры применяются в следующем порядке с помощью объекта групповой политики (GPO), который будет перезаписывать параметры на локальном компьютере при следующем обновлении групповой политики: Settings are applied in the following order through a Group Policy Object (GPO), which will overwrite settings on the local computer at the next Group Policy update:
- Параметры локальной политики Local policy settings
- Параметры политики сайта Site policy settings
- Параметры политики домена Domain policy settings
- Параметры политики подразделения OU policy settings
Если локальный параметр затеняется, это означает, что в настоящее время этот параметр контролируется GPO. When a local setting is greyed out, it indicates that a GPO currently controls that setting.
Вопросы безопасности Security considerations
В этом разделе описывается, каким образом злоумышленник может использовать компонент или его конфигурацию, как реализовать меры противодействия, а также рассматриваются возможные отрицательные последствия их реализации. This section describes how an attacker might exploit a feature or its configuration, how to implement the countermeasure, and the possible negative consequences of countermeasure implementation.
Уязвимость Vulnerability
Любой пользователь **** с правом на изменение метки объекта может изменить уровень целостности файла или процесса, чтобы повысить или уменьшить его до такой точки, когда его можно удалить с помощью процессов с более низкой целостностью. Anyone with the Modify an object label user right can change the integrity level of a file or process so that it becomes elevated or decreased to a point where it can be deleted by lower integrity processes. В любом из этих штатов эффективно обойти защиту, которая предоставляется средствами контроля целостности Windows, и делает систему уязвимой для атак вредоносных программ. Either of these states effectively circumvents the protection that is offered by Windows Integrity Controls and makes your system vulnerable to attacks by malicious software.
Если вредоносное ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ имеет повышенный уровень целостности, такой как доверенный установщик или система, учетные записи администратора не имеют достаточных уровней целостности для удаления программы из системы. If malicious software is set with an elevated integrity level such as Trusted Installer or System, administrator accounts do not have sufficient integrity levels to delete the program from the system. В этом случае право **** на изменение метки объекта является обязательной, чтобы объект можно было перенаметить. In that case, use of the Modify an object label right is mandated so that the object can be relabeled. Однако перенаметка должна происходить с помощью процесса, который находится на том же или более высоком уровне целостности, чем объект, который вы пытается перенаметить. However, the relabeling must occur by using a process that is at the same or a higher level of integrity than the object that you are attempting to relabel.
Противодействие Countermeasure
Не делайте никаких групп этим правом. Do not give any group this right. При необходимости реализуйте его в течение ограниченного периода времени для доверенного лица в ответ на определенные организационные потребности. If necessary, implement it for a constrained period of time to a trusted individual to respond to a specific organizational need.
Возможное влияние Potential impact
Нет. None. Конфигурация по умолчанию не определена. Not defined is the default configuration.
File Security and Access Rights
Because files are securable objects, access to them is regulated by the access-control model that governs access to all other securable objects in Windows. For a detailed explanation of this model, see Access Control.
You can specify a security descriptor for a file or directory when you call the CreateFile, CreateDirectory, or CreateDirectoryEx function. If you specify NULL for the lpSecurityAttributes parameter, the file or directory gets a default security descriptor. The access control lists (ACL) in the default security descriptor for a file or directory are inherited from its parent directory. Note that a default security descriptor is assigned only when a file or directory is newly created, and not when it is renamed or moved.
To retrieve the security descriptor of a file or directory object, call the GetNamedSecurityInfo or GetSecurityInfo function. To change the security descriptor of a file or directory object, call the SetNamedSecurityInfo or SetSecurityInfo function.
The valid access rights for files and directories include the DELETE, READ_CONTROL, WRITE_DAC, WRITE_OWNER, and SYNCHRONIZE standard access rights. The table in File Access Rights Constants lists the access rights that are specific to files and directories.
Although the SYNCHRONIZE access right is defined within the standard access rights list as the right to specify a file handle in one of the wait functions, when using asynchronous file I/O operations you should wait on the event handle contained in a properly configured OVERLAPPED structure rather than using the file handle with the SYNCHRONIZE access right for synchronization.
The following are the generic access rights for files and directories.
Access right | Description |
---|---|
FILE_GENERIC_EXECUTE | FILE_EXECUTE FILE_READ_ATTRIBUTES STANDARD_RIGHTS_EXECUTE SYNCHRONIZE |
FILE_GENERIC_READ | FILE_READ_ATTRIBUTES FILE_READ_DATA FILE_READ_EA STANDARD_RIGHTS_READ SYNCHRONIZE |
FILE_GENERIC_WRITE | FILE_APPEND_DATA FILE_WRITE_ATTRIBUTES FILE_WRITE_DATA FILE_WRITE_EA STANDARD_RIGHTS_WRITE SYNCHRONIZE |
Windows compares the requested access rights and the information in the thread’s access token with the information in the file or directory object’s security descriptor. If the comparison does not prohibit all of the requested access rights from being granted, a handle to the object is returned to the thread and the access rights are granted. For more information about this process, see Interaction between Threads and Securable Objects.
By default, authorization for access to a file or directory is controlled strictly by the ACLs in the security descriptor associated with that file or directory. In particular, the security descriptor of a parent directory is not used to control access to any child file or directory. The FILE_TRAVERSE access right can be enforced by removing the BYPASS_TRAVERSE_CHECKING privilege from users. This is not recommended in the general case, as many programs do not correctly handle directory traversal errors. The primary use for the FILE_TRAVERSE access right on directories is to enable conformance to certain IEEE and ISO POSIX standards when interoperability with Unix systems is a requirement.
The Windows security model provides a way for a child directory to inherit, or to be prevented from inheriting, one or more of the ACEs in the parent directory’s security descriptor. Each ACE contains information that determines how it can be inherited, and whether it will have an effect on the inheriting directory object. For example, some inherited ACEs control access to the inherited directory object, and these are called effective ACEs. All other ACEs are called inherit-only ACEs.
The Windows security model also enforces the automatic inheritance of ACEs to child objects according to the ACE inheritance rules. This automatic inheritance, along with the inheritance information in each ACE, determines how security restrictions are passed down the directory hierarchy.
Note that you cannot use an access-denied ACE to deny only GENERIC_READ or only GENERIC_WRITE access to a file. This is because for file objects, the generic mappings for both GENERIC_READ or GENERIC_WRITE include the SYNCHRONIZE access right. If an ACE denies GENERIC_WRITE access to a trustee, and the trustee requests GENERIC_READ access, the request will fail because the request implicitly includes SYNCHRONIZE access which is implicitly denied by the ACE, and vice versa. Instead of using access-denied ACEs, use access-allowed ACEs to explicitly allow the permitted access rights.
Another means of managing access to storage objects is encryption. The implementation of file system encryption in Windows is the Encrypted File System, or EFS. EFS encrypts only files and not directories. The advantage of encryption is that it provides additional protection to files that is applied on the media and not through the file system and the standard Windows access control architecture. For more information on file encryption, see File Encryption.
In most cases, the ability to read and write the security settings of a file or directory object is restricted to kernel-mode processes. Clearly, you would not want any user process to be able to change the ownership or access restriction on your private file or directory. However, a backup application would not be able to complete its job of backing up your file if the access restrictions you have placed on your file or directory does not allow the application’s user-mode process to read it. Backup applications must be able to override the security settings of file and directory objects to ensure a complete backup. Similarly, if a backup application attempts to write a backup copy of your file over the disk-resident copy, and you explicitly deny write privileges to the backup application process, the restore operation cannot complete. In this case also, the backup application must be able to override the access control settings of your file.
The SE_BACKUP_NAME and SE_RESTORE_NAME access privileges were specifically created to provide this ability to backup applications. If these privileges have been granted and enabled in the access token of the backup application process, it can then call CreateFile to open your file or directory for backup, specifying the standard READ_CONTROL access right as the value of the dwDesiredAccess parameter. However, to identify the calling process as a backup process, the call to CreateFile must include the FILE_FLAG_BACKUP_SEMANTICS flag in the dwFlagsAndAttributes parameter. The full syntax of the function call is the following:
This will allow the backup application process to open your file and override the standard security checking. To restore your file, the backup application would use the following CreateFile call syntax when opening your file to be written.
There are situations when a backup application must be able to change the access control settings of a file or directory. An example is when the access control settings of the disk-resident copy of a file or directory is different from the backup copy. This would happen if these settings were changed after the file or directory was backed up, or if it was corrupted.
The FILE_FLAG_BACKUP_SEMANTICS flag specified in the call to CreateFile gives the backup application process permission to read the access-control settings of the file or directory. With this permission, the backup application process can then call GetKernelObjectSecurity and SetKernelObjectSecurity to read and than reset the access-control settings.
If a backup application must have access to the system-level access control settings, the ACCESS_SYSTEM_SECURITY flag must be specified in the dwDesiredAccess parameter value passed to CreateFile.
Backup applications call BackupRead to read the files and directories specified for the restore operation, and BackupWrite to write them.