Consentire la registrazione di oggetti COM in un criterio di controllo applicazione Windows Defender

Si applica a:

  • Windows 10
  • WindowsServer 2016
  • WindowsServer 2019

Importante

Alcune informazioni sono relative a un prodotto non definitivo che potrebbe subire modifiche sostanziali prima del rilascio sul mercato. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.

Microsoft Component Object Model (com) è un sistema indipendente dalla piattaforma, distribuito, orientato agli oggetti per la creazione di componenti software binari che possono interagire. COM specifica un modello a oggetti e i requisiti di programmazione che consentono agli oggetti COM di interagire con altri oggetti.

Configurabilità degli oggetti COM nei criteri di WDAC

Prima dell'aggiornamento a Windows 10 1903, Windows Defender Application Control (WDAC) ha applicato un elenco di Consenti predefinito per la registrazione di oggetti COM. Mentre questo meccanismo funziona per la maggior parte degli scenari comuni di utilizzo delle applicazioni, i clienti hanno fornito un feedback che contiene casi in cui devono essere consentiti altri oggetti COM. L'aggiornamento di 1903 a Windows 10 introduce la possibilità di specificare gli oggetti COM consentiti tramite il relativo GUID nel criterio WDAC.

Nota: per aggiungere questa funzionalità ad altre versioni di Windows 10, è possibile installare gli aggiornamenti seguenti o successivi:

Ottieni GUID oggetto COM

Ottenere il GUID dell'applicazione per consentire in uno dei modi seguenti:

  • Ricerca di eventi di blocco nel Visualizzatore eventi (registri applicazioni e servizi > Microsoft > Windows > AppLocker > MSI e script) ed estrazione di GUID
  • Creazione di criteri di controllo (con New-CIPolicy-audit), potenzialmente con provider specifico e utilizzo di informazioni da blocchi eventi per ottenere GUID

Impostazione del criterio autore per consentire o negare il GUID di un oggetto COM

Tre elementi:

  • Provider: piattaforma in cui è in corso il codice (i valori sono PowerShell, WSH, IE, VBA, MSI o un carattere jolly "AllHostIds")
  • Key: GUID per il programma con cui eseguire, nel formato Key = "{33333333-4444-4444-1616-161616161616}"
  • ValueName: deve essere impostato su "EnterpriseDefinedClsId"

Un attributo:

  • Value: deve essere "true" per Allow e "false" per Deny
    • Tieni presente che Deny funziona solo in criteri di base, non supplementari
  • L'impostazione deve essere inserita nell'ordine dei valori ASCII (prima per provider, quindi Key e quindi valueName)

Esempi

Esempio 1: consente la registrazione di tutti i GUID di oggetti COM in qualsiasi provider

<Setting Provider="AllHostIds" Key="AllKeys" ValueName="EnterpriseDefinedClsId">
  <Value>
    <Boolean>true</Boolean>
  </Value>
</Setting>

Esempio 2: blocca un oggetto COM specifico da registrare tramite Internet Explorer (IE)

<Setting Provider="IE" Key="{00000000-4444-4444-1616-161616161616}" ValueName="EnterpriseDefinedClsId">
  <Value>
    <Boolean>false</Boolean>
  </Value>
</Setting>

Esempio 3: consente a un oggetto COM specifico di eseguire la registrazione in PowerShell

<Setting Provider="PowerShell" Key="{33333333-4444-4444-1616-161616161616}" ValueName="EnterpriseDefinedClsId">
  <Value>
    <Boolean>true</Boolean>
  </Value>
</Setting>