"Very Severe Hole" In Vista UAC Design 813
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."
An even bigger hole... (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.
Re:An even bigger hole... (Score:5, Funny)
no doubt, thats why Dell is marketing its harware for Vista as great for "booting the OS, w/o running apps or games [googlepages.com]" (link via this [dell.com])
Since when did booting an OS become a "feature" of the OS?
Re:An even bigger hole... (Score:5, Funny)
Re:An even bigger hole... (Score:5, Funny)
Re:An even bigger hole... (Score:4, Funny)
Swinging a Blunt Object (Score:5, Insightful)
"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)
Re:Swinging a Blunt Object (Score:5, Interesting)
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.
Take care
-mat
Re:Swinging a Blunt Object (Score:5, Insightful)
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.
Re:Swinging a Blunt Object (Score:4, Interesting)
Presumably you mean "any *nix software which claimed to be some kind of ordinary user application".
You'd probably also want to ensure that the software itself was wiped from the face of the planet, since if the "developer" dosn't know about the setuid permission bit it's rather unlikely that they they know enough to write software which has any chance of being bug free...
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.
In theory XP's permissions system is more capable than that on unix type systems. Since every permission is an ACL (including deny options, thus you could say "Any user in accounts except for Anne and Bob can do this..) In practice it appears even Microsoft have problems securing Windows properly.
Re: (Score:3, Interesting)
Sooner or later, if you offer a situation where the user needs to click okay for non-threat situations - you train them to click okay every time the message is presented. You are providing a pathway to encourage users to circumvent, not just allow it. Solves one problem by creating a new one.
Steve is that you? (Score:5, Funny)
Re:An even bigger hole... (Score:5, Funny)
One of these things is not like the others,
One of these things just doesn't belong,
Can you tell which thing is not like the others
By the time I finish my song?
Re:An even bigger hole... (Score:5, Funny)
Re: (Score:3, Funny)
Re: (Score:3, Informative)
Re:An even bigger hole... (Score:4, Insightful)
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!
Re:An even bigger hole... (Score:4, Funny)
Re:An even bigger hole... (Score:5, Informative)
UAC prompt opens in separate logical desktop. Applications from main desktop can not send windows messages to it which means malware will be unable to click ok itself.
Re:An even bigger hole... (Score:4, Informative)
Of course, linux and OSX have fine-grained mechanisms to grant/revoke permissions for any file, folder, or program. If I wanted to install openoffice as my cousin vinnie, I could do so. Vista's all-or-nothing UAC is nothing more than an attempt to shift blame to the users, so that MS can claim to provide better security than ever before.
Re:An even bigger hole... (Score:4, Informative)
In theory UAC should behave like this as well. UAC is mostly a way of elevating priveledges, just like sudo, minus the password. Administrators on Windows actually run under lower priveledge accounts, and then elevate for specific tasks that require administrator priveledges.
See, the real problem is so many things in Windows requires Administrator by default. Even stuff that shouldn't. Thats the real problem here.
You can do this in Window's too. It has a "Run As" option, and ACLs that let you any arbitrary number of users or groups' access to the file.
It's not that simple (Score:4, Interesting)
The problem is that security isn't simply relegated to actions affecting system files and program installations. If you've ever cleaned a Windows box that had been hit by some virus or malicious website (back when websites could affect IE bookmarks, etc.) you probably noticed a glut of shortcuts and bookmarks pointing to websites that the "attackers" wanted you to visit. This all takes place within the userspace yet it is undesirable behavior. Likewise, copy/pasting to-from the browser has been pointed out to be a security hole [slashdot.org] even though the actions take place entirely in the userspace. I'm not saying that the kernel shouldn't be protected, but that ignoring userspace interactions entirely is equally wrong.
It does not sound like MS has addressed the problem properly if UAC is instantly conditioning users to always click "ok", but to say that it should only be invoked when attempting "dangerous" operations belies the complexity of the issue. At the end of the day my kernel getting infected is not my primary concern - the integrity of my personal files is. Even if I had to purchase a brand new box with a new OS license off the shelf it's still easier/cheaper to do than trying to replace the accumulation of files I've created, downloaded, purchased, etc.
Re:An even bigger hole... (Score:5, Informative)
You mean like modifying files that you don't have ownership of?
UAC does not, and has never, prompted users when they move files that they have permissions to. It does, however, prompt when you move files that are in the common desktop or in the common start menu folders.
Clearly, you don't understand anything about how Windows works. Windows has had access control lists practically everywhere in the OS since Windows NT.
Oh, and the ACLs in Windows are far, far more "fine-grained" than the usable-but-primitive permission bits in Linux.
Re:An even bigger hole... (Score:5, Informative)
Re:An even bigger hole... (Score:4, Informative)
Uh, Linux has supported POSIX Access Control Lists and Extended Attributes for quite a while now.
Heck, it dates from the days when ext2 was the king of filesystems, and that's a long way back. (Granted, at least on ext3, you have to specifically turn them on in mount options or with tune2fs, but on XFS, JFS and (to my knowledge) Reiser3 and 4, they're supported out of box.)
And when people say POSIX, they mean "real *nixes have had these features for, like, centuries". =)
What you're saying next? "Active Directory is so much more better authentication system than /etc/passwd, which is also a security risk that exposes encrypted passwords to users"? =)
Um, what does that have to do with anything? (Score:4, Informative)
I'm sorry, exactly where did I say that it was acceptable in OS X or Linux? Seriously, point it out, because I honestly don't remember saying anything like that.
Since you brought it up, though, yes, Linux could definitely use some work in this area. I also get tired of sudo password prompts for doing some basic system configuration and maintenance tasks, especially stuff that only applies to my account, not the OS as a whole. If you want me to jump on the bandwagon of having less stuff requiring admin access in Linux, count me in. I can't speak for OS X because I've never used it.
However, in defense of Linux, Vista is much worse. I've never had a prompt pop up in Linux that expressed concern because I was copying text from my browser to the clipboard. In Vista, I did. It may sound petty and silly, but it was the proverbial straw that broke the camel's back. The truth is, though, that I was constantly being prompted to do stuff that had nothing even remotely to do with system configuration or administration. Stupid stuff like renaming a file that was nowhere near a system directory. Stupid stuff like running a program that doesn't even come close to touching kernel code. Stupid stuff like... Well, you get the idea, I'm not going to sit here and list every stupid prompt I got.
So am I Microsoft-bashing? Yeah, I suppose I am. But it's not because I have an ax to grind with the company or because I think the alternative is perfect, it's because this particular product truly sucks ass. Yes, I know that there are zealots out there who would complain no matter how well Vista might have worked, but if you think I'm one of them or that's why I posted my message, you're barking up the wrong tree.
(Have you tried Vista yet?)
Re: (Score:3, Informative)
Re:An even bigger hole... (Score:4, Informative)
UAC prompts are annoying and frequent when you first do a complete reinstall because you'll be installing applications and drivers that need elevated privileges. After that you should not encounter it in your day to day activities. I see a UAC prompt once a day and that's only because I use VMware. If I used Virtual PC I could avoid it completely.
MOST computer users buy their PCs from Dell, HP, etc and they are preloaded with drivers and some basic software. The regular user won't be seeing as many UAC prompts because they'll be installing only a few programs (music player, possible word processing, games).
So that's where clippy went! (Score:5, Interesting)
This link allegedly tells you how to turn the questions off [microsoft.com], but unfortunately I can understand the words, even most of the sentences, but the whole thing is just dreadful, "As a result, IT departments often cannot gauge the holistic health and security of their environments." Can anyone help?
Re:An even bigger hole... (Score:5, Insightful)
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.
The cause of your problems and the solution (Score:5, Informative)
NTFS partitions NOT created by Vista will cause these prompts for file operations on them, because you do not have access to them. #1: Your XP user account does but it is not recognized by Vista. #2: Administrators permissions is only granted after a UAC prompt. #3: Users permissions are normally low. Hence the need to prompt you to get the proper permissions.
Fortunately this is easy to fix. Simply go into the security settings in the property pages of a folder (or the whole drive if you wish) and add your personal account to the access list with full control. This will eliminate the prompts. Alternately on a multi-user computer you can adjust the permissions of the Users group for the same effect.
Apple got it right (Score:5, Insightful)
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.
Re:Apple got it right (Score:5, Informative)
Re:Apple got it right (Score:5, Informative)
It's not the software. (Score:5, Informative)
That's the thing. Most of the prompts I was getting was not from software trying to do stuff, it was from normal operating system operations such as copying/moving/renaming/deleting files. Not OS files, but my own documents in my user directory. Not programmatically, but from me personally interacting with Explorer to manage my data. Stuff like changing the layout of my Start menu. Stuff like changing my desktop background. Stuff like copying a line of text from a web page in IE7 to paste in a document.
Re:It's not the software. (Score:5, Interesting)
Start, typed in regedit enter.
Vista:Are you sure you want to run this program?
Me: Yes. I went OUT of my way, hit start, run and typed in the pogram name I wanted. Thanks for checking though. (click)
Edit the registry, close it. That was easy.
double clicked on setup. Stupid shield on my icon, what does that mean?
Vista: are you sure you want to run this? it's a program, you know.
Me: Oh that must be what the shield is for. Vista feels like it should protect me from software!
Vista: This is from AMD. Do you trust AMD?
Me: yes, they pay me. I trust them. (click)
Install......that was easy.
Oops, there's a problem. Well, let's grab the correct file from the build server and copy it over
Open my computer, go to program files
Vista: Are you sure you want to go there?
Me:Yes (click)
open up the application folder
drag a file from a network share to the application folder....
Vista: Are you sure you want to overwrite this file?
Me: Yes (click)
Vista:A program wants to write to the Program Files folder. Is this ok?
Me: Yes (click)
Vista:You are trying to copy from a network share to the program files folder. This isn't allowed. Hit ok.
Me: (Pounds head) (click)
Drag to Desktop.
Drag from desktop to application folder.
Vista:
Are you sure you want to overwrite this file?
me: for the love of god yes
Vista:A program wants to write to the Program Files folder. Is this ok?
Me: Die.Die.Die.Die.
Re:It's not the software. (Score:5, Funny)
*shudder*
Re:It's not the software. (Score:5, Funny)
He did warn us that if we struck him down he would become more powerful than ever.
Maybe we should have listened.
Re:It's not the software. (Score:5, Funny)
Re:It's not the software. (Score:5, Interesting)
The sad thing is that I've seen Clippy like once or twice years ago, and that is what I thought this dialog reminded me of, but worse because from what I remember Clippy would start yelling at you when you did anything, and you could just tell him to go away, but now its worse because the operating system blocks and asks you to click a bozo box every time you do anything?
* smashes head on desk *
Let me be clear, I don't use MS software because it is not designed for a computer professional like myself. To be honest, I don't know who its designed for, or if its even designed at all.
The first time I heard Windows was having this UAC thing, I knew that it would suck as only Microsoft could make it suck. I knew it would annoy the hell out of the user so bad that it would do one of two things. 1) annoy them to the point that they just turn it off (I understand this is allowed in Vista) 2) annoy the user and they don't turn it off, they just bend over and take it, and the 1 out of a million clicks when your supposed to say No, you click Yes because that is what you ALWAYS HAVE TO DO TO GET ANYTHING DONE.
* smashes head on desk again *
Microsoft can't even rip off existing security models that work like the elevated priveledges in OS X. Microsoft embarasses me as a computer professional, and I don't even use their stuff, because people associate MS with computers.
Thanks for the grandparent post for sharing their experience, and thank you Apple, Linux, and Sun for making computers usable.
Oh, and I almost forgot.
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.
Isn't this the case where 99.9% of the time YOU WANT TO BE ASKED? Didn't Microsoft invent the term "driveby install"?
* smashes head on desk again *
Re:It's not the software. (Score:5, Interesting)
Wow, I had never heard anyone said it so succinctly, but that's it, baby. I always felt an unrecognized sense of shame for the state of computers today, and I never quite realized why. This is it. Things should be *soooo* much further along today, if it weren't for the predatory monopolistic effects of MS. Throughout so much of the short PC history, there were rays of sunshine (Quarterdeck's multitasking DOS thing, many IP stacks, etc., etc), that were quashed by their monopoly. To see this happen, and realize their mediocracy, and not have done anything about it, definitely brings a sense of shame.
Re:It's not the software. (Score:5, Insightful)
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.
Re:It's not the software. (Score:5, Funny)
Whose gonna do it? You? You, Slashdotter? Windows has a greater responsibility than you could possibly fathom.
You weep for Tux, and you curse the DRM. You have that luxury. You have the luxury of not knowing what Windows knows.
That Tux's death, while tragic, probably saved lives. And Window's existence, while grotesque and incomprehensible to you, saves lives.
You don't want the truth because deep down in places you don't talk about on Slashdot, you want Windows on that firewall, you need Windows on that firewall.
Windows use words like honor, code, loyalty. Windows uses these words as the backbone of a codebase spent defending something.
You use them as a punchline. Windows has neither the time nor the inclination to explain itself to a Slashdotter who rises and sleeps under the blanket of the very freedom that Windows provides, and then questions the manner in which Windows provides it.
Windows would rather you just said thank you, and bought copies for your entire extended family. Otherwise, Windows suggests you pick up a browser, and send a POST.
Either way, Windows doesn't give a damn what you think you are entitled to.
Re:It's not the software. (Score:5, Funny)
Microsoft: "Well, what if we give you a nicer looking start menu too?"
Re:It's not the software. (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!
Re:It's not the software. (Score:5, Funny)
Re:It's not the software. (Score:5, Funny)
[ OK ] [Cancel]
Re:It's not the software. (Score:4, Funny)
Me: yes, they pay me. I trust them. (click)
Wait, you TRUST your employer? What is this board coming to?
Re:It's not the software. (Score:5, Insightful)
Re:It's not the software. (Score:5, Insightful)
Re:It's not the software. (Score:5, Interesting)
Vista:Are you sure you want to run this program?
Of course! It's got +X set!
Vista: are you sure you want to run this? it's a program, you know.
Ditto.
Vista: This is from AMD. Do you trust AMD?
Redundant. If I didn't trust them, I wouldn't have set +X.
Vista: Are you sure you want to go there?
Since Program Files shouldn't be world writable, this should prompt you for the administrator password. This authoriation should then be cached for Explorer.exe.
Vista: Are you sure you want to overwrite this file?
I'll let this slide, because even 'cp' prompts for that.
Vista:A program wants to write to the Program Files folder. Is this ok?
Should've grabbed cached authorization for Explorer.exe. Unless Explorer.exe was compromised in the 30 seconds between this action and the previous one, no security is lost here.
Vista:You are trying to copy from a network share to the program files folder. This isn't allowed. Hit ok.
That's just idiotic.
Are you sure you want to overwrite this file?
Again, I'd let it slide depending on preference.
Vista:A program wants to write to the Program Files folder. Is this ok?
Cached authorization again.
It's really not that hard. UNIX/sudo got this right god knows how long ago. Apple did the right thing and just copied the sudo mechanism wholesale. Microsoft should to.
Re:It's not the software. (Score:5, Informative)
Apple copied sudo's idea of "least required privileges" as the basis of its GUI security model, but I don't know if sudo was the first example of LRP. Maybe it was. But the GUI security model is definitely more complex than sudo, and apparently, it's a hell of a lot better than what Microsoft came up with for Vista. Using heuristics to identify which executables should get admin rights just seems like a horrendously stupid idea. Microsoft should've put its foot down on this one and forced developers of installer applications to properly request credentials. But they chose backwards-compatibility, as always, and now they're basically guessing who needs admin rights and who doesn't.
Re:It's not the software. (Score:4, Informative)
Apple didn't copy the sudo mechanism. They copied sudo itself, shipped it with the operating system, and used it from the GUI.
So changing /etc/sudoers can affect the GUI. This can be important, because the default behavior is to cache credentials for 5 minutes, which can leave your system exposed to the next thing that wants Administrator privs. Changing the cache timeout to 0 fixes that, nicely.
Re:It's not the software. (Score:5, Informative)
Whatever. For starters, Apple didn't just steal from Unix, they build their OS on top of Unix. And you can't read any article on OSX around here without a dozen posts pointing that out, so the "no one will mention" part is just crap. Of course Apple never hid the fact that they were "stealing" Unix by building their OS on top of BSD. The whole point being to start with a solid OS with all these great Unixy concepts built in and add their Apply interface on top. Whereas when Microsoft steals these features after another five years, they'll act like they were struck by inspiration out of the blue and done something that nobody's done before, like they have with every other idea they've stolen. So the "did the same thing" part is crap too.
It may be fun and easy to take a poke at the "/. doublestandard", but it only reveals that you don't understand that it isn't a double standard at all. Microsoft has a bad rep for a reason among those who have been paying attention, and hey, maybe you don't know or understand why but don't think Apple would get a pass if they truly did the same things Microsoft does.
Next up: Why viewing Halliburton in a harsher light than Bob's General Contracting is also not an unfair double standard.
Re:It's not the software. (Score:4, Informative)
However, I suspect the GP is talking out of his arse. The file was from another PC, in another workgroup, drag-and-dropped straight into the Program Files directory. I even tried it in the Windows folder, and it was fine.
Re:It's not the software. (Score:5, Funny)
Re:It's not the software. (Score:5, Interesting)
This is an annoyance for an end user but a major pain in the neck for software. I develop software that does not run elevated that accesses a remote file and the passes the file path into an out-of-process server that is running elevated. We either had to make the server no longer run elevated or prompt the user for credentials they already used to log into the machine (and which they don't think they need because they can get to the files just fine themselves) and then pass these credentials to the server with the path. Fortunately our architecture allowed us to have our server to not run elevated and get some other server to do the tasks that needed to be done elevated.
Vista is really a pain in the neck. What's funny about it is that I was at a Vista iterop event at Microsoft last November (yes I sometimes have to fraternize with the enemy) and every MS developer I worked with had to tell me how much they loved working on Vista and that they had been using Vista on their development machines for months. I asked them if they had disabled UAC and they said "no, why would you want to do that?" I then asked them if it wasn't annoying to be prompted all the time and they said "no." I can only assume that they must have been brainwashed.
Re:It's not the software. (Score:5, Insightful)
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.
Re:It's not the software. (Score:5, Funny)
Re:It's not the software. (Score:5, Insightful)
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.
Re:It's not the software. (Score:5, Insightful)
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.
Re:It's not the software. (Score:5, Informative)
For repeated, but seperate operations (like installing a lot of applications when you're setting up your machine), you can disable UAC. This is basically the same thing as su root if your account is an admin account. Once you're done, re-enable it. It's really not that hard.
Re: (Score:3, Interesting)
First of all, sudo is a much better way to do administrative tasks in *NIX. But aside from that, how many clicks does it take to enable/disable UAC? It is a lot faster to "su root" and then exit than click through even two menus.
We're talking about something you might have to do once every few months. Do you seriously content that having something take 5 seconds longer is a bid deal?
But most of all: how long did Microsoft work on Vista and why could they not have done an intelligent job of it?
So what would have been a better solution?
It's easy to say that UAC is a bad idea... but it's a lot harder to come up with a better solution.
So go ahead, give it a shot.
Why do you need to make excuses on a product that was in development for five years?
I'm not trying to "make excuses". I'm trying to explain their reasoning... but obviously some people don't care and would rather just bash.
Re:It's not the software. (Score:4, Insightful)
The problem with UAC is that it fails to separate the two orthogonal issues of sanity-checking the user's behavior, and maintaining system security. Consider how "Program Files" is handled. Browsing into "Program Files" throws up a UAC alert. It shouldn't do that --- "Program Files" is readable to everyone. Writing to "Program Files" should throw up a UAC alert, but only the first time in the caching period. The question at that point isn't "Do you really want to modify this directory" (of course I do!), but rather "Do you want to give Explorer.exe permission to modify this directory". When you follow the first train of thought, you end up with prompting the user each time, because obviously each copy requires a separate sanity-check. If you follow the second train of thought, you see that the caching mechanism is just fine, since if Explorer.exe was authorized 30 seconds ago, it's unlikely it was compromised since then, and should retain that authorization.
Re:It's not the software. (Score:4, Insightful)
If you cached the elevated credentials authorization for "X" minutes, or whatever, you would be giving a free pass to any malware that happened to be trying to do something bad. That's an incredibly bad solution. But I have to assume that's not what you're suggesting.
That make sense?
Re: (Score:3, Insightful)
It's a good start, but not for 2007. This stuff should have been in Windows 95.
Re:An even bigger hole... (Score:5, Insightful)
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.
So what's new? (Score:3, Insightful)
I believe that even RPM on linux runs the install scripts with admin access...
Re: (Score:3, Informative)
If you install an RPM of unknown providence, you deserve what you get.
Otherwise, the packages are presumed to have been tested by the maintainers and to not destroy your system.
There is no such structure in Windows-land. You clearly do not understand how the system works if you think the two are comparable.
Re:So what's new? (Score:5, Informative)
Yes, but at least in the RPM case, a regular unprivileged user cannot cause an untrusted program to run with kernel-level permissions. In Linux, that user would have to enter a privileged password (for sudo or root login). On Vista, a regular user who has no admin rights can choose to execute an installer program with kernel privileges.
That's the same in Vista (Score:4, Informative)
Re: (Score:3, Interesting)
A regular user without admin rights can't run any program with admin privileges, ever. Of course said user can use runas (or their graphical counterpart), and give the program U:PW for administrative privileges.
Now, the default user Vista creates at install time is an administrator - but the default token said user gets is the same of a regular user. Now, if you want to run a setup program, Vista will elevate the privileges of such administrator accounts to the administrator lev
Comment removed (Score:5, Insightful)
A bit different... (Score:3, Informative)
Another approach. (Score:5, Funny)
Why not just let the user copy the application bundle to wherever they have write permissions? That application then executes with the privileges of the user that invokes it. If only there was a platform that offered such a simple an effective solution.
Re: (Score:3, Informative)
Just to be a pedant, I would like to mention that you can in fact do this on Windows. However, applications developers seem to be in love with the registry, despite the fact that it really offers them no benefits whatsoever. I mean, it's slower than just put
Re: (Score:3, Interesting)
Re: (Score:3, Informative)
A user has had the ability to install stuff in her home directory on POSIX machines for oh... probably since POSIX machines have been around. This isn't a "Mac concept". At most Apple has polished the idea to make it easy for non-geeks. And don't forget that OS X a.k.a Darwin is a POSIX-like implementation.
Re: (Score:3, Informative)
Re:Another approach. (Score:4, Informative)
Re:Another approach. (Score:5, Informative)
Executable installers.... (Score:4, Informative)
"balance" ease of use (Score:3, Insightful)
While I'm at it, why does a printer (or other non-intrusive peripheral) driver have to have unfettered access to the life blood of the OS?
Further proof (Score:5, Insightful)
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.
Re: (Score:3, Interesting)
When are they finally gonna give up this retarded backward-compatibility-at-all-costs mindset and *really* rewrite Windows from the ground up?
They did. It's called Singularity, and is a very interesting system (although somewhat reminiscent of JNode, particularly all of the things the claim are 'novel' about it). The trick is not re-writing Windows, it's selling the re-written Windows. They did very well to get everyone to move from DOS to NT. Now they have quite a nice kernel (although I'm not convinced it will scale to more than 64 cores without a significant redesign), and a load of bolted-on compatibility crap.
While I'm rambling incoh
What? (Score:5, Interesting)
Re: (Score:3, Informative)
Actually it is different....
In a Unix shell when you run rm on a file you don't have permissions to delete it fails. It doesn't offer to help you screw up.
Balancing Security with Ease of use (Score:5, Funny)
DOOM: History repeats itself (Score:5, Funny)
I guess MS didn't learn anything from id.
Re:DOOM: History repeats itself (Score:4, Funny)
Troubling ... (Score:5, Interesting)
That said, I personally very much liked the Vista user experience (I'm back to XP for now, but I had the beta and RC1). But after the first couple of days, I turned off UAC (and besides, I like to manage my security myself). It did nothing but ask me if I wanted to do what I was doing. Like another early poster here, I almost immediately reverted to clicking any damn OK button I saw. And God knows, I turned the sound off almost immediately. Moreover, I turned it off because it seemed like a talented Bad Guy would simply bury his Evil Code in something that seemed benign, and Joe User would just click through it. But all of that has been covered at great length in these hallowed halls already.
My point is still this: the bad guys are out there now. That's just reality. Telling people not to worry and to go back to sleep doesn't serve anyone anymore. I don't think power user knowledge is necessary for the average person, but frank awareness of basic online safety puts it in the hands of the individual user to some extent, and eases some of the strain for the OS designers/engineers. Because while MS has made some dumb and dangerous mistakes in the past, I still think of it this way: when you're designing any piece of software, you can't completely anticipate the security issues that will come up a year down the road, and you can't reduce how hard a user will work to circumvent your attempts to protect them, no matter how inobtrusive they may be.
I'm not defending MS for its past mistakes, oversights, poor execution, and so on, but I do think people need to pony up a little more energy to protect themselves. I'm no security expert, but it just seems like responsible living to me.
Re: (Score:3, Insightful)
I'm not defending MS for its past mistakes, oversights, poor execution, and so on, but I do think people need to pony up a little more energy to protect themselves. I'm no security expert, but it just seems like responsible living to me.
Yes, it is a matter of responsibility. You (the person surfing the internet, loading the truck, drinking from the tubes, whatever) are responsible for your own privacy while online. Period. There's not a law in the world that will magically turn off all viruses, trojans and malware overnight. However, what will happen is that end-user products will improve to the point where it's a turnkey solution, and a simple verification of some basic settings will protect you from all but the highly organized and crim
Oh, this is rich ... (Score:4, Insightful)
Microsoft has created a culture of choosing between security/good/whatever and 'ease of use'. Going all the way back to older versions of Windows in which there was no user permissions model.
Hearing that all frigging installers are going to want admin perms is a frigging joke. Part of the reason Windows is insecure is you can't do anything without being an admin. It's not like it even supports a model whereby you install the software into your own location. Every piece of software expects to be able to write registries, replace system DLLs, and generally crap into a few common folders.
I mean, well over a decade I could download any old UNIX software, untar it, set an environent variable, and just run the damned software. No root perms needed, just glorious, easy to run/trivial to uninstall software.
This means that people aren't going to install their animated cursors in a sandbox which only affects them. They'll do it as admin, and potentially bork the whole machine.
This just makes me laugh.
Cheers
I agree with MS' choice. (Score:4, Interesting)
Any EXE with "setup" or "patch" in the name will be assumed to require elevation, because no programs to date have manifests which specify whether they need to be elevated or not; and so Windows has to guess. The filename is a perfectly good indicator, as most setups will need elevation (Program Files is not writable without elevation). Windows uses other factors too; it can detect Windows Installers, NSIS installers, and a couple of others regardless of the filename.
If you don't like this automatic detection you can turn it off via the Group Policy Editor. It's under the global Computer settings under Security Settings somewhere, with the rest of the UAC options. Remember you'll have to manually launch installers elevated now, although Windows does try to detect when installs fail and will offer to try elevation and XP compatibility mode automatically.
Myself, I actually made my computer less secure by turning off the secure desktop (the screen resolution change that happens every time a UAC prompt comes up). I don't want Windows yanking me away from whatever I'm doing because I got bored waiting for the UAC prompt to appear then all of a sudden it decides to finally show up and hog keyboard/mouse focus. Sometimes if your computer is busy the UAC prompt won't even appear for 5-10 seconds, and you're sitting at a useless but very secure desktop alone for that time. So I turned it off and now they appear on the normal desktop. Of course they could potentially be sent window messages now by any app; but I don't let just any app run on my computer. I was safe back when I used XP SP1 and I could turn UAC off if I wanted to and still be safe.
People who complain about UAC don't understand UAC (Score:5, Insightful)
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.
Did not have to be true (Score:3, Insightful)
I would argue this notion is fundamentally wrong.
An installer should only have to elevate if it has to modify the system, or possibly existing applications in some way.
I don't have to elevate for all Linux installations for example if I am not going to install something in
In OS X you can install an application just fine without elevation, unless again it requires system access - but most software is
Why have installer at all ? (Score:4, Insightful)
2) Installing a downloaded Tetris game allows the game installer to change virtually anything in the system.
Why does a game need an installer at all ? Why not just unzip the game into your user account/home directory or better yet drag the game icon to the place you want it ? Why do Windows applications all seem to need an installer ?
On OS X and NeXTstep before it, application icons are actually covers for directories containing all of the support files including executables need by the application. Furthermore, applications are not supposed to assume that they can write to their own directory. This is convenient for running applications from servers without installing on the local machine or for running directly off a CD-ROM. If an application needs to store user data or write configuration files, there are standard places to put the files. When needed, the individual application copies files to standard places using the user's permissions and not admin permissions.
The first time any application is run, the user is asked if it is OK. If some crap is downloaded and executed unintentionally, the user is given a chance to say WTF and stop it. Any time any application needs privileges beyond the user's default privileges, an admin passwd is required.
No installers (except in crap-ware and unusual circumstances and even then they require an admin password for upgraded privileges!
Remarkable little user irritation.
Why can't Microsoft copy this behavior ? It has been for sale since 1988.
OS X isnt perfect, but sometimes it is better.
Can it be overridden using manifests? (Score:4, Informative)
From the NSIS (Nullsoft Scriptable Install System) documentation:
RequestExecutionLevel none|user|highest|admin
Specifies the requested execution level for Windows Vista. The value is embedded in the installer and uninstaller's XML manifest and tells Vista, and probably future versions of Windows, what privileges level the installer requires. user requests the a normal user's level with no administrative privileges. highest will request the highest execution level available for the current user and will cause Windows to prompt the user to verify privilege escalation. The prompt might request for the user's password. admin requests administrator level and will cause Windows to prompt the user as well. Specifying none, which is also the default, will keep the manifest empty and let Windows decide which execution level is required. Windows Vista automatically identifies NSIS installers and decides administrator privileges are required. Because of this, none and admin have virtually the same effect.
It's recommended, at least by Microsoft, that every application will be marked with the required execution level. Unmarked installers are subject to compatibility mode. Workarounds of this mode include automatically moving any shortcuts created in the user's start menu to all users' start menu. Installers that need not install anything into system folders or write to the local machine registry (HKLM) should specify user execution level.
More information about this topic can be found at MSDN. Keywords include "UAC", "requested execution level", "vista manifest" and "vista security".
So it seems that there is an option, "user", which might cause NSIS to run in non-admin (depending on whether Vista's auto-handling is overriding), and that other installers might also be able to run non-admin.Re:Tetris is a brand name (Score:5, Funny)
Re: (Score:3, Insightful)
The expert Vista user can get around running installation programs as the Administrative user as well. It's the same issue.
Re:Dammit (Score:4, Insightful)
In reality, the hardware is optimized for speed. That is, the core will execute the instructions it receives without any sort of bounds checking. If an instruction fails, then an error code is stored and the next instruction is fetched and executed. It's only during boot time that a kernel has the opportunity to install code at particular vectors to prevent other code from sitting there. That's the PC architecture -- it was designed years ago and for good or bad, we're stuck with it (Ironically, many people make the same argument about Microsoft). That's why the kernel is so important: if it fails to protect a particular interrupt vector or other system integration point, then a userland program can elevate itself to kernel-level privileges and walk all over both the running OS and the data on your hard drives.
The only way to implement your idea (and many others like it) would be to have the hardware recognize this "code source" (or whatever magic bullet you have defined) and act accordingly.
Long story short, people are looking for a technological solution to a lack of education. Like it or not, there's a lot of people on the Internet now that need education. Vista's UAC seems to be along those lines, though extremely insulting and inflexible to an advanced user. It's like it was designed to "raise awareness" of "potentially unsafe operations" so that someone who was previously a clueless idiot can now see that many operations are potentially unsafe. Of course, the prompts don't explain WHY to this person, which eliminates UAC even as an education tool.