vendredi 31 mars 2017

[Windows 10] Device Guard and Credential Guard hardware readiness tool & écran bleu


Récemment je souhaitais tester la compatibilité matérielle de ma société pour Device Guard et Credential Guard, j'ai donc lancé sur un échantillon représentatif du parc le script fournis par  Microsoft ici pour être sûr de ne pas rencontrer de problème lié à l’incompatibilité matérielle.

Quelques jours plus tard je fais face assez fréquemment (une fois le matin et une fois l'après-midi) face à un sympathique SOD (Smiley Of the Death) de type 0x109 :(.


Je rencontrais le problème sur tous les ordinateurs de test avec parfois une erreur liée à “verifier”, après investigation avec notre TAM Microsoft j'ai regardé en détail le contenu du script PowerShell utilisé pour les vérifications de compatibilités avec Credential Guard & Device Guard. Et effectivement il y a des références liés à “verifier.exe”:

function CheckDriverCompat
{
    $_HVCIState = CheckDGRunning(2)
    if($_HVCIState)
    {
        LogAndConsoleWarning "HVCI is already enabled on this machine, driver compat list might not be complete."
        LogAndConsoleWarning "Please disable HVCI and run the script again..."
    }
    $verifier_state = verifier /query | Out-String
    if($verifier_state.ToString().Contains("No drivers are currently verified."))
    {
        LogAndConsole "Enabling Driver verifier"
        verifier.exe /flags 0x02000000 /all /log.code_integrity

        LogAndConsole "Enabling Driver Verifier and Rebooting system"
        Log $verifier_state 
        LogAndConsole "Please re-execute this script after reboot...."
        if($AutoReboot)
        {
            LogAndConsole "PC will restart in 30 seconds"
            ExecuteCommandAndLog 'shutdown /r /t 30'
        }
        else
        {
            LogAndConsole "Please reboot manually and run the script again...."
        }
        exit
    }
    else
    {
        LogAndConsole "Driver verifier already enabled"
        Log $verifier_state 
        ListDrivers($verifier_state.Trim().ToLowerInvariant())
    }
} 

On s'apercoit dans cette section du script que la vérification des pilotes proches du kernel passe en mode “agressif”, et certains pilotes n'apprécient pas beaucoup (les anti-virus pour ne pas les citer) et le montre avec un joli SOD de type 0x109 …

Afin de résoudre ce problème et revenir à un mode normal, il faut lancer l'outil verifier.exe avec des privilèges élevés. Puis sur l'écran de configuration il faut sélectionner l'option qui supprime tous les paramètres liés à l'outil. Cela n'aura aucun effet de bords, en effet il est principalement utilisé par l’équipe de support de Microsoft pour investigation :


Après un redémarrage les SOD disparaissent comme par magie :)

Aucun commentaire:

Publier un commentaire