A Better Windows Permission Model

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