ANAVEM
Languageen
Windows Event Viewer showing system event logs on a monitoring dashboard
Event ID 1796InformationMicrosoft-Windows-Kernel-GeneralWindows

ID d'événement Windows 1796 – Microsoft-Windows-Kernel-General : Changement de l'heure système détecté

L'ID d'événement 1796 se déclenche lorsque Windows détecte un changement de l'heure système, soit par ajustement manuel, soit par synchronisation automatique. Critique pour l'audit de sécurité et le dépannage des applications sensibles au temps.

Emanuel DE ALMEIDAEmanuel DE ALMEIDA
17 mars 20269 min de lecture 0
Event ID 1796Microsoft-Windows-Kernel-General 5 méthodes 9 min
Référence événement

Signification de cet événement

L'ID d'événement Windows 1796 représente une capacité fondamentale de surveillance du système qui suit toutes les modifications de l'horloge système. Le fournisseur Microsoft-Windows-Kernel-General génère cet événement au niveau du noyau, garantissant une couverture complète des changements de temps, quelle que soit la méthode de modification.

La structure de l'événement contient plusieurs points de données critiques : l'heure système précédente, la nouvelle heure système, le montant de l'ajustement en unités de 100 nanosecondes, et des informations contextuelles sur ce qui a déclenché le changement. Ce détail granulaire permet aux administrateurs de distinguer entre les synchronisations automatiques légitimes et les ajustements manuels potentiellement malveillants.

Dans les environnements d'entreprise, l'ID d'événement 1796 sert à plusieurs fins. Les équipes de sécurité surveillent ces événements pour détecter toute tentative de falsification des horloges système, ce qui pourrait indiquer des tentatives d'évasion de la corrélation des journaux ou de dissimulation d'activités malveillantes. Les équipes des opérations informatiques utilisent les événements pour vérifier la synchronisation NTP correcte et diagnostiquer les problèmes d'application liés au temps.

L'événement devient particulièrement précieux dans les enquêtes judiciaires où la précision de la chronologie est primordiale. En corrélant les occurrences de l'ID d'événement 1796 avec d'autres événements système, les enquêteurs peuvent reconstituer des séquences d'activités précises et identifier toute tentative de manipulation des horodatages.

S'applique à

Windows 10Windows 11Windows Server 2019/2022/2025
Analyse

Causes possibles

  • Synchronisation automatique de l'heure NTP avec les contrôleurs de domaine ou les serveurs de temps externes
  • Ajustement manuel de l'heure via les paramètres de date et d'heure de Windows
  • Modification de l'heure via PowerShell ou la ligne de commande en utilisant les commandes Set-Date ou w32tm
  • Transitions automatiques de l'heure d'été
  • Opérations de récupération du système restaurant les paramètres de temps précédents
  • Correction de la dérive de l'horloge matérielle lors du démarrage du système
  • Changements de fuseau horaire déclenchant des ajustements de l'horloge
  • Synchronisation de l'heure de la machine virtuelle avec l'hôte hyperviseur
  • Logiciel de synchronisation de l'heure tiers effectuant des ajustements
Méthodes de résolution

Étapes de dépannage

01

Examiner les détails de l'événement dans l'Observateur d'événements

Commencez par examiner les entrées spécifiques de l'ID d'événement 1796 pour comprendre les modèles de changement de temps et les sources.

  1. Ouvrez Observateur d'événements en appuyant sur Win + R, en tapant eventvwr.msc, et en appuyant sur Entrée
  2. Accédez à Journaux WindowsSystème
  3. Dans le volet Actions, cliquez sur Filtrer le journal actuel
  4. Entrez 1796 dans le champ ID d'événements et cliquez sur OK
  5. Double-cliquez sur chaque entrée d'ID d'événement 1796 pour examiner les détails
  6. Notez les valeurs de Ancien temps et Nouveau temps dans les données de l'événement
  7. Vérifiez le champ Raison pour identifier ce qui a déclenché le changement de temps
  8. Cherchez des modèles dans le timing et la fréquence de ces événements

Portez une attention particulière aux ajustements de temps importants ou aux changements fréquents qui pourraient indiquer des problèmes de synchronisation ou des modifications non autorisées.

02

Interroger les événements avec PowerShell pour l'analyse

Utilisez PowerShell pour extraire et analyser les données de l'ID d'événement 1796 pour un suivi complet des changements d'heure.

  1. Ouvrez PowerShell en tant qu'administrateur
  2. Exécutez cette commande pour récupérer les événements récents de changement d'heure :
Get-WinEvent -FilterHashtable @{LogName='System'; Id=1796} -MaxEvents 50 | Select-Object TimeCreated, Id, LevelDisplayName, Message | Format-Table -Wrap
  1. Pour une analyse détaillée des ajustements de temps, utilisez :
Get-WinEvent -FilterHashtable @{LogName='System'; Id=1796} | ForEach-Object {
    $xml = [xml]$_.ToXml()
    [PSCustomObject]@{
        TimeCreated = $_.TimeCreated
        OldTime = $xml.Event.EventData.Data[0].'#text'
        NewTime = $xml.Event.EventData.Data[1].'#text'
        Reason = $xml.Event.EventData.Data[2].'#text'
    }
} | Format-Table -AutoSize
  1. Pour exporter les résultats pour une analyse plus approfondie :
Get-WinEvent -FilterHashtable @{LogName='System'; Id=1796} | Export-Csv -Path "C:\Temp\TimeChangeEvents.csv" -NoTypeInformation
03

Vérifier la configuration du service de temps Windows

Vérifiez les paramètres du service Windows Time pour assurer une synchronisation NTP correcte et identifier les problèmes de configuration potentiels.

  1. Ouvrez l'Invite de commandes en tant qu'administrateur
  2. Vérifiez l'état actuel du service de temps :
w32tm /query /status
  1. Examinez la configuration de la source de temps :
w32tm /query /configuration
  1. Vérifiez les pairs de synchronisation de temps :
w32tm /query /peers
  1. Dans PowerShell, examinez les paramètres de registre du service Windows Time :
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Parameters" | Select-Object NtpServer, Type
  1. Vérifiez que le service de temps est en cours d'exécution :
Get-Service W32Time | Select-Object Name, Status, StartType
  1. Si des problèmes sont trouvés, redémarrez le service de temps :
net stop w32time && net start w32time
Astuce pro : Utilisez w32tm /resync pour forcer une synchronisation immédiate avec les sources de temps configurées.
04

Configurer l'audit et la surveillance des changements de temps

Mettre en œuvre une surveillance complète pour suivre et alerter sur les changements d'heure suspects à des fins de sécurité.

  1. Activer les politiques d'audit avancées pour les changements d'heure :
auditpol /set /subcategory:"System Integrity" /success:enable /failure:enable
  1. Créer un script de surveillance PowerShell pour des alertes en temps réel :
# Enregistrer sous TimeChangeMonitor.ps1
$Query = @"

  
    
  

"@

Register-WmiEvent -Query "SELECT * FROM Win32_VolumeChangeEvent" -Action {
    $Event = Get-WinEvent -FilterXml $Query -MaxEvents 1
    Write-Host "Changement d'heure détecté à $($Event.TimeCreated)" -ForegroundColor Yellow
    # Ajouter une notification par email ou un enregistrement ici
}
  1. Configurer une vue personnalisée dans le Visualiseur d'événements pour les changements d'heure :
  2. Dans le Visualiseur d'événements, cliquez avec le bouton droit sur Vues personnaliséesCréer une vue personnalisée
  3. Sélectionnez Par journalSystème
  4. Entrez l'ID d'événement 1796 et enregistrez sous "Changements d'heure"
  5. Configurer la stratégie de groupe pour centraliser l'enregistrement des changements d'heure :
HKLM\SOFTWARE\Policies\Microsoft\Windows\EventLog\System\MaxSize = 20971520
Avertissement : Des changements d'heure fréquents peuvent indiquer des problèmes matériels, des logiciels malveillants ou des problèmes de configuration nécessitant une enquête immédiate.
05

Analyse Forensique Avancée et Corrélation

Effectuer une analyse approfondie des événements de changement d'heure pour les enquêtes de sécurité et les rapports de conformité.

  1. Créer un script d'analyse PowerShell complet :
# TimeChangeForensics.ps1
$Events = Get-WinEvent -FilterHashtable @{LogName='System'; Id=1796} -MaxEvents 1000
$Analysis = @()

foreach ($Event in $Events) {
    $xml = [xml]$Event.ToXml()
    $OldTime = [DateTime]$xml.Event.EventData.Data[0].'#text'
    $NewTime = [DateTime]$xml.Event.EventData.Data[1].'#text'
    $TimeDiff = ($NewTime - $OldTime).TotalSeconds
    
    $Analysis += [PSCustomObject]@{
        EventTime = $Event.TimeCreated
        OldTime = $OldTime
        NewTime = $NewTime
        AdjustmentSeconds = $TimeDiff
        AdjustmentType = if ([Math]::Abs($TimeDiff) -gt 300) { "Major" } else { "Minor" }
        UserSID = $Event.UserId
    }
}

$Analysis | Export-Csv -Path "C:\Forensics\TimeChangeAnalysis.csv" -NoTypeInformation
$Analysis | Where-Object AdjustmentType -eq "Major" | Format-Table
  1. Corréler avec les événements de sécurité pour une analyse complète :
$TimeChanges = Get-WinEvent -FilterHashtable @{LogName='System'; Id=1796} -MaxEvents 50
$SecurityEvents = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624,4625} -MaxEvents 100

# Cross-reference time changes with logon events
foreach ($TimeChange in $TimeChanges) {
    $Window = $TimeChange.TimeCreated.AddMinutes(-5)..($TimeChange.TimeCreated.AddMinutes(5))
    $RelatedEvents = $SecurityEvents | Where-Object { $_.TimeCreated -ge $Window[0] -and $_.TimeCreated -le $Window[1] }
    if ($RelatedEvents) {
        Write-Host "Time change at $($TimeChange.TimeCreated) correlates with $($RelatedEvents.Count) security events"
    }
}
  1. Générer un rapport de conformité :
$Report = $Analysis | Group-Object { $_.EventTime.Date } | ForEach-Object {
    [PSCustomObject]@{
        Date = $_.Name
        TotalChanges = $_.Count
        MajorAdjustments = ($_.Group | Where-Object AdjustmentType -eq "Major").Count
        MaxAdjustment = ($_.Group | Measure-Object AdjustmentSeconds -Maximum).Maximum
    }
}

$Report | Export-Csv -Path "C:\Reports\DailyTimeChangeReport.csv" -NoTypeInformation

Aperçu

L'ID d'événement 1796 de Microsoft-Windows-Kernel-General se déclenche chaque fois que l'horloge système Windows subit un changement d'heure. Cet événement capture à la fois les ajustements manuels de l'heure et les synchronisations automatiques avec les serveurs de temps. L'événement enregistre l'ancienne valeur de l'heure, la nouvelle valeur de l'heure et la raison du changement.

Cet événement apparaît dans le journal Système et fournit des informations d'audit cruciales pour les environnements où la précision temporelle est essentielle. Les contrôleurs de domaine, les systèmes financiers et les applications sensibles à la sécurité dépendent de timestamps précis, rendant cet événement essentiel pour la conformité et le dépannage.

L'événement se déclenche lors de divers scénarios, y compris la synchronisation NTP, les changements d'heure manuels via le Panneau de configuration ou PowerShell, les transitions de l'heure d'été et les opérations de récupération système. Chaque occurrence inclut des informations détaillées sur l'ampleur et la source de l'ajustement de l'heure.

Les administrateurs système utilisent cet événement pour suivre les changements d'heure non autorisés, diagnostiquer les problèmes de synchronisation temporelle et maintenir des pistes d'audit pour la conformité réglementaire. Les données de l'événement incluent des timestamps précis et des valeurs d'ajustement mesurées en intervalles de 100 nanosecondes.

Questions Fréquentes

Que signifie l'ID d'événement 1796 et pourquoi est-il important ?+
L'ID d'événement 1796 indique que Windows a détecté un changement de l'heure système. Cet événement est crucial pour l'audit de sécurité, le suivi de la conformité et le dépannage des applications sensibles au temps. Il enregistre l'ancienne heure, la nouvelle heure et la raison du changement, fournissant une piste d'audit complète de toutes les modifications de l'horloge système. Dans les environnements d'entreprise, cet événement aide à détecter les manipulations non autorisées de l'heure et à vérifier la synchronisation correcte du NTP.
Comment puis-je distinguer les changements d'heure légitimes et suspects dans l'ID d'événement 1796 ?+
Les changements d'heure légitimes montrent généralement de petits ajustements (secondes ou minutes) dus à la synchronisation NTP, se produisent à intervalles réguliers et ont lieu pendant les heures de bureau normales. Les changements suspects incluent de grands ajustements de temps (heures ou jours), des changements manuels en dehors des fenêtres de maintenance, des ajustements fréquents indiquant des problèmes de synchronisation, ou des changements corrélant avec des événements de sécurité. Utilisez l'analyse PowerShell pour calculer les magnitudes des ajustements et identifier les modèles qui dévient du comportement de synchronisation normal.
L'ID d'événement 1796 peut-il aider dans les enquêtes judiciaires ?+
Oui, l'ID d'événement 1796 est inestimable pour l'analyse forensique. Il fournit des horodatages précis pour les moments où l'heure système a été modifiée, ce qui est crucial pour établir des chronologies précises dans les enquêtes. Les attaquants manipulent parfois les horloges système pour échapper à la détection ou modifier les horodatages des journaux. En analysant ces événements avec d'autres journaux système et de sécurité, les enquêteurs peuvent identifier les tentatives de manipulation des preuves et reconstituer la véritable séquence des événements lors des incidents de sécurité.
Que dois-je faire si je vois des occurrences fréquentes de l'ID d'événement 1796 ?+
Des événements fréquents avec l'ID d'événement 1796 peuvent indiquer des problèmes de synchronisation NTP, une dérive de l'horloge matérielle ou des problèmes de configuration. Tout d'abord, vérifiez l'état et la configuration du service de temps Windows à l'aide des commandes w32tm. Vérifiez que les serveurs NTP sont accessibles et répondent correctement. Examinez les amplitudes des ajustements de temps - de petits ajustements réguliers sont normaux, mais des changements importants ou erratiques suggèrent des problèmes. Envisagez des problèmes matériels si l'horloge système dérive constamment, et examinez tout logiciel de synchronisation de temps tiers qui pourrait entrer en conflit avec le service de temps Windows.
Comment configurer la surveillance et les alertes pour l'ID d'événement 1796 ?+
Configurez la surveillance de l'ID d'événement 1796 en utilisant des scripts PowerShell avec Register-WmiEvent ou des tâches planifiées qui interrogent le journal Système. Créez des vues personnalisées dans l'Observateur d'événements filtrées pour l'ID d'événement 1796 afin de revoir facilement les changements d'heure. Pour les environnements d'entreprise, configurez les systèmes SIEM pour collecter et analyser ces événements, en définissant des alertes pour les ajustements de temps importants ou les modèles inhabituels. Utilisez la stratégie de groupe pour garantir une journalisation cohérente sur tous les systèmes, et envisagez de mettre en œuvre des rapports automatisés qui résument l'activité de changement d'heure pour l'examen de conformité et de sécurité.
Documentation

Références (2)

Emanuel DE ALMEIDA
Écrit par

Emanuel DE ALMEIDA

Senior IT Journalist & Cloud Architect

Microsoft MCSA-certified Cloud Architect | Fortinet-focused. I modernize cloud, hybrid & on-prem infrastructure for reliability, security, performance and cost control - sharing field-tested ops & troubleshooting.

Discussion

Partagez vos réflexions et analyses

Vous devez être connecté pour commenter.

Chargement des commentaires...