A Better Windows Permission Model

By Larry Seltzer  |  Posted 2005-12-19 Print this article Print

Opinion: Microsoft is moving at glacial speed to a better user/application security model, but an even better one is available now from a third party.

Microsoft has been moving slowly, and lately more steadily, towards an approach of having users run, by default, with restricted privileges. The tools for letting users run in less-privileged accounts have for many years been better for domain-based managed networks, especially those with Active Directory, and the potential is there for far more power. A great example of this is the set of tools in version 2.0 of Desktop Standard Corps PMAS (Policy Maker Application Security).

PMAS lets network administrators use Windows Active Directory group policies to declare which system capabilities an application requires and which users should have access to those applications. Because the requirements for each application are handled on a case-by-case basis, users can log in to the network with extremely low privileges.

There have been systems around for a while that do something similar to what PMAS does. Windows has had a facility called "restricted tokens" since Windows XP (possibly since Windows 2000, the documentation is not clear) to control the rights of users in particular application contexts, but the operating system provides no user or administrative controls over it, just programming interfaces. Theres a good example of this capability expressed in a utility called "DropMyRights" available from Microsoft.

In any event, restricted tokens work on the approach of restricting right; you start your users with high privileges and then restrict them from the capabilities they dont need. This is where PMAS improves on the situation, because it starts with unprivileged users and allows administrators to add only those capabilities to the user for each application that is necessary. In other contexts, potentially including those for malware, the user is unprivileged.

This is a good approach from a dozen points of view, including many that are more theoretical than real. Consider shatter attacks, one of the scarier types of attacks on Windows, although its more of a theoretical than genuine threat for now. Shatter attacks work by abusing message passing between windows in different applications on the system, with the goal of elevating the privilege of an attacking program. PMAS doesnt eliminate shatter attacks, but it mitigates their potential for damage by minimizing the privilege being exercised at any one point. In fact, the same case can be made for PMAS against privilege escalation attacks generally.

Its surprising to me that Microsoft hasnt taken more of a step in this direction for Vista and Longhorn. They have taken smaller steps in those operating systems with the use of restricted tokens, such as the PA or "Protected Administrator" feature they discussed for Longhorn. When running as a PA only specially cleared applications will run with your normal user token; all others run with a special restricted token. And of course, Windows Vista will encourage the use of less-privileges users by changing the default permissions for standard users, although this has nothing to do with restricted tokens.

PMAS probably addresses most of the issues that non-Windows advocates pick on in Windows, but in fact it goes further. By adding an application/user pairing to the permissions, you get even more control. Of course, with that control comes some added administrative burden, but Ill take control over no control any day of the week.

Security Center Editor Larry Seltzer has worked in and written about the computer industry since 1983. Check out eWEEK.coms for the latest security news, reviews and analysis. And for insights on security coverage around the Web, take a look at eWEEK.com Security Center Editor Larry Seltzers Weblog. More from Larry Seltzer
Larry Seltzer has been writing software for and English about computers ever since—,much to his own amazement—,he graduated from the University of Pennsylvania in 1983.

He was one of the authors of NPL and NPL-R, fourth-generation languages for microcomputers by the now-defunct DeskTop Software Corporation. (Larry is sad to find absolutely no hits on any of these +products on Google.) His work at Desktop Software included programming the UCSD p-System, a virtual machine-based operating system with portable binaries that pre-dated Java by more than 10 years.

For several years, he wrote corporate software for Mathematica Policy Research (they're still in business!) and Chase Econometrics (not so lucky) before being forcibly thrown into the consulting market. He bummed around the Philadelphia consulting and contract-programming scenes for a year or two before taking a job at NSTL (National Software Testing Labs) developing product tests and managing contract testing for the computer industry, governments and publication.

In 1991 Larry moved to Massachusetts to become Technical Director of PC Week Labs (now eWeek Labs). He moved within Ziff Davis to New York in 1994 to run testing at Windows Sources. In 1995, he became Technical Director for Internet product testing at PC Magazine and stayed there till 1998.

Since then, he has been writing for numerous other publications, including Fortune Small Business, Windows 2000 Magazine (now Windows and .NET Magazine), ZDNet and Sam Whitmore's Media Survey.

Submit a Comment

Loading Comments...
Manage your Newsletters: Login   Register My Newsletters

Rocket Fuel