Slashdot Mirror


Coding Around UAC's Security Limitations

Mariam writes "Free software developers from the non-profit NeoSmart Technologies have published a report detailing their experience with coding around Windows Vista's UAC limitations, including the steps they took to make their software perform system actions without requiring admin approval or UAC elevation. Their conclusion? That Windows Vista's improved security model is nothing more than a series of obstacles that in reality only make it more difficult for honest ISVs to publish working code and not actually providing any true protection from malware authors. Quoting from the post: 'Perhaps most importantly though, is the fact that Windows Vista's newly-implemented security limitations are artificial at best, easy to code around, and only there to give the impression of security. Any program that UAC blocks from starting up "for good security reasons" can be coded to work around these limitations with (relative) ease. The "architectural redesign" of Vista's security framework isn't so much a rebuilt system as much as it is a makeover, intended to give the false impression of a more secure OS.'"

334 comments

  1. Where have I heard this before? by fahrbot-bot · · Score: 4, Insightful
    ...Windows Vista's newly-implemented security limitations are artificial at best, easy to code around, and only there to give the impression of security...

    Sounds like it was written by Homeland Security and the TSA.

    --
    It must have been something you assimilated. . . .
    1. Re:Where have I heard this before? by dhavleak · · Score: 4, Insightful

      Sounds like it was written by Homeland Security and the TSA. That's BS and so is TFA. The part you quoted (which was in bold in TFA) is just an anti-UAC rant thrown in to get attention, and clearly it worked.

      The so-called work-around described in TFA:

      • - Split iReboot in two parts, a background service and a userspace client
      • - Background service runs as SYSTEM or LOCAL SERVICE
      • - Userspace client runs unprivileged
      • - Installing iReboot now requires an installer
      • - The installer requires admin privileges (i.e. you will see a UAC prompt when installing)

      Gee, sounds to me like UAC is working exactly the way it should!

    2. Re:Where have I heard this before? by Anonymous Coward · · Score: 0

      Not entirely BS, read. You can search and find much more info on government input into Vista. Real question would be what, if anything, is stamped SECRET?

    3. Re:Where have I heard this before? by imbaczek · · Score: 4, Funny

      Gee, sounds to me like UAC is working exactly the way it should!

      Something from MS working like it should... sounds strange, isn't it? And what's more - Slashdot agrees that it works!
    4. Re:Where have I heard this before? by Sique · · Score: 2, Insightful

      Yes, a ticket pointing out the error would be send back with "works as designed".
      But the design is flawed. The idea was that user interaction shouldn't be able to autostart a program which is able to modify system functions. But it is sufficient to have an autostart program remote control another autostart program to get exactly this behaviour.

      --
      .sig: Sique *sigh*
    5. Re:Where have I heard this before? by Tony+Hoyle · · Score: 2, Insightful

      Except nearly all installers use admin privileges, because the Program Files directory (to name just one) isn't per-user. Windows really isn't structurally designed for per-user installation, although MS have tried it's still half finished. Users know this, and always click yes on installers when prompted.

      Any installer can stick a service in there that does privileged tasks, and that means UAC is a thin layer that's easy to work around.

    6. Re:Where have I heard this before? by Anonymous Coward · · Score: 0

      Maybe the gist of TFA, which I haven't R of course, is that UAC is no selinux, even if redmond could be tempted to market it as such.

    7. Re:Where have I heard this before? by dhavleak · · Score: 3, Informative
      1. OP said Homeland Security and TSA -- your link refers to NSA. There's a distinction there. NSA are security experts. DHS and TSA policies cause nothing but confusion and meaningless threat level colors.

      2. The part in your link that nicely sums up NSA's contributions:

      The NSA also declined to be specific but said it used two groups -- a "red team" and a "blue team" -- to test Vista's security. The red team, for instance, posed as "the determined, technically competent adversary" to disrupt, corrupt or steal information. "They pretend to be bad guys," Sager said. The blue team helped Defense Department system administrators with Vista's configuration.

      I can't see anything wrong with that...

    8. Re:Where have I heard this before? by drsmithy · · Score: 2, Insightful

      Except nearly all installers use admin privileges, because the Program Files directory (to name just one) isn't per-user. Windows really isn't structurally designed for per-user installation, although MS have tried it's still half finished. Users know this, and always click yes on installers when prompted.

      So it's just like /bin, /usr/bin and /Applications, then ?

      Any installer can stick a service in there that does privileged tasks, and that means UAC is a thin layer that's easy to work around.

      How is this different to any other platform ?

    9. Re:Where have I heard this before? by dhavleak · · Score: 4, Informative

      But the design is flawed. The idea was that user interaction shouldn't be able to autostart a program which is able to modify system functions. That's not accurate. I don't know what gives you the idea that this was MS's intention. From everything I've read, UAC is not intended to block this scenario -- just to force the architecture to be split in this way, compelling the developer to use an installer that will prompt for elevation when installing the service.
    10. Re:Where have I heard this before? by dhavleak · · Score: 1

      Maybe if you RTFA you'll realize that isn't the gist of the article :)

    11. Re:Where have I heard this before? by wwahammy · · Score: 4, Insightful

      No it is working as designed. To install software that will modify the system, you need to use elevated privileges. Once you have elevated privileges you can do anything you want, including installing services that autostart. This is no different than installing an additional daemon on Unix-y systems. If you feel that is a security vulnerability, how do you intend to get anything done? Just a list of some of the different services that autorun on my computer:
      -The base filtering engine used by the Windows Firewall
      -Computer Browser keeps track of other computers on the network
      -Plug and Play
      -Print spooler
      -Event log
      -Task scheduler
      -Firewall

      If these things didn't autorun, I'd have a pretty different system. That or everything would run as an administrator and we'd be right back to Windows XP with the same problems we had before.

    12. Re:Where have I heard this before? by peragrin · · Score: 2, Interesting

      well /Applications is for everyone. your supposed to install it there. Any where else and your app is misbehaving anyways.

      In fact 99% of applications shouldn't need an installer for OS X. Just a drag to the /Applications folder. Installers are messy, if you need one your app is already designed wrong.

      MSFT has turned a single user OS and tacked on multi user support, and then multi user security. OS X, and every *nix are Multi-user OS's. I not only have applications but also user specific applications stuff that only I can run, and stuff that only I can see.

      You shouldn't have to be an admin to install a web browser, word processor , or spreadsheet. You should only be an admin if your installing it for everyone.

      --
      i thought once I was found, but it was only a dream.
    13. Re:Where have I heard this before? by Anonymous Coward · · Score: 3, Insightful

      Slashdot loses a little relevance and credibility every time a stupid post like this one is green lighted. Submitter should read before submitting.

    14. Re:Where have I heard this before? by wwahammy · · Score: 1

      You could install all of those on a per-user basis, provided the installer was set up to do so. As long as any registry entries modified are for the current user and the application files are kept in a location available to the current user, your application would probably work fine. It's certainly not as easy as dragging to /Applications but there's nothing stopping a developer from doing so.

    15. Re:Where have I heard this before? by Anonymous Coward · · Score: 0

      fahrbot-bot said "Sounds like it was written by Homeland Security and the TSA." This was obviously intended as a jovial reference to the fact that these agencies work to give a false sense of security to many and thereby justify their reason for existance as the article implies for elements of Vista.

      DHS was set up with the idea that it would accumulate input from the other alphabet soup agencies and put the information to use to "protect the USA". Microsoft seeking input from one of these alphabet soup agencies and the end results of the output as implied by the article easily could lead one to the same jovial thought that fahrbot-bot had on the subject in relation to the article. For all we know Microsoft asked the CIA for help too, only the CIA is having trouble getting information out of Vista after the waterboarding. (sense of humor test)

    16. Re:Where have I heard this before? by drsmithy · · Score: 3, Insightful

      well /Applications is for everyone. your supposed to install it there. Any where else and your app is misbehaving anyways.

      Exactly. Just like %PROGRAMFILES%.

      MSFT has turned a single user OS and tacked on multi user support, and then multi user security. OS X, and every *nix are Multi-user OS's.

      False. Windows NT is, and always has been, a multiuser OS.

      I not only have applications but also user specific applications stuff that only I can run, and stuff that only I can see.

      And you can do exactly the same in Windows.

      You shouldn't have to be an admin to install a web browser, word processor , or spreadsheet. You should only be an admin if your installing it for everyone.

      So, just like Windows then ?

    17. Re:Where have I heard this before? by IchBinEinPenguin · · Score: 5, Insightful

      > MSFT has turned a single user OS and tacked on multi user support, and then multi user security. OS X, and every *nix are Multi-user OS's.

      False. Windows NT is, and always has been, a multiuser OS.


      I've long thought that the single vs multi-user nature of Windows NT and Unix has more to do with user expectations than technical limitations.
      Unix users were brought up on multi-user envoronments. root had to do stuff like install system-wide apps, printers etc.
      Users never expected to be able to do this, and aplications developers coded knowing these limitations.

      Windows users, on the other hand, evolved out of DOS users (please note that I'm talking about users not the underlying codebase). DOS users have always had unrestricted access to their system, and this expectation was inherited by modern-day Windows users.
      Equally importantly, application programmers did not code with these limitations in mind.

      What you end up with is a platform that's technically perfectly capable of being multi-user, but hamstrung by user expecteations and badly designed applicaitions.

    18. Re:Where have I heard this before? by Anonymous Coward · · Score: 0

      Please read about registry/Program Files virtualization and think again about your post.

    19. Re:Where have I heard this before? by andymadigan · · Score: 1

      (I have a macbook, and use Linux all the time). On OS X you can run applications from anywhere, with a few exceptions. On Linux, unless your application needs a kernel module, you can install it in your own home directory. GNU Autoconf is virtually built for this, I have a site config for autoconf on the Linux machines at work, I can run ./configure && make && make install and it installs to my ~/local directory. With the right environs set (LD_LIBARRY_PATH for instance) I can install/run anything without ever needing an admin. It's actually one of the reasons I like Unix-systems (especially Linux) so much, the idea that a user can do anything so long as it doesn't change things for other users isn't just an idea, it's ignrained into the OS.

      Just as an example, last week I discovered our installations of perl didn't have DBI::mysql, I installed the module locally and it works just fine.

      --
      The right to protest the State is more sacred than the State.
    20. Re:Where have I heard this before? by darkpixel2k · · Score: 3, Insightful

      and we'd be right back to Windows XP with the same problems we had before.

      What problems? I run a network of about 80 XP machines. They all run fairly well--aside from the occasional failed Windows Update. Recently someone introduced a Vista laptop to the network. It can't print because the print spooler constantly crashes (with all 5 of the variety of printers on the network), if you plug it in to the network at one site it flat out refuses to talk to anything--even after trying for 45 minutes to get the network center to work, and none of the vbscript scripts I wrote to help automate a few routine admin tasks work--they constantly halt the system and ask if I want to allow the script to do something. Yeah--I logged in as administrator and ran the f*cking script--I really want it to run...in an automated fashion.

      Come to think of it--I'd rather be right back to Windows XP with the same 'problems' I had before. The occasional need to wipe and reinstall a system after a year of heavy use.

      I'm no Microsoft fan--I'll take some *nix system any day--but when you compare XP to Vista it's like comparing eating dry dog food to having your leg sawed off by a bandsaw. Yeah dry dogfood probably tastes like crap--but I'll take it over having my leg sawed off with a bandsaw.

      --
      There's no place like ::1 (I've completed my transition to IPv6)
    21. Re:Where have I heard this before? by Anonymous Coward · · Score: 0

      Something from MS working like it should... sounds strange, isn't it? And what's more - Slashdot agrees that it works! I won't believe it until Netcraft confirms it.
    22. Re:Where have I heard this before? by wwahammy · · Score: 1

      I was referring mainly to the idea of every user running as an administrator which was used by most home users. Regarding your script, UAC can be disabled for administrators (or anyone) via secpol.msc. From then on, the administrator mode will run as one would expect. Whether you can change that though is dependent on your organization's security policies.

    23. Re:Where have I heard this before? by tepples · · Score: 1

      But it is sufficient to have an autostart program remote control another autostart program to get exactly this behaviour. The problem of The Article was that Win32's interprocess communication is designed in such a way that the remote control takes an order of magnitude more code than the business logic.
    24. Re:Where have I heard this before? by BLKMGK · · Score: 1

      Article is down so not able to read it but I believe you are correct. Any request to elevate privs is supposed to pop a UAC. A program sans manifest will also pop it - Vista apparently assumes if there's no manifest then the program wasn't written for Vista. Add a manifest and no UAC unless elevated privs are requested, just set it to use existing privs. Installing a service is going to need privs ergo a UAC. UAC working as designed it seems. How is this HomeLand exactly? Find a backdoor in BitLocker, then maybe I'll accept Govt. interference...

      --
      Build it, Drive it, Improve it! Hybridz.org
    25. Re:Where have I heard this before? by jedidiah · · Score: 3, Insightful

      ...except a proper Unix can install into /home/user.

      A number of applications do this by default and will complain or
      just plain bail out if you try to install them as root.

      Also, something like /Applications can be set up so that multiple
      users can create new directories in it but not necessarily stomp
      on each other.

      On other platforms, services tend to not be installed as superuser.

      The fact that none of this occurs to you just shows how ingrained
      the whole "run everything root" idea is in Windows user culture.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    26. Re:Where have I heard this before? by jedidiah · · Score: 1

      > False. Windows NT is, and always has been, a multiuser OS.

      Well then this would certainly (not) explain why when I tried
      to setup Win2K in a locked down fashion similar to Unix it was
      (not) such a smashing success.

      Try telling it to people who don't have direct firsthand experience otherwise...

      --
      A Pirate and a Puritan look the same on a balance sheet.
    27. Re:Where have I heard this before? by Dolda2000 · · Score: 5, Insightful

      False. Windows NT is, and always has been, a multiuser OS. Indeed -- the NT kernel is, and always has been, a multiuser kernel. That does not, however, make Windows a multiuser operating system, if I may say so. I, too, would think that the GP doesn't really know what he's talking about, but when put into another perspective, his argument that "multiuser support has been tacked onto Windows" isn't unfair in any way.

      If Microsoft had indeed taken the NT kernel and built a sensible operating system above it, it would have been a multiuser system, but they didn't. Instead, they took the entire DOS and Windows 3.x world and put the NT kernel underneath it. Technically speaking, they rather tacked a single-user mindset and framework on top a multiuser kernel, making a single-user operating system. Since the NT kernel basically was written to supplant Windows anyway, it isn't entirely biased to argue that multiuser support was tacked onto Windows.

      Of course, I am still not arguing against the NT kernel. Microsoft could just as well have done the same thing with the Linux kernel as well, and the result would have sucked as badly. In fact, I don't know very much about the NT kernel internals (since the documentation isn't quite as easy to get at as it is in Unix), but I would guess that it isn't an entirely bad idea at an operating system kernel. Unfortunately, the kernel alone doesn't make an operating system, and Microsoft decided to build a basically single-user system on top of the kernel.

    28. Re:Where have I heard this before? by billcopc · · Score: 2, Interesting

      MSFT has turned a single user OS and tacked on multi user support

      Yep, that's responsible for a huge number of Windows' problems. So why the hell did they do it ?

      At home, I'm the only user on my machine. The wife occasionally checks a web site or plays a video on my rig, but ultimately I have no need for multi-user configs as there is only one account. I can't remember the last time I had any profile other than Administrator on my own box.

      Casual users will create separate profiles, but really all they're personalizing is individual preferences. They still run all the same apps. Should these people need to jump through hoops like the UAC, just for the privilege of having their own set of bookmarks ?

      Today's exploits operate in plain sight: "Click here to install TalkingMonkeyP2PsexTorrentScannerTweak.exe". The UAC still can't prevent stupid people from being stupid. They click "Yes" on ActiveX prompts, they'll continue to click "Yes" on UAC prompts because whatever malware they're installing, they made a conscious decision to click in the first place. Uninformed, but conscious. Might as well do away with the UAC and let users jump headfirst into trouble, like they always have and always will.

      You know what would be more useful and effective than the UAC ? A "safety tip of the day" widget that forces common users to sit through a 2-minute tutorial with an exam at the end. Don't let them surf that day until they pass the exam. Educate the users, beat them over the head with the wisdom we geeks take for granted. That will make a real difference!

      --
      -Billco, Fnarg.com
    29. Re:Where have I heard this before? by sonofusion82 · · Score: 2, Informative

      in Vista, logging in as admin does not automatically gives all the scripts and programs that you execute with the admin privilege, you will need to explicitly run your programs with elevated permissions. try right-click on the program and run-as admin or in command prompt use runas command

    30. Re:Where have I heard this before? by nevillethedevil · · Score: 1

      I know....I'm scared too.

      --
      Be gone from my sight or prepare to feel my flaming wraith!
    31. Re:Where have I heard this before? by Skuld-Chan · · Score: 1

      Seriously - tell me how this is different than say - having the Mac elevation prompt pop up to install a rootkit that applications can call to bypass OSX security?

    32. Re:Where have I heard this before? by shutdown+-p+now · · Score: 1

      It actually reminds me a lot of how something like mpd works on Unix.

    33. Re:Where have I heard this before? by ckaminski · · Score: 1

      I'm with you 100%. The article's author is spouting bullshit. I've been doing userspace to adminspace service communication to get around security obstacles since Windows NT 3.1. It's XP's adoption of the Windows95/8 - user is admin by default - that earned XP it's horrid security and exploit history. Microsoft has done what it feels is a minimally intrusive design to indicate to end-users that something fishy *MIGHT* be going on, versus letting them just blindly carry on.

      Some of the comments on the authors site have absolutely no perspective on history - this is a step backwards to the Windows 2000/NT days, XP (in non-domain mode) was the aberration.

    34. Re:Where have I heard this before? by ericlondaits · · Score: 3, Interesting

      I've written lots of applications that use COM for IPC and it's incredibly easy to do... just define an object and it's methods on one side... instantiate and call in the other. If you use the right COM bindings (MFC, ATL, Visual Basic, JScript, etc) the code it's quite clean, short and to the point. ... granted, COM has a very steep learning curve, just like RPC, Corba, etc... but I guess that although it wasn't the path I took, you can use just a small portion of COM (over ATL or VB) for IPC without worrying about the underlaying structure, apartment models, class factories, reference count, etc.

      Other than that, the IPC primitives Win32 provides (message queues, pipes, etc.) are about the same complexity than UNIX's and really shouldn't take that much code.

      --
      As a Slashdot discussion grows longer, the probability of an analogy involving cars approaches one.
    35. Re:Where have I heard this before? by setagllib · · Score: 1

      Having to virtualise components of Windows just for program separation just confirms the problems exist and are not being solved correctly.

      It's like how you can't really run Linux and Windows in the same memory space, so we use machine virtualisation to carve up the memory space and trick one (or the other, or both) that they're isolated.

      It's a hack to make up for the PC architecture assumption of one kernel at a time. Xen is just another hack for the same problem.

      A disturbing amount of common Windows software makes the same mistake even in this modern day, and Vista users are suffering for it now that Microsoft is making some attempt at catching up to Unix' security model.

      --
      Sam ty sig.
    36. Re:Where have I heard this before? by BitZtream · · Score: 1

      While I've dealt with low end Sun machines, I'll fully admit to not having admin'd a high end machine with lots of processors and many gigs of ram, but it was my understanding that even on those systems, there is an underlying hypervisor that controls the various processing domains or whatever the appearently virtual hardware is.

      Feel free to clarify how hardware is virtualized at the hardware level without requiring some sort of hypervisor. (which is what I assume is required to run multiple unmodified kernels from different OSes on the same hardware). It just seems to me, there has to be a hypervisor somewhere, or completely different internal hardwired buses making it really just multiple motherboards stuffed in the same box. If they are connected, then something has to control what they are allowed to access and what they aren't.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    37. Re:Where have I heard this before? by debatem1 · · Score: 2

      Because the Windows cult is so much less cool.
      /ducks
      //its a joke
      ///lighten up, francis

    38. Re:Where have I heard this before? by Anonymous Coward · · Score: 0

      So, just like Windows then ? Except that Vista's %PROGRAMFILES% and /Applications have one difference, if I remember correctly:

      Vista will need UAC authorization for every GUI-dependent change, be it file/folder creation, drag and drop and even renames. Normally, when you have to muck in ProgramFiles precisely because Vista broke your trusty old exe somehow.

      Apple works this way: Download OpenOffice or another dmg file. Open said file. It mounts an image on the desktop and alternatively opens its folder. That folder normally has a single huge icon with some very clear "Drag me to /Applications folder" that has an arrow pointing to it.

      Behaviorally:

      Even MS Office 2004 for the Mac used this /Applications method. Their Word / Excel/ whatever exe's are built to examine libraries and heal themselves if the libraries are missing (setup just unpacks on demand). Windows apps would just croak with some DLL error, or at worst, show no message at all and fail to start.

      A bit offtopic on behaviors:
      Throughout the last decade, since before OS X, Mac programs were getting creative to tell users to drag and drop the app to the programs folder. In the past, they created a patterned tile made out of files set neatly ... somehow having a blank filename. Each icon had a small small bitmap as part of a nice banner with the product and company name. The installer icon was nearby, and sometimes the bitmap itself had the writing and arrows.

      Nowadays, the presentation layer seems to have some API to show a simple background with all these details. I have seen some backgrounds with a mockup screenshot showing your hard drive structure and a little mouse pointer showing the nearby icon and how you're supposed to drop it to the Applications folder destination.

      The best Windows was able to do was autorunnable browser interfaces and installers, but Windows lacks the ability to be graphic-oriented when showing you a directory listing, and some CD listings can be downright cryptic (opening setup.exe vs. setup.ico without guessing their extensions is annoying) Macs installers to get to the point and won't offer you AOL, bundleware, and Adobe PDF installers.
    39. Re:Where have I heard this before? by L0rdJedi · · Score: 1

      Microsoft actually supplies a script that you can use to launch your vbscripts. At least, it worked when I tried it to launch my drive mapping scripts.

      Just search their support site for "Vista login script". I think that's how I found it.

      I don't even manage 80 computers and I had no problem getting Vista to run a vbscript at login with no UAC prompt (and I left UAC enabled).

    40. Re:Where have I heard this before? by setagllib · · Score: 1

      That's exactly right, but the difference is whether the operating system kernel knows about this, or has to have it hacked into a lower layer. Xen kernels, modified to use the Xen host interface optimally, are much more efficient and flexible than unmodified kernels. It's a whole different kind of virtualisation, and yes, I should have been more clear.

      Software works the same way - you can do it "right" by writing software intended for isolation and low privileges, or you can hack it on later at a lower layer and suffer tremendous penalties to functionality, usability and performance.

      And keep in mind, in Windows, those penalties just add on to all of the *existing* handicaps of functionality, usability and performance that have accumulated from decades of doing things wrong.

      --
      Sam ty sig.
    41. Re:Where have I heard this before? by Keybounce · · Score: 1

      well /Applications is for everyone. your supposed to install it there. Any where else and your app is misbehaving anyways. And why is that, anyways? What about "~/Applications"?

      You shouldn't have to be an admin to install a web browser, word processor , or spreadsheet. You should only be an admin if your installing it for everyone. Exactly. Why can't I install a personal program in ~/Applications?

      For that matter, why is it /Applications? Why should ANY user -- root or otherwise -- be expected to install stuff in a system directory?

      Why not have /System/Applications (for apple supplied stuff), /Network/Applications, /Local/Applications, and ~/Applications?

      And lets go further. Since a problem with Windows is the whole "only one /Program Files per partition => only one operating system install per partition", why not have a concept of OS version/instance specific applications? /Local/OSKey/Applications?

      Seriously:
      1. Anything from Apple should be in an "Apple only" directory (/System for anything GUI related).
      2. All of these -- /Network, /Local, ~/ -- have subdirectories that identify os-version-specific stuff.

      You've still got to do some work -- /bin and /etc, for example -- but now you're on the road to being able to multiboot a drive.
    42. Re:Where have I heard this before? by darkpixel2k · · Score: 1

      I was referring mainly to the idea of every user running as an administrator which was used by most home users. Regarding your script, UAC can be disabled for administrators (or anyone) via secpol.msc. From then on, the administrator mode will run as one would expect. Whether you can change that though is dependent on your organization's security policies.

      True--everyone running as an admin is retarded. But on the flip-side, disabling UAC is one more hurdle/annoyance of Vista.

      --
      There's no place like ::1 (I've completed my transition to IPv6)
    43. Re:Where have I heard this before? by darkpixel2k · · Score: 1

      I don't even manage 80 computers and I had no problem getting Vista to run a vbscript at login with no UAC prompt (and I left UAC enabled).

      They aren't login scripts, they are just scripts I run from the command line to automate a few tasks.

      Heck, I even ran into a problem when I was trying to do a simple task (I think it was 'net use') triggering UAC.

      --
      There's no place like ::1 (I've completed my transition to IPv6)
    44. Re:Where have I heard this before? by jawtheshark · · Score: 1

      I was referring mainly to the idea of every user running as an administrator which was used by most home users.

      I know you did, but even then you'd be wrong. I'm a XP user and all the XP machines (I manage, for friends & family) have one Administrator account, and an account for every user we need. I'm not a system administrator. At least not professionally. It has been like this since my late NT4 days and early 2000 day. In all that time, I found exactly one program (a game, no surprise there) that I didn't manage to run as limited user. The rest was done with minor tweaking, mainly file permissions & registry permissions.

      So, you can say that "generally XP users run as Administrator", but you can't say "every XP user runs as Administrator".

      --
      Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
    45. Re:Where have I heard this before? by Allador · · Score: 2, Interesting

      Well sure. Thats almost always the case, regardless of platform.

      Doing something sloppy and wrong is often easier and less time consuming than doing things right.

      This article is just that case.

      NeoSmart was getting a free ride by being bad developers, and assuming that everyone was running as admin, and that someone would always be logged into the box.

      Now they're being forced to learn how to program correctly, and do things right, and yep, it takes more lines of code.

      Doing things the right way almost always does, but you end up with a better product in the end.

    46. Re:Where have I heard this before? by Anonymous Coward · · Score: 0

      Actually Windows NT has the concept of "sub systems" like WoW (Windows on Windows) and so on.

      If you want a true multiuser OS run VAX/VMS, AOS/VS or some other mainframe OS not what we have today.

    47. Re:Where have I heard this before? by MidnightBrewer · · Score: 2, Insightful

      Yeah, I have to agree that this sounds like Vista is actually doing its job. You can argue that malware can take advantage of this system, but such malware would require social engineering to get itself installed, rather than doing it on the sly.

      The author of the article basically lauds XP's "everybody runs as an administrator" scenario as if it was a good thing, then goes on to complain that Microsoft forcing him to play by their rules rather than by his own is somehow a bad thing.

      In other words, system hacks now take twelve times the effort to implement. That's a good thing. Sounds like Microsoft is finally in a position to clean up the sloppy "do whatever you like" developer culture that they've been burdened with for so long.

      --
      "Give a man fire, and he'll be warm for a day; set a man on fire, and he'll be warm for the rest of his life
    48. Re:Where have I heard this before? by icsx · · Score: 1

      In fact 99% of applications shouldn't need an installer for OS X. Just a drag to the /Applications folder. Installers are messy, if you need one your app is already designed wrong. I've always wondered.. why most software require install if it's not needed? I remember old Firefox version, Phoenix 0.2 which was just to be unpacked and ready to run. Now even Firefox wants to install itself. Why couldn't it just run straight from directory without installing - in Windows like before?
    49. Re:Where have I heard this before? by Allador · · Score: 1

      MSFT has turned a single user OS and tacked on multi user support, and then multi user security. Where do you come up with this? Your information is incorrect.

      NT was designed from the start as a multi-user system. It's never been anything but.

      You may be confusing the 9x line of operating systems, which was unrelated to what we're using today.

      I not only have applications but also user specific applications stuff that only I can run, and stuff that only I can see. Yeah, you can trivially do this on windows as well.

      The only qualification is that the application has to be designed to support it (ie, not rely on any registry information outside of HKCU).

      These are commonly known as 'green' apps. I have a number of apps like this installed on my box. FileZilla, micro torrent, 7-zip, putty, eclipse, paint.net, etc etc etc.

      You shouldn't have to be an admin to install a web browser, word processor , or spreadsheet. You dont, as long as the app developer has written the app in such a way as to support this. This isnt a windows issue, its an app developer issue.

      You should only be an admin if your installing it for everyone. Yep, thats exactly how it works, and always has (in the NT line). ...

      Overall, I think you're confusing standard practice with inherent ability.

      It's not standard practice to have per-user apps installed on windows, but the capability is surely there, and its trival to do, if the app developer supports it.

      On OSX and most unices, its BOTH standard practice and inherently capable to do so.
    50. Re:Where have I heard this before? by Allador · · Score: 1

      Thank you!

      This is exactly and precisely correct.

      I tried to say the same thing a little bit above, but I think you expressed it better.

      I'd mod you up if I hadnt already posted.

    51. Re:Where have I heard this before? by Allador · · Score: 1

      You do realize that this is exactly how windows works, right?

      I have java & ruby installs on my machine (running as a non-admin) configured in the same manner as you, and I can configure them independently of stuff installed at the system level.

    52. Re:Where have I heard this before? by andersa · · Score: 1

      So driver bugs are Vista's fault? Bad network configuration is Vista's fault? Just blame Vista for everything that isn't working, right?

    53. Re:Where have I heard this before? by leuk_he · · Score: 1

      The split program is a bit safer than before.
      -THe user can only do things the service in designed to do.
      -Becuase less code runs in administrator mode (is it? ) it is easier to edit.
      -less odds to have a luring attack

    54. Re:Where have I heard this before? by tog000 · · Score: 1

      You shouldn't have to be an admin to install a web browser, word processor , or spreadsheet. You should only be an admin if your installing it for everyone.
      So, just like Windows then ?


      Maybe its just me, but i haven't been able to install *not even one program* without having to click allow on the UAC. Pretty much the 90% of common software that anyone uses doesn't have support for this-user-only installs. You just cannot compare the multiuser underlying platform of any *nix to Vista... its not even comparable.

    55. Re:Where have I heard this before? by drsmithy · · Score: 1

      Well then this would certainly (not) explain why when I tried to setup Win2K in a locked down fashion similar to Unix it was (not) such a smashing success.

      Nothing in the OS can help with broken applications.

      Try telling it to people who don't have direct firsthand experience otherwise...

      I have firsthand experience. I've been running NT from a regular user account since 1996 and been responsible for several environments where users did not have Administrator access to their machines.

    56. Re:Where have I heard this before? by drsmithy · · Score: 1

      Except that Vista's %PROGRAMFILES% and /Applications have one difference, if I remember correctly:

      No, they're the same. If you have write privileges to /Applications or %PROGRAMFILES%, you can write to it. If you don't, you will need to elevate (either via UAC or whatever Apple calls their sudo prompt).

      The best Windows was able to do was autorunnable browser interfaces and installers, but Windows lacks the ability to be graphic-oriented when showing you a directory listing, and some CD listings can be downright cryptic (opening setup.exe vs. setup.ico without guessing their extensions is annoying) Macs installers to get to the point and won't offer you AOL, bundleware, and Adobe PDF installers.

      Windows does not lack this ability, people just don't use it. You've been able to "embed" things like backgrounds and whole HTML pages into Explorer windows since ca. 1997, with IE4's shell integration.

      I will not argue against OS X's "installation" method, however, I will highlight that there is no technical reason Windows applications can not do this, or even take features from both sides (have both an installer and be able to "self heal").

      In summary, it's an application problem, not an OS problem.

    57. Re:Where have I heard this before? by drsmithy · · Score: 1

      ...except a proper Unix can install into /home/user.

      As can Windows.

      A number of applications do this by default and will complain or just plain bail out if you try to install them as root.

      Like what ? Most "UNIX" applications these days are installed from package managers, system-wide, by root (via sudo). Of the ones that are still compiled by source, pretty much every one will have some variation of './configure;make;make install' listed in the INSTALL file, to install system-wide - again, by root.

      Also, something like /Applications can be set up so that multiple users can create new directories in it but not necessarily stomp on each other.

      WOW. Just like Windows !

      On other platforms, services tend to not be installed as superuser.

      Ah, yes, the good old "start as root then drop to another user" hack. Pity they still frequently have to start as root in the first place.

      The fact that none of this occurs to you just shows how ingrained the whole "run everything root" idea is in Windows user culture.

      It all occurs to me, it's just irrelevant.

    58. Re:Where have I heard this before? by JasterBobaMereel · · Score: 1

      NT/2000/XP has always been a multiuser operating system - True (But many people do not use them as such ...)

      You shouldn't need to be an Admin to install a web browser, word processor etc. for yourself, and NT does not require you to be an admin, BUT almost all installers DO require you to be an admin because they are written badly (i.e. they always install for everyone and never just for you)

      The culture of windows programs is one of a single user system where you always install for all users and are an admin, The Program Files folder is a protected folder for programs for use by all users ,but almost all programs install there by default and so are installing for all users ....

      Vista is [forcibly] getting rid of this culture ... and so eventually we will will end up with a culture similar to that which *nix systems have had for years ...

      --
      Puteulanus fenestra mortis
    59. Re:Where have I heard this before? by Anonymous Coward · · Score: 0

      I think you're both confusing "multi-user" and "time-sharing" system.

    60. Re:Where have I heard this before? by caluml · · Score: 1

      So it's just like /bin, /usr/bin and /Applications, then ? But I can install apache anywhere I like, as a non-root user:
      cd apache-src ; ./configure --prefix=/home/myuser/apache
    61. Re:Where have I heard this before? by iangoldby · · Score: 1

      Exactly. Why can't I install a personal program in ~/Applications?
      I'm not sure if your question was rhetorical, but in case you were genuinely asking, yes, you can install a personal program in ~/Applications. In fact almost any OS X application will run perfectly well from whatever folder you put it in. The only real reason for putting most applications in /Applications is that it makes them easily accessible to all users of the machine. If you are the only user, then go ahead and put everything in ~/Applications if you want to.

      This I think is related to the reason for having a single /Applications folder, and not separate folders for Apple-supplied software, os-version-specific stuff, etc.

      People who use OS X (this may not apply to you) mostly want things to Just Work. If I want to load a disk cleaner I don't want to have to try to remember who supplied it or whether it is specific to my OS version or another. I want to find it in the first place I look, which means there must be only one place to look.

      (Yeah, yeah, you could set up symlinks or whatever, but I think you have a solution in search of a problem. Keep it simple.)
    62. Re:Where have I heard this before? by plague3106 · · Score: 1

      I'm no Microsoft fan--I'll take some *nix system any day--but when you compare XP to Vista it's like comparing eating dry dog food to having your leg sawed off by a bandsaw. Yeah dry dogfood probably tastes like crap--but I'll take it over having my leg sawed off with a bandsaw.

      This is the major problem you're having. So instead of bashing MS because you can't figure out how to script things properly or even prevent someone from "introducing" a new computer to your network, quit your job and find one administering *nix.

    63. Re:Where have I heard this before? by plague3106 · · Score: 1

      You shouldn't have to be an admin to install a web browser, word processor , or spreadsheet. You should only be an admin if your installing it for everyone.

      So a modern OS for home users should have multiple copies of the SAME applications installed locally to profile directories? I know drive space is cheaper, but it still seems to be a waste.

    64. Re:Where have I heard this before? by Anonymous Coward · · Score: 0

      Wait... you install apps to /home/user? Who is writing installers that completely bail out when I try to do something which might in some circumstance be necessary?

      And for gods sake don't tell me that to maintain a Linux system you don't need to sudo the vast majority of changes that you make, realistically (I'm talking about completely routine things). Like, for instance, using the Debian package manager -- at all, regardless of what you're installing. I'm not complaining - it works great - but just because I have to type my password more times per session doesn't mean that I'm not still largely employing a "run everything as root" mentality.

    65. Re:Where have I heard this before? by Saint+Gerbil · · Score: 1

      disabling UAC is one more hurdle/annoyance of Vista. Which is exactly why you miss the point of it. Do people complain that they have to enter their admin password when they install something on a mac ? how is this any different, except that you can turn it off ?

    66. Re:Where have I heard this before? by andymadigan · · Score: 1

      As stated elsewhere in this discussion, the issue is really that a lot of applications aren't written such that they work properly under these conditions. In fact, I wouldn't be surprised if Apple software for Windows didn't work correctly when installed as non-admin.

      --
      The right to protest the State is more sacred than the State.
    67. Re:Where have I heard this before? by JoelKatz · · Score: 1

      First, let me start by saying that Vista's UAC is god-awful, worse than useless, and I hate it. I have disabled it on my Vista machine because it drives me nuts.

      That said, this article is completely wrong. Here, UAC forced the application to ask for the permissions it needed and forced the application to implement proper privilege separation. I don't know if it was by design or happy accident, but UAC forced the application to be *properly* implemented. Now the privileged part does not contain the UI, and so a compromise of the UI still cannot compromise the privileged part. This is exactly right.

      It may not matter for this particular application, and so there may be some collateral damage here. But there have certainly been historical cases where compromises to the piece that talks to the person allowed the part that interacts with the system to be compromised. The correct solution is exactly what was done here -- split into two piece and define precisely how the two pieces talk to each other.

      Numerous security problems in SSH implementations were solved by doing precisely this. Google for 'SSH "privilege separation"' to read about them.

    68. Re:Where have I heard this before? by JoelKatz · · Score: 1

      Vista fixed most of the reasons the majority of installers needed admin privileges. Sadly, because almost every program needs to support XP and managing two very different installation methods is a pain, most programs still wind up needing admin privileges on Vista.

      Perhaps some day XP will be forgotten and Vista will be the primary target for many applications and they'll be coded to install the way Vista would like them to, without admin privileges. Then when all the XP-centric software is off our pure-Vista machines, we can turn off all the XP-compatability stuff and be left with a pure, clean, perfectly secure and usable system.

      And then I'll sprout wings, fly to a land of candy canes where it only rains gumdrops, and live happily ever after.

    69. Re:Where have I heard this before? by BasharTeg · · Score: 1

      I couldn't agree with you more. UAC is intending to make a vendor do exactly what these guys had to do, implement a proper privilege separated design. They're bitching because they were forced to implement a good design because if you don't, UAC will be a huge problem for you.

      Microsoft's goal with UAC *is* to be a pain in your ass (you the software developer) IF you're doing stupid shit that you shouldn't be doing. If you look all the way back to Microsoft's application standards efforts like "certified for Windows 2000", they've long been pushing certain basic requirements for developing applications. Things like, don't write to the Program Files directory, write to the user directory. Don't require admin privs when you don't need admin privs. Don't hard code system or special directory locations. All the whining and bitching comes from developers who have never adapted themselves to the proper standards of application development and instead get upset when they can't continue to use their stupid lazy techniques because Microsoft is starting to force the issue on developers who are still playing these games. Properly written applications only trigger UACs when it *makes sense* to trigger UACs.

      If you think about all the years that people bitched at Microsoft for the fact that 99% of people run as Admin, and here they took the step of allowing people to run as non-Admin and still have a way to escalate when needed. But what we discovered is, most applications developers have written shitty code that violated standard application development practices for Windows, and now those vendors and those developers are in tears over how Vista exposes their product for the lazy shit that it is. Fix your shit, follow best practices, and shut the fuck up. I run Vista both at work and at home, as non-Admin, and I don't get UACs except when I would expect them (installing/uninstalling/system config) just like when I'd have to su/sudo in UNIX. The only time I get an excessive number of UACs is when I run bad software from stupid vendors, which usually means a quick uninstall and a search for someone less lazy.

      The one exception is, I keep iTunes even though it's clear to me that the 5 UACs triggered by their damned installer are intentional.

      Tell me you guys would defend UNIX apps that required you to su/sudo for apps that should easily be able to run as non-root? Considering the community's professed love of security, it's amazing to me that all these people are willing to defend shitty application developers who are responsible for a large percentage of exploits on the Windows platform. Those same exploits are used to build botnets of Windows boxes which are then used to spam and flood.

      So I say, support UAC, because it gets your grandpa off the net as Admin so that his computer isn't used to spam my mailbox. If you're a power user and you think UAC sucks then TURN IT OFF, but be glad that the unwashed masses are able to run as non-Administrator and are less likely to get zombied.

    70. Re:Where have I heard this before? by Anonymous Coward · · Score: 0

      I have firsthand experience. I've been running NT from a regular user account since 1996 and been responsible for several environments where users did not have Administrator access to their machines.

      And those people can't install any software that requires writing to privileged registry keys, which is 99% of all software for Windows. This isn't because the software is horribly broken, but because of the lockdown on HKLM. Sure, software could do workarounds for some of its "global" data, but things like registering COM interfaces just can't be done unless you are an admin.

      Yes, the "Power Users" workaround exists, but that's even more a pain in the butt, because now the programmer has to figure out for themselves exactly what can and cannot be done by a "Power User", since it's not directly documented anywhere. And, unlike "Administrators", "Power Users" isn't even guaranteed to exist or to have the permissions you expect.

      Also, because of the horribly broken way "Roaming Profiles" work in Windows, a non-privileged user on a network that uses this setup really doesn't want to install software to the only place they surely can: their profile directory.

    71. Re:Where have I heard this before? by darkpixel2k · · Score: 1

      So driver bugs are Vista's fault? Bad network configuration is Vista's fault? Just blame Vista for everything that isn't working, right?

      Sounds good to me. The printers on the network worked with Windows NT4, Windows 2000, Windows 2003, and Windows XP. I'm sure they would have worked with Windows 95, 98, and possibly even ME. But for some strange reason, Vista is all broken. The print spooler constantly crashes. So yeah--blaming Vista and Microsoft for totally making a f*ckup of their OS is what I'm doing.

      --
      There's no place like ::1 (I've completed my transition to IPv6)
    72. Re:Where have I heard this before? by Random_Goblin · · Score: 1

      On other platforms, services tend to not be installed as superuser.
      ... oh right i see i just imagined those daemons that run as root by default then?

      or did you mean that when people consider security, they tend to have daemons running as restriced users?

      well guess what, you can run services as resricted users on a windows box too, and any competent admin will configure them that way.

      basically it all boils down to the trite tautology that when a system is administered by security concious admins, services will be secured...
    73. Re:Where have I heard this before? by GreenEnvy22 · · Score: 1

      I also maintain a similar number of PC's (60-80), currently all on XP. I have 2 Vista test machines running Vista, both business, joined to the same domain. We do use a login script here to map network drives and printers. The script itself runs fine on both Vista and XP, but for some reason wasn't working properly in Vista if automatically run in startup. The script would run (I added a messagebox to it saying it was beginning), but the mappings would not complete. If I remember correctly, I eventually solved the issue by moving the script from the group policy at the OU level, to one domain wide, and then it worked fine. This was a year ago though, so I may be wrong on that.

    74. Re:Where have I heard this before? by darkpixel2k · · Score: 1

      This is the major problem you're having. So instead of bashing MS because you can't figure out how to script things properly or even prevent someone from "introducing" a new computer to your network, quit your job and find one administering *nix.

      No--I'm scripting things properly--it's just that Microsoft decided to 'add some value' to their new OS that prevents scripts that worked perfectly under Windows 2000, 2003, and XP from working on Vista. And just to be clear, the Vista laptops are going away because they flat out won't print to any printer. The print spooler service constantly crashes and the printer manufacturers say they aren't releasing Vista drivers or that we will have to wait for updates before things actually work correctly.

      Plus the part you couldn't have known before you dispensed with your witty advice of quitting my job was that their primary business application doesn't run well under Vista. The developers say it won't be fixed until sometime in 2009. So seeing as how Vista is a huge pile of garbage and flat-out doesn't work due to factors beyond my control, and not because I'm a n00b admin, we'll be overwriting a few installs of Vista with XP.

      --
      There's no place like ::1 (I've completed my transition to IPv6)
    75. Re:Where have I heard this before? by darkpixel2k · · Score: 1

      Do people complain that they have to enter their admin password when they install something on a mac ? how is this any different, except that you can turn it off ?

      No clue--I haven't touched a mac in years. But what I expect is that when I'm an administrator that I am allowed to do administrative things without tons of annoying and nagging prompts. Especially if I'm scripting. Once my clients are ready to deploy Vista, I'll start modifying my scripts and tools to work with Vista's stupid restrictions.

      Could you imagine if Canonical did something like this? Any time you logged in as root you still had to do something like 'sudo' to run privileged commands? It would mess up automated scripts and annoy admins. Debian would probably have a lot more followers the day that happened.

      --
      There's no place like ::1 (I've completed my transition to IPv6)
    76. Re:Where have I heard this before? by plague3106 · · Score: 1

      No--I'm scripting things properly--it's just that Microsoft decided to 'add some value' to their new OS that prevents scripts that worked perfectly under Windows 2000, 2003, and XP from working on Vista.

      If your script isn't working on Vista, the problem is YOUR SCRIPT. Get over it.

      And just to be clear, the Vista laptops are going away because they flat out won't print to any printer. The print spooler service constantly crashes and the printer manufacturers say they aren't releasing Vista drivers or that we will have to wait for updates before things actually work correctly.

      Sorry, you're not using a Vista print driver, and blaming Vista? Hmm, what would /ers say if I just ran out and buy some new hardware and it didn't work with Linux? Oh yeah, "you should have checked hardware compatibility, noob!" Yes, I do believe that's the response I'd get. You (or the person that bought the laptop) didn't check anything and just ran out and bought it. Someone failed in their job, likely you, since you should be enforcing the notion that you should at least be consulted before buying new computer equipment.

      Plus the part you couldn't have known before you dispensed with your witty advice of quitting my job was that their primary business application doesn't run well under Vista.

      Which has nothing to do with the fact that you don't hate working with Windows and would rather be admining unix. So go do that.

      So seeing as how Vista is a huge pile of garbage and flat-out doesn't work due to factors beyond my control, and not because I'm a n00b admin, we'll be overwriting a few installs of Vista with XP.

      People calling Vista garbage pretty much have no clue. You wouldn't install BSD without making sure everything would work, yet you would with Vista. Stop blaming your adversion to learning on others and take responsiblity for yourself. I've seen people like you first hand; "Windows is stupid because I can't figure out how to make it do X, and I can't be bothered to spend five minutes looking it up and learning."

    77. Re:Where have I heard this before? by sqlrob · · Score: 1

      things like registering COM interfaces just can't be done unless you are an admin.

      Nope, wrong.

      HKCU\Software\Classes\ works just fine (at least in XP, don't know about Vista)

    78. Re:Where have I heard this before? by wwahammy · · Score: 1

      Once my clients are ready to deploy Vista, I'll start modifying my scripts and tools to work with Vista's stupid restrictions. How are the restrictions stupid outside of admin not running as expected? It's just the same restrictions you'd have (or should have) on any system. The issue regarding admin not really being admin is one of designing a product to do too many things. In home use it makes perfect sense for admin to be like that. In business use it makes little to no sense. Perhaps they should have differentiated that based on SKU. Christ they had 7 of them, you'd think at least one of them could have it. As an aside, I believe Windows Server 2008 has UAC turned off for admins by default.
    79. Re:Where have I heard this before? by anomalous+cohort · · Score: 1

      Interesting. I did not read TFA but your summary does sound coherent and accurate with regards to UAC.

      From a security architecture perspective, I am interpreting your summary as UAC lacks transitive closure when authenticating API call requests. So UAC goes into affect when a less secure component calls a more secure component and that call crosses the windows system boundary. However, UAC does not get involved when a less secure component calls a more secure component and the call does not cross the windows system boundary.

    80. Re:Where have I heard this before? by An+ominous+Cow+art · · Score: 1

      Fuck off, shill.

    81. Re:Where have I heard this before? by An+ominous+Cow+art · · Score: 1

      Err, I apologize for that. I just spent 3 crappy hours dealing with broken microsoft crap, and went off on someone who I've seen defending MS before. I meant to cancel the post, and clicked through the damned Preview instead.

      Once again, sorry.

    82. Re:Where have I heard this before? by Zerimar · · Score: 1

      I can't believe Slashdot would post an article that was unfairly biased against Microsoft!

    83. Re:Where have I heard this before? by Saint+Gerbil · · Score: 1

      Which is why I can run some programs with admin rights and others not. For example I run Visual Studio with admin rights and it stops lots of issues like when I'm setting up a new log from my code. Conversely it prompts me when something tries to install which thankfully has always been something I've asked for, but would also prompt me when something installs which I don't want.

    84. Re:Where have I heard this before? by plague3106 · · Score: 1

      Yikes. I can assure you I'm no shill. I felt as you have about MS products, but back when XP was first coming out. I even left MS (at home, at least) for a few years. The level of frustration that trying to use Linux on a desktop exceeded that of MS... at the same time MS did make a lot of improvements, so I switched back to Windows. I actually went further, and for the first time bought a server products (SBS2003) to replace what had always been a linux server. I'm happier now, I can get things done.

      The fact that in 2008, 10 YEARS after I first began to experiment with Linux, a story on the front page detailing a girlfriend's experience with Linux is pretty telling. I can sympothize with that woman, because I was trying to do more advanced stuff than an average user (programming, for instance). The software I was trying to use seemed much less usable, and I invested much more time trying to get things to work.

      I'm not posting this as any kind of angry backlash; just trying to let you know I'm a real person that really would prefer MS to Linux. As a software engineer, I COULD spend a lot of time fixing minor problems getting software to work on Linux... but I do software all day, and while I love it and would try to program if it were not my full time job, I do have other interests as well. So for me it's worth it to spend some money and get something that does just work. I should probably put this huge explaination somewhere more perminant so I can just link it as a standard disclaimer whenever I support MS, but /. is just a temporary distraction for me, it's not worth the time. It'd also be nice for people on /. to not truely believe that MS is junk (it's not) and that other's may in fact like using MS software.

      Anyway, have a nice day, and I hope you solved your problem.

    85. Re:Where have I heard this before? by jedidiah · · Score: 1

      No.

      On a system where it is expected that user applications will be installed by users,
      things tend to be installed in a secured way by default.

      On a system where these ideas are alien and have been bolted on after the fact
      things tend to be installed in an insecure way by default and tend to BREAK when
      a clued in person tries to do things in a more sensible fashion.

      Microsoft doesn't tend to lead by example either.

      While we're waiting for Windows culture to catch up with Windows technology
      we can use other platforms that have been doing it the right way since before
      Windows existed (in any form secure or otherwise).

      --
      A Pirate and a Puritan look the same on a balance sheet.
    86. Re:Where have I heard this before? by An+ominous+Cow+art · · Score: 1

      Thanks for understanding and taking the time to post that. I'm really mortified about my mistake :-(.

      I'm a programmer myself, and though I've done IT-type stuff in the past, I don't much enjoy it and try to avoid it. Today's fiasco came at a bad time, just as people are gearing up for a demo at a conference, and I'm the only technically literate person in the office right now...

    87. Re:Where have I heard this before? by Keybounce · · Score: 1
      As much as I do stuff things into ~/Applications as a rule, I've found that some things will install themselves into /Applications.

      Also, ~/Applications did not work with everything; there were times that programs placed there were not found. (Although that might have just been several revisions ago).

      But keep in mind: The person above me was saying that "Well behaved apps are designed to store into the system directory". Even when a .dmg install file is distributed, you often will see a link to the system /Applications, rather than a link to ~/Applications. (Hmm, now that I think about it, does Finder support the concept of a non-constant target for an alias?)

      I think you have a solution in search of a problem. After decades of using more than one OS over the life of a machine, after seeing OS upgrades crash and burn and needing to be uninstalled, after seeing multiple times a need to install a second OS install for one reason or another, then I'd say that it's more a case of "I grew up with this disaster on microsoft windows, I don't know yet that Apple's OSX won't have similar problems, and I'd rather be safe than sorry." Besides, isn't rule #1: "Run both systems and make sure the new one will work correctly before abandoning the old system"?

      The fundamental idea -- "This stuff is stuff from the company, and is unaltered; that stuff is the stuff that I've done on my system, and it 100% separate", is an idea that really, REALLY makes upgrades simple. Or different kernels/distributions. Or ...
    88. Re:Where have I heard this before? by plague3106 · · Score: 1

      Eh, I wouldn't worry about it. Everyone has bad days. Those that pay to subscribe will find comments among the 6500+ I've made that prove the point. :-)

    89. Re:Where have I heard this before? by darkpixel2k · · Score: 1

      If your script isn't working on Vista, the problem is YOUR SCRIPT. Get over it.

      Yeah--fuck backwards compatibility. It's for sissies! I'd hate to have to reinvest significant amounts of time upgrading programs, scripts, drivers, hardware, and what-not with every new version of an OS. I mean damn--I've been running Ubuntu at home since Hoary. I can't f*cking believe the audacity of them--letting me use the same damn printer I've been using for years.

      Sorry, you're not using a Vista print driver, and blaming Vista? Hmm, what would /ers say if I just ran out and buy some new hardware and it didn't work with Linux? Oh yeah, "you should have checked hardware compatibility, noob!" Yes, I do believe that's the response I'd get. You (or the person that bought the laptop) didn't check anything and just ran out and bought it. Someone failed in their job, likely you, since you should be enforcing the notion that you should at least be consulted before buying new computer equipment.

      See previous paragraph. If I buy hardware that is 'windows compatible' or 'linux compatible', I expect it to work. I can understand if I'm trying to use a 400 year old printer that was designed for DOS 0.1 alpha, but it's a fairly new printer from 2002. I can totally understand having to upgrade a video card to work with Vista--or get a faster machine, or more memory--but I don't see why Microsoft broke compatibility with just about everything--video drivers, print drivers, and I'm sure there's more that I haven't run into yet since there are only two machines with Vista on my network.

      Which has nothing to do with the fact that you don't hate working with Windows and would rather be admining unix. So go do that.

      You could shorten that sentence to "Which has nothing to do with the fact that you hate working"...
      But it pays well--allowing me to eat, and have a roof over my head, and raise a family. I'm simply saying that I dislike certain aspects of the Windows platform. But the one thing that seems to keep it in the corporate world is backwards compatibility. Now that Vista is breaking that, I'm getting a few customers starting to ask about Linux. While I'm thrilled about that--it's not always in line with their business objectives. (Someone like an accountant who uses QuickBooks as their primary business application should probably stick to Windows--at least until Intuit provides a Linux-based or web-based version.)

      People calling Vista garbage pretty much have no clue. You wouldn't install BSD without making sure everything would work, yet you would with Vista. Stop blaming your adversion to learning on others and take responsiblity for yourself. I've seen people like you first hand; "Windows is stupid because I can't figure out how to make it do X, and I can't be bothered to spend five minutes looking it up and learning."

      The reason I'm calling Vista garbage is NOT because I picked up a shiny new workstation without reading the specs and something didn't work. The reason I'm calling Vista garbage is that I have hardware that is listed as "Windows compatible" (and it worked under XP) and it suddenly isn't working anymore with no Vista drivers available. And to tweak your quote "Windows is stupid--because while I can figure out how to make it do X, I don't want to be bothered with having to change all my shit around because someone at Microsoft had a dumb idea and I'll probably have to change it again when Windows 7 (or 8 or 9 or whatever the hell the next version is) comes out in a year.

      Pretend for a moment that I bought one of the new Dells with pre-installed Ubuntu and it came with a printer. If an upgrade to Ubuntu made my printer not work, I'd be a little pissed. It's never happened in all the years I've used Linux. (Granted, 6 is not all that much compared to some of Slashdot).

      Of course the whole argument can be made that if we constantly hold on to backward compatibility, we'll be constrained in moving forward with software. Meh. True. Maybe I do just hate Microsoft.

      --
      There's no place like ::1 (I've completed my transition to IPv6)
    90. Re:Where have I heard this before? by andersa · · Score: 1

      And if I told you the drivers were probably broken all the time, and all the old versions of Windows just played nice about it and the enhanced security in Vista no longer does, then thats Vistas fault as well, right? And I am just a lame M$ fanboy, right?

    91. Re:Where have I heard this before? by plague3106 · · Score: 1

      Yeah--fuck backwards compatibility. It's for sissies! I'd hate to have to reinvest significant amounts of time upgrading programs, scripts, drivers, hardware, and what-not with every new version of an OS. I mean damn--I've been running Ubuntu at home since Hoary. I can't f*cking believe the audacity of them--letting me use the same damn printer I've been using for years.

      You think Linux is any better in that regard? Go search for ABI compatibility. At any rate we're talking about a script here. There should be miminal effort required. If you have a monster of a script, it probably shouldn't be a script. Scripts are hard to maintain. They are for simiplier tasks.

      See previous paragraph. If I buy hardware that is 'windows compatible' or 'linux compatible', I expect it to work. I can understand if I'm trying to use a 400 year old printer that was designed for DOS 0.1 alpha, but it's a fairly new printer from 2002. I can totally understand having to upgrade a video card to work with Vista--or get a faster machine, or more memory--but I don't see why Microsoft broke compatibility with just about everything--video drivers, print drivers, and I'm sure there's more that I haven't run into yet since there are only two machines with Vista on my network.

      See my previous paragraph as well. The fact is, Vista is not XP which is NOT Win2k. Until proven you should assume they are different OSes. As far as "Windows compatible" goes, if you look closely you'll see the versions of Windows which are compatable. Otherwise you wouldn't know if the hardware worked on Win95 or WinXP. As I said, Linux is worse in this regard. I've had drives stop working after a kernel REVISION number change.

      As a developer, you should realize that at some point it's better to break backward compatiblity if it would improve things in the long run.

      You could shorten that sentence to "Which has nothing to do with the fact that you hate working"...
      But it pays well--allowing me to eat, and have a roof over my head, and raise a family. I'm simply saying that I dislike certain aspects of the Windows platform. But the one thing that seems to keep it in the corporate world is backwards compatibility. Now that Vista is breaking that, I'm getting a few customers starting to ask about Linux. While I'm thrilled about that--it's not always in line with their business objectives. (Someone like an accountant who uses QuickBooks as their primary business application should probably stick to Windows--at least until Intuit provides a Linux-based or web-based version.)


      Unix admins get paid more, so the "allows me to eat" argument is kind of moot. As far as backward compatiblity goes, Vista breaking it is pretty overhyped. Most people claim it's broken if they get a UAC prompt. Application developers are now be caught not following best practices. None of the applications I wrote do this (except during install) because I follow MS best practices.

      If people think Vista is breaking backward compatility, wait until they try Linux. You pretty much need all new applications. I know, I tried it. I doubt Intuit will even make a Linux version; OSS people DEMAND the source code, and most closed shops don't want to give it out. If the zealots would cool it and be ok with 1) paying for software and 2) being ok without having source, I think a lot of companies may at least try. But just porting isn't good enough for a large part of the crowd, and companies hear this.

      The reason I'm calling Vista garbage is NOT because I picked up a shiny new workstation without reading the specs and something didn't work. The reason I'm calling Vista garbage is that I have hardware that is listed as "Windows compatible" (and it worked under XP) and it suddenly isn't working anymore with no Vista drivers available. And to tweak your quote "Windows is stupid--because while I can figure out how to make it do X, I don't want to be bothered with having to change all my shit around because someone at Microsoft h

    92. Re:Where have I heard this before? by darkpixel2k · · Score: 1

      And if I told you the drivers were probably broken all the time, and all the old versions of Windows just played nice about it and the enhanced security in Vista no longer does, then thats Vistas fault as well, right? And I am just a lame M$ fanboy, right?

      Nope. If the drivers were broken originally and all the old versions of Windows played nice, it's simply a little less Microsoft's fault. Although not much less.

      Look--if you're worried that I'm just Microsoft bashing, I'll tell you two areas where I think Microsoft totally kicks ass. IDEs and Microsoft Money. Those are the two things I miss by not running Windows at home. The Visual Studio development system is pretty damn nice. And Microsoft Money has no equivalent on the Linux platform. I've tried all the free ones and I've tried moneydance. Microsoft just wins hands-down. Although I love writing in python using vi, it would be so much nicer if I had an IDE with auto-completion and better integration with the rest of the tools on the Linux platform. And no, eclipse doesn't count--because either it sucks ass or I'm using it wrong... ;)

      --
      There's no place like ::1 (I've completed my transition to IPv6)
  2. Obligatory out-of-context movie quote by HetMes · · Score: 0, Troll

    I think I am going to have a heart attack from NOT being surprised!

  3. Must do better... by Anonymous Coward · · Score: 0

    So, apart from DRM, what has Microsoft actually created new in Vista? looks like a lot of people have spent 5 years hanging around the water cooler.

    1. Re:Must do better... by somersault · · Score: 2, Funny

      Nah - musta taken them at least 4 years to get that 'glass' effect just right!

      --
      which is totally what she said
    2. Re:Must do better... by Yvan256 · · Score: 2, Insightful

      Negotiating contracts with ATI and nVidia for a share of videocard sales does take time, you know.

  4. Erratum... by HetMes · · Score: 0, Troll

    Damn, on further consideration, the quote should have been: I think I'm gonna have a heart attack and die from not surprise!

  5. A Service... by maz2331 · · Score: 4, Informative

    Basically, all they had to do is split the thing into a front-end "userspace client" and a back-end "service".

    Gee, sounds like a daemon that can be controlled from an application to me.

    1. Re:A Service... by Gazzonyx · · Score: 4, Informative

      Yeah, but I think the win32 API's message pump is probably the Achilles heal... I've heard that it's been redesigned so that you can't pierce it by getting kernel space threads to execute your program with a callback in the messaging interfaces, but any time that you have a secure system, that front end and the back end should be fairly tight together. If they could intercept the messaging between front end and back end, I'd hazard a guess that the interfaces weren't snug enough. Then again, given 'physical' (if we will allow software to be considered physical for a moment) access to *any* machine, it's no longer yours. That's probably why *nix'es are very, very specific about separation of concerns and granting the least possible permissions to a limited service account.

      Unfortunately, tying the desktop environment, window manager, and kernel together into a tightly integrated package will increase the damage per amount of attack vector surface area, should a single link in the armor be broken. In Windows, you've only got about 3 accounts, Local System, Network Service, and Everyone group. If a single service gets owned, it's running rogue at the same level of permissions, system wide, as root. Regardless if it's a crappy HP driver service, a hypervisor, or explorer. All that to say, the design is flawed such that not only are these things possible, but they have greater consequences than they would under other OSes.

      --

      If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

    2. Re:A Service... by Dogun · · Score: 2, Insightful

      Which is fine, provided the interfaces exposed by the daemon aren't themselves insecure.

    3. Re:A Service... by lseltzer · · Score: 1

      Exactly. Since the service can be accessed by unauthenticated user-mode code the program is now a DOS vulnerability. Any program can screw with with the system by interacting with the service.

      They haven't proved anything. The UAC interaction was at the point of installaiton in this case. Once the user agrees to that, they are 0wned.

    4. Re:A Service... by Jaime2 · · Score: 1
      The message pump is simply carries two arbitrary 32-bit payloads. If one of those happens to be a callback, so be it. The message pump is not is charge of stopping the kernel component from calling the code that the callback references, the Windows memory model does that. Since Windows 95 and since the conception of Windows NT, the kernel component would have to specifically map memory from the application's address space to call it, this couldn't be used as a code injection vector.

      That's probably why *nix'es are very, very specific about separation of concerns and granting the least possible permissions to a limited service account. How exactly are *nix'es very, very specific about least priveliges? Admins are taught this, major packages in big distributions follow this rule. But, *nix'es don't enforce it, they only suggest it in the documentation. Any user that runs a personal *nix desktop that they installed themselves is not going to do it right. UAC was Microsoft's attempt to enforce good behaviors for people who don't know any better. Of course it was only partially successful because it is impossible to force people not to compromise their own systems.

      In Windows, you've only got about 3 accounts, Local System, Network Service, and Everyone group. Everyone isn't an account that can be compromised, it's a group and it has very few permissions. You forgot LocalService, Guest, and any other account that may be created for this purpose. There is no reason why a Windows system can't run each service as a dedicated account with the minimum permission to do the job it needs to do, and it is not Microsoft's fault if someone runs a service as LocalSystem.

      If a single service gets owned, it's running rogue at the same level of permissions, system wide, as root. That's only if it runs as LocalSystem or Administrator. If someone is stupid enough to run services as those accounts, then they get what they deserve. How would that be any different from running a daemon as root in Linux?
    5. Re:A Service... by jackbird · · Score: 1

      That's only if it runs as LocalSystem or Administrator. If someone is stupid enough to run services as those accounts, then they get what they deserve. How would that be any different from running a daemon as root in Linux?

      OK, a lot of this reply is over my head about Windows internals, but popping open my services list on a fairly vanilla XPx64 install, damn near everything runs as localsystem, except for a few network-related services.

    6. Re:A Service... by Jaime2 · · Score: 1

      Services that perform a simple task might be safe to run as LocalSystem. IIS is a good example. The core IIS functionality like listening on the network, reading HTTP headers, routing requests to the correct sub-process, run as LocalSystem. Anything content related like reading a file or running a server side script are launched in a seperate process from IIS as a specific user.

      If you see someone running a database server or an email server as LocalSystem, then they should be "talked to", this is bad practice on a Windows system just as it is on a *nix system.

    7. Re:A Service... by Gazzonyx · · Score: 1

      The message pump is simply carries two arbitrary 32-bit payloads. If one of those happens to be a callback, so be it. The message pump is not is charge of stopping the kernel component from calling the code that the callback references, the Windows memory model does that. Since Windows 95 and since the conception of Windows NT, the kernel component would have to specifically map memory from the application's address space to call it, this couldn't be used as a code injection vector.

      I was referring to a Shatter attack. Although I don't know the least bit about it to speak with any kind of authority whatsoever, so it may be a non-issue.

      That's probably why *nix'es are very, very specific about separation of concerns and granting the least possible permissions to a limited service account.

      How exactly are *nix'es very, very specific about least priveliges? Admins are taught this, major packages in big distributions follow this rule. But, *nix'es don't enforce it, they only suggest it in the documentation. Any user that runs a personal *nix desktop that they installed themselves is not going to do it right. UAC was Microsoft's attempt to enforce good behaviors for people who don't know any better. Of course it was only partially successful because it is impossible to force people not to compromise their own systems.

      I meant that the file system hierarchy is split up in such a way that it makes running services with limited credentials easier (i.e. chroot), the UIDs and GIDs are specifically marked such that the first 100 are reserved for services (although, as you pointed out, that doesn't mean that people will follow this convention, but it is explicit, nonetheless), and you have things like the wheel group for power users that allows a midway escalation of powers without having to be a root user. Also, there is the ability to allow sudo or setUID; Windows has a form of this, "Run As", but that requires you to store the password for that user on that computer. You were quite right, however, you can't keep someone who doesn't know better from compromising their own system. I fear for my 56 year dad who just got a Vista laptop, I can't be there every time someone tries to scam him, and if I've almost fell for a few things out there, he'll be compromised eventually.

      In Windows, you've only got about 3 accounts, Local System, Network Service, and Everyone group.

      Everyone isn't an account that can be compromised, it's a group and it has very few permissions. You forgot LocalService, Guest, and any other account that may be created for this purpose. There is no reason why a Windows system can't run each service as a dedicated account with the minimum permission to do the job it needs to do, and it is not Microsoft's fault if someone runs a service as LocalSystem.

      Yeah, I missed a bunch there. But, it is Microsoft's fault if they ship a computer where the Theme Manager (as well as every other service on the box) runs as Local System. Does that really need to ship stock with the same permissions as the Security Center service?

      If a single service gets owned, it's running rogue at the same level of permissions, system wide, as root.

      That's only if it runs as LocalSystem or Administrator. If someone is stupid enough to run services as those accounts, then they get what they deserve. How would that be any different from running a daemon as root in Linux?

      How many Linux distros come with services running as root? How many Windows flavors ship with services running as Local System? In Microsofts' defense, IIS has gotten MUCH better about this over the years, and Microsoft also can't control HP writing drivers that run as a system account, or any other user land application. I guess I meant to say that they could do a lot to discourage these things, and

      --

      If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

    8. Re:A Service... by TheRealSlimShady · · Score: 4, Interesting

      What you find in Vista (not XP unfortunately) is that a lot of the services that run with LocalSystem now run as "restricted" localsystem. They've profiled each service and figured out exactly what access it needs to run, and then granted that service those rights and no others. So while it looks like LocalSystem/Network Service it actually has reduced rights. Which is a good thing.

    9. Re:A Service... by swimin · · Score: 1

      and if there is a buffer overflow in the routines reading HTTP headers?

      It doesn't make sense to have an HTTP server running with full administrative privileges.

    10. Re:A Service... by Jaime2 · · Score: 1

      The problem is that in addition to reading headers, the core service has to launch processes and assign arbitrary security access levels to them. It needs to be a system level service to do this. So, the functionality necessary to decide where to route the request must be in the core, this includes reading the requested resource from the header. It has worked very well for IIS 6 as it has had very few security exploits.

    11. Re:A Service... by VGPowerlord · · Score: 1

      That's probably why *nix'es are very, very specific about separation of concerns and granting the least possible permissions to a limited service account.

      We are talking about the same *nix's that bar limited service accounts from binding to the TCP/UDP ports used by DNS, POP3, IMAP, SMTP, HTTP, etc?
      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    12. Re:A Service... by Anonymous Coward · · Score: 0

      The problem is that in addition to reading headers, the core service has to launch processes and assign arbitrary security access levels to them. It needs to be a system level service to do this. It needs to be?

      Sounds like a fundamentally bad design to me...

      So, the functionality necessary to decide where to route the request must be in the core, this includes reading the requested resource from the header. It has worked very well for IIS 6 as it has had very few security exploits. Oooookay.
    13. Re:A Service... by VGPowerlord · · Score: 1

      How many Linux distros come with services running as root?

      100%. You can't bind to TCP/UDP ports below 1024 without being root. The difference is that these services usually drop privileges after acquiring the appropriate listening ports. This wasn't always true.

      iptables also allows you to redirect ports. I've used this in the past to redirect low service number ports to higher service number ports where the real daemon is listening.
      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    14. Re:A Service... by VGPowerlord · · Score: 1

      For that matter, sshd still needs a root process in order to create the child process with the appropriate permissions.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    15. Re:A Service... by setagllib · · Score: 1

      Look up setuid() in POSIX standards. Go on, we'll wait.

      I can't name a single common daemon in a modern Linux system that doesn't reduce its privileges straight after opening a privileged port (at which point no attacker data can be supplied yet). Even some regular programs drop privileges where practical "just in case". In modern Unix, the system protects YOU.

      IE6's privilege requirements make an already insecure server a system-wide threat. You'd have to be incredibly ignorant to believe otherwise. It's not even a matter of opinion, it's a matter of history and hard numbers.

      In conclusion, bwahahahahahahahahhaah

      --
      Sam ty sig.
    16. Re:A Service... by Allador · · Score: 1

      Jaime2 below answered most of your post.

      Also, be aware that the 'services running as local system' problem is _precisely_ why NetworkService and LocalService was created.

      It's also why nearly all competent windows sa types create separate, non-priv'd accounts for each separate service they install.

    17. Re:A Service... by Allador · · Score: 1

      It's not an HTTP server.

      It's basically a parser and message passer that runs as a kernel component. This was done primarily to have the fastest possible access to the network stack.

      It's a very small amount of code. Cant remember the approx LoC, but when I saw the post way back when that this first came out, I was amazed how small that component is.

      Comparatively, IIS (which IS a web/http server, amongst other things) is huge, and has no need to run as admins.

    18. Re:A Service... by cnettel · · Score: 1
      You can reduce your security token in Windows. It won't affect which user is listed in Task Manager. (i.e. you can modify your token and impersonate a lower-level user in each thread, but the process itself will still be owned by the spawning user)

      This means that well-behaved user-mode code can very well be started as LocalSystem and still not pose a threat (compare to kernel mode code, which you can't make "safe" just by an API call).

    19. Re:A Service... by Jaime2 · · Score: 1

      Who said Unix doesn't do it right? I'll wait while you look up LogonUser...

      And What does IE6 have to do with IIS 6???

      Your argument against how IIS 6 is designed boils down to "Unix does it right and Internet Explorer sucks!!". How does that in any way show that IIS 6 is designed poorly from a security perspective?

    20. Re:A Service... by setagllib · · Score: 1

      Sorry sorry, rushed my post and came out with IE instead of IIS. And I *know* WinNT has the same user ID switch as Unix, but the problem is that until recently even Microsoft didn't use it, so it's obvious that security engineering in the Windows world is pathetic. The exploits speak for themselves.

      --
      Sam ty sig.
    21. Re:A Service... by zcat_NZ · · Score: 1

      This sounds a lot like policykit -- a 'new' feature introduced in Ubuntu 8.04 where the user interface part of various administration dialogs run as a normal user and only the business end runs as root.

      If someone finds some exploitable buffer overflow in your interface or one of the associated libraries, they gain very little if anything.. they certainly don't end up with their exploit code running as root and having unrestricted access to the system.

      I don't often defend Microsoft, but it actually sounds like UAC is doing something 'right' in this case.

      --
      455fe10422ca29c4933f95052b792ab2
    22. Re:A Service... by Jaime2 · · Score: 1

      So, it's bad design to prevent a low privileged account from escalating to a high privileged one? Good security design dictates that a process shouldn't be able to spawn processes with more privileges than itself. Any other behavior would be a potential escalation of privileges weakness. Therefore, the root process of IIS which sometimes needs to spawn high privileged processes, would need high privileges.

      If you don't believe that IIS 6 has had a very good security record, then you are beyond help. Secunia list 5 vulnerabilities ever detected for IIS 6, none of them condsidered Extremely Critical and none remain unpatched. Apache 2.0 has 35 vulnerabilities, 11% still unpatched. This isn't confirmation that IIS is more secure than Apache, but it does make a very good case.

  6. Film at 11 by symbolset · · Score: 4, Funny

    Some clever programmers found a way to force a Vista PC to obey a user with admin rights.

    I'm sure there will be a patch to fix this glaring security hole in the next batch of updates.

    --
    Help stamp out iliturcy.
  7. Much as I like seeing Microsoft humbled... by argent · · Score: 4, Insightful

    Much as I like seeing Microsoft humbled, the comments on the original article seem to exonerate Microsoft of being as stupid as the article makes them sound. Lazy, perhaps, but not that stupid.

    1. Re:Much as I like seeing Microsoft humbled... by cheater512 · · Score: 2, Insightful

      Having a bigger marketing department than a programming department for a software company sounds pretty stupid to me. ;)

    2. Re:Much as I like seeing Microsoft humbled... by sjames · · Score: 1

      The article does make a mountain out of a molehill. While not the most eligant, UAC worked as intended and for that matter in a valid way.

      It's too bad that MS doesn't support the suid bit or capabilities and something like setuid (or seteuid). For one, it would make things like this simplicity itself.

      More importantly, it would allow an admin to properly support users without knowing their passwords and allow simple programs to handle any odd corner cases.

      After all these years, it would still seem that MS is all too willing to ignore decades of field experiance with security models and hack something that half works together themselves. That's admirable in a high school hacker teaching himself about computers, not so much in a commercial product represented as "production ready".

      At the same time, some of the pain here is not because of a MS mistake (as much as I hate to say it :-) but because they are trying to correct one years after the fact. During those years, a largish army of MS programmers have grown up having little idea how to write programs that don't need to have the run of the system.

    3. Re:Much as I like seeing Microsoft humbled... by Anonymous Coward · · Score: 1, Insightful

      Do you have facts to back this up or are you just being funny? The fact that you are now rated "Insightful" makes me wonder!

    4. Re:Much as I like seeing Microsoft humbled... by Dogun · · Score: 1

      I actually don't think it's that strange, if true. You think that the bulk of a medical devices company is actually building or programming devices?

    5. Re:Much as I like seeing Microsoft humbled... by shutdown+-p+now · · Score: 2, Insightful

      Does having bigger $$$ than anyone else around precisely because of that also sound stupid?

    6. Re:Much as I like seeing Microsoft humbled... by Anonymous Coward · · Score: 0

      Having a bigger marketing department than a programming department for a software company sounds pretty stupid to me.

      Making shit up sounds pretty stupid to me.

    7. Re:Much as I like seeing Microsoft humbled... by swillden · · Score: 4, Insightful

      Having a bigger marketing department than a programming department for a software company sounds pretty stupid to me. ;)

      Really? I've worked for over a dozen software companies in my career and the only two that didn't have more people in sales and marketing than in engineering and product development are also the only two that are out of business.

      There are exceptions, I'm sure, but I think it's pretty normal that it takes more salespeople to sell a product than it takes engineers to design it.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    8. Re:Much as I like seeing Microsoft humbled... by Anonymous Coward · · Score: 0
      Having a bigger marketing department than a programming department for a software company sounds pretty stupid to me. ;)



      Not if it makes you the largest software company in the world ;)

    9. Re:Much as I like seeing Microsoft humbled... by I'm+Don+Giovanni · · Score: 1

      Seems to work just fine for Apple. ;)

      --
      -- "I never gave these stories much credence." - HAL 9000
    10. Re:Much as I like seeing Microsoft humbled... by Allador · · Score: 1

      The article was lame.

      The NeoSmart folks (with all due respect) appear to be rank amateurs when it comes to software.

      That whole problem they ran into is a total rookie mistake. They should have gone beyond requiring the user to run as admin years and years ago.

      The fact that they had to actually take the time to *gasp* do things right is a good thing. Their posting just really exposes the inexperience and ignorance of developers on the platform.

    11. Re:Much as I like seeing Microsoft humbled... by Anonymous Coward · · Score: 0

      Google is also 6000 marketers vs. 3000 engineers, y'know...

    12. Re:Much as I like seeing Microsoft humbled... by cheater512 · · Score: 1

      I was trying to be funny but Slashdot mods are weird. :)

    13. Re:Much as I like seeing Microsoft humbled... by argent · · Score: 1

      Oh, I wasn't defending UAC at all. I think that UAC is fundamentally stupid, I'm just saying that this wasn't an example of UAC itself being stupid, just of Microsoft being lazy about how they dealt with a problem caused indirectly by UAC.

    14. Re:Much as I like seeing Microsoft humbled... by drsmithy · · Score: 1

      It's too bad that MS doesn't support the suid bit or capabilities and something like setuid (or seteuid).

      This is a good thing. They're basically just hacks around a relatively primitive security model and have plagued UNIX security for decades (and will continue to do so).

    15. Re:Much as I like seeing Microsoft humbled... by sjames · · Score: 1

      I can agree that setuid has a problem violating the least privilege principle and that root as god is on the primitive side (but has served us well for decades), but what's so bad about capabilities?

      I would argue that a system that is incapable of granting contingant capabilities is primitive as well. If you're going to have a primitive security model, might as well be a well proven one.

  8. Uhm, no not really a UAC work-around ... by Anonymous Coward · · Score: 5, Informative

    The article uses a play out of Microsoft's playbook for Vista compatibility -- break an application that requires admin privileges into two parts: a privileged service and an unprivileged UI. Nothing to see here, move along.

    1. Re:Uhm, no not really a UAC work-around ... by tepples · · Score: 1

      The article uses a play out of Microsoft's playbook for Vista compatibility -- break an application that requires admin privileges into two parts: a privileged service and an unprivileged UI. With interprocess communication (IPC) between the two.

      Nothing to see here, move along. The article said it took an order of magnitude more code to do the IPC than to do the business logic. I guess this means Win32's IPC is more byzantine than that of *n?x.
    2. Re:Uhm, no not really a UAC work-around ... by Dogun · · Score: 1

      Most of the time people were not testing as std. user in the first place, and that's why they have issues in Vista.

      As far as IPC? Use RPC. It's really not that hard.

    3. Re:Uhm, no not really a UAC work-around ... by Allador · · Score: 1

      The article said it took an order of magnitude more code to do the IPC than to do the business logic. At the risk of repeating myself (not sure if it was you I responded to earlier about this issue):

      It's easy to do things sloppy and incorrectly, and can often be done faster and with fewer LoC.

      Doing things right often takes more work. This should not come as a surprise to anyone.
    4. Re:Uhm, no not really a UAC work-around ... by tepples · · Score: 1

      It's easy to do things sloppy and incorrectly, and can often be done faster and with fewer LoC. This is true of library-level and operating-system-level code as much as it is of application-level code. One could try placing the blame on Microsoft for making some tasks messier on Windows than on UNIX, even under similar security policies.
    5. Re:Uhm, no not really a UAC work-around ... by Allador · · Score: 1

      Bah. Basic IPC and RPC code is fairly straightforward on windows.

      What was hard for these guys was:

      1. It was more than they were doing before, so therefore worse from their point of view.

      2. They had never done this sort of coding before on windows, so it was their first time, and they were learning, therefore it took longer than it should have under normal circumstances.

      3. They obviously didnt understand the need for proper separation of systems, so they viewed the whole thing as a waste of time.

      Plus there are other ways to do what they wanted to do that they didnt even try. A couple off the top of my head:

      - the scheduler based approach that someone else mentioned.

      - .net remoting or com+ registration, as the other very knowledgeable guy mentioned.

      - moving the boot-loader mod logic to a separate executable from the system-tray app, and when a change needs to be made, have the system-tray app launch a new process on the executable, and request elevation when it does.

      Until you've written IPC or RPC code on windows, you shouldnt be going around saying how bad it is. You're massively inferring from a third party, who is obviously not very knowledgeable or experienced on the platform.

  9. Easy, but it's Not, but it is? by Anonymous Coward · · Score: 5, Insightful

    The "bottom line" starts off saying it wasn't easy, took much additional code, and many man hours of work. Then the next paragraph tells you it's "easy to code around".

    This is the problem with Blogs. It looks like journalism, but it isn't.

    1. Re:Easy, but it's Not, but it is? by Sique · · Score: 2, Insightful

      This is the problem with Blogs. It looks like journalism, but it isn't. You saying, a journalist would provide a counter point from Microsoft? Because glaring logical gaps are nothing new for journalism.
      --
      .sig: Sique *sigh*
    2. Re:Easy, but it's Not, but it is? by Anonymous Coward · · Score: 0

      In any case, the notion that it takes 1000 lines of code to write a service and some basic IPC is laughable. These are bog-standard tasks that are accomplished with well-documented Windows APIs, not some Herculean task for expert Windows hackers.

    3. Re:Easy, but it's Not, but it is? by Anonymous Coward · · Score: 1, Interesting

      There's a difference between being hard to a honest programmer to work around UAC and being hard for a malware programmer to do the same.

      Honest, "good" programmers should have no trouble whatsoever with whatever security systems there are to work with. Those should be designed to trouble malware, not the "good" software.

      Malware programmers, however, have the purpose to work around and find loopholes in security systems and thus it MUST be hard for them to operate under any security system. After all, malware is trying to do nasty stuff in your system.

      What this article is stating is just the opposite. As a Software Developer you are bound to have lots of shit coming your way if you intend to work on Wista because of UAC limitations. As a malware programmer, you can just easily overcome the "difficulties" and live happily ever after.

      The problem with journalism, I'd say, is that it looks honest, but just isn't. Sometimes, however, bloggers don't have the ability to be clear and concise.

    4. Re:Easy, but it's Not, but it is? by Anonymous+Psychopath · · Score: 1

      This is the problem with Blogs. It looks like journalism, but it isn't. You saying, a journalist would provide a counter point from Microsoft? Because glaring logical gaps are nothing new for journalism. One could say instead:

      "This is the problem with television news. It looks like journalism, but it isn't", which I think is your point.

      It still doesn't make blogs any better, though.
      --

      Eagles may soar, but weasels don't get sucked into jet engines.

    5. Re:Easy, but it's Not, but it is? by Jaime2 · · Score: 1

      For an honest programmer, it can be done in minutes with ten lines of code.

      The biggest challenge to writing a service is authenticating the client. To make it really easy, let an existing component do that for you. Just create a C# component that will be invoked via remoting and is hosted in IIS, or create a COM+ Serviced Component. Both can be created in seconds simply by inheriting from the correct class in .Net. Then write the reboot functionality, which is one Windows API call.

    6. Re:Easy, but it's Not, but it is? by Anonymous Coward · · Score: 0

      The way I see it, it's easy to make a wall of bricks. However, it can be tiring, take a lot of other paraphernalia that isn't technically required, and depending on the size of the wall can take many hours of work. Easy is more like simple in my mind, which is not necessarily the same as fast or interesting. Would it be 'easy' for many people here to make this fix? Probably, but would they enjoy it or do it in forty minutes? Just how I interpreted it. Also, after all that, must say that I noticed and criticized their conflicting use of 'easy' as well.

      My anger therapist told me to look at both sides of every problem, now I'm on meds for multiple personalities as well.

  10. A terrible idea. by Kaenneth · · Score: 1

    If and when Microsoft closes those loopholes, any software that abuses them will break.

    On the plus side, it's another reason for customers to buy the next version of your software...

    Hmmmm, would a ISV make more money overall by deliberatly NOT being forwards compatible? are some intentionally breaking the bounds of the published SDK for this reason?

    1. Re:A terrible idea. by Skuld-Chan · · Score: 1

      Learn 2 logo certify? Seriously - that would catch this.

    2. Re:A terrible idea. by Allador · · Score: 2, Insightful

      If and when Microsoft closes those loopholes, any software that abuses them will break. They're not loopholes. They're one of the well known ways of solving the problem the neosmart devs created for themselves.

      The NeoSmart folks just were being lazy and assuming everyone was an admin, and that someone was always logged into the OS.
  11. Too easy to fix? by Anonymous Coward · · Score: 0

    I was under the impression that Microsoft wants developers to rework their code to use calls that don't require security elevation. The fact that performing these workarounds is "easy" sounds to be a good thing. After all, why would you want developers to have trouble adopting a new standard?

  12. UAC is shite by syousef · · Score: 1, Insightful

    I care about security. A lot. I do my banking on my home PC and any kind of fraud or identity theft has the potential to make my life hell. Still, not only do I not run Vista (except on a laptop which it came pre-installed on and which I dual boot with XP as default) but the first thing I do is turn UAC off. It's not just painful, it's no more secure than putting 100 locks on your front door. Burgulars and home invaders can still kick the fucking thing down, only now it takes you an hour to get into your own home. Microsoft has lost the plot in recent years. Changes to Office, a dud version of windows with almost nothing new and lots of DRM shite, changes to poiicy in everything from OS to Office to gaming. None of it friendly to the end user. They're large enough that the jury's out as to whether they'll sustain the hit or go down but they're making their systems undesirable to work with.

    --
    These posts express my own personal views, not those of my employer
    1. Re:UAC is shite by Anonymous Coward · · Score: 0

      The phrase 'you can't have your cake and eat it too' comes to mind. I have been using Vista with UAC under a lower privileged account (so that I am prompted not just with a 'continue' button but with the password request) for over a year now and it's worked just fine for me. I see UAC as a way to protect my computer from others who use it. If they can't install a trojan without knowing the admin password I'm that much safer.

      Disabling UAC completely is probably not a great idea. At the very least it warns you that something naughty is going to happen.

    2. Re:UAC is shite by syousef · · Score: 1, Redundant

      Disabling UAC completely is probably not a great idea. At the very least it warns you that something naughty is going to happen. That would be a nice thing, if it weren't buried in a 100,000 false positives with clusters of warnings around each action.

      --
      These posts express my own personal views, not those of my employer
    3. Re:UAC is shite by Skuld-Chan · · Score: 1

      I usually don't see the UAC prompt unless I'm doing admin tasks like installing or changing system settings. I don't think this is a major problem.

      In fact on my Mac I get the same kinds of prompts.

    4. Re:UAC is shite by westyvw · · Score: 1

      Out of curiosity, I abandoned the Crazy Train that is windows about 5 years ago moved the business and the home computers over to Linux. Things keep getting better year after year... what are you waiting for?

    5. Re:UAC is shite by Allador · · Score: 1

      UAC doesnt generate false positives. Zero.

      If an app tries to do something that a non-priv'd user doesnt have rights to do, UAC will be triggered. This is correct behavior.

      It sounds like most of your software is just written incorrectly for the platform.

      How about instead of bitching at MS for finally doing the right thing and not letting lazy ISVs get away with bad programming, how about you go back to your software vendors and tell them to learn how to develop correctly for the platform.

    6. Re:UAC is shite by syousef · · Score: 1, Insightful

      UAC doesnt generate false positives. Zero.

      If I've just requested a file copy in windows explorer and I still get prompted with a security warning, that's a false positive. It says something suspicious is happening, even though I've initiated the action.

      If an app tries to do something that a non-priv'd user doesnt have rights to do, UAC will be triggered. This is correct behavior.

      This is not an app doing something behind the scenes. It's continually being re-prompted to confirm simple actions the user has requested from the operating system.


      How about instead of bitching at MS for finally doing the right thing and not letting lazy ISVs get away with bad programming, how about you go back to your software vendors and tell them to learn how to develop correctly for the platform.


      Fine, I'll go back to Microsoft and bitch at them. Oh wait...

      If that's good correct programming, I'm an aardvark and you can bring on the cowboy coding any time you're ready.
      It sounds like most of your software is just written incorrectly for the platform.

      I agree - windows explorer is particularly incorrectly written for the platform. With UAC on it's a joke fit for a Mac ad campaign.

      --
      These posts express my own personal views, not those of my employer
    7. Re:UAC is shite by Allador · · Score: 1

      If I've just requested a file copy in windows explorer and I still get prompted with a security warning, that's a false positive. File copy from where to where? What are the ACLs on the destination directory? What privileges do you have on your account?

      If you're copying the file into a place that you dont have permissions to (ie, C:\program files\ or the all users part of the desktop or start menu), then you will get a UAC prompt.

      And that is correct behavior.

      And thats the way every mainstream OS works (though some just silently fail, rather than prompting for elevation).

      Try copying files into /etc on linux or the OS folders in OSX and you'll get the same response.

      On the other hand, if you're concerned that you're running as admin but dont want UAC prompts, then just configure the OS to operate that way.
    8. Re:UAC is shite by syousef · · Score: 0, Flamebait

      If you're copying the file into a place that you dont have permissions to (ie, C:\program files\ or the all users part of the desktop or start menu), then you will get a UAC prompt. And that is correct behavior.

      Garbage. How does that make me more secure? By fucking desenitizing me from actual warnings that require my attention so I end up programmed to press "Allow" like Pavlov's dog? Listen to what you're fucking saying man! It doesn't make sense.

      Typically only one person uses a machine and has installed all the software. Occassionally there is a genuine multi-user environment on a home PC, and more commonly some work machines are shared, but for the most part this is computer security theatre at it's finest.

      Try copying files into /etc on linux or the OS folders in OSX and you'll get the same response

      Again, that makes sense in a genuine multi-user environment. If 20 users share the Linux machine, fine. Otherwise escalating privs every 5 minutes to do common tasks defeats the purpose of having a higher priv level. On my LInux machines, I run as admin. So do a lot of people. It's not that I don't care about security, it's that for practical everyday operation on a single user machine, constant prompts or use of pseudo is nonsense.

      On the other hand, if you're concerned that you're running as admin but dont want UAC prompts, then just configure the OS to operate that way.

      That is EXACTLY what I do! Turn off UAC. It's useless crapola.

      --
      These posts express my own personal views, not those of my employer
    9. Re:UAC is shite by syousef · · Score: 1

      what are you waiting for?

      Well since you ask...

      Decent chess software (Chessmaster, not GnuChess or Winboard), a decent flight simulator (MS Flight sim 2004), Remote control flight simulator (Realflight), a bunch of games which are less important to me, easy to use video editing software, decent media burning and authoring tools (instead of a hodge podge of incomplete crap), a better editor than gimp (though I use gimp on windows, it's not my main editor), 100% office compatibility, good mobile phone sync suite and palm pilot sync software (I know it exists but the out of the box solution and advanced tools are for windows). Oh and while we're at it proper full NTFS support that's not unstable, buggy or risky to use.

      Oh and a pony, because I'll get one before all these things are fully ported to Linux.

      I really would like to move, but it would change what I'm able to do.

      --
      These posts express my own personal views, not those of my employer
    10. Re:UAC is shite by Allador · · Score: 1

      Garbage. How does that make me more secure? By fucking desenitizing me from actual warnings that require my attention so I end up programmed to press "Allow" like Pavlov's dog? Listen to what you're fucking saying man! It doesn't make sense. How could that not make sense?

      You're trying to do something you dont have the privs to do, so you're being prompted to either allow (admin-approve mode) or asked for credentials that can.

      This is ultra basic simple stuff.

      You should not be, under normal circumstances, be triggering UAC prompts. If you are, then you've either:

      1. Using the file system in a way that catches you on the default ACLS. So change the ACLS. Normal 90% use-case users wouldnt ever trip over this.

      2. Using software that assumes local admin privs.

      It sounds like your issue is #1. You are often trying to write or modify files in directories that are SPECIFICALLY CONFIGURED TO STOP YOU FROM DOING THAT. Given that they are specifically configure to stop you from doing that, then it is absolutely correct that UAC is spawning.

      If the default ACLs dont work for you, and you want to be able to do things like that, then for *(*&D's sake, change the damn ACLs.

      You sound like a little kid who keeps running into the door and bloodying his nose, but who keeps crying about how the door doesnt really keep him inside, its just theatre. Well then just open the damn door, and quit beating your face against it.

      Typically only one person uses a machine and has installed all the software. Occassionally there is a genuine multi-user environment on a home PC, and more commonly some work machines are shared, but for the most part this is computer security theatre at it's finest. In the home-user scenario only one person typically uses the machine (or one login, to be more specific).

      But that person should _never_ be the admin on the box. Running your day to day desktop as admin is just being silly. I can definitely see running as no-prompt admin on servers or other machines where your only role is sa tasks.

      But running a desktop as admin is not smart. At least not if you ever use a web-browser on it or an email client. Even in Firefox, Safari, and IE there are drive-by exploits available at various times. And if you're running as admin, you just got owned.

      It's not that I don't care about security, it's that for practical everyday operation on a single user machine, constant prompts or use of pseudo is nonsense. (I assume you mean sudo, not pseudo there)

      I'll try saying this one more time.

      If you are getting hit with constant UAC elevation requests in your regular day to day work then:

      1. Your machine is misconfigured for your particular use of it. If you're constantly tripping over file ACLs in explorer, then change the file ACLs. Tune the box to your use, rather than bitch and whine about UAC doing what its supposed to be doing.

      2. You are using apps that are problematic.

      The second can be harder to deal with, but it sounds like the first is what you're encountering.

      Understand that this means that you are not using your machine in the typical role for which they configure the default ACLs.

      So assuming you're not doing something stupid, like constantly tweaking files in All User profile, Program Files, or anything under \Windows, then just change the ACLs to suit your use. If you are doing one of those bad things, then create yourself a separate directory off the root of C: drive, call it dev or something, and then set the ACLs on that so that you have change or full privs.

      Then you'll never be bothered by UAC again, and you can leave it on to let it do its job.
    11. Re:UAC is shite by westyvw · · Score: 1

      The chess surprised me, so did the flight sims. To each his own I guess, why not dual boot for games or use wine? But for the others: I haven't had any problem editing video. For media burning you are WAY off, its windows that doesnt have anything decent. K3B + KDE is a killer combo, rip, read, burn, create, no problem. (When was Nero still decent about 4 years ago and then it went to hell). I assume you mean photo editing, GIMP, Cinepaint, and Krita handle everything for me. Scribus, Xara, and Inkscape handle the vector graphics. Office? Moving the business over to OpenOffice was a godsend, I was writing 2-500 page grants and frankly Word is not competent for more then a letter. OO spreadsheets integrate better too. And you can output in PDF directly. Palm (do people still use those?) There are a lot of tools, and remember they implemented several plugins and color schemes long before Palm did. And Mobile phone? Yep got that covered too, can grab address books, dial, monitor batteries and answer calls. Pretty simple. NTFS? if you move over why would you want it? Reading is stable, writing is reported to be decent. The Pony, well maybe a Penguin :) If your serious about security and you dont want to get locked into software (Office) the sooner you break free, and as more people move, the faster the improvements and enhancements come. "I really would like to move, but it would change what I'm able to do." Well thats true: You get more on the one hand, you lose some on the other. But over these last 6 years its clear that doing nothing will leave you with the same result you have now: problems that your choice of software company could care less about.

    12. Re:UAC is shite by syousef · · Score: 1

      The chess surprised me, so did the flight sims. To each his own I guess, why not dual boot for games or use wine?

      Dual boot is an option, but it doesn't get me away from requiring Windows. If I have to run Windows anyway, why bother with another OS and it's quirks. (I use to bother for the sake of learning, but I learnt and can pick it back up any time. I occassionally use Unix at work so I'm not too rusty.)

      Wine on the other hand is useless for 3D simulation. An excercise in frustration last time I bothered to try.

      I haven't had any problem editing video. For media burning you are WAY off, its windows that doesnt have anything decent. K3B + KDE is a killer combo, rip, read, burn, create, no problem.

      How much video editiing do you do? I dont do a lot but do find it painful so if Linux is truly better, that'd be a selling point. K3B certainly looks interesting. Screenshots look good. Bug fixes and version history leave me wondering about maturity.

      I assume you mean photo editing, GIMP, Cinepaint, and Krita handle everything for me. Scribus, Xara, and Inkscape handle the vector graphics.

      As I said I do try to use GIMP when I can, just so that if I ever do make the switch (looking more likely since Vista) I don't want it to be too big a shock. However GIMP handles alpha channels painfully, and is a quirky mess when it comes to the UI. It's usable for about 80% of what I do, but for the other 20% I go to something else. I haven't played with the other software you've listed, but as I understand it, it's either not as mature or not as capable as commercial counterparts. I have limited use for vector graphics at the present time so it wouldn't be s how stopper.

      Moving the business over to OpenOffice was a godsend, I was writing 2-500 page grants and frankly Word is not competent for more then a letter. OO spreadsheets integrate better too. And you can output in PDF directly.

      I've looked at OpenOffice too. It just doesn't compare I'm afraid. It can't open the latest Office formats, it can crash or freeze on complex Office 2003 documents. The spreadsheet isn't anywhere near as complete as Excel in terms of functions and graphing. (It's getting there, but it's a few years behind).

      As for direct PDF output, that isn't a problem in Windows if you print to a PDF printer driver like PDFCreator.

      Palm (do people still use those?)

      Yes. Why should I throw out something I paid good money for, just because the fad is over?? In any case replace palm with crackberry or any other currently in vogue PDA and you get the idea.

      There are a lot of tools, and remember they implemented several plugins and color schemes long before Palm did.

      Half-implemented more like. Many features were missing compared to the native suites.

      And Mobile phone? Yep got that covered too, can grab address books, dial, monitor batteries and answer calls. Pretty simple.

      Those are essential functions you'd want with a phone (except dial and answer), but there's a LOT more to a mobile phone than that handful of things. Installing apps and ring tones, synchronizing calendar etc. I Haven't played with Linux too much on that side of things, but based on what I've seen on the forums I do know there's stuff missing.

      NTFS? if you move over why would you want it?

      I literally have terrabytes of data backed up to NTFS. Some of it is software but a lot of it is multiple copies of my photos (about 700Gb-1TB - My wife and I are right into photography, and have been known to shoot 4-6Gb on an outing to the zoo and up to 10-15Gb when photographing a wedding for friends or family - that includes files converted from RAW and copies that have been post processed). I also have my own wedding plus video - probably about 200-300Gb there including the raw digital video. I don't really feel like spending a few weekends (at least) sorting that conversion out. If I get it wrong because I rush it or do it late at night I fe

      --
      These posts express my own personal views, not those of my employer
    13. Re:UAC is shite by Tenebrousedge · · Score: 1
      For serious photo editing, Linux does not hold up. As far as I can tell, there are no hardware color calibration systems that work with linux. The GIMP needs years of work (and a name change--it really does matter, people!) before it can catch up to Photoshop. At this point, it seems like another decade will pass before linux will achieve parity, if ever. And likely its main competitor would actually be Mac OS X for that market.

      NTFS support is much better than "pretty good". The NTFS-3g guys say that it's completely stable, and they have some sort of documentation to that effect. If that was one thing holding you back, write it off as a non-issue.

      --
      Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
    14. Re:UAC is shite by syousef · · Score: 1

      I'm playing with Ubuntu on VMWare server at the moment, because I haven't tried a distro in a year or so.

      I also saw the story today about Ubuntu and while reading the detail seems to indicate it's a non-issue, I am concerned about going from being Microsoft's bitch, to becoming Ubuntu's bitch. What turned me off Linux last time was the demise of Redhat's free distros and their painful rebirth as Fedora core. The time before that it was the inclusion of PAM (pluggable authentication) in an upgrade - I wasted a good day unable to access my system because suddenly my passwords weren't secure enough to log in. Once I found the answer on the web I fixed it, but who wants to be locked out of their own system? That's one thing I've never had happen on Windows (but I have had a Vista backup hose my system, so I'm not saying Windows doesn't have major problems too).

      I've tried a lot of distros. Started with Slackware. Used that for a while. Moved to Redhat and used that to do my Astronomy Masters. Tried Debian, SUSE, Mandrake a while back, and now I'm trying Ubuntu. The Linux flavour of the day certainly is a moving target. It's all such a goddamn headache and I still am at the whim of one company or other, just not paying through the nose for it.

      Anyway, my biggest issue isn't even just the conversion of my irreplaceable NTFS partitions (multiple backups of unique things) though that's daunting. It's the lack of software that does what I'd like to do in supporting my hobbies. Everything from photo editing to chess coaching to flight simulators has only poor substitutes in Linux. Open office is getting more impressive by the day but I still worry about incomparability and missing features compared to MS Office.

      --
      These posts express my own personal views, not those of my employer
    15. Re:UAC is shite by Tenebrousedge · · Score: 1
      Well, what's the alternative to being at the whim of one company/group? Writing an OS? Finding a group of developers that will listen to what you want in an OS? I think my default linux fanboy response to that question is supposed to be that linux is that OS! I don't really have an opinion, though.

      I'm really surprised at the lack of decent chess software for linux. I couldn't even find a decent threaded linux chess program this time last year. Not to mention any actual instructional software. Flight simulation also seems like it would benefit from the Open Software model. I can't imagine that the physics package has changed in recent years. It would be wonderful to put together a basic AirSim framework and see what people did with it. I'm sure one day it'll all be integrated with Google Earth anyway, as will Wikipedia...a kind of informational singularity. Hmm. Oh, but the subject was linux. That's right. Well, eventually these things will be fixed, and linux will be all anyone uses. That'll be about 2020, if we're lucky. And what an interesting world that will be...

      --
      Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
  13. A privileged service is not a "hack." by w3woody · · Score: 5, Insightful

    So he created a service that runs with the necessary privileges to do what it needs, which communicates with a non-privileged front-end, and which requires privileges to install.

    How is this a "hack"?

    Perhaps the author of iReboot didn't see the rational for isolating a piece of code that needs to do something privileged and having it install and run in a user account which has sufficient permissions to allow it to run--but from a security standpoint this is no different than in Linux, where privileged code runs in a separate account from the user, and where IPC is used to communicate with that process.

    1. Re:A privileged service is not a "hack." by NaijaBobo · · Score: 1

      Mod parent up. I signed up to slashdot for the first time to make this comment. And the rather negative tone saddens me. Perhaps we should however work towards easier coding interfaces that make this less of a challenge for the poor developer. -- uke Obligatory Disclaimer: I work for the criticized company.

    2. Re:A privileged service is not a "hack." by vux984 · · Score: 4, Informative

      I agree. This is so utterly not a hack that the article comes off as almost ridiculous.
      In fact the first response where it was announced is:

      Uhh... I'm running an admin application on startup automatically all the time, there's no need to create a service or anything. Just use the Task Scheduler to start the application, Trigger=At log on; And select "Run with highest privileges".

      MS had NEVER set out to prevent elevated applications from running at startup.

    3. Re:A privileged service is not a "hack." by cbart387 · · Score: 1

      Thank you, I was going to say the identical thing.

      Instead, I'll give an example. Certain operations of yum are restricted to root, such as the install option. If yum accepted the install option from a process running as a normal user it would be similar to what iReboot* is doing. It's not a security flaw of the OS. It IS a security flaw of the process/daemon to blindly be accepting normal user accounts privileged access...

      Regardless, to get that privileged process running to 'circumvent UAC', don't you have to be privileged to begin with?

      * Is anyone else getting tired of the iNames?

      --
      Lack of planning on your part does not constitute an emergency on mine.
    4. Re:A privileged service is not a "hack." by cbart387 · · Score: 0, Troll

      It IS a security flaw of the process/daemon to blindly be accepting normal user accounts privileged access... Ignore that comment please, it's retarded without knowing particulars.
      --
      Lack of planning on your part does not constitute an emergency on mine.
    5. Re:A privileged service is not a "hack." by Tony+Hoyle · · Score: 2, Informative

      Regardless, to get that privileged process running to 'circumvent UAC', don't you have to be privileged to begin with?

      No, because MSI runs privileged and is able to install such processes at the command of normal users - that's the hole. You get one prompt, at installation time.. but I've never seen a windows installer that *didn't* prompt for elevation. Contrast with Unix based systems where installing apps as a normal user is the norm and installing as root is an exception (indeed with OSX each user has a full set of directories for this by default, and it's rare for something to require elevation.. when it does you definately think because it's unusual).

    6. Re:A privileged service is not a "hack." by LO0G · · Score: 4, Informative

      Actually I thought your comment was 100% accurate.

      If I write a service that allows any user to write to any location in the filesystem (entirely possible on any OS - for Windows, I install a LocalSystem service, for *nix, I install a daemon that runs as root) then that service has a security hole in it, and it can be used to elevate privileges from normal user to admin/root.

      That's a flaw in the service/daemon, not a flaw in the OS.

      Unless you were saying that you don't know if this app has a security flaw like the one I described above.

    7. Re:A privileged service is not a "hack." by drsmithy · · Score: 2, Insightful

      No, because MSI runs privileged and is able to install such processes at the command of normal users - that's the hole. You get one prompt, at installation time.. but I've never seen a windows installer that *didn't* prompt for elevation.

      Nothing to do with the OS, everything to do with the application developer.

      Contrast with Unix based systems where installing apps as a normal user is the norm and installing as root is an exception (indeed with OSX each user has a full set of directories for this by default, and it's rare for something to require elevation.. when it does you definately think because it's unusual).

      Bullshit.

      If you think the vast majority of UNIX applications aren't installed by root, to a system-wide location, or that the vast majority of OS X apps aren't installed to /Applications (also by root), then you're either a fool or delusional.

      *Especially* today. You might just have had a point, ~20 years ago, when multiuser UNIX systems with technically competent users were at least relatively common, but today when most people interact with what are essentially (if not technically) single-user PCs, such a claim doesn't even pass the laugh test.

    8. Re:A privileged service is not a "hack." by cbart387 · · Score: 1

      Unless you were saying that you don't know if this app has a security flaw like the one I described above. Right. I agree with your statement that it could be a potential route for subverting the system. My statement that "it is a security flaw" was a little too strong. Security risk yes, but not necessarily a security flaw. I was still on my 'yum install', where giving the normal user rights for that is obviously not a good idea.
      --
      Lack of planning on your part does not constitute an emergency on mine.
    9. Re:A privileged service is not a "hack." by TheRealSlimShady · · Score: 1

      Just because MSI runs privileged does not mean that standard users are able to install system processes. You get a prompt when you try to do so - if you are a local admin then the prompt says "are you sure" and if you're a standard user you get asked for admin credentials.

    10. Re:A privileged service is not a "hack." by Z34107 · · Score: 1

      So he created a service that runs with the necessary privileges to do what it needs, which communicates with a non-privileged front-end, and which requires privileges to install.

      Indeed! That's exactly how it's supposed to work.

      It's also what Steam did when they ported their client to Vista - the privileged parts (presumably code that decrypts game files or mucks about with your .gcf's in the program files directory) are installed as "Steam Client Service." After an admin installs it (with UAC prompts and everything) even limited or guest accounts can play all the Steam games.

      Seems nobody reads style guides, or even checks MSDN anymore.

      --
      DATABASE WOW WOW
    11. Re:A privileged service is not a "hack." by homesteader · · Score: 2, Funny

      Obligatory Disclaimer: I work for the criticized company. So can you make Vista suck less? Please?
    12. Re:A privileged service is not a "hack." by Moridineas · · Score: 1

      Contrast with Unix based systems where installing apps as a normal user is the norm and installing as root is an exception (indeed with OSX each user has a full set of directories for this by default, and it's rare for something to require elevation.. when it does you definately think because it's unusual). Wow..that's crazy! Using FreeBSD/OpenBSD I pretty much always elevate to root / use sudo to install applications or make system config changes (/etc). On OSX, I would say MOST installers require you to elevate. Apps that you install with drag+drop of course don't need elevation.

      OSX actually does require you to type your password to elevate fairly often! The main difference, imho, between Vista and OSX is the Vista interface SUCKS, and you get asked to elevate MULTIPLE times during the same process. In OSX, it's never more than one time.
    13. Re:A privileged service is not a "hack." by ColdWetDog · · Score: 1

      * Is anyone else getting tired of the iNames?

      i'M not

      --
      Faster! Faster! Faster would be better!
    14. Re:A privileged service is not a "hack." by Anonymous+Psychopath · · Score: 1

      Only actually using Vista can make it suck less than the somewhat undeserved reputation it has.

      It's fun to be on the bandwagon though, huh? :P

      --

      Eagles may soar, but weasels don't get sucked into jet engines.

    15. Re:A privileged service is not a "hack." by 10101001+10101001 · · Score: 1

      So he created a service that runs with the necessary privileges to do what it needs, which communicates with a non-privileged front-end, and which requires privileges to install.

      How is this a "hack"?

      Well, here's my understanding of the situation. There's two main registry keys for running programs at startup. HKLM/.../Run is for running system-wide programs. HKCU/.../Run is for running user-specific programs at login. Now, HKLM initiated programs have, by tradition and by general practicality ran as SYSTEM or LOCAL SERVICE (I'm not sure which); practicality boils down to SYSTEM-ran programs being able to drop privilege but there not being a good, trivial way of elevating a Guest program to SYSTEM as needbe. Meanwhile, HKCU initiated programs run as the current user.

      Now, having said all that, HKLM's who tree can be (is?) protected by ACLs to limit only Admins and higher users to add keys to the .../Run key. In short, anything in the HKLM/.../Run is only there because an Admin put it there. And that means, there's no inherently obvious reason to prevent HKLM/.../Run programs from being launched under any privilege that an Admin could obtain (specifically, whatever user they were under XP), as it sounds UAC is doing under Vista.

      Now, having said that, it sounds like MS's reason might very well have been as you (and others) have suggested, to isolate the privilege code from the non-privilege code. Ie, the idea is to force people to do the right thing when it comes to security design. But, considering how retarded people have been up to this point when it comes to security under Windows, what's to stop someone from just creating a service with the necessary privilege as a generic wrapper to run *any* code as an Admin (think Python running as a service accepting bytecode)?

      When it comes down to it, unless the author is interested in security, all the privilege seperation is is a hack. Will it make the system more secure? Probably, just by sheer assumption that most developers are lazy and will shove their current programs into a service and make the UI program a simple on-off switch (and that tends to reduce all vulerabilities into integer overflows). Now, probably all of that is a good thing, regardless of the bitching and moaning. But, it still doesn't change it from it being a hack. It *does*, however, refute the idea that UAC was entirely pointless.

      --
      Eurohacker European paranoia, gun rights, and h
    16. Re:A privileged service is not a "hack." by Jaime2 · · Score: 1

      You have several solutions already. COM+ makes it realllllllly easy to call a specific function and have that function be in a seperate process or on a different computer. IIS can host a remoted component and do all the dirty work for the developer. WCF also has a few channels that take care of all of the hard stuff.

    17. Re:A privileged service is not a "hack." by zoips · · Score: 1

      You get one prompt, at installation time.. but I've never seen a windows installer that *didn't* prompt for elevation. Crazily enough, this has nothing to do with Windows and everything to do with the application developers. The elevation prompt is because the app is trying to write to locations such as the HKLM hive or the Program Files folder. Don't mess with locations that require elevated privileges and you won't need elevated privileges.
    18. Re:A privileged service is not a "hack." by JoshHeitzman · · Score: 1

      "Nothing to do with the OS, everything to do with the application developer." Actually the OS has heuristics to detect that an installation program is being run and when detected it automatically offers to elevate them. See http://blogs.msdn.com/sajoshi/archive/2007/02/22/uac-five-most-common-install-failure-scenarios-and-workarounds.aspx

      --
      Software Inventor
    19. Re:A privileged service is not a "hack." by JoshHeitzman · · Score: 1

      Crazily enough, this has nothing to do with Windows and everything to do with the application developers. The elevation prompt is because the app is trying to write to locations such as the HKLM hive or the Program Files folder. Don't mess with locations that require elevated privileges and you won't need elevated privileges.

      This is not accurate. From http://blogs.msdn.com/sajoshi/archive/2007/02/22/uac-five-most-common-install-failure-scenarios-and-workarounds.aspx "In Windows Vista, UAC detects installers and automatically prompts for elevation to admin status. Windows vista heuristically detects updater and un-installation programs too."

      --
      Software Inventor
    20. Re:A privileged service is not a "hack." by homesteader · · Score: 1

      Well, maybe the 4 months I used it before dropping back to XP doesn't count. I guess it was before SP1 was out, so maybe that makes it not count as well.

      And it was a joke, but you apparently missed that.

    21. Re:A privileged service is not a "hack." by znerk · · Score: 1

      Only actually using Vista can make it suck less than the somewhat undeserved reputation it has. Why bother? No one else is. ;)

      As for this Vista "hack"... uhm... isn't this the way it's supposed to work? Seems to me, this is how *nix was set up from the get-go.

      I feel I should point out that a privileged service should have some sort of authentication to access it with a non-privileged app... login prompt; secure keys; something. On the other hand, this isn't the operating system's fault, it's the coder who writes the service(s)/app(s).

      Wake me up when there's some actual news, wouldja?
      --
      This work is licensed under a Creative Commons Attribution 3.0 Unported License.
    22. Re:A privileged service is not a "hack." by jedidiah · · Score: 1

      > Bullshit.
      >
      > If you think the vast majority of UNIX applications aren't installed by root, to a system-wide location, or that the vast majority of OS X apps aren't installed to

      Most Unix applications are installed by the system using the system
      package manager pulling the installation files from a known good
      source.

      Also, those files have no particular need to be installed by root
      or into some protected part of the disk. The characteristic that
      unix applications don't need to have root access to be installed
      still holds quite true.

      Not only that but this tends to influence applications ported to
      Unix/Linux as app installers that don't allow for local user
      installs tend to rightfully generate a lot of grief for the
      perpetrator.

      So not only are Unix apps still installable by any user any where
      that user wants them, not only do windows apps moving to Unix
      get converted to the Unix way of doing things, but you now even
      see "installer-less" versions of Unix apps making their way back
      over to Windows.

      These "unarc them and run it" programs turn out to be very handy.

      Ease off the nitrous oxide already.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    23. Re:A privileged service is not a "hack." by Anonymous Coward · · Score: 0

      * Is anyone else getting tired of the iNames?
      iNo.
    24. Re:A privileged service is not a "hack." by shutdown+-p+now · · Score: 1

      No, because MSI runs privileged and is able to install such processes at the command of normal users - that's the hole.
      Normal users can't run privileged installers - only administrators can, but they still have to confirm that they want to do it with UAC. Normal users wouldn't be asked at all, just denied the privilege.
    25. Re:A privileged service is not a "hack." by quanticle · · Score: 1

      Since when is installing applications as a user normal? In Linux you do sudo apt-get, sudo yum, or sudo emerge, depending on your distro's package scheme.

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
    26. Re:A privileged service is not a "hack." by Allador · · Score: 1

      And that means, there's no inherently obvious reason to prevent HKLM/.../Run programs from being launched under any privilege that an Admin could obtain (specifically, whatever user they were under XP), as it sounds UAC is doing under Vista. iReboot is a GUI app. There is no desktop session to run under on machine startup, so the app would likely hang.

      Of course, an application that starts when the computer starts, and has no GUI, is .... wait for it ... a 'service'.

      And what did neosmart do to make this work? They moved the priv-requiring components into a service.

      This is so pathetically non-news, based off raw ignorance of the windows platform, its just sad.
    27. Re:A privileged service is not a "hack." by 10101001+10101001 · · Score: 1

      iReboot is a GUI app. There is no desktop session to run under on machine startup, so the app would likely hang.

      Out of curiosity, why would it "likely hang"? It sounds like you presume that if iReboot is a GUI app, it must be running its GUI when it begins running and not on-demand on newly created desktop sessions. If it is (or was) doing it on-demand, then how is the program not an application with a GUI that starts on computer start?

      But, let's just presume, for the moment, that iReboot is a GUI app but it's run on user login, not system startup. Now, if a user is an Administrator, should the GUI app be able to elevate itself to SYSTEM user? Wouldn't UAC be there to prevent that because pop-ups would be annoying each login and actually allowing apps to promote themselves would potentially defeat UAC entirely? Perhaps *the* blocking of HKCU/.../Run apps to run as SYSTEM is what iReboot is complaining about?

      --
      Eurohacker European paranoia, gun rights, and h
    28. Re:A privileged service is not a "hack." by drsmithy · · Score: 1

      Most Unix applications are installed by the system using the system package manager pulling the installation files from a known good source.

      ...By root (although often via sudo these days) to a system-wide location.

      So not only are Unix apps still installable by any user any where that user wants them, not only do windows apps moving to Unix get converted to the Unix way of doing things, but you now even see "installer-less" versions of Unix apps making their way back over to Windows.

      Which, of course, just raises the question of "why wasn't it done like that in the first place" ? Further, it highlights my point that it's the developer's fault if their application acts in a boneheaded fashion and not the OSes.

      This reminds me of an excellent example of developer stupidity. Doom 3 on Windows "requires" Administrator privileges to run. The _only_ reason it "requires" them is because it tries to write to a configuration file stored in %PROGRAMFILES%\Doom 3. Change the permissions on that one file and it works fine as a regular user (poosibly even a "Limited User"). This "problem" has _nothing_ to do with Windows and everything to do with the developers who decided that Doom 3 wouldn't put its configure file where it belonged, in the user's home directory.

      The vast, vast majority of Windows applications that "need" Administrator privileges are like this. They try to write to files in system directories (or sometimes just open them read/write, even though they never write to them), or to system areas of the Registry where they don't have privileges. This has nothing to do with Windows, it is just the result of lazy and/or incompetent developers.

    29. Re:A privileged service is not a "hack." by misleb · · Score: 1

      If you think the vast majority of UNIX applications aren't installed by root, to a system-wide location, or that the vast majority of OS X apps aren't installed to /Applications (also by root), then you're either a fool or delusional.


      In OS X, applications don't install to /Applications as root. By default, they merely need the user to be in teh admin group. Which is not the same as being root. A user in teh admin group is still rather limited as far as teh system goes. An admin user can elevate to root, if necessary, but that always requires username and password. Like sudo. But just installing to /Applications does not require elevation.

      -matthew
      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    30. Re:A privileged service is not a "hack." by Allador · · Score: 1

      Out of curiosity, why would it "likely hang"? It sounds like you presume that if iReboot is a GUI app, it must be running its GUI when it begins running and not on-demand on newly created desktop sessions. If it is (or was) doing it on-demand, then how is the program not an application with a GUI that starts on computer start? Any app that presents a dialog box when running headless will cause the app to permanently block. It will then have to be killed.

      I am fairly sure that they did nothing like an on-demand systray icon/app. Based on TFA's discussion, I'm fairly sure it was a standard GUI app written to display in the system tray, nothing more.

      It was clearly running on user login, not on computer start, based on TFA. Otherwise, they would have already known how to do services or headless apps through scheduler.

      But, let's just presume, for the moment, that iReboot is a GUI app but it's run on user login, not system startup. Now, if a user is an Administrator, should the GUI app be able to elevate itself to SYSTEM user? The GUI app wouldnt need to elevate to system, if the person is an Adminstrators group, then thats enough perms. It can just run as-is (until/unless UAC gets involved, depending on how the machine is configured).

      Wouldn't UAC be there to prevent that because pop-ups would be annoying each login and actually allowing apps to promote themselves would potentially defeat UAC entirely? UAC would be there to verify that the person wanted the process to elevate, not necessarily to prevent. I'm not sure what you mean by 'defeat UAC entirely'. If an app needs elevation and the user allows it, then that is how its supposed to work. Thats in no way 'defeating UAC entirely'.

      Even in the incredibly lame case of an app starting every time the user logs in and prompting for elevation. Thats a lame scenario, but its not 'defeating UAC entirely', its just using it in a fairly stupid way.

      Perhaps *the* blocking of HKCU/.../Run apps to run as SYSTEM is what iReboot is complaining about? Yeah, someone in the parent to this discussion got a little registry path happy.

      The bottom line is that the way that NeoSmart was trying to do things was a pretty terrible way. It goes against all the guidance on the platform, and its poorly thought out.

      There are other alternatives to what they did as well. They could have had the system-tray app run as the desktop user, and start on desktop user login.

      Then when you want to modify the boot-loader, it launches a separate executable with a new process and requests elevation. The executable makes its modifications to the bootloader, and quits.

      Then the UAC prompt would only launch when actual changes were being made to the boot loader. The idea of having a system tray app running as system is just .... stupid, with all due respect to the neosmart folks. But thats just bad programming.

      The system tray icon is just a gui element. It should be doing nothing except presenting visual information and interacting with the user. The heavy lifting should be somewhere else.
    31. Re:A privileged service is not a "hack." by 10101001+10101001 · · Score: 1

      Wouldn't UAC be there to prevent that because pop-ups would be annoying each login and actually allowing apps to promote themselves would potentially defeat UAC entirely?

      UAC would be there to verify that the person wanted the process to elevate, not necessarily to prevent. I'm not sure what you mean by 'defeat UAC entirely'. If an app needs elevation and the user allows it, then that is how its supposed to work. Thats in no way 'defeating UAC entirely'.

      Even in the incredibly lame case of an app starting every time the user logs in and prompting for elevation. Thats a lame scenario, but its not 'defeating UAC entirely', its just using it in a fairly stupid way.

      Perhaps I'm not laying out my understanding of the issue well enough. The situation, as I understand it, is this. Please try to read into the spirit of what is said, even if some of the technical details are wrong. I'd be happy to know what the technical details are, but I'd also like to hear a response to whether the underlying intent is right and how it relates to the disccusion at hand. UAC effectively turns an Administrator account into a quasi-Administrator account. A SYSTEM app will monitor when an "Administrator"'s program tries to do Administrator actions. It will then ask for verification before promoting the program to an actual Administrator.

      Now, the issue at hand is that when an "Administrator" has a program that runs at login that wants to do Administrator work, there was three choices on Microsoft's part. Choice one would be to verify through a UAC dialog user login programs. Choice two would be to simply automatically promote the programs that request it (possibly with only allow Administrators (not simply "Administators") to modify the HKCU/.../Run key). Choice three would be to automatically deny user login programs that request promotion to Administrator.

      Choice one would be incredibly annoying in many circumstances, and Microsoft chose to reject this option. Choice two would defeat UAC*, even if HKCU/.../Run access was restricted. Choice three is apparently the approach Microsoft chose.

      The bottom line is that the way that NeoSmart was trying to do things was a pretty terrible way. It goes against all the guidance on the platform, and its poorly thought out.

      ...

      The system tray icon is just a gui element. It should be doing nothing except presenting visual information and interacting with the user. The heavy lifting should be somewhere else.

      I don't disagree. And maybe it's a good thing Microsoft has finally pushed towards making developers use better designs. I guess I'm just not entirely sure what Microsoft is striving for with UAC to be able to really agree or disagree with whether NeoSmart has hacked around it.

      *UAC seems to be a rather complex beast, especially in intent. Thinking about it a lot, I wonder if the main points of UAC are really to (a) cause most programs to run as non-Admin (regardless of how little that matters for almost all non-malicious apps**); (b) cause the few that do to run as services; and (c) in doing so, reduce the complexity of GUI apps that rely upon (b) to make it harder to expoit (b). The only failing I really see in all of this is that all installers will be basically intrinsically promoted. Admittedly, that leading to some sort of malicious damange could be laid to blame on the user; and that's not surprising because it's impossible to give arrogant and ignorant users all of what they want. It just seems that the UAC as described (short of the one MS employee who has said things to the contrary) is then rather misleading to its intent.

      **The only place this would seem to matter is in (a) trying to use permissions as a means of compensating for a design feature of a program that is not prefered and (b) trying to minimize damages in an exploited app. The problem, though, is that an exploited

      --
      Eurohacker European paranoia, gun rights, and h
  14. Not a novel idea... by Anonymous Coward · · Score: 0

    I hope they're not going to try to patent the method - I used a similar method to get around a setuid() problem (whereby dropping a setuid program into the local uid meant it was unable to regain the "elevated", setuid, privilege again) in version 2.4 of a program I released on 20/06/1990: I fork()ed off a server process before dropping the uid of the process to that of the real user.

    1. Re:Not a novel idea... by SL+Baur · · Score: 2, Interesting

      I used a similar method to get around a setuid() problem (whereby dropping a setuid program into the local uid meant it was unable to regain the "elevated", setuid, privilege again) in version 2.4 of a program I released on 20/06/1990: I fork()ed off a server process before dropping the uid of the process to that of the real user. Obvious prior art. That technique has been used for decades.
  15. This certainly fits with my experience by JMZero · · Score: 1, Redundant

    One of our recent projects involved hosting a .NET control in Internet Explorer as part of an Intranet page for editing and uploading photos. The control worked fine, and we were able to manage security permissions such that it could access the files it needed to (and even delete them after as desired - it has full trust).

    The problem was that we wanted the page to refresh after the upload was complete. This seems like it should be fairly simple, but with how the security works, there's not a simple way to communicate between the .NET control and the surrounding page (you can't, for example, just call a function on the page, despite the fact that you have full trust).

    With that being the case, I tried editing a property on the control once it was finished uploading, but that too didn't work as the page couldn't read them (even properties like "height" that it could infer couldn't be read directly). I thought about some fairly complicated solutions involving polling using XMLHTTP, partial refreshes or scripting or something - but what I ended up doing was this:

    1. When the page loads, take note of the position of two elements on the page.
    2. Poll the position of these elements a few times each second.
    3. When the upload control finishes, it increases its height by 4 or 5 pixels.
    4. This displaces the other elements on the page, and this can be used as a signal that an upload is complete and a refresh should be done.

    This ended up working fine, but I felt ridiculous for having done it this way. There's no security being added here - the control and the page can communicate all they want via the server or scripting (or 100 other ways), it just means that using the controls is much more difficult and obscure than it needs to be.

    --
    Let's not stir that bag of worms...
    1. Re:This certainly fits with my experience by Anonymous Coward · · Score: 0

      silverlight is great for this you can call client-side javascript from within a silverlight app to do this.

    2. Re:This certainly fits with my experience by gbjbaanb · · Score: 1

      perhaps this is why we're seeing so many sites putting all their 'useful' interactivity in flash. (or silverlight). MS's "security" has broken everything so much even they have started to work around it.

    3. Re:This certainly fits with my experience by TheRealMindChild · · Score: 3, Informative

      Dude. You just create an event in your control, and implement a scripted handler on the page. Not exactly rocket science.

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    4. Re:This certainly fits with my experience by maxume · · Score: 1

      That and you can rely on flash being installed a great deal more of the time than you can rely on a custom control(the OP was talking about an intranet, so presumably, their control is always available).

      --
      Nerd rage is the funniest rage.
    5. Re:This certainly fits with my experience by Mark+Programmer · · Score: 1

      I think we see so many sites put their 'useful' interactivity in flash for the same reason as the Browser Wars days... It still takes effort to maintain cross-browser compatibility and look-and-feel in a Web 2.0 application.

      Flash code is maintained compatible by all the browsers running the same flash engine, which Adobe has a vested interest in keeping compatible across architectures. Sounds like a good opportunity for me to write a piece of code once and only once, which I'd jump at.

      --

      Take care,
      Mark

      There is a solution...

    6. Re:This certainly fits with my experience by BitZtream · · Score: 1

      In the ASP.NET for the 1.1 .NET framework, your page member variables (in your code behind the page) had to be at least protect, may have been public for code in the page itself to access the underlying class in the code behind. In 2.0 I believe thats changed, but don't quote me on that.

      Communicating with the control is done on the server side before its displayed. If you're trying to do things via javascript to a .NET control, then you need to actually talk to the server and have the server make the request. Or if the control is properly written, enable auto-event wrap up and it we'll do postBacks for what it can.

      If the control is designed with AJAX support, then it may use some AJAXy calls from the client to the server when a postBack event occurs. Haven't really played with it though.

      Either way, googling around will find solutions to most of what you are refering to unless you are shoehorning a windows control into a web app, in which case there probably won't be any good AJAX type stuff.

      As far as security. Theres no reason you should automatically assume there is security between the control in the browser and your server. Its up to you to ensure proper authentication in your application. You have to make sure passwords are encrypted, either by SSL or hashing in transit. You have to verify the authenticated user is allowed to use the page/control and to use it in a valid way. This is what secure programming is all about, its part of the job, ya know?

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    7. Re:This certainly fits with my experience by JMZero · · Score: 1

      It's funny, Googling for this now I am getting some better results (than when I implemented it a while back). It appears you can get events to work, but you have to write the ActiveX event code yourself (rather than relying on .NET events, which apparently IE can't translate).

      I'm sure that's what you meant.

      In any case, the current solution works fine (and was probably actually easier to implement) - but still it seems a bit silly they didn't make this work reasonably, or at least provide some hints on how to get it working.

      --
      Let's not stir that bag of worms...
    8. Re:This certainly fits with my experience by JMZero · · Score: 1

      The control is a Forms style control. Obviously I can set properties on it at the server side. And I was using components on the control to communicate with the server - the problem was getting information from the control to the script (without an egregious amount of polling or ridiculousness).

      And I'm not "automatically assuming" there is security - this control runs only on one Intranet page where we have complete control of security and full trust.

      Anyways - as I replied to the other guy, it does appear there was a somewhat more reasonable solution I missed. You can manually write COM (ActiveX) style events for your .NET control, at which point it can signal to the remainder of the page successfully.

      --
      Let's not stir that bag of worms...
  16. More fud by ryan_hurst · · Score: 5, Insightful

    So they created a service (daemon) that exposed a interface that had no ACL on it that allowed the caller to perform privliged opperations, they had the administrator (root) install the service and grant it administrative permissions (again, root) and then had a unprivliged application call that interface. Sounds exactly like unix to me, more over short of not having ACLs on the interface, Microsoft has white papers telling folks how to do just this. In fact a CS major would know this as "least-privliged-design" oh-no mr. bill. Only on Slashdot would this qualify as news.

    1. Re:More fud by Tony+Hoyle · · Score: 0, Redundant

      Except that on Vista *anyone* can install that application. On Unix you would need the root password to do such a thing.

    2. Re:More fud by nxtw · · Score: 1

      Except that on Vista *anyone* can install that application. On Unix you would need the root password to do such a thing.


      Not entirely true. Anyone on Vista with administrator privileges can install that application. If the user does not have administrator rights on the machine, he or she will be see a password prompt for a proper admin account.

      Anyone with root privileges (via sudo) on OS X or Unix can do the same thing.
    3. Re:More fud by ryan_hurst · · Score: 1

      Not true, on Unix if you were running as a admin (root) you would not be prompted at all. The difference is that in VISTA the default user is a type of admin (for app compat reasons), you can think of that admin as a restricted admin, as a restricted admin they can become a full admin by going through the UAC consent experience. Now if you created a real standard user in VISTA and ran a program that required admin you would get a user id and password prompt, not a consent prompt; thats esentially the same think as windows saying oh for this action to work he needs to run su, lets run su for him so he doesnt ahve to figure that out on his own. Again like unix except the OS figured out the need for SU for you. The net net of all of this is the only differences between the two approaches are: 1. Even root needs to confirm changing system configuration, this is clearly a function of application compatability and having to deal with the history of Windows and its glutany of poorly designed applications (like the old iReboot) 2. Windows figures out the need for SU for you, again a function of the success/history of Windows and the associated needed usability/application compatability.

    4. Re:More fud by TheRealSlimShady · · Score: 1

      So that's twice now you've posted the same inaccurate information. On Vista, if you're a local admin, you have to accept that the change is going to happen (UAC prompt). If you're a standard user, you *cannot* install that application without providing administrative credentials (UAC prompt). Just like on Unix.

    5. Re:More fud by drsmithy · · Score: 1

      Except that on Vista *anyone* can install that application. On Unix you would need the root password to do such a thing.

      False. Not on all, but certainly the majority of UNIX systems in use today.

    6. Re:More fud by homesteader · · Score: 1

      Not sure about Linux, but in OS X you are prompted even when running as an admin. Admin != root

    7. Re:More fud by ryan_hurst · · Score: 1

      On Unix admin=root, what Vista and OSX do are in essence the same thing though as I understand it in OSX its implemented at the application layer vs the os layer.

    8. Re:More fud by Henry+V+.009 · · Score: 1

      Ever heard of 'group wheel'? Or 'sudo'? There isn't a big difference between Ubuntu, RHEL, OS X, and Vista as far as privilege escalation goes. If you try to do something that needs root, you get a prompt. And each of those systems have a lower class of users who don't even get the prompt.

    9. Re:More fud by ryan_hurst · · Score: 1

      Your right on Wheel, its in essence the same thing; point taken; other variations like HPUX have taken this broader too, I was too specific with my admin = root comment. On the lower class users who don't get a prompt, in VISTA all users get the prompt, but if they don't have the equiv of wheel membership its a su esq sort of escelation vs a consent one.

  17. Misleading Summary by Manip · · Score: 4, Interesting

    I'm sorry but their "bypass" was to create a service running in an elevated state and then communicate with said service via exposed APIs.

    I fail to see how they drew this conclusion:
    "[UAC does] not actually providing any true protection from malware authors"

    This isn't a hole in the system. If applications couldn't use services running at admin or system then the entire system would be damn near nonfunctional.

    I mean how would you even play music without a regular application being able to communicate up safely to the driver?

    The article is fine. The person who wrote the summary didn't actually RTFA and is just trolling. They haven't justified anything they've said.

    1. Re:Misleading Summary by darknb · · Score: 1

      Did you RTFA? Because pretty much everything in the summary is in the article. I agree that this anti-UAC crap is FUD, but come on, the summary said nothing that wasn't in the article.

      From the Article:
      "With the current Windows Vista security models, Microsoft can claim that Vista blocks system-modification tools from running at startup; but the truth is, there are still many ways to get them to run. At the end of day, our experience with iReboot and Vista's security implementations brings us to the sad conclusion that with Windows Vista, Microsoft has made ISVs' jobs more complicated without actually providing any any further protection for end users from malware authors - which certainly isn't the best way of going about this task."

      Obviously the summary was paraphrasing the conclusion for brevity's sake. How is the article 'fine' considering you just refuted its whole goddamn premise?

    2. Re:Misleading Summary by Anonymous Coward · · Score: 0

      Additionally, NeoSmart doesn't make free software.

      They make proprietary software that they give away for no price.

    3. Re:Misleading Summary by Compuser · · Score: 1

      I think the assumption of iReboot folks was that UAC would insist on asking you anytime the installed software did anything requiring privilege elevation. I think this is a testament to how intrusive the UAC currently is that people assume this as the intended behavior.

      Side note: if you do assume that any privileged transaction should require a user prompt then surely allowing services to do admin stuff without prompting the user every time is a flaw.

    4. Re:Misleading Summary by harryjohnston · · Score: 1

      "free: 2 adv.) without cost or payment" - The New Zealand Pocket Oxford Dictionary

      The fact that the FSF like to use the phrase "free software" in one particular way doesn't invalidate the other definitions.

  18. To be perfectly honest, by rmdir+-r+* · · Score: 1
    It sounds to me like the separate process model that they are complaining about Microsoft forcing on them is... better.

    It's a lot easier to make an isolated service with rigidly defined IPC secure than it is to make something that interacts directly with the user secure.

    But maybe it's all that unix poisoning my brain.

    1. Re:To be perfectly honest, by Simon+(S2) · · Score: 1
      No. They have could start their little program using the windows scheduler instead writing this mess of service-frontend stuff. From one of the comments:

      The problem simply is that the old registry keys for autostart have no way of specifying whether the started program should be elevated. Automatically (silently) elevating all autostart programs is a bad idea (non-elevated code can add autostart programs), and showing an elevation prompt pop up after every login is also a bad idea (I need to confirm a UAC prompt to login?). So Microsoft ended up with that "autostart program was blocked" solution. It's not a good idea, but it's less bad than the alternatives. But there was no intention of blocking programs from starting silently elevated, provided they are registered for autostart somewhere were only admins have access and where elevation can be explicitly controlled (because silently elevating just because some program says so is a bad idea). This is not possible with the Run registry key, but it's possible with the task scheduler.
      Sure, the task scheduler is a service, but the tasks it starts run in the user's session, so they can display UI. There's no need to write a custom service and use inter-process communication between a non-elevated UI and a service. This is not Vistas fault. It's just that the programmer did not know how to do it the windows way and ended up writing something insanely complicated to do the job, when something really simple would have been sufficient. Now he knows how to do it right, and in the next version he can use the scheduler to start his program, and trash all the service-frontend code he wrote :)
      --
      I just don't trust anything that bleeds for five days and doesn't die.
  19. Sounds like security designed by DHS by Anonymous Coward · · Score: 0

    Are you sure M$ didn't outsource the creation of their "for your own protection" vista security model to the Department of Hopeless Stupidity?

    Hummm, looks impressive, costs you time and energy, can be circumvented easily and accomplishes nothing useful- yup thats security designed to be DHS compliant.

  20. What a plonker by Anonymous Coward · · Score: 0

    So the user is asked to install the service with full priv's, and then this service has.... full priv's? And this is a workaround?

    Waste of space, move on... nothing to see here.

  21. Am I missing something? by glitch23 · · Score: 1

    Perhaps most importantly though, is the fact that Windows Vista's newly-implemented security limitations are artificial at best, easy to code around, and only there to give the impression of security. Any program that UAC blocks from starting up "for good security reasons" can be coded to work around these limitations with (relative) ease.

    They got "around" UAC by creating a service that runs as a privileged account (default Windows services do the *exact* same thing already and so do many other 3rd party apps) with a UI which provides users the ability to communicate with that service. Exactly how is that getting around UAC? If you don't use a privileged service then you basically can't do anything that requires privileges so isn't this what the design is supposed to be to properly interact with UAC? Or am I missing something? Maybe these guys were just too used to coding up anything they wanted to get something working and now they have to do it more securely (and properly for that matter by splitting up their logic) and are just a little annoyed they had to spend some extra time doing it. Tons of other applications already do this so it is nothing new. Looks to me like they are doing exactly what they should be doing.

    --
    this nation, under God, shall have a new birth of freedom. -- Lincoln, Gettysburg Address
  22. Stinging criticism, indeed. by ScrewMaster · · Score: 0, Redundant

    The "architectural redesign" of Vista's security framework isn't so much a rebuilt system as much as it is a makeover, intended to give the false impression of a more secure OS.

    Ouch.

    --
    The higher the technology, the sharper that two-edged sword.
    1. Re:Stinging criticism, indeed. by Killjoy_NL · · Score: 1

      It's respond to the sig time again, I'd like to give it a try :)

      "All Americans suck because sucking is a vital part of breathing (so this could be said about any nationality)"

      [Colbert] +5 Insightful pleaaaaaaaaase [/Colbert]

      --
      This is the sig that says NI (again)
  23. Weird logical disconnect in the article by Mark+Programmer · · Score: 5, Informative

    With respect to the iReboot team (who seem to have written a pretty nifty piece of software and certainly know their way around programming), there is so much spin on this article that light passing near it bends.

    The "Gory details" portion of the article gives a pretty good explanation of the work they had to do to make iReboot access high-permission OS features via a low-permission client. I have no idea how they got from there to "Any program that UAC blocks from starting up 'for good security reasons' can be coded to work around these limitations with (relative) ease." What they seem to be missing is that there was an installer in the loop---an installer that requires admin privileges. This is exactly the part of the process that UAC is trying to force upon Windows developers!

    The most significant problems with the Windows XP security model are as much social as technical. Because the model didn't make it easy to get "serious work" done as a non-administrator, most people are running as administrators most of the time. This creates a whole culture that is very vulnerable to social engineering---simple games are being run at the same permission level as complex drive-recovery utilities and keyboard loggers.

    By having people run low-privilege by default and escalating when necessary, the UAC model forces developers to be a little clearer about what their applications are doing (since things that "just worked" in WinXP now require permission in Vista). My understanding is that the way iReboot works now is the way it should always have worked, under the Windows OS model; the fact that it also worked if the user were running as an administrator was a happy accident. How well did the old iReboot work if I wasn't running as an administrator? If the answer is "It didn't," then, well, maybe they were doing it wrong the whole time.

    UAC has some problems, but the fact that it puts more work on developers isn't one of them. The work is necessary because it is accounting for a weaker security model from the past. And developers should know that security isn't free.

    --

    Take care,
    Mark

    There is a solution...

    1. Re:Weird logical disconnect in the article by drsmithy · · Score: 1

      The most significant problems with the Windows XP security model are as much social as technical. Because the model didn't make it easy to get "serious work" done as a non-administrator, most people are running as administrators most of the time. This creates a whole culture that is very vulnerable to social engineering---simple games are being run at the same permission level as complex drive-recovery utilities and keyboard loggers.

      There is _nothing_ in Windows's "security model" that requires - or even encourages - this. The problem of apps needlessly requiring Administrator-level privileges is 100% the fault of the developers of said apps and has been for nigh-on a decade.

      Vista does nothing to change anything fundamental in Windows's security, nor does it need to. It does introduce and improved UI and a bunch of hacks to work around broken applications, but that is because those applications are broken, not because there's a problem in Windows.

      UAC has some problems, but the fact that it puts more work on developers isn't one of them. The work is necessary because it is accounting for a weaker security model from the past. And developers should know that security isn't free.

      There's nothing "weak" about Windows NT's security model. Never has been. There were, arguably, weaknesses in the *default configuration in some environments*, but this is a simple end-user issue and not something that should be mistaken for genuine and fundamental _design_ problems (like, for example, UNIX's superuser).

    2. Re:Weird logical disconnect in the article by Hucko · · Score: 1

      You're the first that I can think of to suggest (and you did say it out right) that MS Windows might actually have a better security model than Unix. Can you direct me to follow up your train of thought?

      --
      Semi-automatic amateur armchair Australian philosopher; conjecture ready at any moment...
    3. Re:Weird logical disconnect in the article by Mark+Programmer · · Score: 2, Informative

      You're absolutely right, and I misused the term "model."

      When I said "model," I was referring to the aggregate of the actual model and the way the model is exposed for the average consumer (who in WindowsXP, is usually running as an administrator for even the simplest tasks, either due to poorly-written software or their account simply having been configured by default as an administrator). There is just too much software in Windows XP that wants administrator privileges for questionable reasons---so much that it's easier for me to just run as administrator and ignore the issue altogether.

      But I do have to ask whether this is totally the fault of the developers. I'm a developer myself, and I've experimented with running as a non-administrator. Simply being forced to "Run as..." most of my development applications was enough to make me want to re-enable administrator privileges on my personal account. But I was effectively forced to re-privilege myself when I began developing an IE plugin. If there is a way to register ActiveX controls with the system as a non-administrator so that Internet Explorer can find and use them correctly, I am unaware of it. IE's reliance on ActiveX means that you effectively can't download and install plugins from the Internet without admin rights---even in such a way that the execution of those plugins would be at a non-administrator privilege level.

      Incidentally, Firefox sidesteps this entire issue by allowing plugins to be downloaded into a user's Application Data directory.

      So the WindowsXP security model is fairly robust as a model. But with software written by Microsoft themselves not taking advantage of it in a way that makes the end user's life convenient, there's certainly something that smells. Even if the only real substantive difference between the Windows XP and Vista security models is the addition of a more convenient on-the-fly escalation mechanism, that's saying something.

      (I don't know how my example of grabbing ActiveX plugins from the Internet works in Vista under UAC. If someone has experience with it, I'm interested)

      --

      Take care,
      Mark

      There is a solution...

    4. Re:Weird logical disconnect in the article by IchBinEinPenguin · · Score: 3, Insightful

      >This creates a whole culture that is very vulnerable to social engineering---simple games are being run at the same permission level as complex drive-recovery utilities and keyboard loggers.

      There is _nothing_ in Windows's "security model" that requires - or even encourages - this. The problem of apps needlessly requiring Administrator-level privileges is 100% the fault of the developers of said apps and has been for nigh-on a decade.

      Ironically Microsoft themselves have a proud history of producing such apps...

      There's nothing "weak" about Windows NT's security model. Never has been. There were, arguably, weaknesses in the *default configuration in some environments*, ...

      I agree, only I'd change *default configuration in some environments* to out-of-the-box defaults which are unchanged in most environments.

    5. Re:Weird logical disconnect in the article by Tacvek · · Score: 3, Informative

      You're the first that I can think of to suggest (and you did say it out right) that MS Windows might actually have a better security model than Unix. Can you direct me to follow up your train of thought? Well, my guess is that Windows NT being surprisingly Unix like at the lowest level may have something to do with this. The everything is a file model of Unix exists in NT, although the Win32 API hides this. However, one notable difference is that the kernel's internal file system has had full ACL support for just about everything for far longer than most UNIX's have. Most Unices are still stuck with the file has 1 owner, 1 owning group, and a total of 9 security bits. also consider that the NT system makes no assumption about some form of superuser account existing. Any account can be granted any of the "superuser" style rights it needs independently of any other. (Obviously, some such rights, such as direct read/write access to kernel memory may open up privilege escalation vectors, but that is a bit of a given.) Those sorts of things.
      --
      Stylish sheet to fix many problems in Slashdot's D3: https://gist.github.com/801524
    6. Re:Weird logical disconnect in the article by Dare+nMc · · Score: 1

      As you say, not exactly a security problem by MS (as explained). But encouraging more applications to install more services, seams like a bad idea, when the only reason to install it as a service is to get rid of UAC window every-time it is started. Obviously as every program starts installing a service, their will obviously be more in-secure windows systems, since once any of the new services can be hacked... It even sounds like you can't do stuff like *nix, IE assign a user/group to a application, that only has access to the control/hardware you want. The advantage of that is, once a vulnerability is found in a common service, they can't own more than just the hardware exposed to that program at install time (barring a OS hole as well), they could have all escalated privileges in windows, if the service hole allows.

    7. Re:Weird logical disconnect in the article by MobyDisk · · Score: 1

      I don't understand how this is different from NT/2000/XP. I run XP as a normal (AKA "limited") user. If an installer wants to install a service then I have to right-click on the installer and select "Run as..." and select an administrator, and type-in the administrator password. How is Vista any different from XP except that they changed the prompt?

    8. Re:Weird logical disconnect in the article by drsmithy · · Score: 1

      You're the first that I can think of to suggest (and you did say it out right) that MS Windows might actually have a better security model than Unix.

      Then you need to read more. A LOT more.

      Can you direct me to follow up your train of thought?

      Wikipedia should be enough to get you started on Classic UNIX's and Windows NT's security models. The greater capabilities and flexibility of Windows NT's should be obvious from there. Pick up an OS textbook if you want more of the gory details.

      However, to use the same example as before, the simple fact that UNIX has a superuser and Windows does not, makes its security model better.

    9. Re:Weird logical disconnect in the article by drsmithy · · Score: 1

      I agree, only I'd change *default configuration in some environments* to out-of-the-box defaults which are unchanged in most environments.

      The "out-of-the-box defaults" for Windows NT in a Domain environment is for users to not be Administrators. I'd say that accounts for a _lot_ of machines.

    10. Re:Weird logical disconnect in the article by IchBinEinPenguin · · Score: 1

      >I agree, only I'd change *default configuration in some environments* to out-of-the-box defaults which are unchanged in most environments.

      The "out-of-the-box defaults" for Windows NT in a Domain environment is for users to not be Administrators. I'd say that accounts for a _lot_ of machines.


      First thing we did was make everyone a PowerUser to get the spell-checker working in Word (yes, that was quite a while ago). Next we had to make everyone a DebuggerUser so they could debug the software they write. Then we just gave up and made everyone an admin (privelege escelation from DebuggerUser is trivial, so it's not like we were reducing security).
      OK, so as Software Developers ours might not be a typical office, but I wouldn't be surprised if those defaults were loosened (at least to PowerUser) in a lot of domains (due to bugs similar to the word-spellchecker one).
      This leaves home and small-business (i.e. those without an AD domain setup) with the default which, even with XP-SP2, is to create admin acocunts without passwords.
      I wouldn't be surprised if those non-AD boxes outnumber the AD ones. Even worse, those boxes are the least likely to have decent admin support.

    11. Re:Weird logical disconnect in the article by debatem1 · · Score: 1

      NT has a superuser. Its called LocalSystem. The fact that it can't be logged into does not make it any more or less secure than POSIX superusers.

    12. Re:Weird logical disconnect in the article by drsmithy · · Score: 1

      First thing we did was make everyone a PowerUser to get the spell-checker working in Word (yes, that was quite a while ago).

      I assume you mean Word 97. Even back then, you could have just modified the permissions on the relevant Registry key (and is what you should have done).

      (This is not denying it was a problem in Word, just pointing out there are better solutions than the Power Users sledgehammer.)

      Next we had to make everyone a DebuggerUser so they could debug the software they write. Then we just gave up and made everyone an admin (privelege escelation from DebuggerUser is trivial, so it's not like we were reducing security).

      Well you are, because there's a significant difference between deliberately elevating privileges and having them high all the time.

      OK, so as Software Developers ours might not be a typical office, but I wouldn't be surprised if those defaults were loosened (at least to PowerUser) in a lot of domains (due to bugs similar to the word-spellchecker one).

      I'm sure they were, but that moves away from the "default configuration" context and, more importantly, was probably not really necessary anyway (better solutions would have been modifying the relevant filesystem and/or Registry permissions).

      This leaves home and small-business (i.e. those without an AD domain setup) with the default which, even with XP-SP2, is to create admin acocunts without passwords. I wouldn't be surprised if those non-AD boxes outnumber the AD ones. Even worse, those boxes are the least likely to have decent admin support.

      While this is true, the rationale behind it was quite reasonable and there really wasn't a viable alternative. Further, in an unmanaged home environment, not running as an admin delivers a much smaller - nearly insignificant - security benefit compared to in a managed one (because even from a least-privilege default account, the typical ignorant end user will be happy to elevate privileges manually, either via a UAC prompt, a sudo prompt, or something else equivalent).

    13. Re:Weird logical disconnect in the article by drsmithy · · Score: 1

      NT has a superuser. Its called LocalSystem. The fact that it can't be logged into does not make it any more or less secure than POSIX superusers.

      LocalSystem is not a superuser, it's a very highly privileged user. There's a difference.

    14. Re:Weird logical disconnect in the article by Anonymous Coward · · Score: 0

      There is a difference, but it sure isn't much of one. ;)

    15. Re:Weird logical disconnect in the article by cecom · · Score: 1

      You can't literally as a LocalSystem, but you can operate a shell as it, which is more than close enough. IIRC, one of the ways to do it was to schedule a command prompt using the "at" service. Don't tell that to the fanboys though :-)

    16. Re:Weird logical disconnect in the article by cecom · · Score: 1

      Such arrogance is charming, but not very informative. Having developed system software for both Windows and Linux for many years, and having read a couple of books in the interim, thank you, I have learned (perhaps the hard way) that in practice the Unix security model is vastly superior to the Windows one. Perhaps surprisingly the Unix model actually has theoretical advantages too.

      Do not underestimate the intrinsic value of simplicity for security. ACLs, for example, are actually very harmful unless you _really_ need them; in fact they are not needed nearly as often as Windows-only users think.

    17. Re:Weird logical disconnect in the article by sqlrob · · Score: 1

      You don't need special privileges to debug your programs unless they're running under a different user account. You had that many people debugging services?

    18. Re:Weird logical disconnect in the article by debatem1 · · Score: 1

      LocalSystem is not a superuser, it's a very highly privileged user.

      In the sense that it is bound by a privilege set, you're right, but so is root. Actual "superusers" don't exist in modern operating systems- just their functional equivalents, which both NT and Linux have. So, technicalities aside, it remains the case that more or less total system control can be acquired via a known user. So far there is no known exploit permitting an escalation to that user on an up-to-date Linux box- but there are many known for NT.

      As a quick aside, am I missing the joke at the end of your sig or is the new forum system clipping it?
    19. Re:Weird logical disconnect in the article by debatem1 · · Score: 1

      You remember correctly, but I've just had it carefully explained to me that localSystem is "just" a user with the ability to shred all of your files and send your laser printer to war against your SAN instead of a superuser, so I guess its all just hunky-dory.

    20. Re:Weird logical disconnect in the article by harryjohnston · · Score: 1

      Technically, Local System isn't a user; it's a security principle. Doesn't make any difference to your point, of course, but hey, I love to nitpick.

    21. Re:Weird logical disconnect in the article by harryjohnston · · Score: 1

      So the WindowsXP security model is fairly robust as a model. But with software written by Microsoft themselves not taking advantage of it in a way that makes the end user's life convenient, there's certainly something that smells.


      This is a good point, and it may be worth highlighting the fact that Microsoft isn't a homogeneous entity. The OS team seem (in general) to be fairly competent, but sometimes they're let down by others ... you mention IE in particular, which to my mind has been one of the major problems with Windows ever since it appeared. (In particular I really wish they'd decide once and for all whether it's an application or part of the OS. The current hybrid model causes no end of technical issues, quite apart from the security problems.)

    22. Re:Weird logical disconnect in the article by IchBinEinPenguin · · Score: 1

      The visual studio developers said they needed it (i.e. VS poped up a dialogue winging that it needed it to be able to debug processes). IIRC they weren't doing anything with services or different accounts.

    23. Re:Weird logical disconnect in the article by sqlrob · · Score: 1

      Then those developers lied. It's not needed at all for regular debugging. You already have full control over your own processes.

    24. Re:Weird logical disconnect in the article by IchBinEinPenguin · · Score: 1

      I assume you mean Word 97. Even back then, you could have just modified the permissions on the relevant Registry key (and is what you should have done).

      Yup.. that's why people use Windows. It's that good-old ease-of-use :-)

      I'm sure they were, but that moves away from the "default configuration" context and, more importantly, was probably not really necessary anyway (better solutions would have been modifying the relevant filesystem and/or Registry permissions).

      Define "better". I define it as "quick, easy and lets me get my job done". The "PowerUser" solution, while not as "elegant" as the registry/filesystem/ACL hacks, is probably "better" for 99.9% of people.

      While this is true, the rationale behind it was quite reasonable and there really wasn't a viable alternative. Further, in an unmanaged home environment, not running as an admin delivers a much smaller - nearly insignificant - security benefit compared to in a managed one (because even from a least-privilege default account, the typical ignorant end user will be happy to elevate privileges manually, either via a UAC prompt, a sudo prompt, or something else equivalent).

      I agree that Microsoft is in a tough spot (as are their users). They've focused on "ease of use" for a long time. Add a global network and malicious users, all of a sudden "ease of use" becomes "ease of abuse" and hey presto, some Elbonian teenager is in ur boxen!!LOL!!

      Microsoft have grown fat and happy marketing to "the typical ignorant end user", and now that's coming back to bite them (and the users).

    25. Re:Weird logical disconnect in the article by IchBinEinPenguin · · Score: 1

      >IIRC they weren't doing anything with services or different accounts.

      Then those developers lied. It's not needed at all for regular debugging. You already have full control over your own processes.


      Or I misremembered. Or it was a bug that's since been fixed. Or a bunch of other possibilities.

      No need to go around calling people liars ...

  24. This is stupid. by Anonymous Coward · · Score: 0

    That's the way it's supposed to work. You install a service that gets the heavy lifting done without requiring UAC prompts while a small user-mode application interacts with the service. You still get a UAC prompt when installing the service, so this is a non-issue.

  25. reminds me of another silly security model... by 0WaitState · · Score: 0

    "...is the fact that Windows Vista's newly-implemented security limitations are artificial at best, easy to code around, and only there to give the impression of security"

    So that would make Vista's UAC the TSA of software security? (for the non-USians, TSA are the friendly folks who have us remove our shoes at airport security checkpoints, and require us to package all carryon liquids in 3 ounce containers in clear plastic baggies, among other acts of security theater)

    --

    Remain calm! All is well!
    1. Re:reminds me of another silly security model... by Anonymous Coward · · Score: 0

      Actually, it would mean that you either didn't read, or didn't understand the original article, but kudos for blindly jumping on the bandwagon with the other sheeple.

      Fitting captcha: "distorts".

      -AC

  26. Other purpose of UAC by barryfandango · · Score: 1

    In defense of Vista (never thought I'd write that!) It's my understanding that UAC is actually aimed at developers. There's a large ecosystem of Windows developers of varying quality, and Microsoft wanted to force them to write programs that behave correctly. Developers who were used to doing all sorts of system-level actions without considering security now have to contend with an inconvenient UAC warning, so they're forced (at least nominally) to try and find a way to do things within userspace as much as possible.

    --
    In all matters of opinion, our adversaries are insane. -Oscar Wilde
    1. Re:Other purpose of UAC by jesterzog · · Score: 1

      In defense of Vista (never thought I'd write that!) It's my understanding that UAC is actually aimed at developers.

      I agree. A few months ago I had a small and simple program which I really wanted to be able to run in a 'setuid' kind of way, and I discovered that I simply couldn't because under the UAC model Microsoft doesn't allow this. It was annoying at the time since I was already planning to separate the admin program I'd written from everything else. Instead I'd have to run the admin program as a service and set it up that way, which was a bit more effort.

      In hindsight though if Microsoft had allowed something equivalent to setuid, it'd simply provide a way for lots of lazy developers and vendors to let their hideously bloated and insecure applications keep working without having to update the code to fit into a better security model.

      I still wish that UAC wasn't such a pain for users; there are irritations in there that are simply unnecessary. The worst UAC UI example I've found so far is when trying to copy a file to a privileged location. Before getting an elevation dialog, vista first prompts me with a Yes/No dialog which warns that I'm about to get an elevation dialog, asking me if I want to continue. It's a warning for an upcoming login dialog, and it's one of the craziest UI designs I've come across.

      Something more equivalent to sudo would also be nice. It's possible to use 'runas' with an administrator account, but the nice thing about 'sudo' is that it doesn't repeatedly prompt for a password with every single invocation. (At least if this is possible then I haven't figured out how to do it.) I don't know how you can emulate this in a GUI environment with the same security emphasis though, because with 'sudo' the user is at least consciously invoking each command as a superuser when they run it on the command line.

    2. Re:Other purpose of UAC by Anonymous Coward · · Score: 0

      I remember reading somewhere that someone from MS actually said that UAC's several warnings ("do you want? Are you sure? Com'on, think about it... sure sure?" sort of thing) was aimed to bug users, so that they would demand developers to stop requiring administer privileges to install and run their software.

      Quite an interesting approach, I'd say.

  27. "got around", yeah, right. by imbaczek · · Score: 1

    a programmer is bitter that an OS forced him to separate privileged code from unprivileged. news at 11.

    1. Re:"got around", yeah, right. by tepples · · Score: 1

      No. As I understand the article, the programmer is bitter that Win32 code to perform separation was ten times bigger than the code to actually do anything.

  28. Reading this reminded me of this... by dctoastman · · Score: 1

    http://blogs.msdn.com/oldnewthing/archive/2007/08/07/4268706.aspx

    The big take away here is that this is not a security hole in any sense of the word. In order for a malware author to exploit this they would first have to get the user to install a service on the machine. If you can get the user to install random software, why bother with any other steps? You've already compromised the machine. I mean if your "security hack" involves the step "Get user to install malicious software", then you don't have a security hole, you have stupid users.

    1. Re:Reading this reminded me of this... by Anonymous Coward · · Score: 0

      I was once reading a "N reasons to drop evil Windows and adopt God-sent Linux" article. There are many out there, perhaps a little too many. Anyways, the author finished the article with something like "I'd rather have a Windows machine with no AV software and an intelligent user than a highly protected Linux system with a stupid user". I couldn't agree more.
  29. Wait a minute.... by prxp · · Score: 1

    You mean there is an easy way to code around those annoying Windows Vista privilege escalation dialog boxes??? Thanks god!!!

  30. What a load of bollocks by rudy_wayne · · Score: 1
    TFA is a pointless contradictory rant. First they say

    But getting this far wasn't easy. With Windows Vista, what should have been 100 lines of code maximum ended up being a dozen times longer, split across two different processes, and requiring way too much man-hours to write the most minimalist and to-the-point piece of software we've released to date.
    But then later they say

    Any program that UAC blocks from starting up "for good security reasons" can be coded to work around these limitations with (relative) ease.
    Well, which is it? Is it hard or easy? It can't be both. More importantly, their "bypassing" of UAC requires the user to run an installer that requires admin privleges (and the UAC prompt that goes with it). WTF? How is that "bypassing" anything?

  31. wow by dodgedodge · · Score: 1

    So to "get around" the Vista security they had to install a service using admin privileges. Ok????

  32. Beware of stupid windows programmers by Anonymous Coward · · Score: 1, Insightful

    Well... serves them right for missing the point completely.

    1) Not everybody runs as and Administrator. There are people that are savvy about their computers AND their security - i.e. not running as Administrators and, gasp, possibly even using dual-boot.

    2) If you make application that simply assumes that everybody runs as and Administrator and cry foul when suddenly your favorite OS provider comes to senses and makes you stop doing that, then you're simply a bad programmer. Bad, bad programmer.

    3) Wow... what a concept: you make a privileged system component (device driver, service, daemon, ...) which is then accessed by unprivileged (userland) interfaces. If they worked around anything, it was basically just their own stupidity. Why do they blame some security put in place to prevent them from making the stupidity in the first place.

    4) If they think they're high-tech, then they should look around. UNIX had been doing the same since at least '90s, after suddenly realizing that SUID root isn't always a good thing.

    5) Maybe they should find something else to do. Your average Indian does better job than they ever thought possible.

  33. Of course the last time UAC had security issues by ross.w · · Score: 1

    It took a bad ass marine with a bunch of serious weaponry to fix it again.

    --
    If my call is important, why am I talking to a recording?
  34. Meh by thetoadwarrior · · Score: 1

    Microsoft has said that UAC is meant to be annoying to force developers to do things properly to avoid it.

    Sounds like they're just doing things more on the proper side. I'm sure Vista isn't that secure but at least they've made some sort of effort even if it's poorly thought out.

    Rather than have UAC come up and have the user simply ok anything that comes up. They should have stopped the program from running at all. Developers can just rely on users clicking ok because, as annoyed as they may get, most won't switch to Linux or even Mac. So where is the incentive not to annoy the customer?

  35. UAC? by taniwha · · Score: 1

    This is the United Aerospace Corp that runs those waste dumps around mars right - are they having security problems again? will they never learn?

  36. Logical Error? by daveisfera · · Score: 1

    Does it really make sense to spend so much talking about how big of a pain it makes coding for programmer, but then point out how easy it is for malware to get around it? Something about that just doesn't quite make sense.

  37. MS on a trainride to obscurity by Anonymous Coward · · Score: 0

    Mod parent insightful.

    BTW1 when I installed Microsoft Visual C++ 2003 on Vista it makes me explicitly start it in Administrator mode. That should tell you the design of UAC is broken.

    BTW2 Given a choice between rewriting our apps for the latest version of Windows just to support the retarded Vista designers, or rewriting it for the web aka Google apps, guess which one I'd choose?

    1. Re:MS on a trainride to obscurity by vux984 · · Score: 1

      BTW1 when I installed Microsoft Visual C++ 2003 on Vista it makes me explicitly start it in Administrator mode. That should tell you the design of UAC is broken.

      Or that you are using really old software. Visual Studio has been updated twice since then. VS2005, and VS2008. Guess what, VS2008 doesn't require that you run as administrator. And even VS2005 only recommends it, because its required for a few features.

      As for it being a design flaw of UAC/Vista... Tell me... are you able to do C++ development as a 'standard user' on XP? Or are you required to run as an administrator? Do you have run as root to develop OSX or linux apps? Maybe the flawed design is XP / VC++ 2003, not Vista/UAC.

      BTW2 Given a choice between rewriting our apps for the latest version of Windows just to support the retarded Vista designers, or rewriting it for the web aka Google apps, guess which one I'd choose?

      None of my apps were difficult to port to Vista. Most needed minor to no modifications at all. Probably because they actually followed the guidelines MS had been publishing since Windows NT. They ran just fine as a 'standard user' and under terminal services/citrix, and as a result didn't fall afoul of UAC.

      I'm sorry your poorly architected applications broke when Microsoft finally enforced running as a standard user, but really if you weren't writing apps that could run as a standard user, you were part of the problem, part of the reason people couldn't escape running XP as an administrator.

    2. Re:MS on a trainride to obscurity by Anonymous Coward · · Score: 0

      Vista shipped with some virtualization that lets poorly-written apps get away with certain actions (like updating %ProgramFiles% or HKLM) that would require admin privs if they didn't happen in a sandbox. Clearly it doesn't really work. VC++ wants to edit files, write new binaries, and debug its user's processes, and those are all things an unprivileged user should have been able to do.

    3. Re:MS on a trainride to obscurity by JoshHeitzman · · Score: 1

      Actually there are scenarios where VS 2008 requires that it be run elevated. For VS 2008 we (I worked on VS up until then of September last year) put in specific warnings and error messages for those scenarios, instead of just putting up a blanket warning as was done with the service pack for VS 2005.

      --
      Software Inventor
    4. Re:MS on a trainride to obscurity by syousef · · Score: 1

      Or that you are using really old software. Visual Studio has been updated twice since then. VS2005, and VS2008. Guess what, VS2008 doesn't require that you run as administrator. And even VS2005 only recommends it, because its required for a few features.


      Heaven forbid a developer should want to use software under 5 years old that they paid good money for. Why that defeats the purpose of going out and making the IDE software publisher rich by re-buying the same thing every couple of years! Heaven forbid things actually continue to work for an entire lifetime without having to be upgraded beyond recognition by arbitrary OS restrictions and non-compatibilities.

      As for it being a design flaw of UAC/Vista... Tell me... are you able to do C++ development as a 'standard user' on XP? Or are you required to run as an administrator? Do you have run as root to develop OSX or linux apps? Maybe the flawed design is XP / VC++ 2003, not Vista/UAC. ...or maybe it's BOTH!

      None of my apps were difficult to port to Vista. Most needed minor to no modifications at all. Probably because they actually followed the guidelines MS had been publishing since Windows NT. They ran just fine as a 'standard user' and under terminal services/citrix, and as a result didn't fall afoul of UAC.

      I'd be interested to know what sort of apps you've written and would need to know this before deciding whether they've all been fine because they're not doing anything interesting. How varied are these apps? In any case, people often have good reasons for deviating from the standards, and aren't just lazy/ignorant. For example they might disagree with MS policy of storing data under documents and settings, even if it is the standard. If you weren't doing this, for UAC you'd need to change to comply with the standards even if you don't agree with them. I can think of one piece of software that has been a pain due to exactly this sort of move.

      I'm sorry your poorly architected applications broke when Microsoft finally enforced running as a standard user, but really if you weren't writing apps that could run as a standard user, you were part of the problem, part of the reason people couldn't escape running XP as an administrator.

      Typical /. arrogance. I don't know this guy or what apps he's written and to what quality or standards. I don't know what tradeoffs he's made. Neither have you, you arrogant ass!

      One further point. An end user typically doesn't care WHY an application broke. They're still the ones left unable to run the software properly (or at all). If your OS upgrade breaks a bunch of working programs, you have to wonder what's wrong with it's backward compatibility and what's so wrong with MS coding standards that so many developers don't want to follow them.

      --
      These posts express my own personal views, not those of my employer
    5. Re:MS on a trainride to obscurity by vux984 · · Score: 1

      Heaven forbid a developer should want to use software under 5 years old that they paid good money for.

      There's nothing stopping him. Its a -slight- inconvenience at worst, to run in elevated privileges.
      And if that bugs you, run it on XP or Server 2003 where its officially supported.

      As for the general cost and upgrade treadmill issues, that's the cost of being a Windows developer. You knew that getting into it.

      Why that defeats the purpose of going out and making the IDE software publisher rich by re-buying the same thing every couple of years!

      Then why'd he upgrade OSes? In for a pinch in for a pound.

      Heaven forbid things actually continue to work for an entire lifetime without having to be upgraded beyond recognition by arbitrary OS restrictions and non-compatibilities.

      As a software developer developing for and on the latest operating system it is not unusual or unsurprising that he'll need to keep his tools up to date. This isn't a word processor. I'm sorry, I just can't get that put out that a product with the ability to debug a device driver might run into minor compatibility issues on the 'next version of the OS'.

      How varied are these apps?

      Varied enough.

      In any case, people often have good reasons for deviating from the standards, and aren't just lazy/ignorant.

      The lazy/ignorant case is the dominant one though.

      For example they might disagree with MS policy of storing data under documents and settings, even if it is the standard. If you weren't doing this, for UAC you'd need to change to comply with the standards even if you don't agree with them.

      I'd have a tough time imagining a scenario where that would be the case. In Linux do you know of a lot of applications that arbitrarily store their data in a folder they don't normally have permission to? Most follow the standard. And the ones that don't are usually 'server' type apps, and the install for those tend to involve root, creating/authorizing specific folder structures for the app.

      Same applies to Vista. The administrator is free to go in and create a folder somewhere, and give 'Everyone' read/write/modify' permissions to it.

      Typical /. arrogance. I don't know this guy or what apps he's written and to what quality or standards. I don't know what tradeoffs he's made. Neither have you, you arrogant ass!

      Your right. I don't know. But odds are my assessment was still dead on.

      If he's written 'low level' or 'system' apps, then he should expect to have to update them to work with a new kernel, whether he followed the guidelines or not. If they are normal applications then he should have followed the guidelines, because his app probably wouldn't run as a standard user in XP either. Meaning they would be a pain to use in any sort of secure/enterprise/terminal services environment.

      That's the crux of it. If it ran as a standard user in XP without issue, it probably works fine under Vista. If it was a server app or something like that, then if it ran under the user account it should store its data in the users profile. It was supposed to be a proper server accessed from the outside world 24x7 or something like that then it should be given its own user account or something like that, the same as you'd do under linux.

      XP supported this, and encouraged this, but few bothered to do it, because you didn't have to.

      One further point. An end user typically doesn't care WHY an application broke. They're still the ones left unable to run the software properly (or at all).

      Do you want security or not? How do you propose to let all your applications run and allow them administrator priviledges and at the same time prevent malware from silently rootkitting the system.

      If your OS upgrade breaks a bunch of working programs, you have to wonder what's wrong with it's backward compatibility

      I don't wonder. I know. Any software that wasn't targeted at

    6. Re:MS on a trainride to obscurity by vux984 · · Score: 1

      Actually there are scenarios where VS 2008 requires that it be run elevated.

      I haven't bumped into them yet, but it wouldn't surprise me if there are some elements, particularly when debugging interprocess stuff that might cross user account boundaries for example that would need elevated privs to work.

      VS is a lot more than just a compiler after all.

  38. I think you can BUY your way out too. by NotQuiteReal · · Score: 1
    I could be wrong, but the other alternative is to PAY MONEY to get a certificate and sign your code.

    I don't think the certificate lasts more than a year at a time either. Anyone writing free utilities that need privs isnt' going to want to spend several hundred $ a year to "certify" their sw...

    --
    This issue is a bit more complicated than you think.
    1. Re:I think you can BUY your way out too. by DaHat · · Score: 1

      You are wrong... if that was true you'd think any built in app (all of which are signed) would be elevated automatically.

      Instead signing the binary changes the prompt to say that the program is at least from a verified publisher... but still leaves it to you to decide if you want to elevate or not.

      For more info on the kinds of UAC prompts that exists see: http://windowsvistablog.com/blogs/windowsvista/archive/2007/01/25/accessible-uac-prompts.aspx

  39. Heres the workaround. by fireheadca · · Score: 1

    Wanting to use VLC as my default player in Vista, UAC always prompted
    me to Allow or Deny - I couldn't get around it.

    I don't want to turn off UAC as this is the wife's computer.

    Some research brought me to: http://www.winvistaclub.com/f6.html

    With this info:

    ---

    1) Download and install the Microsoft Application Compatibility Toolkit 5.0.
    ( http://www.microsoft.com/downloads/details.aspx?FamilyId=24DA89E9-B581-47B0-B45E-492DD6DA2971&displaylang=en#filelist )

    2) In the Start menu, locate the new folder. Find the shortcut icon for Compatibility Administrator. Right click it and clik Run as administrator.

    3) In the left hand pane, right-click on the database under Custom Databases and select Create New, and select Application Fix.

    4) Enter the name and other details of the application you want to alter behavior on and then browse to it to select it. Click Next.

    5) Click Next until you are in the Compatibility Fixes screen.

    6) On the Compatibility Fixes screen, find the item RunAsInvoker, and check it.

    7) Click Next and then Finish.

    8) Select File and Save As. Save the file as a filename.SDB type file in a directory you will easily find it.

    9) Copy the .sdb file to the Vista computer you want to alter the elevation prompt behavior on.

    10) Click Start>All Programs>Accessories. Right click Command Prompt and click Run as administrator.

    11) Run the command below:

    sdbinst \.sdb

    For example, if you saved the .SDB file as abc.sdb in the c:\Windows folder, the command should be like this:

    sdbinst c:\windows\abc.sdb

    It should prompt: Installation of complete.

    ---

    Now VLC is my default player w/o having to annoy me.

    1. Re:Heres the workaround. by Anonymous Coward · · Score: 0

      What?! No here's how you do it.
      1. Install VLC,
      2. set appropriate file types for program
      3. Use without ever seeing UAC promps.

    2. Re:Heres the workaround. by Killjoy_NL · · Score: 1

      I just installed it, got UAC once and never again after that :)

      --
      This is the sig that says NI (again)
  40. In fact by Sycraft-fu · · Score: 1

    This is how MS recommends you do it! Suppose you have something like a virus scanner. You need to have admin access to perform some of your tasks. Also, you should be running at all times in the background, not just when a user is logged in. Well this mean you don't want to just run as a program that ask for admin. This is problematic because it'll get annoying to the user (since it'll ask on every login) and since that if no user is logged in, virus protection is inactive.

    The right answer, and the answer that the AV solutions I've looked at take, is to have a service that does the actual work, and then have a non-privileged client that the user gets at to control it. That way the virus scanner can do its job regardless of user status, and not have to bug the user with elevation requests when ti runs or scans and so on.

    This is additionally necessary in Vista when dealing with services since services can't interact with the desktop anymore to prevent shatter attacks. So you need to have two separate processes: One that is the privileged service, the other that is the deprivileged UI.

    So all they seem to have discovered here is that you can control privileged services with deprivileged processes... Which is precisely how it was intended.

  41. Why UAC is good by Anonymous Coward · · Score: 1, Informative

    What the site describes in neither a loop hole nor a work around:
    1. This is the _PROPER_ and documented way to add elevated applications
    2. Adding such applications can not happen _WITHOUT_ the permission of an administrator (the installer in their case)
    3. This is the same in Linux/Unix (For all Linux/Unix lovers :) )

    So don't blame UAC for being insecure - which it is not.

    The only annoying feature in programming UAC is that you cant elevate from within a program. You either need to start the program with elevated rights (using a manifest) or use elevated COM components (which is more or less the programmatic way).

    If you are annoyed by the frequent prompts - you can enable auto elevation using the security policy editor. UAC + auto elevation is still much more secure than UAC turned off.

    BTW, Ubuntu has pretty much the same behaviour

    1. Re:Why UAC is good by Anonymous Coward · · Score: 0

      You can elevate from within a program by running something with the "runas" verb. A program could restart itself this way - of course the user will see a prompt.

  42. Lies and FUD... by Alex_Ionescu · · Score: 1, Informative

    I'm sorry, but Microsoft does NOT sell UAC as a "security framework" or a "security model" or even a security boundary, as the article claims. It's a convenience tool that makes it easier for you to run applications as standard user, that's IT. Anyone that claims UAC has ANYTHING to do with security has absolutely no clue what they're talking about -- and I challenge you to show me Microsoft documentation that speaks of UAC as a security boundary.

    From TFA: "Microsoft can claim that Vista blocks system-modification tools from running at startup;" -- again, I'm sorry, but Microsoft does not make this claim. The steps that the developers of this product (admittedly a good one) are perfectly in line with what I'd expect a system of this nature to do: run as a service. That's *exactly* what services are supposed to be: administrative-level daemons that must launch on startup and are independent of the user account (or always require high privileges). Microsoft does not block applications requiring admin access from starting up for SECURITY -- it's done because otherwise, your computer would be stuck on the secure desktop waiting for authorization, and anyone possibly depending on the application (and anyone else also requiring elevation -- AFAIK, the AppInfo service can only request one elevation at a time) would also be frozen.

    I don't see what the big deal is. I run OS X on my desktop and I see plenty of similar applications running as services, in fact, I'm pretty sure Apple's guidelines also don't allow for applications that require root access to prompt for credentials during the startup process. It's just bad user experience.

  43. I've written this awesome thing by Profane+MuthaFucka · · Score: 1

    It's called "root4everybody". It's a daemon that installs on your Linux box. It opens a socket and accepts text commands on that socket, and then executes them.

    The beauty of it is that it gets around the limitations of UAC, er, I mean the inconvenience of not having root access. Ordinary users can send their commands to the socket, and the root4everybody daemon will execute these commands as the root user for you. No sudo! No su! No root login! It's so convenient!

    Plus, it's web enabled. It automatically opens the port on your firewall to allow anybody on the Internet to access root on the machine. This means that when you are away from your computer you can execute root commands on your computer at home. It's so convenient!

    Seriously, can anybody tell me why this way of getting around Vista's UAC is any different from the dumbass scheme I've outlined here?

    --
    Fascism trolls keeping me up every night. When I starts a preachin', he HITS ME WITH HIS REICH!
  44. Your Sig by Anonymous Coward · · Score: 0

    Shouldn't that be || ?

  45. If it's all about your data... by sam0737 · · Score: 1

    What's your most valuable thing in the system?
    Probably the data (documents, emails), or system resource (like CPU and Internet connectivity) for spammer.

    Exploiting these require no admin privilege, UAC won't be able to block that. If you just double-click any executable, you are giving full-trust and exposed to this risk. period.

    Is Linux, Mac, <Insert your favorite OS name> better protected in this case? I honestly don't think so.

    May be you can get away with managed code like .NET/Java to sand boxing every application, but that's not common to sandbox the local application, yet.

    1. Re:If it's all about your data... by benjymouse · · Score: 1

      Actually, you could make a case that Vista is in fact better protected than Linux and OS/X in this case. That's because Vista also has this concept of integrity. A normal process will run with "normal" or "user" integrity. It can access files, data etc. that the user would normally have access to. But restricted resources like e.g. registry keys, files in the \program files or in \windows directories are off-limits, even if your ACLs grant you access.

      That's why you can run as an administrator and have UAC "prompt" you for elevated rights. UAC prompts you to increase the integrity level of the process to "high".

      Now, there is also another level, low integrity, which is presently used for IE *and* any executable tagged as having been downloaded from the Internet. A low integrity process have very, very restricted rights. Basically it can only write files in a specially designated (and deeply buried) cache, the registry is off-limits, it has severe quota limits etc. So, the low integrity actually allows you to run programs under your own account and still deny reading/writing your personal data.

      As IE itself runs under these restrictions, it *also* has to use the "hack" (which is actually a best practice) of factoring functionality requiring elevated rights into a seperate service/broker process. That's what the ieuser.exe process is that sometimes shows up in task manager. If IE didn't do this you would not be able to upload/download files using IE. This is effectively a sandbox.

      Flash uses a broker process to escape the sandbox as well (don't know why they couldn't just use ieuser.exe). It was a bug in the Flash broker process (i.e. outside the sandbox) that allowed the hacker at the CanSecWest contest to "pwn" the Vista machine.

      --
      Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
  46. again, fix your damn software by Anonymous Coward · · Score: 1, Informative

    Why the hell do they need to run as admin as the first place? On unix, everyone wants to run its software as non-root and some people even code protection to exit on startup if the user is root. The problem here is not the user, neither UAC, it's the software developers. In order to trigger UAC, they must be doing some funky *wrong* things.

    This is just a huge security hole that infects your computer when the software is installed. If they did anything simple as a 'ReadFile' as the privileged user, and that you can trigger the daemon to execute it, then it just compromised your system.

    So instead of creating various, new, security issues, just fix your damn software please.

  47. if len(IPC) >= 8 * len(business_logic) by tepples · · Score: 1

    It's a lot easier to make an isolated service with rigidly defined IPC secure than it is to make something that interacts directly with the user secure. But it's also a pain in the behind when your platform's IPC APIs are so byzantine that the code for the IPC is an order of magnitude bigger than the code for the business logic. I can't provide a direct quote from the article as I type this because "The connection to the server was reset while the page was loading", but I do remember it going from 100 lines to 1200.
  48. Touche! by Gazzonyx · · Score: 1

    Touche. Got me there. However, you drop privileges after the port binding, otherwise httpd wouldn't run as apache:apache or nobody:nobody on port 80! Sometimes with xinetd and/or tcp/ip wrappers between the two.

    --

    If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

    1. Re:Touche! by VGPowerlord · · Score: 1

      There are still services that run as root. sshd for example, although it does fork a new process as the user you're logging in as. It didn't do that until sometime in 2002, though.

      Still, sshd's main process runs as root, for obvious reasons. I imagine telnet does too... if anyone still uses it in this day and age.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    2. Re:Touche! by Gazzonyx · · Score: 1

      Actually, I've seen telnet still alive and well for printers and other various appliances that need a maintenance interface, where having a web interface is overkill. I think telnetd is part of the legacy packages on RHEL and is dependent on xinetd for operation. At least according to its RPM... it might just be a lib dependency.

      --

      If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

  49. Want holes with that reboot? by Marton · · Score: 1

    Ok, so the original scenario is that the functionality used by iReboot (editing boot configuration data) requires admin or system-level privileges. As an ordinary user, you're not getting these privileges without an UAC prompt on Vista.

    What the devs have done is not exactly rocket science: they created a service that exposes some interface towards unprivileged apps to access the formerly UAC-protected functionality (changing the default boot OS in the Vista boot loader).

    When they're done highfiving themselves maybe they should pause one sec and think about what they've really done: any app running as an ordinary user can now make a call to their service and muck around with the BCD.

    FAIL.

    While you're at it guys, why don't you wrap the entire Win32 API in your service and expose it to the user-level apps? No more pesky user access control. Everyone runs as LocalSystem. Hoorray!

    What they should have done is simple and their basic idea is right: split the app into two. Have the systray icon run as a regular, unelevated piece of code. When the user selects an OS from the menu that they present, THEN do the elevation (by launching the high-privileged process) and make changes to the BCD. This way you're not exposing anything to the outside world. You also don't have a constantly running service eating up resources. A new process is only launched (and an UAC prompt is presented) when a system change must be made. Simple and clean.

    1. Re:Want holes with that reboot? by harryjohnston · · Score: 1

      When they're done highfiving themselves maybe they should pause one sec and think about what they've really done: any app running as an ordinary user can now make a call to their service and muck around with the BCD.


      And this is a problem why exactly? That's what the application is for. If you don't want your users to be able to change the BCD settings, don't install the app.

  50. Good Point by Gazzonyx · · Score: 1

    Good point, but, like you said, you drop into a chroot after binding. Also, if you're facing the web, you probably have xinetd and/or tcp/ip wrappers between the firewall and the less privileged service threads. You can even chroot an entire set of services together away from your OS. But, you are correct, you have to be root to start the service, and you can also mirror the port. I think you can even redirect the connection with the 'tc' or 'ip' commands. Anyways, I stand corrected ;).

    --

    If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

  51. only UAC for startup processes is pointless by Anonymous Coward · · Score: 0

    There is no security hole here. It seems to me that UAC is pointless for startup processes because you need UAC in the first place to install them (or at least you should). What MS has done is just dumb and a pita. It should be possible to install a privileged startup process without resorting to such workarounds as scheduling or installing services. (I bet those guys went 'Doh' when they learnt about the schedule workaround!)

  52. NSA trick worked great for XP by inTheLoo · · Score: 0

    From the fine Washington Post article you referenced:

    Microsoft said this is not the first time it has sought help from the NSA. For about four years, Microsoft has tapped the spy agency for security expertise in reviewing its operating systems, including the Windows XP consumer version and the Windows Server 2003 for corporate customers.

    We all know how well that turned out for XP and 2003 and how "security as job 1" cleaned up the botnets and eliminated spam. No? Well, at least they got input to their random number generator and everyone knows that a backdoored system is the one to use for great security. Go Team America!

    --
    No calls now, I'm ...
  53. Working As Designed by harryjohnston · · Score: 1

    To me, this looks like a perfect example of UAC doing exactly what it was designed to do; forcing developers to write software that will run for non-administrative users. Heck, we read about it here just a few weeks ago:

    http://tech.slashdot.org/article.pl?sid=08/04/12/006242

    As far as I know Microsoft haven't said anything about this, but it wouldn't be surprising to see a version of Windows in a few years that by default creates a non-administrative account during setup and encourages the home user to use that one for day-to-day activities. UAC is just a first step towards making that feasible.

  54. Re: by clint999 · · Score: 0

    From the fine Washington Post article you referenced : Microsoft said this is not the first time it has sought help from the NSA. For about four years, Microsoft has tapped the spy agency for security expertise in reviewing its operating systems, including
  55. They Could Have Used the Shell API by Carcass666 · · Score: 1

    If they wanted to set up a shortcut in the Startup folder to an executable that needed to run with Administrative privileges, they could use IShellLinkDataList::SetFlags to modify the shortcut in their installer package.

  56. Destroys the whole purpose of UAC by Anonymous Coward · · Score: 0

    The purpose of UAC (or so I've heard) is so that applications won't embed themselves too deeply inside the OS. Basically, most of the actions that cause UAC to pop-up really just shouldn't be done in the first place. Of course there are exceptions, like just installing applications. But Microsoft's goal was to force developers to quit embedding apps into Windows by making it really annoying for users to use applications that do. It's a really douchy way of accomplishing that goals, that's for sure, but by coding around it you're just part of the problem.

  57. Applause for iReboot creators... by phtpht · · Score: 1

    You split your admin-only program to an admin-service and unprivileged client. Bravo guys. You just reinvented the wheel.

    Now you want to work on preventing *anyone* from calling your admin service and messing with whatever it can do. And no, don't invent custom noone-can-figure-it-out protocols, it does not work that way.

  58. A good short. by feepness · · Score: 1

    Between Vista and the XBox fiasco I'm thinking their stock may have further to crash.

  59. Nay!! to those who shun Vista by Shadow-Copy · · Score: 1, Funny
    Vista is new, bran new, but IE 7 is not. Which that is the weak point. Which the core dynamics that have now been shelled from the internet worming methods, finally, and are now only limited to the Certificate spoofing, and temp file clog of Js-scripts are what can only work they're way in. Which even then writing registries, and other worm methods that use to be easily done by just using the cookies an automated synchronization of xml automated check feature for rss feeds have been fixed
    • mildly
    . In xp and 2000 you still have to watch your temp files an make sure they don't grow to an extension of a full blown worm. To get around that, simply download Windows defender which renders any temp file useless as long as IE7 is not open, or any other http PNG running program that exchanges xml docs are not encrypted.
    Meaning, If another program is not configured to run with its own syncronized xml doc exchange or better known as 'encryption'. Then Microsoft believes thats the composer's problem of who made that program. Such as yahoo messenger, VEOH, Winamp, ect.. Programs that uses Microsoft Internet Explorer's Temp file resources. Microsoft believes they are not paid to make anyone elses programs 100% safer then to certify they're own(Microsoft) programs. Even when Microsoft made they're open source active x resources so easily spoofed. They still would make you pay in order to get customer service. of ANY type.

    But you know it is possibly made that way to allow the common user or program vender to need to call Microsoft an pay a nice sum of money to fix they're computer problem(s). Which is all beyond the point.

    Which as you see No new IE 8, no new framework patches.. yet. Microsoft seems to be letting all the other browsers(Fire Fox, Opera, Netscape) update first before they toss the new Internet Explorer 8 into the field. Which by then all exploits in frame work Certificate encryptions should be 100% safe once more.
    Have you seen the new Silverlight? Microsoft's adobe flash look a mock-up. Seems Microsoft isn't only trying to buy Yahoo! but plow over adobe's internet content handler as well with they're Silverlight.

    The way Bill Gates is handling all the internet problems seems pretty devious. As you may have noticed that the Vista is alot more critically dynamic and secure. Sort of like Linux secure, Picky over drivers. Some programs wont even launch if you do not adjust some things. Bill Gates probably never anticipated for the internet to be Windows failing point, but The way Vista runs.. Seems like Bill Gates is not going to let the Internet stop Windows, but Windows conquering the net.. VERYY DEVIOUS..

    Bill Gates have seen the certificates, and the js exploits. As you an I can see in the certificate been the 2 small fraudulent certificates. Out of the billion that have been most likely set off threw the net. Bill Gates has an ace up his sleeve, and it looks like one of his moves is taking out adobe along with what ever else he finds wrong.

    Other then the old IE7 Vista is a monster that is yet to be completed in its superirority over the net. Linux is fishing for something to top it, an have not yet.. Have you gotten your first service pack yet?? I know i haven't did i mention the silver light???
  60. You haven't used it, have you? by Anonymous Coward · · Score: 0

    If you think ... that the vast majority of OS X apps aren't installed to /Applications (also by root), then you're either a fool or delusional. You haven't used it, have you?

    On the contrary, on OS X most user-installed apps install by drag-and-drop and are owned by the user who installed them not root. Whether that's a good thing or not might be a moot point, but it's so.

    If you'd ever used the OS, you'd have known that, so you have no grounds for calling someone else "delusional". You are quite simply wrong.

    Here is the documentation:

    http://developer.apple.com/tools/installerpolicy.html
  61. UAC?.. by Nephrite · · Score: 1

    UAC... sounds familiar... It is from that Doom game, right?

  62. UAC has no false positives. by sid0 · · Score: 1

    What exactly do you mean by a false positive anyway? UAC prompts for exactly the same reasons as something like sudo prompts.

    1. Re:UAC has no false positives. by syousef · · Score: 1

      What exactly do you mean by a false positive anyway? UAC prompts for exactly the same reasons as something like sudo prompts.

      I mean alerting you to an action you've intiated that is not risky, and often doing it multiple times for the one action. That does not require your attention. It's a distraction from the task at hand, and with so many prompts you're liable to find yourself automatically hitting "allow" like Pavlov's dog gone wrong.

      --
      These posts express my own personal views, not those of my employer
  63. DAEMON by daveime · · Score: 1

    Any fool can create a DAEMON or service running under the root account, and then allow user accounts to utilise that service to bypass UAC.

    This is no different from Linux and I suppose Mac also.

    The "trick" is to get the DAEMON running as root WITHOUT having to deal with UAC, root permissions or whatever.

    This is not "news", just typical anti-microsoft FUD.

    I'm sorry, I know UAC is a pain, but in general, (MS bias aside), I've found it does exactly what it says on the tin. I installed Vista on my PC at home, have a root account for Admin purposes, and then set up User accounts for the wife and kids.

    On their accounts, every action that is potentially dangerous requires my Admin account password ... so how is this ANY different from a linux system where you'll need to do su and supply the root password ???

    I'll tell you ... because it's easier to show a popup window that the wife and kids can understand rather than telling them they'll need to go into a shell, type su and the root password, before they can even use it.

    "Double click on icon, UAC popup, call Dad to approve it" ... this is exactly the behaviour I expect out of UAC, and it's exactly what I get.

    Note I'm not particularly a MS fanboy, and use Linux webservers all day in a LAMP environment for my job as web programmer ... but to me UAC IS working correctly ... certain groups just choose to perceive it as painful for their own agendas.

  64. Problem is the registry by Anonymous Coward · · Score: 0

    and having all your libraries in the windows system directory, or installed programs in "program files" and so on and so forth.

    If I install a game, it shouldn't require ANY "root" prives because it should only be writing to places I have access to and these should not be common directories. If I *do* install as root, the application can become universally available, but it shouldn't be necessary to do so.

    Loki installer does this and has for years. Why can't Windows?

  65. UAC ? by vegiVamp · · Score: 0

    Am I the only one who saw 'UAC' and thought 'Doom' ?

    --
    What a depressingly stupid machine.
  66. UAC, I killed that years ago! by Anonymous Coward · · Score: 0

    All these comments and not a single mention of how we defeated the UAC waaaaay back in Doom I!

  67. Exactly! by PaulMorel · · Score: 1

    I'm not sure about some other people's comments, but as a Windows developer, I have come to exactly the same conclusion as this article. Especially this line: "Windows Vista's improved security model is nothing more than a series of obstacles that in reality only make it more difficult for honest ISVs to publish working code and not actually providing any true protection from malware authors."

    After I'm-not-sure-how-many shipped Windows applications, I have to agree.

    Still, I'm not a security expert, like some of the people here.

    --
    burrocrisy
    and that would be what? Ruling by jackasses? Never has a slashdot misspelling been more apropos
    1. Re:Exactly! by harryjohnston · · Score: 1

      I'm not sure about some other people's comments, but as a Windows developer, I have come to exactly the same conclusion as this article. Especially this line: "Windows Vista's improved security model is nothing more than a series of obstacles that in reality only make it more difficult for honest ISVs to publish working code and not actually providing any true protection from malware authors."
      To the best of my knowledge, provided the application was coded properly in the first place, UAC shouldn't present more than trivial issues.

      Question 1 would be: what happened in Windows XP when a non-administrative user account tried to use the application? If the answer is "it didn't work" then the app was already broken and UAC is just helping to encourage you to fix it.

      However, I'm not a real-world programmer, so perhaps I've missed something; do you have any specific examples you can present?
    2. Re:Exactly! by Allador · · Score: 1

      Assuming a user runs as non-admin, how would you like something like this to work?

      Because I'm unclear on what you're meaning. If you've been in this industry and done this work ... then you've had to deal with non-admin users, and services, and system tray icons talking to back-end services, etc.

      Can you talk about how you think it should work? Technical detail would be great.

      Likewise, this is what I do for a living (or at least one of the things) and I own a business doing it as well.

  68. Bunk by skrowl · · Score: 1

    His workaround uber hack that completely makes UAC worthless requires an installer that has to be run under an admin level account.

    Nothing is broken or worked around here. He just figured out how to make a userland app talk to a server account (that was installed as administrator) without causing a UAC popup.

    Big deal? Not really.

    --

    Prevent linux based DDOS's!
    http://linux.denialofservice.org/
  69. Code around UAC by Anonymous Coward · · Score: 0

    Yes, please code around it, and then we'll have a good laugh when your programs are broken on future versions.

    Didn't you idiots learn your lesson about not following design guidelines? Apparently not.

  70. setuid gets a bad rap by argent · · Score: 1

    Actually, the UNIX security model is quite finely grained when used as designed.

    The problem is that it was designed with these assumptions:

    1. Access to resources is controlled by access to files in the file system.

    2. Access to resources is associated with user ID and group membership.

    3. Privilege elevation is always managed by gateway applications running with appropriate user and group ID.

    That is, if you want to limit access to a serial port to people who need to dial out, you put the serial port in the group "dialer" and the dialout software setgid "dialer", and let it limit access appropriately.

    Some programs did the right thing, some didn't, but it was Berkeley Sockets that smashed it good an proper. The right thing to do would have been something like this: make "bind()" take an open file as an argument, and make the special file "/dev/sockets/25" owned by group "mail", then run the mail listener setgid "mail". It would open "/dev/sockets/25", pass that to bind, and have an open listener on the SMTP port without having to run as root.

    Unfortunately, instead of that, you had to be root to open sockets in the reserved range. And the floodgates were open.

  71. Obfuscation and blame by kyubre · · Score: 1

    Funny, just got in from a weekend of self imposed computer exile, read here on slash, what I discovered last week. In my case, my installer, in addition to installing the core application, installed a service. Found I had a need to respond to some normal, globally broadcase win messages, and "do" things in responce to them that normally required admin privilege. What I found/discovered, is that my service could hang around waiting for an interactive user to log-in, get copy the security tokens for any number of processes that ALWAYS run when a user logs in, and then and again from the service, launch my choice of executable code with the same credentials as the user (and in their desktop), but with all the privilege of trusted system service. As all it takes is the one UAC prompt at the time of installation of the service (which users click almost like Pavlov's dog responded to a bell), I do see this as a glaring security hole that I hope (as a developer), is never "fixed". I have finally found a way to be able to deploy on Vista ALMOST as flexibly as I can deploy on XP. So in the end, I strongly agree all microsoft did with UAC is to screw honest 3rd party developers, and find a way to blame users for all of Microsoft's security issues.

    --
    Nothing evolves faster than the word of god in the minds of men who think themselves divinely inspired.