Slashdot Mirror


Microsoft Pitches LUA Security Repository

corp-dollar writes "According to this eWEEK story on the poor adoption of LUA (least-privileged user account) in Windows, a pair of Microsoft security consultants are pitching the idea of a security deployment repository to serve information and tools to handle LUA bugs and other problems businesses are facing. Sounds like a decent enough idea to cut back on the compatibility problems when trying to run business apps in no-admin mode."

26 of 158 comments (clear)

  1. Those who do not understand unix... by Saint+Stephen · · Score: 3, Insightful

    Those who do not understand unix are condemned to reinvent it, poorly.

    I dont' think I've ever seen a more apt example of this aphorism.

    1. Re:Those who do not understand unix... by cnettel · · Score: 2, Insightful
      How so? Existing programs that want to be able to write to a specific HKLM key or "needs" to write to a specific file are a significant problem. The total security can sometimes be kept, while accomodating some small changes for specific apps.

      No one would write a UNIX app that required root to run, but if there were a bunch of such apps, what would you do about it?

      (The other option is some kind of charade where old apps would get a virtual file system and registry. That would have some advantages, but it would also be a total mess to know where something presented by an application is a real path or a virtual path in the private filesystem.)

    2. Re:Those who do not understand unix... by peragrin · · Score: 2, Informative

      I can do more with a command line, scripting and a text editor faster and easier than I can with a gui.

      simple situation. I store my Browser bookmarks on my website so I always have a backup copy them.

      GUI. "OS X" Windows or KDE aren't a lot different here
      right click on applications folder in dock, (it opens a contextual menu of all items inside, think start menu, kde menu)
      find ftp program and open it.
      click on on appropriate bookmark,
      type in password,
      drag file from local to remote directory.(this assuming it opens up to the right directories to begin with)
      let it work
      close everything

      From command line Home direcory
      type in ~/Applications/ftpbookmarks (bash script)
      type in password when prompted
      let it work.

      Now, which is easier? The command line. Of course you have to know what you are doing to begin with in order to use it. I might be able to do the above with apple scripting the gui but why when the bash one is literally 10 lines of script and can easily be changed.

      what is needed is a new method for working with computers. Some way of working the gui with both a mouse and a quick command line that can deal with both text and other items. Apple's Open command is a start. as it will load the default program for images/movies to show them(open -e somemovie.mov wil launch the movie in quicktime). Maybe Microsoft's new shell will actually be cool. It's supposed to deal with objects instead of text.

      --
      i thought once I was found, but it was only a dream.
    3. Re:Those who do not understand unix... by Frumious+Wombat · · Score: 4, Interesting

      Unfortunately, since the OS we're talking about is NT-based, the aphorism should read:

      Those who do not understand VMS are condemned to reimplement it, poorly

      This is what amazes me about these discussions: they hired Cutler, the architect of a very successful OS, that had all of the necessary security features. They updated and reimplemented his architecture for modern PC hardware. They then mangled it beyond all recognition by insisting that programs written for Win 3.1 and later Win95 run under NT/2K/XP as if they were still on single-user, no priv separation, versions, and we're still living with that behaviour today.

      I tried to run my users with no privs on the last job, and always got bitten by programs such as WordPerfect, which insisted they had to run with PowerUser privs. Meanwhile, complex, computationaly demanding, graphics-heavy programs such as Spartan (visual environment for quantum chemistry), quietly installed in their own folder, didn't write to the registry, and could be moved without breaking because they didn't install anything to the system directories.

      The second one is no less complex than WP, yet it behaved for non-priv'd users while popular programs with large development teams funded by reasonable-sized corporations, didn't.

      Personally, I think there needs to be a local copy or version of the registry and system folders for such programs, so that they can write to it and be happy, without the user actually having manager privs. That way people with software written for 95/98/ME that they aren't ready to give up can still run it, while the administrator can screw down their machines and keep them relatively safe. This is probably better than the real solution, which would be MS deciding with Vista: Normal users will run as non-priv'd users, and have no write access to system folder or registry. Older programs expecting that ability will simply not run.

      The Truly Best Answer would be someone at Redmond deciding, "hey, the next version of our OS will be Microsoft VMS!" Just put the Vista graphical environment on top of a real VMS core, remember that the default SYSTEM account should not ship with password MANAGER, and finally do it right.

      --
      the more accurate the calculations became, the more the concepts tended to vanish into thin air. R. S. Mulliken
  2. Bad acronym by HishamMuhammad · · Score: 2, Informative

    Made me instantly think of the Lua programming language.

  3. Those who do not understand allagories. by Anonymous Coward · · Score: 2, Insightful

    "Those who do not understand unix are condemned to reinvent it, poorly."

    So when's Unix going to invent "capabilities", and why did it take the NSA to "invent" SELinux?

    Oh right, Unix security is perfect. That's why we keep hearing that damn saying every time we have a Windows story.

  4. Managed PCs by brenddie · · Score: 2, Insightful

    Is ridiculous how one app can screw your whole managed environment.
    Some applications wont run if the user is not local admin and you know how much users can be trusted.

    --
    The best test environment is production. - Me
    chrome://browser/content/browser.xul
    1. Re:Managed PCs by Justin_Schuh · · Score: 5, Informative

      Solving the problem by making the directory writable basically defeats the purpose. Write access to the content means that you can replace essential files, such as the executables themselves. Even if write permissions are not allowed to the contained files, you can still use DLL redirection to trojan the executables. So basically, they need to fix the app.

      As for the specific issue, based on what you've written there are three likely scenarios that cause this problem. The first is that they're not separating system and user specific config data, and it's all being stored in the application directory. That's a big no-no and it can require some significant effort to fix. The remaining possibilities are easier. They may just be creating temp files under the application directory, in which case they just need to use the system provided temp path for the current user. The last one is that they're opening files under the application directory as writeable, when they only need read access. This one happens a lot, and the fix is to just make sure the file is opened as read-only if it only needs to be read.

      If you are interested in finding the actual cause of the problem, you can probably diagnose it with Filemon (freeware) from Sysinternals. Who knows, you may be able to sway their developers to fix it with some specific information.

  5. Is this the default in Vista? by EvilMonkeySlayer · · Score: 3, Interesting

    Or at least a less priveleged account? With a password popup box whenever you want to install drivers etc akin to Mac OS X or somesuch?
    Or are they going the same route as before with the default user being an admin?
    I'd hope they did, it'd probably help reduce people installing rootkits with certain audio cd's although I doubt it'd eliminate it, there'd still be people who blindly type in their password (if they'd bothered to enter one in the first place).

    Also, on a sidenote.. MS aren't exactly standing on the moral superiority high ground here (I skimmed the article), how can they expect programmers to implement this with their programs when by default everyone is a local admin in windows and so far the only program which is supposed to use LUA is IE7 which isn't even released yet?

    1. Re:Is this the default in Vista? by Inaffect · · Score: 2, Insightful
      Perhaps I'm ignorant, but I have never understood the situation you describe either. In XP, a limited user account does not seem to offer any protection - files can be installed, executed, and removed at will. It seems that some software installation and deletion methods are blocked for limited users, but most aren't. This leads system admins (in corps and uni's), with large numbers of computers on their hands, to use third party software to get the security job done effectively.

      Also, what is the point of the pre-generated Administrator account for which you can place a password, or not, during OS installation? ...By default the user account you create already has admin privileges.

      It leads me to believe that the system was either (1) not well thought out, or (2) not finished. I don't fault them for trying to improve the situation, though.
    2. Re:Is this the default in Vista? by Justin_Schuh · · Score: 3, Interesting

      I used to manage the base software image for a very large network. That often entailed profiling apps to identify excessive permission requirements and finding ways to fix these issues. I can honestly say that pretty much all enterprise level software I saw worked fine in an LUA environment by 2000. For example, a lot of massaging was necessary for MS Office 96 (changing reg keys to alter file paths, opening write permission on application directories, etc.). Office 2K however, worked out of the box and separated user and system specific data properly. In general, I've found that you're fine with any application released in the last 5 years that is Windows logo compliant for enterprises.

      The real issue here is that developers are pushing this practice out to all applications, and MS will be enforcing it in Vista.

  6. Good start by MandoSKippy · · Score: 4, Interesting

    It's odd, on /. everyone complains that on Windows, many programs don't work unless you are administrator. (or have that power) It's something brought up all the time about the inadequecies of Windows. Now, Microsoft is doing something to attempt to change that, and in the first 3 posts, we get something about how they are just "reinventing Unix, poorly" That may be the case, but they are going down that road. Not every admin can run *nix, it is complex, it is hard to learn. Perhaps MS doing things to make their OS more nix like will actually help the adoption of open source *nix variants. I think the blast Microsoft for everything they do may backfire on /. crowd at somepoint...

  7. Old Applications by dduardo · · Score: 2, Interesting

    So, how is this going to be compability with older programs that require admin priveleges?

    1. Re:Old Applications by GIL_Dude · · Score: 3, Interesting

      It isn't TOO bad because of the built in file and registry virtualization in Vista. If a program running with a LUA token tries to write to say the "C:\Program Files\PoorlyWrittenApp" folder, that write will result in a copy of the file (if it already existed) being made and placed in a location under the user's profile. Then the write to that file will succeed in the new location in the user profile. The OS will preferentially read that new file whenever the file in program files is being "read" by the app.

      The same thing works for registry entries.
      There are certain files (like .exe, etc.) that are never virtualized to make sure people don't get DoS attacked by "replacing" their exe files. There are API's for application developers to specify that they don't want certain files, folders, or registry keys to virtualize. All in all, it makes the app compat story pretty robust.

  8. LUA ignored by developers too by ncw · · Score: 4, Insightful
    From the article :-

    The LUA principle, which promotes the use of accounts with fewer access rights than Administrator accounts, has been largely ignored by end users, but if Aaron Margosis and Shelly Bird have their way, code writers will have a central place to get tools and training to create least-privilege applications.
    Coming from a unix background, when I set up a computer for my children with Windows XP, I decided to make sure that the children each had their own user account, and that none of those user accounts had administrator priviledges.

    The first bit of that plan went down very well - they love having their own user accounts. However almost none of their games/software run as anything except Administrator, even games which say on the box "designed for windows XP".

    I end up having to make a custom runas command for each one with /savecred - the windows equivalent to chmod u+s. This is a PITA to setup, insecure and doesn't work for all their software. There is some we've just had to abandon since it just won't work like that.

    So please, software developers, check your software works without admin priviledges!

    --
    Every man for himself, all in favour say "I"
  9. LUA not a panacea by Stan+Vassilev · · Score: 2, Insightful

    Lots of things a software should be able to do can't happen in LUA mode. So we have few solutions, like popping up admin password boxes (which can be exploited on its own with fake pop-up boxes prompting us to enter our admin login/pass), or having broker processes with higher privileges do the job. But it's important to understand that low-privilege IE and LUA for users is not removing the attack surface, just recucing it significantly and presenting few new ways to exploit the situation... Also it'll be significantly more annoying to deal with it when performing regular operations, like install/update software.

  10. The two chief problems by Alioth · · Score: 4, Insightful

    The two chief problems with LUA in Windows are:

    - The Windows programming culture assumes a single user, single tasking computer.
    - Users on Windows are administrator by default

    The first is the developers fault, the second is Microsoft's. At least Microsoft are trying to fix their end. But even 4 years after Windows XP was released, software is being released by developers who should know better that still require either admin rights or much tinkering to get to run as non-admin. The most recent one I encountered was an application for BACS payments a couple of weeks ago - their tech support's answer was "run as admin". I managed to get it to work for non admins (since this was on a Windows domain) only by caclsing (aka chmodding) the application's directory writeable by all!

    It's obvious that the developer had simply not tested the program as non admin.

    1. Re:The two chief problems by pe1chl · · Score: 2, Interesting

      We have been running Windows 2000 workstations with ordinary "user" privileges and toughened filesystem security settings at work for several years now.
      What you describe is becoming less and less common, but it happens. Interestingly enough, one of the worst applications at work is an electronic banking program.
      Apparently banks don't care about security. We got the same response from their helpdesk.

      But otherwise, it really is possible to do it. Requires some extra effort, but so does security on Unix/Linux systems.
      We even run an extra service called "TrustNoExe" that allows you to restrict the location of executable programs to e.g. C:\Program Files and C:\Windows, where users cannot write. This even more prevents downloading and "accidentally" running unapproved programs.

  11. Windows 2K Power Users? by Anonymous Coward · · Score: 2, Interesting
    What happened to the Windows 2000 Power Users type in XP? Had they kept that and used it as the default in XP, we'd be in a lot better shape today.


    Logo Cert. should require games and most apps to work with Power Users or equ.

  12. Not easy to create limited accounts on Windows XP by Mandrel · · Score: 4, Interesting

    Just the other day I tried to guide someone through setting up a new account and e-mail settings on XP SP2 over the phone. I decided to play it safe and told them to create a limited account. But when you log into the new account and try to run Outlook Express you get this error message, which I couldn't get them past to configure e-mail. I later worked out that you must first run Internet Explorer at least once on the new account before the e-mail setup wizard will come up when Outlook Express is run.

  13. Blame the user by lheal · · Score: 3, Insightful
    I know running as admin is bad in principle, but from TFA:
    Despite the fact that LUA is accepted within software security circles as a key to reducing damage from malicious hacker attacks, Margosis said a large percentage of customers still run Windows with full admin rights, making them sitting ducks for malware attacks that rely on "maximum privileges."

    First all this malware spreading around was because we didn't have firewalls. Now it's because we're all running with admin rights. Never mind that it's the OS default, it's obviously our fault that all these bugs keep surfacing.

    Of course, the next whipping boy is that faceless developer out there who wakes up one morning and decides to violate basic programming principles like Least Privelege. But it's not the developer's fault.

    The problem for the developer is that Windows makes it difficult to do anything but run as admin. The environment assumes single-user, multiple apps, but not multiple users. It was designed with one user in mind, and the multi-user stuff layered on later.

    But the real problem with complaining that we're violating Least Privilege is that it's a Redmond Herring (TM). It's ignoring the big problem, which is that since Windows source code is closed, no one without a vested interest in keeping bugs hidden can look at it.

    You want a security principle violation? Hiding your code is the biggest one there is.

    --
    Raise your children as if you were teaching them to raise your grandchildren, because you are.
  14. Even "aware" users have to use admin accounts by bender647 · · Score: 2, Interesting

    I use XP largely to play games, and find that even on games that can be played in underprivileged mode, bugs pop up more frequently. Just a couple nights ago I had a problem with a Microsoft title (AOE3) and finally was able to net connect when switching to an admin account. The developers simply don't test in this mode enough.

    Here's a response from Atari when I complained about having to play UT2004 in my admin account. You can't win when this is they don't even consider this a bug:

    From: Tech4 Subject: RE: Unreal Tournament 2004 - Windows XP : USA : This game, like most of its type, requires Full admin access to play, and can often conflict with third party software such as firewalls or virus scanners. We recommend disabling those items when the game is in use, and turning them back on afterwards. MarkL Atari Support www.atarisupport.com
  15. Re:QuickBooks by DynamicBits · · Score: 2, Informative

    They were lazy. It can be run under a Limited account in XP. Here's how I did it:

    Fire up the freeware app Regmon, and set the filters to ignore the standard things running in the background (windows services, anti-virus software, and firewall software - A good starting point is as follows: csrss.exe;explorer.exe;LSASS.EXE;Regmon.exe;WINLOG ON.EXE). Just look at the list of processes that are filling up the main window for the names to put in the filter. While you're still in that filter dialog, uncheck "Log successes."

    Now, fire up the offending application and wait for it to give you an error. Go back to Regmon and look through the last few entries for one that has "FAILED" in the Result column. Open up regedit, find the key that returned the "FAILED" message and assign full permissions for the limited user account, or the Users group.

    Sometimes, a program will need more permision for a directory or single file. For that, use Filemon. The process is very similiar to Regmon.

    If that all sounds too tedious for you, you might want to try just changing permissions on the application's install folder (For example: C:\Program Files\Intuit) and HKLM key (For example: HKLM\Software\Intuit). (Although I can say for a fact that QuickBooks requires full permission on one or two keys outside of HKLM\Software\Intuit.)

    This process works for every program I have tried running under a limited account.

  16. Report noncompliant apps to Microsoft by Animats · · Score: 3, Informative

    The Microsoft "Designed for Windows XP" logo program requires that Applications that are designed to work with the Windows XP infrastructure for state separation of data will work correctly under Limited User accounts. So if the application breaks under a limited user, report this to Microsoft logo control. Tell the vendor you did this. This scares some vendors; there's a risk of having their Windows logo pulled.

  17. MSDN promotes non-LUA features by dmh20002 · · Score: 2, Insightful
    Microsoft trumpets this issue like its a new thing, not a 30 year old principle.

    the whole thing is MS's fault. not the users. The app developers have secondary responsibility but MS caused the problem in the first place. Their developer resources promote doing all kinds of bogus things in their apps. For years MSDN has gone out of its way to promote all the OS level hooks that are available to developers, many of which only work as admin.

    here's an example from a couple of months ago:How to capture the print screen key and totally change how your user's GUI works. Just what I want, the ability for some random application to subvert basic elements of the system interface.

  18. Circumventing Group Policy as a Limited User by NZheretic · · Score: 2, Informative
    The problem is that Microsoft's LUA restriction has been broken on all of their platforms.
    ... Windows administrators should be aware that if a user, even one running with a limited account, can execute just one program of their choice that they also can circumvent many group policy settings, including ones aimed specifically at tightening security such as Software Restriction Policies and Internet Explorer Zones. ...

    ... It's also important to note that the ability of limited users to override these settings is not due to a bug in Windows, but rather enabled by design decisions made by the Microsoft Group Policy team.