The Great UAC Debate!


UAC  

1412 members have voted

  1. 1. Do You Use UAC?

    • Yes
      477
    • Yes, On "Silent Mode"
      91
    • No (I use an Admin Account)
      496
    • No (I use a Standard Account)
      39
    • I don't use Windows Vista
      118
  2. 2. Have You Ever Been Saved By UAC?

    • Yes
      226
    • No
      932
    • I don't use Windows Vista
      106


Recommended Posts

Nevermind the fact that most peope "saved" by UAC will never know it. That's like asking if their eating habits have helped them avoid getting sick. They'll never know if drinking less orange juice would have meant they'd have gotten sick sometime when they didn't.

Well... in order for them to be saved, they'd need to refuse permissions to an application. So I think they'd know that they denied an application access, and would likely only do that if they thought there was a risk.

UAC not only asks for your permission, but if it is a malicious program is also needs to be installed at the administrator level. People would also have to right click the installer and manually choose to run it as an Administrator. The program will install no matter what after clicking yes to the UAC prompt, but it will not run properly unless it is installed and ran as an administrator. That is the benifit of UAC, it prompts for approval and then won't run correctly without being ran as an Administrator. The malicious program may even cause a run prompt every time you turn on your computer.

Well... in order for them to be saved, they'd need to refuse permissions to an application. So I think they'd know that they denied an application access, and would likely only do that if they thought there was a risk.

UAC isn't just that dialog. it means all programs have by default lower privelage level until they have been elevated. therefore when an exploit is found in a piece of software and exploited it's ability to affect the system is severly limited, as in it can only access non crucial areas of the system like the Users folder.

UAC not only asks for your permission, but if it is a malicious program is also needs to be installed at the administrator level. People would also have to right click the installer and manually choose to run it as an Administrator. The program will install no matter what after clicking yes to the UAC prompt, but it will not run properly unless it is installed and ran as an administrator. That is the benifit of UAC, it prompts for approval and then won't run correctly without being ran as an Administrator. The malicious program may even cause a run prompt every time you turn on your computer.

Update, Windows defender seems to also block unknown programs, and you always have to unblock them on every startup, even though they are running as an Administrator.

FWI....I can't say everything I say here is bullet proof. All I can say is that I'm noticing the functionallity of how programs are delt with that require admin aproval and how Windows Defender helps allong side UAC in terms that protect us.

Well... in order for them to be saved, they'd need to refuse permissions to an application. So I think they'd know that they denied an application access, and would likely only do that if they thought there was a risk.

Not necessarily. Many exploits will simply flat out fail without showing you a single prompt, because the process they're contained in is being constrained by the integrity level launched at, because of UAC.

Not necessarily. Many exploits will simply flat out fail without showing you a single prompt, because the process they're contained in is being constrained by the integrity level launched at, because of UAC.

Not sure what you mean. As a Linux user, I see a slightly different privilege escalation scheme. In *.nix, privileges are typically elevated ahead of operation (though some apps allow post-execution elevation, let's not get into all the varieties, and stick with the typical). UAC seems designed all around the ability to elevate at any time. If you drag items around your C:/Windows folder in your explorer, you are given a "Cancel or Allow" type prompt, right? This allows you to initiate the event, and click to allow. Convenient.

In Linux, if I tried to drag items around in my /bin, I would not be given the ability to elevate at that time. The action would simply be forbidden. I like it, because a user ought to be thinking about his tasks, using forethought. But truth is, it is just a different philosophy behind the same escalation mechanisms yielding a slightly different implementation.

So, would not an exploit, running as the default user in Windows merely prompt to elevate, as the system isn't able to tell if the user wants the task to run or not? Or am I missing some way that Windows tries to differentiate between whether the user wants a task to run or not?

Not sure what you mean. As a Linux user, I see a slightly different privilege escalation scheme. In *.nix, privileges are typically elevated ahead of operation (though some apps allow post-execution elevation, let's not get into all the varieties, and stick with the typical). UAC seems designed all around the ability to elevate at any time. If you drag items around your C:/Windows folder in your explorer, you are given a "Cancel or Allow" type prompt, right? This allows you to initiate the event, and click to allow. Convenient.

In Linux, if I tried to drag items around in my /bin, I would not be given the ability to elevate at that time. The action would simply be forbidden. I like it, because a user ought to be thinking about his tasks, using forethought. But truth is, it is just a different philosophy behind the same escalation mechanisms yielding a slightly different implementation.

So, would not an exploit, running as the default user in Windows merely prompt to elevate, as the system isn't able to tell if the user wants the task to run or not? Or am I missing some way that Windows tries to differentiate between whether the user wants a task to run or not?

If a prompt just comes out of nowhere that should be suspicious enough in itself and you should hit cancel.

If a prompt just comes out of nowhere that should be suspicious enough in itself and you should hit cancel.
Oh, I would. Not sure that everyone would. :p You know, the old social issue with PEBKAC
Not sure what you mean. As a Linux user, I see a slightly different privilege escalation scheme. In *.nix, privileges are typically elevated ahead of operation (though some apps allow post-execution elevation, let's not get into all the varieties, and stick with the typical). UAC seems designed all around the ability to elevate at any time. If you drag items around your C:/Windows folder in your explorer, you are given a "Cancel or Allow" type prompt, right? This allows you to initiate the event, and click to allow. Convenient.

Explorer is spawning another elevated process to perform that operation. Once a process is spawned, its IL cannot be changed. The only way it can do "Admin" tasks is by spawning another, elevated, process to do them for it.

It's just a convenient feature in explorer, not really UAC itself. VMWare does the same thing: When you want to configure something that requires Admin privileges, it spawns another little helper process to take care of the operation, which gives you a UAC prompt.

If an exploit is something like redirecting the output of a program, and overwriting some data (Like a critical system file), then you're perfectly safe, UAC will contain it.

You'd need arbitrary code execution or the ability to spawn another process to trigger a UAC prompt from a hijacked process.

The action would simply be forbidden.

And if you tried to perform the operation from an un-elevated command prompt, or another filemanager, you'd simply get an "Access Denied" error there.

Edited by MioTheGreat

^^^ Thanks, Mio. I wasn't quite understanding the Microsoft implementation, and your explanation of Explorer spawning a separate task with its own level makes a lot of sense. It only appears to allow elevation after-the-fact because it is already pre-leveled to allow, but prompts. Sounds like an app in an email attachment or such would not be subjected to the pre-elevated spawned separate task that an explorer item is, and would similarly just fail on Vista or *nix.

Sounds like an app in an email attachment or such would not be subjected to the pre-elevated spawned separate task that an explorer item is, and would similarly just fail on Vista or *nix.

Well, binaries can be signed with a manifest that requests that it always be launched with Administrative privileges. If such a binary is sent in an email, you'll get a prompt when you try to run the attachment.

If it's something like screwing with a preview handler in your email application, then it'll be contained by the lower privileges of the email client.

^^^ Thanks, Mio. I wasn't quite understanding the Microsoft implementation, and your explanation of Explorer spawning a separate task with its own level makes a lot of sense. It only appears to allow elevation after-the-fact because it is already pre-leveled to allow, but prompts. Sounds like an app in an email attachment or such would not be subjected to the pre-elevated spawned separate task that an explorer item is, and would similarly just fail on Vista or *nix.

Nothing is pre-elevated. When you copy a file into a directory that only has a write permission for the Administrator group, Explorer gets an "Access Denied" error. Internally it swallows that error and offers to try again with Admin privileges, which results in Explorer launching a new process with Admin privileges (more specifically, I believe it's an out-of-proc COM activation). It is that new process that requests to be started with Admin privileges and thus UAC prompts you for consent/credentials in order to allow it to run.

The system isn't all that different from what you described on *nix systems. Many apps or system components simply delegate their admin tasks to separate processes, while working to maintain an integrated experience (and not having to relaunch the original app, etc).

I have UAC disabled and haven't experienced any problems. I have it disabled because some of the applications I need demanded it and I never saw the need to turn it back on. I don't dispute its functionality but I simply don't appreciate multiple click-throughs to create folders - trying to sort my start menu in folders was a nightmare. I don't like the way the screen is dimmed in secure mode; it's not that it looks bad but the delay is noticeable. I also find the information provided by the prompts to be quite vague, meaning I'm likely to just click through them anyway. I'm not one of those users that pretend they're superior to others and I run anti-virus to protect against most threats. I like the idea of UAC, I just don't like the implementation.

It would also be nice if UAC didn't require a restart to enable / disable. I don't care to know the technical reasons for it but there must be a way to shutdown the necessary components without requiring a full restart.

Well... in order for them to be saved, they'd need to refuse permissions to an application. So I think they'd know that they denied an application access, and would likely only do that if they thought there was a risk.

A common misconception, but entirely false.

If someone attacks an exploit in Outlook by sending you a mail message that attempts a buffer overflow, and then they are able to inject code into Outlook that tries to modify system files, some or all of their code will fail.

That's because Outlook is already running at the "medium" integrity level (ie. non-admin level), and once Outlook has been started this integrity level cannot be changed. Now, if the code tried to launch something else with admin rights, you might see a dialog come out of nowhere and have to click "no" to be saved. But in many cases the exploit won't do that, or won't be able to do that, and will simply fail.

Even more useful is the existance of the "low" integrity level, which is used by Internet Explorer in Protected Mode, along with other processes like prevhost.exe (which Explorer uses to host previewers that may load untrusted content).

In low-integrity mode, there is no elevation path at all, so they CANNOT make an elevation prompt get displayed*. They're also much, much more restricted, and while an attack could still do harm by reading your data, it could not delete or corrupt anything, even things in your Documents folder and what not.

* = An application, like IE, can actually provide its own mechanism to "elevate" something out of Low IL by using a broker process like ieuser.exe.

I don't care to know the technical reasons for it but there must be a way to shutdown the necessary components without requiring a full restart.

Every process running has to be restarted to truly disable it. Otherwise, they're still running with a Medium IL.

It depends on what you mean by "disable." You can effectively disable UAC, but in a much more secure way, by enabling the auto-elevation policy. This still provides the exact same experience for Low IL processes like IE in Protected Mode, prevhost, etc. But it makes elevation from medium -> high IL always automatic if it's asked for.

On the other hand, if you use the checkbox "big switch" method to totally turn off UAC, you have to reboot because it completely changes the way everything in the system works, and every process needs to be restarted with the full user token, instead of the "split token" that UAC provides.

brandon, please tell me that auto elevation "silent mode" is going to be made avaliable as an option in the user interface in windows 7.

the biggest problem with UAC in vista isn't the implementation itself but the fact that many people are turing it off because they aren't given the option to turn on silent mode at that point.

  • 1 month later...
I agree that silent mode should be visibly available in the options, or perhaps the "Off" option in windows 7 should be silent mode. A much better alternative to people turning it off.

I completely agree.

It's scary the amount of people (even those working in the IT field) who just turn UAC off without any idea of what it actually controls. The reality is the majority of software will work just fine with UAC in Silent Mode (or fully on) and the user will be none the wiser, and not try to disable it.

Like I always say, if the UAC elevation prompts p*ss you off, grab TweakUAC and switch UAC to quiet mode.

where do you ppls find these 1-function apps?

MzVistaforce can do that... and almost everything else...

[edit]

and... I do not see that it offers any security.

UAC on or off, I get no viruses :p (avira antivir)

I'm suprised people take such a simple view of UAC, it is far from just a simple bunch of settings to slow down users. Even more suprising is that anyone turns it off, as the prompts go away once you get your machine set up properly and tweak a few things. Outside of RealTemp and eVGA precision (which I only run once in a while to do spot checks) and the Transcender test engine (which is really a result of the copy protection Transcender uses not being fully tweaked for Vista) I rarely see a UAC prompt. And when I do see one I don't mind taking 5 seconds to think about what I'm doing and what the app is asking to do.

One of the reasons we haven't seen a bunch of security issues with Vista is UAC/Secure Desktop/Broker Processes/Secure Mode IE have made it much harder to script exploits and drive-bys.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Can we not have paperless office, like we was promised in the 80's
    • I actually laughed out loud in real life at the heading on this—whatever Microsoft is drinking, I want some of it.
    • Euro-Office must default to ODF to be considered "genuinely European", LibreOffice argues by David Uzondu Euro-Office is a web-based collaborative office suite that positions itself as a "European sovereign alternative" to American tech companies, backed by a coalition of developers including Nextcloud, IONOS, Abilian, BTactic, OpenProject, and, more recently, Tuta. The project officially went live a couple of days ago, but not before drawing heavy fire from LibreOffice developers, who called the marketing claim that Euro-Office represents the "first open-source office suite developed in Europe" a deceptive historical inaccuracy because projects like OpenOffice and LibreOffice existed decades earlier. Now that the project has launched, LibreOffice is back with another complaint, arguing that Euro-Office cannot consider itself "genuinely European" while it pushes proprietary Microsoft defaults on users. Euro-Office had promised to improve the OpenDocument Format (ODF) back in April, but the current release still plagues users with several technical failures. For instance, the suite lacks an admin setting to enforce ODF, and mobile editors completely block ODF saves, forcing files into Microsoft's OOXML formats. Some configurations force files into read-only mode, while editing frequently corrupts document formatting or erases data. LibreOffice thinks that merely supporting a format as an afterthought does not make you a sovereign alternative, as file formats are the battleground where" digital sovereignty is won or lost." The road to the first stable release of Euro-Office has been quite bumpy due to an aggressive public fallout with OnlyOffice, from which the coalition originally forked the project. OnlyOffice struck back by accusing the coalition of violating copyright terms under its AGPLv3 branding requirements by stripping the original branding anyway and forking the code. Getting Euro-Office up and running is a bit wonky (at least for non-technical users), as there is no direct installer to grab off the web. The easiest way we learnt is by using Docker. First, pull the official Euro-Office image from the GitHub Container Registry: docker pull ghcr.io/euro-office/documentserver:latest Then, run the container with active ports and a secure JWT token, enabling the test environment: docker run -i -t -d -p 8080:80 --restart=always -e EXAMPLE_ENABLED=true -e JWT_SECRET=my_secure_jwt_secret ghcr.io/euro-office/documentserver:latest And finally, open a web browser and go to the following address: http://localhost:8080 If you are running this on a remote server, replace localhost with your server's IP address. You will see the Euro-Office test page, where you can create new text documents, spreadsheets, or presentations directly in the browser. Image via Euro-Office Nextcloud promises that proper standalone desktop versions and mobile apps will arrive in a future release.
    • It’s any of their products not just windows.
  • Recent Achievements

    • Week One Done
      FBSPL earned a badge
      Week One Done
    • One Year In
      Jim Dugan earned a badge
      One Year In
    • One Month Later
      Tommi118 earned a badge
      One Month Later
    • One Month Later
      sjbousquet earned a badge
      One Month Later
    • Week One Done
      sjbousquet earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      486
    2. 2
      PsYcHoKiLLa
      197
    3. 3
      +Edouard
      155
    4. 4
      Steven P.
      83
    5. 5
      ATLien_0
      69
  • Tell a friend

    Love Neowin? Tell a friend!