Vista's account protection: one click and it's gone

James Bannan09 September 2006, 4:35 AM

If TweakVista can turn off Vista's User Account Protection with one click of a checkbox, just how much security does this major new feature of Vista really offer?


Recently we’ve been discovering some of the downsides of User Account Control (UAC) in Windows Vista. One of the things we found was how easy it is to turn off completely.

David Flynn mentioned in a previous article a tool called TweakVista, and one of its features is to modify the behaviour of UAC, or turn it off completely.

These tweaking tools generally just leverage off the system registry, changing strings and DWORDs on the fly. Most of these are, in turn, set by options in local group and security system policies. So in other words, if you know where to look you can just under the hood and tweak whatever you please.

What worried us with TweakVista was the tickbox to turn UAC off entirely. There was no protected desktop popping up to ask whether we REALLY wanted to do this - it was simply gone. End of story, goodbye.

So the question I asked Microsoft was: if UAC is supposed to help protect people from malicious programs and their own bad choices, how effective can it really be if a benign app like TweakVista can jump straight in there and make whatever changes it likes while Vista slumbers, blissfully unaware of what’s happening?

What’s stopping a malicious app ... say, a downloaded "freeware game" ... from prompting the user for UAC authorisation during the install process and then getting into the registry and disabling UAC?
The response from Microsoft was thus:

"If an application requires administrative privilege, such as Tweak Vista, a prompt is generated through User Access Control (UAC). If consent is given by the user, this then elevates the application to a higher (administrative) integrity level and allows privileged access to occur within the context of that application only. Note that for this to occur, the UAC prompt requires that a user must provide consent before the application will be allowed to run. UAC is only one component of the defence in depth security capabilities of Vista. It is the sum of all Vista's security capabilities - UAC, IE7, Firewall, Defender, MIC, SID and CI - that protect users from inadvertently obtaining and then allowing malicious software to run. Microsoft recommends that users run with standard user privileges, and that they be very careful when running applications with administrative privileges."

This isn’t too surprising really. It confirms what we have come to suspect about UAC - it’s very useful for standard users and totally useless for power users/administrators.If you have to grant admin privileges to a setup process to allow installation, and from there it can do whatever it wants, UAC hasn’t actually protected you at all.

Standard users are in a different position, as when UAC prompts them for action approval, they have to enter an administrative username and password. In this case (assuming they don’t know the password), users ARE protected.

The only downside is that to get full admin rights (particularly at the filesystem level), UAC has to be disabled. This means that standard users aren’t protected. For home users this probably won’t ever be an issue, but for business machines with both admin and normal user accounts on each machine, it’s probably going to mean a bit more work to get things working properly. Hopefully the user benefits of UAC will outweigh this cost.


Post your comment



Comments

RSS feed Email alert

Tin:

I like how they listed IE7 as one of the security features in Vista....

29 February 2008, 8:28 PM (2 years ago)report abuse Send to a friend reply

JAMES:

Maybe if you knew more about IE7, especially the Vista version and how it runs, you wouldnt make such an uninformed post.

IE7 in vista IS a security feature of vista - but one would only know that if they bothered to actually read up on it. Dont confuse IE7 in Vista with any other version of IE that ever existed.

Try to know what you talking about befor you talk about it.

29 February 2008, 8:28 PM (2 years ago)report abuse Send to a friend reply

Dan Warne:

To me it's pretty simple: disabling UAP should trigger a SPECIAL authentication process. e.g. it shouldn't just be part of having elevated privileges overall -- once a program has been authenticated for administrative privileges, it shouldn't automatically be able to disable UAP.

If ANY program tries to disable UAP, Windows should pop up an alert warning the user that something is trying to disable a critical part of Windows' security.

Frankly it's arguable that the security layer is worth nothing if a user can disable it so easily.

Windows' lack of 'front of house' security has been its fundamental weakness from the beginning. If you make it so easy for users to disable the prompts, people are obviously going to do it... because they're annoying. Then viruses are just going to propegate as they always have before.

I must say Mac OS X seems to have the user authentication process right. There is no way of disabling it, but it doesn't have as many alerts as Windows does, so it doesn't get annoying. You really only need to authenticate when changing really important system settings, or installing software. Plus it doesn't go the whole "greyed out screen" thing (that's one of the things I find the most annoying). It just pops up a dialogue.

29 February 2008, 8:28 PM (2 years ago)report abuse Send to a friend reply

Samuel:

Actually, if UAC is disabled the system prompts the user with a critical alert at the Security Center, so the tray shows the red shield.

Nobody told us that UAC would be the perfect user security feature, it is just another step.

I agree with Dan that UAC prompts should be less than they are at present, and disabling UAC should be harder to do as installing an application and changing a registry value that defines a system security item is actually very easy.

29 February 2008, 8:28 PM (2 years ago)report abuse Send to a friend reply

Xepol:

streamlines the process of turning off UAC, which 99.9% of people will probably do within an hour of running vista. 5 minutes to get annoyed, 54:59 minutes of googling about it and a second to turn it off...

29 February 2008, 8:28 PM (2 years ago)report abuse Send to a friend reply

Chris:

You don't even need tweakvista to disable UAC. All you have to user accounts and unclick UAC check box. But seems like most people just see a different looking GUI and then stop at that....

29 February 2008, 8:28 PM (2 years ago)report abuse Send to a friend reply

mjh:

UAC can be turned of in Vista's own Control Panel -- no extra software required. Though the consequences are as Samuel described.

29 February 2008, 8:28 PM (2 years ago)report abuse Send to a friend reply

Ruel Smith:

Another step? It's getting left behind. Linux has been secure for a long time now.

29 February 2008, 8:28 PM (2 years ago)report abuse Send to a friend reply

Jan304:

Quote from Samuel:
Actually, if UAC is disabled the system prompts the user with a critical alert at the Security Center, so the tray shows the red shield.

I know programs that disable the default windows firewall (with confirmation of the user of course) and then automatically change something in the registry so windows no longer nags about "no firewall". With this in mind, Microsoft probably has built the same feature for UAC...

So what is virus/trojan writers stopping from preventing that warning to pop-up?

Can somebody confirm this btw? I don't have vista so...

29 February 2008, 8:28 PM (2 years ago)report abuse Send to a friend reply

dh:

Jan304, Windows offers a way to do it in the Firewall Options. Is one of those programs called Windows XP?

And it no longer nags about no firewall.

29 February 2008, 8:28 PM (2 years ago)report abuse Send to a friend reply

Ovi:

Once the applications got the rights of an Administrator it can perform anything an Administrator is allowed. If you aprove an untrusted application to gain complete access to your system, the result is completely your resposability. Sorry but the whole story is missing the point. Application GOT explicit approval to do whatever it wants so you should not wonder that is can turn off UAC. Some users SHOULD by any mean be able to turn off UAC. This is the administrator. Any application running under Administrator credential can do anything (as control panel aplet). Please inform on security priciples before publishing inflamatory stories.

29 February 2008, 8:28 PM (2 years ago)report abuse Send to a friend reply

Nemo:

Somewhat was not clear, for me. I try to write down what I have understood:

1. UAC exists
2. I can disable UAC through TweakVista
3. To disable UAC, TweakVista ask me my account password
4. I provide my password to it and then I give to TweakVista process the privileges to disable UAC.
5. TweakVista disables UAC.

Ok, now I write what I didn't have undestand:

After step 5, a user is totally unprotected or totally protected without possibility to obtain admin privileges anymore? More precisely, the user account privileges were turned in to admin for all processes which will be executed in same session? Or the account were locked down to its non-admin privileges during all the time the session remain active?

In the first case, UAC is useless, because any application can ask for admin privileges and then disable UAC.

I hope I was clear.

29 February 2008, 8:28 PM (2 years ago)report abuse Send to a friend reply

Marc:

In a linux/unix environment, if I know the root password I can do the same thing. So why is everyone whining about this "feature" in vista? If the user doesn't have admin rights (or know the admin password), they can't turn off UAC.

29 February 2008, 8:28 PM (2 years ago)report abuse Send to a friend reply

Jack Cox:

Are you simple Marc? What this "feature" amounts to is removing the requirement for root access. You can't login to a *nix terminal and instruct to operating system to ignore the requirement for root access to perform certain functions, because it's a fundamental part of the way the environment works.

Yes, you can use the root password to stuff up your system. What this does is make it so that you can stuff Vista up just as badly WITHOUT the root password, as long as you disable UAC.

The implications are huge - for one thing UAC is clearly implemented poorly. If user X is tricked into disabling UAC protection by a bit of social engineering, their PC is all of a sudden able to be compromised without needing admin rights - exactly the thing that UAC was designed to prevent.

29 February 2008, 8:28 PM (2 years ago)report abuse Send to a friend reply

david:

Jack,

What Mark is getting at is that if you have the root password in Linux you can mess about with all kinds of things. For instance you could completely rewrite the PAM config stopping users needing their passwords to login. Or you could run "chmod a+w /usr", effectively doing the same as disabling UAC.

Before anyone flames this, I know that there are exceptions to what I am saying. And yes I don't know all that much about UAC, but I know all I want to know.

Should also point out that I am in no way a Microsoft fan.

29 February 2008, 8:28 PM (2 years ago)report abuse Send to a friend reply

bleh:

Jack Cox - with root in *nix u can get the same affect as turning off UAC by giving the account you want to bypass the security, root access.

the fact that you crossed the security boundary into into admin territory (or root territory for *nix) means you can do what ever you want. its the same for both windows and *nix.

the catch is that you must first be able to cross the security boundary. i.e. you must know the admin (vista)/root (*nix) password. if you know that you can do whatever you like - including bypassing whatever security you want.

29 February 2008, 8:28 PM (2 years ago)report abuse Send to a friend reply

Cory - Intel:

UAC is going to be a problem for Microsoft over the next few years until Microsoft does what WinFS was suppose to do.....Eliminate the Registry. Linux, UNIX and Mac application run pretty much “stand-alone”. Very little access to system O/S files are needed with Mac/Linux based application, hence you get far less security prompts and the need for far less access to the system files. Even when Mac and Linux apps need to be modified. Because they run independent of the operating system, there is not need to modify system files, hence, no prompt. Windows has everything integrated into the registry and as mist technology people know. The registry is Windows! A 9 out of 10 times requirement that when any application wants to be installed or modified in anyway..guess what?..you get prompted. File sharing and central DLL integration was invented years ago because of limited hard drive space and cost of storage back in the 90’s. With hard drives now at 500GB...File sharing and integration with are no longer needed on the API level. ODBC connectors can handle import/export abilty..So why is Microsft still pushing the registry down our throats. Simple...So everything must go through Windows so Microsoft can control it and because it would take 5 years minimum to re-write every Windows application to no longer depend on the registry and be able to operate on its own within reason...MS will get there, but it will not be an over night fix with Vista.

29 February 2008, 8:28 PM (2 years ago)report abuse Send to a friend reply

GreenReaper:

As the developer of TweakVista, I thought I should comment . . .

Yes, it is true that unticking that box will disable UAP systemwide. Windows should warn you about this change, unless you turn the Security Center service off as well, or ask it not to warn you separately. As others have noted, this is simply the power that you have as a member of the administrators group. Ultimately, it's your PC, not Windows', and if MS hadn't done it that way others would have found a way.

The main advantage of UAP is to prevent *unexpected and unintended* elevations of privilege. If an application does not request privileges up front, it is not given them, and so the attack surface is reduced. It cannot be subverted into requesting further privileges - they will be denied.

It is safer to enable the "automatically allow" administrator option in TweakVista, which will leave the system on but not require prompts for elevation where specified. Then at least programs that do not require privileges will not have them.

29 February 2008, 8:28 PM (2 years ago)report abuse Send to a friend reply

Jack Cox:

What Mark is getting at is that if you have the root password in Linux you can mess about with all kinds of things. For instance you could completely rewrite the PAM config stopping users needing their passwords to login. Or you could run “chmod a+w /usr”, effectively doing the same as disabling UAC.

Actions which it would be almost completely impossible to perform by accident. As distinct from... you know, a checkbox?

Jack Cox - with root in *nix u can get the same affect as turning off UAC by giving the account you want to bypass the security, root access.

Wow, I've never used this *nix of which you speak, so was completely unaware of that. Seriously - this is Microsoft giving users more than enough rope to hang themselves and their entire family. The point of this is how easy it is. Anyone new to desktop *nix would merely blink at you a few times if you asked them to permanently elevate their user to root priveleges, but in Vista?

"UAC can be turned of in Vista’s own Control Panel â€" no extra software required."

So... you can disable the primary security feature of the OS just as easily as you can make your desktop fonts larger. Ouch.

What the real issue is is that they haven't separated enough of the OS out of kernel space and into userland, so totally stupid things trigger UAC, even in the latest builds. As such, they need to have an option to toggle it off easily because it's so fucking annoying.

And the response to this major design flaw? Instead of having an operating system built on security, you have now security tacked on as a secondary concern to user convenience. Just like in Windows XP. So how will Vista make us safer again? Oh, a phishing warning in IE7. Right...

My gut is filled with loathing for all things Mac because Apple are the biggest pack of arrogant pricks in the corporate world - with the least to be proud of to boot. But even I have to admit that OS X kicks Vista's (and other desktop *nixes) arse at this - the foundation is security, yet user experience is catered for as well.

29 February 2008, 8:28 PM (2 years ago)report abuse Send to a friend reply

Paulo Silva:

I really don't understand how people can get so sidetracked with simple things, but anyway... The thing is:

1 - UAC is the Windows equivalent of sudo
2 - In almost every major Linux distro today I have to face the UAC-style pop-ups requiring me to authenticate as root in order to do the most trivial of tasks. I don't see anyone complain about that, yet they do about Vista (why?).
3 - If I choose to disable UAC, I'm just doing what any administrator does when he logs on as root on a Unix/Linux system, that is, work as administrator without any security alerts being popped up.
4 - By disabling UAC I'm still required to be an administrator in order to do, you know, administrator's stuff. It's not like every user will be promoted to admin status.

So, what's the issue again?

29 February 2008, 8:29 PM (2 years ago)report abuse Send to a friend reply

anonymous user Anonymous user


Tags