I am going to be blunt, and if I offend some people, I am sorry.
Turning off UAC in Vista == stupid!!! Period. That people run as admin, by default, on previous versions of Windows, when the NT team implemented an excellent security model that was never enforced, was also a bad decision.
(1.) Now, for those that don’t get it: UAC is NOT just about the prompting. In fact, the requests to elevate are of only minor benefit. HOWEVER, that applications that do not require elevation are running with least user privileges and lower integrity IS THE BIG WIN!!! Let me repeat that: Running IE, FireFox, Word, mIRC, MSN messenger, AIM, GAIM, Outlook, Eudora, Adobe Reader, etc, etc, etc, as a standard user BY DEFAULT is the BIG WIN with UAC.
(2.) That the user is also given a chance to say no if something bad is attempted is ALSO a solid win. Trust me, when you are browsing along in IE (or other app) and suddenly a UAC prompt appears out of nowhere because some embedded code on a page leveraged a hole in IE (or other app), you will be damn glad that you had the chance to click cancel.
Example scenario on XP or Vista with UAC disabled: I run “superduper IRC client”, which it turns out has a buffer overflow problem when parsing certain IRC output and as a result is a target for remote code exploit (yes, this has happened). Since I, the script kidiot on the other end of the exploit now has control of that process, and that process is running with NT Administrator (God/root/etc.) privileges, I can embedd all kinds of terrible things in the exploit code, such as cross-process code injection (via debug facilities), loading a kernel mode driver and patching the kernel (on 32bit XP and Vista). With UAC enabled these automatic silent attacks ALL WOULD FAIL and your machine would stand about 99% better chance of not getting owned.
(3.) Be thankful that UAC is as non-invasive as it is. On my ‘nix boxes I have to SU or get prompted for credentials for admin apps, utilities or global actions, JUST LIKE on Vista, but I have to carry out at least eight keystrokes for my password. Any other solution, such as a suid bit (trust this app) or the “unlock” model that other systems use, are potentially dangerous and programmatically exploitable.
(4.) Stop the “it has no value because it just trains users to click okay” argument. Even if users do click okay to everything, it STILL has tremendous value just in item 1 above. Furthermore, take the time to educate yourself and other users as to what UAC actually is and what it is doing.
(5.) Last, but not least, re-read items 1 & 2 and understand that you can do EVERYTHING RIGHT from a user standpoint (e.g. not downloading suspicious apps, running AV, etc.) but you can STILL get owned through no fault of your own. Running your processes with super-user privs is equally dangerous on EVERY platform. So, for your own sake and others, leave UAC on. It is the RIGHT thing to do.


