Cortana Disabled

💼 Management Samenvatting

Deze maatregel zorgt ervoor dat Cortana als persoonlijke assistent op Windows endpoints volledig wordt uitgeschakeld, zodat gevoelige organisatie- en gebruikersgegevens niet onnodig worden verzameld, verwerkt of naar externe clouddiensten worden verstuurd. Door Cortana systematisch te deactiveren wordt het aanvalsoppervlak verkleind en wordt beter voldaan aan de eisen rond gegevensminimalisatie en privacybescherming binnen Nederlandse overheidsorganisaties.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
7/10
Implementatie
2u (tech: 1u)
Van toepassing op:
Windows

Cortana is ontworpen als digitale assistent die voortdurend gegevens verzamelt over gebruikersgedrag, zoekopdrachten, spraakopnamen en interacties met applicaties en diensten. In veel publieke organisaties is deze functionaliteit niet strikt noodzakelijk voor de bedrijfsvoering, maar introduceert zij wel additionele privacy- en beveiligingsrisico’s. Door Cortana centraal uit te schakelen via een beheerde configuratie wordt voorkomen dat medewerkers zelfstandig experimentele of ongewenste functionaliteit activeren, worden logging en auditing eenvoudiger, en blijft de Windows-omgeving voorspelbaar en beheersbaar. Dit sluit aan bij het principe van “privacy by design” en “least functionality” zoals aanbevolen in de Nederlandse Baseline voor Veilige Cloud.

PowerShell Modules Vereist
Primary API: Graph
Connection: Connect-MgGraph
Required Modules: Microsoft.Graph.DeviceManagement

Implementatie

Deze configuratie richtlijn beschrijft hoe je Cortana op alle beheerde Windows endpoints uitschakelt met behulp van Microsoft Intune. De instelling wordt afgedwongen via apparaatconfiguratiebeleid of een combinatie van configuratieprofielen en compliance policies, zodat endpoints die niet aan het beleid voldoen automatisch worden gesignaleerd. Door de instelling organisatiebreed te implementeren, ontstaat een uniforme, controleerbare en herhaalbare configuratie die eenvoudig te auditen is. De bijbehorende PowerShell-scripts ondersteunen het monitoren en zonodig automatisch herstellen van systemen waar Cortana toch (deels) is ingeschakeld.

Vereisten

Voor het veilig en effectief uitschakelen van Cortana binnen een overheidsorganisatie zijn enkele randvoorwaarden noodzakelijk. Allereerst moet de organisatie beschikken over een werkende Microsoft Intune omgeving waarin Windows endpoints zijn geregistreerd als beheerde apparaten. Dit betekent dat de devices zijn ingeschreven in Intune, aan de juiste Azure AD-groepen zijn gekoppeld en dat er een duidelijk onderscheid bestaat tussen productie-, test- en acceptatie-omgevingen. Daarnaast is het essentieel dat de licenties voor Microsoft 365 en Intune het gebruik van configuratieprofielen, compliance policies en geautomatiseerde remediatie ondersteunen. Zonder deze licenties kan het beleid wel worden opgesteld, maar is er geen geautomatiseerde handhaving of terugmelding mogelijk. Organisaties moeten ook beschikken over duidelijke rollen en verantwoordelijkheden: er moet minstens een Intune-beheerder zijn die configuratieprofielen kan aanmaken en publiceren, een security officer of CISO die het beleid goedkeurt, en functioneel beheer dat gebruikers communiceert over de wijziging van functionaliteit op hun werkplek. Verder is het aan te raden om een testgroep met representatieve werkplekken in te richten, zodat het Cortana-beleid eerst gecontroleerd kan worden uitgerold voordat de volledige organisatie wordt geraakt. Tot slot dienen logging en rapportage in Intune en eventueel in een centraal SIEM-systeem zo te zijn ingericht dat wijzigingen in het beleid, compliance-statussen en afwijkingen van de norm kunnen worden gevolgd en gedocumenteerd voor audit- en verantwoordingstrajecten.

Implementatie

Gebruik PowerShell-script cortana-disabled.ps1 (functie Invoke-Monitoring) – De implementatie van het uitschakelen van Cortana via Microsoft Intune verloopt idealiter in een aantal gestructureerde stappen die zowel technische als organisatorische aspecten adresseren. Begin met het analyseren van de huidige situatie: inventariseer welke Windows versies in gebruik zijn, welke configuratieprofielen reeds actief zijn en of er bestaande instellingen zijn die Cortana deels beheren. Gebruik vervolgens het bijgeleverde PowerShell-script cortana-disabled.ps1 in een gecontroleerde testomgeving om te verifiëren welke registersleutels en beleidsinstellingen worden gecontroleerd en aangepast. Op basis van deze inzichten maak je in Intune een nieuw configuratieprofiel aan, bijvoorbeeld een Settings Catalog- of Device Restrictions-profiel, waarin Cortana expliciet wordt uitgeschakeld voor de betreffende Windows editie. Koppel dit profiel aan een beperkte testgroep en controleer in de Intune-console of de instelling succesvol wordt toegepast en of er geen conflicten optreden met andere profielen. Documenteer daarbij duidelijk welke groepen in scope zijn, welke instellingen zijn gewijzigd en welke fallback-strategie wordt gebruikt als apparaten niet compliant blijken. Na een succesvolle testfase kan het beleid stapsgewijs worden opgeschaald naar bredere doelgroepen, bijvoorbeeld per organisatieonderdeel of per risicoprofiel. Tijdens deze uitrol is het belangrijk dat communicatie richting eindgebruikers en servicedesk op orde is, zodat vragen over verdwenen Cortana-functionaliteit adequaat kunnen worden beantwoord. Zodra de organisatiebrede uitrol is voltooid, leg je de definitieve configuratie vast in de architectuur- en beheerdocumentatie en borg je dat nieuwe apparaten automatisch in het juiste beleid vallen zodra ze worden ingeschreven in Intune..

monitoring

Gebruik PowerShell-script cortana-disabled.ps1 (functie Invoke-Monitoring) – Effectieve monitoring is cruciaal om te waarborgen dat Cortana daadwerkelijk en blijvend is uitgeschakeld op alle relevante Windows endpoints. Met de functie Invoke-Monitoring in het script cortana-disabled.ps1 kan periodiek worden gecontroleerd of de verwachte registersleutels, groepsbeleidsinstellingen en Intune-configuratieprofielen nog in overeenstemming zijn met de vastgestelde norm. Het advies is om deze controles te integreren in een bestaande beheer- of monitoringcyclus, bijvoorbeeld door het script volgens een vaste frequentie uit te voeren via een beheerplatform, een geplande taak of een geautomatiseerde Intune-remediatieregel. De resultaten van de controles dienen niet alleen lokaal te worden gelogd, maar bij voorkeur ook centraal te worden verzameld, bijvoorbeeld in een SIEM-oplossing of in een beveiligingsrapportage die periodiek wordt geanalyseerd door het securityteam. Wanneer uit de monitoring blijkt dat bepaalde apparaten afwijken van het beleid, bijvoorbeeld doordat Cortana toch (deels) is geactiveerd of omdat het configuratieprofiel niet correct is toegepast, moet er een helder proces zijn voor opvolging. Dit omvat het registreren van een incident, het analyseren van de oorzaak (bijvoorbeeld foutieve groepslidmaatschappen, verouderde Windows versies of handmatige aanpassingen door lokale beheerders) en het nemen van gerichte corrigerende maatregelen. Door monitoring structureel te koppelen aan rapportages richting CISO, CIO en lijnmanagement kan de organisatie aantonen dat privacy- en beveiligingsmaatregelen niet alleen op papier bestaan, maar ook aantoonbaar effectief zijn in de dagelijkse praktijk..

Remediatie

Gebruik PowerShell-script cortana-disabled.ps1 (functie Invoke-Remediation) – Remediatie richt zich op het automatisch herstellen van systemen die niet voldoen aan de afgesproken beleidsnorm om Cortana volledig uit te schakelen. De functie Invoke-Remediation in het script cortana-disabled.ps1 kan worden gebruikt om afwijkende configuraties te corrigeren zonder dat een beheerder handmatig op elk apparaat hoeft in te grijpen. In de praktijk betekent dit dat het script controleert of de relevante registersleutels en beleidsinstellingen de juiste waarden hebben en indien nodig direct de gewenste configuratie afdwingt. Het is verstandig om dergelijke remediatie-acties eerst in een test- of acceptatieomgeving uit te voeren en de impact zorgvuldig te evalueren, zodat wordt uitgesloten dat bedrijfskritische toepassingen onverwacht worden geraakt. Wanneer de aanpak betrouwbaar blijkt, kan de remediatie worden geïntegreerd in Intune, bijvoorbeeld via Proactive Remediation of aangepaste scripts die aan specifieke groepen worden gekoppeld. Daarbij is het belangrijk dat elke automatische wijziging wordt gelogd, inclusief tijdstip, betrokken apparaat, aangetroffen afwijking en toegepaste correctie, zodat later kan worden aangetoond wat er precies is gebeurd. Naast technische correctie dient remediatie ook organisatorische maatregelen te omvatten: als blijkt dat lokale beheerders of power users Cortana bewust opnieuw inschakelen, kan aanvullend beleid nodig zijn in de vorm van toegangsbeperkingen, extra bewustwordingstraining of aangescherpte procedures. Op deze manier ontstaat een sluitende keten van detectie en herstel, waarmee de organisatie de continuïteit van de privacybeschermende maatregel kan waarborgen..

Compliance en Auditing

Het uitschakelen van Cortana draagt direct bij aan de naleving van verschillende normen en kaders die relevant zijn voor Nederlandse overheidsorganisaties, zoals de BIO, de AVG en interne organisatiebeleid rond gegevensminimalisatie. Vanuit compliance-perspectief is het van belang dat niet alleen de technische instelling wordt toegepast, maar dat ook aantoonbaar wordt gemaakt waarom deze keuze is gemaakt, hoe deze is geïmplementeerd en hoe de effectiviteit structureel wordt bewaakt. Dit begint met een duidelijke beleidsbeschrijving waarin is vastgelegd dat functionaliteiten die niet strikt noodzakelijk zijn voor de uitvoering van publieke taken, zoals Cortana, standaard worden uitgeschakeld. In deze documentatie wordt onderbouwd dat het verzamelen van gebruikersgegevens door Cortana niet in verhouding staat tot de toegevoegde waarde, en dat uitschakeling daarom een proportionele maatregel is. Deze beleidskeuze moet worden vertaald naar concrete normen in architectuur- en beveiligingsdocumenten, waarin onder andere staat beschreven welke Windows versies in scope zijn, hoe Intune wordt gebruikt voor configuratiebeheer en hoe afwijkingen worden gemeld en behandeld. Voor auditdoeleinden is het essentieel dat configuratieprofielen, rapportages over compliance-status en logging van monitoring- en remediatieacties centraal worden bewaard met een passende bewaartermijn. Tijdens interne of externe audits kan de organisatie vervolgens aantonen dat het beleid niet alleen is geformuleerd, maar ook daadwerkelijk wordt nageleefd, door voorbeeldrapportages, configuratie-exporten en procesbeschrijvingen te overleggen. Tot slot is het verstandig om periodiek, bijvoorbeeld jaarlijks, te toetsen of het beleid rond Cortana nog up-to-date is in het licht van nieuwe Windows-functionaliteiten, gewijzigde wet- en regelgeving en de actuele dreigingsomgeving, zodat de maatregel blijvend aansluit bij de principes van de Nederlandse Baseline voor Veilige Cloud.

Compliance & Frameworks

Automation

Gebruik het onderstaande PowerShell script om deze security control te monitoren en te implementeren. Het script bevat functies voor zowel monitoring (-Monitoring) als remediation (-Remediation).

PowerShell
<# .SYNOPSIS Intune Privacy: Cortana Disabled .DESCRIPTION CIS - Cortana moet disabled voor enterprise privacy. .NOTES Filename: cortana-disabled.ps1|Author: Nederlandse Baseline voor Veilige Cloud|Registry: HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search\AllowCortana|Expected: 0 #> #Requires -Version 5.1 #Requires -RunAsAdministrator [CmdletBinding()]param([switch]$WhatIf, [switch]$Monitoring, [switch]$Remediation, [switch]$Revert) $ErrorActionPreference = 'Stop'; $RegPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search"; $RegName = "AllowCortana"; $ExpectedValue = 0 function Connect-RequiredServices { $p = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent()); return $p.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) } function Test-Compliance { $r = [PSCustomObject]@{ScriptName = "cortana-disabled.ps1"; PolicyName = "Cortana"; IsCompliant = $false; CurrentValue = $null; ExpectedValue = "Disabled"; Details = @() }; function Invoke-Revert { Remove-ItemProperty -Path $RegPath -Name $RegName -ErrorAction SilentlyContinue } try { if (Test-Path $RegPath) { $v = Get-ItemProperty -Path $RegPath -Name $RegName -ErrorAction SilentlyContinue; if ($v) { $r.CurrentValue = $v.$RegName; if ($r.CurrentValue -eq $ExpectedValue) { $r.IsCompliant = $true; $r.Details += "Cortana disabled" }else { $r.Details += "Cortana enabled" } }else { $r.Details += "Niet geconfigureerd" } }else { $r.Details += "Niet geconfigureerd" } }catch { $r.Details += "Error: $($_.Exception.Message)" }; return $r } function Invoke-Remediation { if (-not(Test-Path $RegPath)) { New-Item -Path $RegPath -Force | Out-Null }; Set-ItemProperty -Path $RegPath -Name $RegName -Value $ExpectedValue -Type DWord -Force; Write-Host "Cortana disabled" -ForegroundColor Green } function Invoke-Monitoring { $r = Test-Compliance; Write-Host "`n$($r.PolicyName): $(if($r.IsCompliant){'COMPLIANT'}else{'NON-COMPLIANT'})" -ForegroundColor $(if ($r.IsCompliant) { 'Green' }else { 'Red' }); return $r } function Invoke-Revert { Remove-ItemProperty -Path $RegPath -Name $RegName -ErrorAction SilentlyContinue } try { if (-not(Connect-RequiredServices)) { exit 1 }; if ($Monitoring) { $r = Invoke-Monitoring; exit $(if ($r.IsCompliant) { 0 }else { 1 }) }elseif ($Remediation) { if (-not $WhatIf) { Invoke-Remediation } }elseif ($Revert) { Invoke-Revert }else { $r = Test-Compliance; exit $(if ($r.IsCompliant) { 0 }else { 1 }) } }catch { Write-Error $_; exit 1 }

Risico zonder implementatie

Risico zonder implementatie
High: Als Cortana ingeschakeld blijft, kan onnodige verzameling en verwerking van gebruikers- en organisatiegegevens plaatsvinden, waardoor de kans toeneemt op privacy-incidenten, datalekken en niet-naleving van interne en externe normen.

Management Samenvatting

Schakel Cortana centraal uit via Intune om gegevensminimalisatie, privacybescherming en uniforme, goed te auditen Windows-configuraties te realiseren.