User Account Control in Vista was a really good idea that was pretty poorly implemented. In fact it’s downright annoying at times. Microsoft has decided to tweak it in Windows 7 and make it a little more user friendly, and they have done a pretty good job of that. There are now four levels of UAC, so you can adjust what will dim your screen and ask for a confirmation, and basic things like “Show processes from all users” in Task Manager no longer require confirmation at all.
However, Microsoft has overlooked something very basic that amounts to a huge security risk. Turning UAC off does not cause any sort of a prompt. This means that malware will be able to programmatically disable UAC without a user’s knowledge. Once that happens, the malware will pretty much be free to operate with full admin rights, and the user will be none the wiser.
In my opinion, that is even worse than not having UAC to begin with. If a user thinks they have UAC protecting them, but it has been disabled, they may unwittingly run any number of malicious items thinking that UAC is keeping them safe. Microsoft really needs to fix this if they’re the least bit concerned about security.
UPDATE: Yes, Microsoft has thought of this, they’ve been told about it repeatedly, but they still intend on releasing it this way. And as for it being something that can’t be done programmatically, check out Long’s post where you can download some code that will do it for you.