Vyřazení algoritmu KDFv1 v ověřování Microsoft Entra
Článek
Společnost Microsoft zastaralá podporu algoritmu funkce odvození klíče verze 1 (KDFv1) používaného k ověřování zařízení připojených k Microsoft Entra nebo Microsoft Entra hybrid join v buildech Windows vydaných před červencem 2021.
Algoritmus KDFv1 byl historicky použit pro ověřování zařízení v dřívějších verzích Windows. Byla zjištěna kritická chyba zabezpečení, která umožňovala neoprávněné ověřování, jak je uvedeno v CVE-2021-33781. Společnost Microsoft vydala aktualizaci zabezpečení systému Windows v červenci 2021. Všechny buildy Windows vydané po červenci 2021 už nepoužívají algoritmus KDFv1.
V rámci našeho průběžného závazku zvýšit zabezpečení společnost Microsoft postupně zavádí změnu, která blokuje použití algoritmu KDFv1 pro ověřování u Microsoft Entra.
Dopad vyřazení
Všechna zařízení s Windows, která se ověřují pomocí Microsoft Entra, musí mít použitou opravu zabezpečení nebo spouštět buildy Windows vydané po červenci 2021. Po dokončení zavedení této změny se zařízení s Windows neověří pomocí Microsoft Entra.
Chybové zprávy
Uživatelům na nepatchovaných zařízeních se při pokusu o přihlášení zobrazí následující chybová zpráva:
Kód chyby přihlášení: 5000611
Důvod selhání: Funkce odvození symetrického klíče verze 1 je neplatná. Aktualizujte zařízení nejnovějšími aktualizacemi.
Tato chybová zpráva se také zobrazí v protokolech přihlašování Microsoft Entra, což správcům umožňuje identifikovat selhání ověřování kvůli zastaralému algoritmu KDFv1.
Poznámka
Kvůli postupnému zavedení vyřazení se můžou chyby ověřování na nepatchovaných zařízeních s Windows zpočátku zobrazovat přechodné nebo přerušované. Tyto problémy je důležité vyřešit okamžitě použitím aktualizací zabezpečení Systému Windows za účelem zachování bezproblémového ověřování.
Požadované akce
Správci Microsoft Entra by měli proaktivně identifikovat a řešit zařízení v rámci svého tenanta, na která může mít tento vyřazení vliv. Doporučuje se následující postup:
Monitorování chyb ověřování: Pravidelně kontrolujte protokoly přihlášení Microsoft Entra pro kód chyby 5000611 a odpovídající důvod selhání.
Aktualizovat zařízení: Pokud uživatelé hlásí selhání ověřování s chybovou zprávou odkazující na algoritmu KDFv1, aktualizujte svá zařízení nejnovějšími aktualizacemi zabezpečení pro svou verzi Windows.
Komunikace s uživateli: Informujte uživatele o důležitosti udržování jejich zařízení v aktualizovaném stavu a uveďte pokyny k instalaci potřebných aktualizací.
Skript PowerShellu ke zjišťování zařízení vyžadujících aktualizaci
# Script to discover devices requiring an update to address KDFv1 vulnerability
Connect-MgGraph -Scope "Device.Read.All"
Import-Module Microsoft.Graph.Identity.DirectoryManagement
# Define the output file
$file = ".\AffectedDevices.txt"
# Calculate the date for stale devices. Stale devices won't be listed
# Change this to a period you want to cover
$staleDate = (Get-Date).AddDays(-30)
Write-Host "Stale Date = $($staleDate)"
# Retrieve all Windows devices
$WinDevices = Get-MgDevice -Property "id,displayName,operatingSystem,approximateLastSignInDateTime" -All -ErrorAction Stop | Where-Object {
$_.operatingSystem -eq "Windows" -and $_.approximateLastSignInDateTime -gt $staleDate
}
# Check if there are any devices in the $WinDevices array
if ($WinDevices.Count -eq 0) {
Write-Host "No Windows devices found."
} else {
Write-Host "Found $($WinDevices.Count) Windows devices."
# Initialize an array to hold the output lines
$outputLines = @()
# Iterate through each device in the $WinDevices array
foreach ($device in $WinDevices) {
Write-Host "Processing device ID: $($device.id)"
# Retrieve the device details including LastSignInDateTime
$deviceDetails = Get-MgDevice -DeviceId $device.id -Property "id,deviceId,displayName,operatingSystem,operatingSystemVersion,approximateLastSignInDateTime" -ErrorAction Stop
# Check if the device matches the filter for affected devices and LastSignInDateTime
if (($deviceDetails.operatingSystemVersion -ge '10.0.22000' -and $deviceDetails.operatingSystemVersion -lt '10.0.22000.258') -or
($deviceDetails.operatingSystemVersion -ge '10.0.19041' -and $deviceDetails.operatingSystemVersion -lt '10.0.19044') -or
($deviceDetails.operatingSystemVersion -ge '10.0.18363' -and $deviceDetails.operatingSystemVersion -lt '10.0.18363.1679') -and
($deviceDetails.approximateLastSignInDateTime -ge $staleDate)){
Write-Host "Device matches filter: $($deviceDetails.displayName)"
$outputLines += "ID: $($deviceDetails.id)"
$outputLines += "Device ID: $($deviceDetails.deviceId)"
$outputLines += "Display Name: $($deviceDetails.displayName)"
$outputLines += "Operating System: $($deviceDetails.operatingSystem)"
$outputLines += "Operating System Version: $($deviceDetails.operatingSystemVersion)"
$outputLines += "Last Sign-In DateTime: $($deviceDetails.approximateLastSignInDateTime)"
$outputLines += "-----"
} else {
Write-Host "Device does not match filter: $($deviceDetails.displayName) OS Version $($deviceDetails.operatingSystemVersion) Last Sign-In DateTime $($deviceDetails.approximateLastSignInDateTime)"
}
}
# Write the output lines to the file
$outputLines | Out-File -FilePath $file -Encoding UTF8
Write-Host "AffectedDevices.txt file has been created."
}
Proaktivní monitorování a aktualizace
Proaktivní monitorování a aktualizace zařízení je zásadní, aby nedocházelo k přerušení ověřování. Správci Microsoft Entra mohou využívat následující strategie:
Automatizované aktualizace: Implementujte zásady pro automatizované aktualizace, které zajistí, aby všechna zařízení dostávala nejnovější opravy zabezpečení okamžitě.
Pravidelné audity: Proveďte pravidelné audity vašich zařízení, abyste zajistili dodržování požadavků na aktualizace zabezpečení.
Školení uživatelů: Informujte uživatele o významu včasných aktualizací a o tom, jak je vyhledat a použít.
Související obsah
Podrobnější informace o vyřazení algoritmu KDFv1 a souvisejících aktualizací zabezpečení najdete v následujících zdrojích informací:
Plan and execute an endpoint deployment strategy, using essential elements of modern management, co-management approaches, and Microsoft Intune integration.