Welcome to Microsoft Q&A!
Thank you for describing the security requirement so precisely.
The central conclusion of the previous answer is reasonable, but several details need to be qualified carefully.
In short: BindSecurityDescriptor and ConnectSecurityDescriptor are documented as security descriptors associated with HvSocket service configuration for host-side bind and connect authorization in an HCS-managed compute system. The available documentation does not establish them as per-process security controls inside the guest, nor does it document an equivalent mechanism for applying these descriptors to an ordinary VMMS-managed Hyper-V VM.
1. Host-side versus guest-side enforcement
Microsoft's HCS model represents compute systems created through HCS as VMs or containers, and Hyper-V sockets are among the resources configured as part of that model.
This is separate from general Hyper-V Socket support. Make your own integration services documents AF_HYPERV on Windows, AF_VSOCK for supported Linux guests, and the supported Bind(), Connect(), Listen(), Accept(), Send(), and socket operations. It also documents VM-ID and Service-ID addressing and the available VM-ID wildcards.
However, the documentation does not describe a guest-side equivalent of the HCS bind/connect security descriptors. Therefore, the available public documentation does not establish a supported per-process guest security boundary in which the guest OS or Hyper-V is guaranteed to reject an unauthorized guest process's direct AF_HYPERV or AF_VSOCK operation.
This distinction is important. It does not prove that no additional implementation behavior exists internally. It means that such behavior should not be relied upon as a documented security contract.
2. Evaluated token and access rights
The exact Windows token and authorization details used by HvSocket are not publicly documented at the level required for this architecture decision.
Windows itself distinguishes between a process primary token and a thread impersonation token, and an impersonation token can be supplied to Windows access-check functions. However, that general Windows authorization behavior does not establish which token HvSocket chooses when evaluating these particular descriptors.
Similarly, the reviewed documentation does not define the HvSocket-specific security-object type, generic-rights mapping, minimum access mask, or a separate documented bind-versus-connect access right.
For that reason, I would avoid depending on a specific token type, AccessCheck sequence, or SDDL rights mask unless those details are confirmed by the Hyper-V/HCS product team.
There is also an important distinction concerning HcsModifyComputeSystem. Its optional identity parameter is documented as an access token used when applying the compute-system settings. That documentation does not say that this identity becomes the token subsequently evaluated for runtime HvSocket bind or connect authorization.
3. Supported compute systems and versions
HCS itself provides functionality for starting and controlling VMs and containers, and a computer system represents a VM or container created through the HCS API.
HcsCreateComputeSystem accepts a configuration containing mutually exclusive Container, VirtualMachine, or HostedSystem properties. The API has a documented minimum of Windows 10 version 1809 and Windows Server 2019.
General Hyper-V Socket support is broader. These two support statements should not be combined into a single matrix. General Hyper-V Socket availability does not establish that every supported Hyper-V Socket host/guest combination supports every HCS-specific security property.
Therefore, the conservative position is that the HCS schema provides the configuration model for HCS scenarios, while the reviewed documentation does not provide a complete build-by-build, guest-by-guest, and isolation-mode support matrix for these particular security descriptors.
4. Endpoint ownership and wildcard behavior
I would also avoid treating these security descriptors as an endpoint-ownership or endpoint-reservation mechanism.
The general Hyper-V Socket documentation confirms that AF_HYPERV endpoints use VM IDs and Service IDs and describes several VM-ID wildcards, including wildcard/zero, children, loopback, and parent addressing.
What it does not provide is a documented security guarantee covering endpoint squatting, racing between multiple otherwise authorized processes, duplicate-bind semantics in every configuration, or TCP/IP options such as SO_EXCLUSIVEADDRUSE for AF_HYPERV.
Accordingly, wildcard behavior should be considered separately from service-specific authorization and should not be assumed to inherit security semantics that Microsoft has not documented.
5. Nonadministrator host receiver
Creating a new Hyper-V Socket service registration in the host registry requires the registration procedure to be run as administrator.
It is useful to separate that administrative provisioning step from subsequent endpoint use. However, the public available documentation does not provide a complete least-privilege recipe for a nonadministrator HvSocket receiver or define a minimum HvSocket-specific SDDL access mask.
For that reason, although testing with a dedicated nonadministrator service identity is appropriate, I would not state that a particular set of minimum rights is officially supported without confirmation from the product team.
6. Descriptor changes and existing sockets
The public documentation reviewed here also does not define retroactive revocation semantics for established HvSocket connections, listening sockets, outstanding operations, or inherited or duplicated socket handles.
HcsModifyComputeSystem documents which resource paths can be modified and how the optional identity is used during modification, but its published resource-path list does not identify an HvSocket ACL resource path.
Therefore, it would be too strong to say that changing a descriptor either definitely revokes existing sockets or definitely affects only subsequent operations. Neither behavior is established by the cited public contract.
For a security architecture requiring immediate revocation, existing endpoints and handles should therefore not be assumed to have been revoked merely because a descriptor changed.
7. Effective-policy verification
There also does not appear to be a documented HCS interface for asking, in effect, "what is the effective HvSocket ACL for this service, and would principal X be allowed?"
HcsGetServiceProperties documents query for basic HCS information, CPU groups, processor topology, Container Credential Guard, and QoS capabilities. An effective HvSocket security descriptor or per-principal authorization result is not among its documented result types.
Likewise, HcsGetComputeSystemProperties provides the documented mechanism for retrieving compute-system properties, but its documentation does not establish an effective HvSocket ACL inspection operation.
Positive and negative bind()/connect() testing under representative identities can therefore be useful for validating behavior on a particular Windows build, but such testing should be treated as empirical validation rather than as a substitute for a documented security contract.
8. Ordinary VMMS-managed Hyper-V VMs
This is another area where it is important not to mix the HCS and VMMS management models.
For VMMS, Msvm_GuestCommunicationServiceSettingData class exposes the service GUID through Name and the enabled, disabled, or deferred state through EnabledStatePolicy. It does not expose BindSecurityDescriptor or ConnectSecurityDescriptor.
HCS, by contrast, describes compute systems created and controlled using HCS APIs.
Based on the reviewed documentation, there is therefore no documented VMMS/WMI interface shown here that maps an ordinary VM's Guest Communication Service configuration to these HCS bind/connect descriptors.
There is also not establish a supported procedure for taking an ordinary VMMS-owned VM and retrofitting these HCS-specific descriptors onto it.
9. Final assessment
For the specific security requirement in the question, I would summarize the supportability position as follows:
-
BindSecurityDescriptoris the documented mechanism relevant to host-side bind authorization for the configured HCSHvSocketservice, whileConnectSecurityDescriptorprovides the corresponding host-side connect control. - For guest-process exclusion, however, the available Microsoft documentation does not identify an equivalent supported per-process
HvSocketsecurity mechanism. - The exact token evaluated, access-mask mapping, minimum rights for a nonadministrator receiver, endpoint-ownership guarantees, wildcard-policy interaction, and retroactive revocation behavior are not publicly specified at the level necessary to make them security guarantees.
- Similarly, the documented VMMS
Msvm_GuestCommunicationServiceSettingDatasurface exposes service identity and enablement state, but not these HCS security descriptors.
So, for a design whose mandatory requirement is "Windows must deny an unauthorized guest process's direct Hyper-V Socket operation", I would not treat the currently published documentation as establishing that security boundary.
Because that distinction is essential to your architecture, the safest next step would be to open a Microsoft Support case and request confirmation from the Hyper-V/HCS product team for the exact Windows host build, guest type, compute-system type, and security scenario. That would allow any implementation-specific behavior that is not part of the public contract to be confirmed authoritatively rather than inferred.
I hope this helps clarify what can safely be concluded from the current documentation.
References: Make your own integration services | Microsoft Learn
Impersonation Tokens - Win32 apps | Microsoft Learn
Host Compute System Overview | Microsoft Learn
HcsCreateComputeSystem | Microsoft Learn
HcsModifyComputeSystem | Microsoft Learn
Msvm_GuestCommunicationServiceSettingData class - Win32 apps | Microsoft Learn
HcsGetServiceProperties | Microsoft Learn
HcsGetComputeSystemProperties | Microsoft Learn
If you find it useful, please click Accept Answer.
Thank you for choosing Microsoft Q&A.