Slashdot Mirror


"Very Severe Hole" In Vista UAC Design

Cuts and bruises writes "Hacker Joanna Rutkowska has flagged a "very severe hole" in the design of Windows Vista's User Account Controls (UAC) feature. The issue is that Vista automatically assumes that all setup programs (application installers) should be run with administrator privileges — and gives the user no option to let them run without elevated privileges. This means that a freeware Tetris installer would be allowed to load kernel drivers. Microsoft's Mark Russinovich acknowledges the risk factor but says it was a 'design choice' to balance security with ease of use."

17 of 813 comments (clear)

  1. An even bigger hole... by KingSkippus · · Score: 5, Insightful

    There's a much, much bigger hole than any programmer could possibly exploit: The annoyance factor.

    Last night, I restored my old XP partition after figuring I'd give Vista a shot for just a couple of days. You know, just to experience it myself instead of taking other people's word for what it's like.

    The theme of Vista seems to be simple: Annoy the hell out of he end user. You want to run an application, is that okay? You want to copy a file, is that okay? You want to change your desktop background, is that okay? You want to copy text from IE7, is that okay? You want to delete an old text file, is that okay? You want to paste text into a form field in IE7, is that okay? The list goes on and on. Almost every action in Vista is actually compose of two separate actions: the one you want to do, and the confirmation to do it.

    After getting Windows Vista installed, I took an hour or so to configure my personal settings and install a couple of applications. I had to acknowledge somewhere between 50 and 100 dialog boxes asking me if it was okay to do what I was doing. No, I'm not exaggerating.

    Now, I'm a very experienced computer user, and I've worked for over a decade supporting PCs, servers, networks, and so on. Yes, I know, I could disable UAC if I want to, but that kind of defeats the point of Vista's so-called beefed up security.

    Even I became so numb to clicking OK in two short days that I wouldn't think twice about it. You want to move that shortcut on your start menu, is that okay? You want to install the Pwnzjoo virus, is that okay? You want to send your bank account numbers to Nigeria, is that okay? Yes, yes, yes, dammit!

    If Microsoft wants to really get serious about security, they have to get it through their heads that it's not about locking everything down and popping up prompt after prompt after prompt to the user. It's about being smart, letting the user do normal things without interference or interruption, and having the level of alerts match the danger of what's being done.

    As it is, Vista cries wolf so often that when the real wolves show up, I'd be surprised if any user, newbie or guru, listens.

    1. Re:An even bigger hole... by EXMSFT · · Score: 4, Insightful

      UAC is so amazingly, fundamentally flawed. Has been from the beginning. As you noted, it's susceptible to user numbness. It's also susceptible to the dancing pigs phenomenon, something mentioned by Microsoft's own Steve Riley (see http://www.microsoft.com/technet/community/columns /secmgmt/sm0405.mspx, and search for the words "dancing pigs".

      Mac has issued a salutation. Allow or deny? Comedy gold, and yet Apple hit the nail on the head.

      My expectation is that at least 50% of Windows Vista consumers will turn UAC off entirely, and the remaining 50% will ignore it (psychologically disable it) to the point that it may as well be disabled - especially applies in the enterprise computing world where Joe won't be allowed to turn it off, but still wants to do whatever he wants. Meaning that in the default configuration of users as hobbled admins, every Vista user is then an admin. Just like they are in XP. Really validates 5 years of hard work on security.

    2. Re:An even bigger hole... by ucblockhead · · Score: 4, Insightful

      I'm a Windows developer. Last time I got a new machine, I counted the number of applications that I needed to install to completely set up my development environment. That number was over forty. You're telling me that I need to track changes to every one of those applications? Not easy on an OS that doesn't have anything like apt...one reason that while I write Windows code by day I run Linux at home.

      There have also been a number of times in my career where I have had to use development software written by companies that either went out of business, or stopped supporting that software. What then?

      What Apple understands and Microsoft does not is that it is not my job to make the OS work better. It is the OS's job to make my life easier.

      --
      The cake is a pie
    3. Re:An even bigger hole... by SteveXE · · Score: 4, Insightful

      Im with you. I get annoyed pretty quick when it comes to crap popping up on my screen but I've been running Vista since launch and it really doesnt bother me. Im kinda glad its asking if its ok to do some of these things. Its already prevented one program that was piggy backing on another app I downloaded from installing. I downloaded the program which I trusted from a source I trusted. Well guess what was hidden in the install that vista blocked from auto running? Spyware!

      Everyone seems to be making a huge deal out of nothing and they alway get +5 moderation for doing so. If you dont like UAC then shut it off and move on, its not that hard...oh wait I forgot. Microsoft sucks no matter what they do!

  2. Further proof by Anonymous Coward · · Score: 5, Insightful

    ...that security needs to be designed in from the start to be effective, not a bolted-on afterthought.

    When are they finally gonna give up this retarded backward-compatibility-at-all-costs mindset and *really* rewrite Windows from the ground up? Microsoft owns Virtual PC for Christ's sake, so it's not like they couldn't include a sandboxed "classic" Windows for app compatibility for a few years.

    The one thing Apple did that Microsoft really ought to copy, they don't. Figures.

  3. Swinging a Blunt Object by CheeseburgerBrown · · Score: 5, Insightful

    I think you're right. Microsoft has failed to appreciate the user psychology of interacting with authorization prompts in a way that would shame most retarded chimpanzees. The only explanation that doesn't invoke something more bizarre than Xenu is that they figured most Deltas would simply turn off the feature out of annoyance, and thus Microsoft would bear no blame in the subsequent (and likely rapid) zombification of said Delta's system.

    "What? We put the thingy in. It's not our fault if idiotsticks turns it off because he's too lazy to take security seriously."

    This is a way to let themselves off the hook, escalating user error to the root of all evil instead of, say, a hopelessly fractured and bloated development bureaucracy overseen by demented lizard people. This is a response to the criticisms about Windows having a default configuration more favourable to trojans than users, so they can now claim that the default configuration is solid. You changed a setting? The buck stops at you, sucker.

    Maybe Microsoft needs someone with some insight into user behaviour and interface psychology on staff. I hear Steve Jobs has a reasonable hourly rate. (/me ducks)

    1. Re:Swinging a Blunt Object by AeroIllini · · Score: 4, Insightful

      I know, I know, it is still not as good as *nix security, and there are lots of programs that need admin privileges to run properly (fewer these days, though), but it isn't that bad.

      You know, if any *nix software required the user to be root to run, we would string the developers up alongside the guy who thought Clippy would be a good idea.

      Why should it be any different for third-party applications requiring Administrator privileges to run on Windows?

      Microsoft is so busy catering to the third party developers in order to maintain their lock-in, that they forgot how to put their foot down on truly important software engineering issues, like security. Locking down XP to an almost *nix-like state can be done. There are read/write/execute permissions available on every directory, drive letter, and registry key, and Windows supports the "home directory sandbox" model. After all, a virus in *nix could conceivably blow away a user directory, but unless it's exploiting a buffer overflow or other coding error hole, it can't take down the system. The same is possible in Windows, but not available by default to your average Dell user.
      --
      For security, the MD5 hash of this message and sig is 09f911029d74e35bd84156c5635688c0.
  4. You ought to watch those irrational beliefs . . . by mmell · · Score: 5, Insightful
    Let's say rather that you need root authority to install rpm packages for use by all users.

    rpm itself doesn't require root authority, and if everything you intend to do with rpm happens in directories to which you have write authority, rpm will work just fine.

    By default, rpm does use directories (notably, in /var) which will require running with root authority; but this can be overridden with command line switches (say, to install an rpm which will only be used by you).

    RTFM.

  5. Apple got it right by ruiner13 · · Score: 4, Insightful

    There are 2 ways to install software.

    1. Drag application folder where ever you want it
    2. If application does need to install a control panel, kext, or any other system file, then you can create an installer. When the installer tries to install the files that need the elevated permissions, it then tells you what it is trying to do and asks for an admin user/password

    How is that hard to grasp at MS? Assuming everything needs admin permissions is just insane, and insisting it isn't a security hole and is a "design choice" is just fucking retarded.

    --

    today is spelling optional day.

  6. Re:It's not the software. by Paolo+DF · · Score: 5, Insightful

    So, this is *exactly* like the latest "get a Mac" ad. Maybe even funnier!

    --
    Pumbaa! I don't wonder; I know.
  7. Re:It's not the software. by Rycross · · Score: 4, Insightful

    Its mostly because Windows has been so piss-poor with their default settings in the past, so trying to get a more secure-by-default setup is like pulling teeth. I remember once reading in a security book that integrating security into your application after the fact is several times harder than designing it that way by default. Windows is in the unenviable position of having to integrate security after the fact.

    Regardless, I think that a Windows version of sudo is a very good step. They just should have spent more time working on permissions so that it didn't trigger so much (assuming that what the posters' have said is accurate). The setup thing in TFA is kinda stupid, but installers almost always write to Program Files in Windows, and rarely have a per-user installation method like in Linux. A better solution would have been to try and encourage installers to have a per-user installation method.

    Anyways, it may be that I'm just lucky that I haven't had a lot of problems with UAC. But I haven't had to go registry diving or modify any system directories in Vista yet, so theres that too.

  8. Re:It's not the software. by PitaBred · · Score: 4, Insightful

    Is it sad or scary when hyperbolic advertising isn't?

  9. People who complain about UAC don't understand UAC by RzUpAnmsCwrds · · Score: 5, Insightful

    Everyone who complains that UAC is annoying doesn't understand that the purpose of UAC is to be annoying. UAC makes elevation a pain, in the hope that software creators will write software which doesn't need to elevate!

    VMWare 6, for example, constantly elevates on Vista. What do you want to bet that VMWare 7 won't?

    Well behaved programs elevate only when and where they have to. Even if 50% of Vista users turn UAC off, that's still 50% of your client base who is being constantly bombarded by elevation dialogs. The solution? Write your software so it doesn't need to elevate.

    As for the article - installers pretty much have to elevate. This is true on Windows and with Linux packages (when was the last time you ran apt-get without using sudo or running as root?). Some have pointed out that you can install most packages in Linux to be specific to your user account, using special flags. This, of course, is possible in Vista as well, if MSI packages are used.

    Note that I do agree that it's a problem that you can't override UAC detection. There needs to be a "don't run as administrator" option.

  10. Re:It's not the software. by pherthyl · · Score: 4, Insightful

    People bitch when it's so easy to get this stuff on a windows machine, Microsoft finally does something about it and people decide to bitch about that.

    No, people aren't bitching about them doing something, they're bitching about them doing something WRONG. Linux and Mac's have a similar approach to this problem, but their solution (sudo) is not annoying, so it actually works. All Microsoft had to do was copy that solution to improve security, instead they came up with their own and made it obtrusive in the process.

    I have yet to experience these supposed headaches with Vista yet, the only time that shield pops up is when I run a program that is potentially harmful to my computer

    Although I also have not seen these prompts when copying text, I have seen them in plenty of places aside from installing programs. Places that make absolutely no sense, such as storing wireless settings. There is no reason that action should require admin privileges and thus a prompt.

    How many story's were posted about programs looking like they came from an official place only to release a trojan? sure you get a program from download.com and figure it's safe but after installing a program it suddenly fucks up your PC, with Vista it will actually ask if you trust it let you know where it came from the works.

    And how would that help? You download a program from somewhere, and double click to install it. Whether it is a trojan or not, Windows is going to ask you for permission. Since you downloaded it, you obviously think it is not a trojan, so you would press Ok on the permissions dialog. Turns out it is a trojan, and your system is compromised. A permission dialog does nothing to protect you here.

  11. Re:It's not the software. by Stamen · · Score: 5, Insightful

    What you aren't understanding is: it isn't the concept of asking for permission when you need to do something that requires administrator rights, that Microsoft got right, it's the way they implemented this feature that is so bad. Microsoft often gets the general ideas right, but the details are so wrong.

    Higher up in the thread someone mentions what happens when you copy a file to a folder in Program Files. Because Program Files folders are protected you need elevated permissions to do that. The right thing to do is say that it requires elevated permissions, ask if you want to do it, then do it. But in some cases it asks you 3 times for one file (do you want to copy, do you want to elevate, do you want to overwrite, do you want to be admin, do you need help with writing your letter). Why can't they give you one box that says, "The file already exists and this copy requires administrator rights, do you want to allow this?", then when you say OK, you are done. Why, why, why can't they do this, are they short of money?

    And Mac and Linux do exactly the same thing, they ask your permission to do admin tasks, except they got the details right so they don't irritate the user to death. A guarantee people are just going to shut off UAC because it's annoying, defeating the whole purpose.

  12. Re:It's not the software. by PopeRatzo · · Score: 5, Insightful

    My few hours with Vista taught me something important about operating system design. That is, a good operating system should make you feel like you're in control of your computer. Like you're the one calling the shots and that the system will do exactly what you want it to do without fuss. Further, the experience of using a good OS should make you TRUST your computer and feel as if your computer TRUSTS you. You should not have to beg an OS to install an app or run an executable. Even if you do something that is possibly dangerous to security, the most it should do is ask "are you SURE?"

    I don't want to wonder if my computer is tattling on me if I'm downloading an mp3 without DRM or watching a copy of a video that a colleague gave me. I don't want to think my computer is a rat or a punk. I don't want to think my computer will rebel if I run a perfectly legal program like Alcohol or rip.net or want to install the k-lite mega codec pack.

    DirectX10? It's going to take more than DirectX10 for me to accept my computer as a spy in my home.

    --
    You are welcome on my lawn.
  13. Re:It's not the software. by mrchaotica · · Score: 5, Insightful

    And the worst part is, if you tell them the truth -- "it does that because Microsoft sucks at making software" -- they don't believe you and think you've got some kind of unfounded grudge against Microsoft!

    --

    "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz