Process Vista
Process Vista
Abstract
The Microsoft® Windows Vista™ operating system introduces a new type of
process known as a protected process to enhance support for Digital Rights
Management functionality in Windows Vista.
This paper describes the characteristics of protected processes, and how other
software on the system can and cannot interact with these processes. This
document is for developers of products that monitor and report on other processes
in the system, so that they can understand the unique constraints involved when
interacting with a protected process.
The current version of this paper is maintained on the Web at:
http://www.microsoft.com/whdc/system/vista/process_Vista.mspx
Contents
Introduction.............................................................................................................................. 3
Examples of Constraints with Protected Processes................................................................3
Process and Thread Access Rights.........................................................................................4
Best Practices.......................................................................................................................... 5
Resources................................................................................................................................ 5
Protected Processes - 2
Disclaimer
This is a preliminary document and may be changed substantially prior to final commercial release of the
software described herein.
The information contained in this document represents the current view of Microsoft Corporation on the
issues discussed as of the date of publication. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot
guarantee the accuracy of any information presented after the date of publication.
This White Paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES,
EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.
Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights
under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval
system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or
otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property
rights covering subject matter in this document. Except as expressly provided in any written license
agreement from Microsoft, the furnishing of this document does not give you any license to these
patents, trademarks, copyrights, or other intellectual property.
Unless otherwise noted, the example companies, organizations, products, domain names, e-mail
addresses, logos, people, places and events depicted herein are fictitious, and no association with any
real company, organization, product, domain name, email address, logo, person, place or event is
intended or should be inferred.
Microsoft, Windows, and Windows Vista are either registered trademarks or trademarks of Microsoft
Corporation in the United States and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their
respective owners.
Introduction
The Microsoft® Windows Vista™ operating system introduces a new type of
process known as a protected process to enhance support for Digital Rights
Management functionality in Windows Vista. These protected processes exist
alongside other processes in Windows Vista.
The primary difference between a typical process and a protected process is the
level of access that other processes in the system can obtain to protected
processes. In versions of Microsoft Windows® earlier than Windows Vista, the
process model allows a parent process to acquire a handle to and manipulate the
state of any child process that it creates. Likewise, processes that users created
with sufficient privileges can access and manipulate the state of all processes on
the system. This behavior remains true for typical processes. However, the level of
access to protected processes and threads within those processes is significantly
more constrained.
Any application can attempt to create a protected process. However, due to the
restrictions of running inside a protected process, the operating system requires
that these processes be specially signed. In Windows Vista, Protected Media Path
(PMP) uses the protected process infrastructure to provide increased protection for
high-value media content. Developers can leverage protected processes by using
the Media Foundation API. For more information, see Output Content Protection
and Windows Vista.
This paper describes the characteristics of protected processes and how other
software on the system can and cannot interact with these processes. This paper is
for developers of products that monitor and report on other processes in the
system, so that they can understand the unique constraints involved when
interacting with a protected process.
Note
Certain process properties (such as the working set) can be indirectly changed
through membership in a job object.
Best Practices
Historically, a privileged service (running as administrator or local system) has been
able to obtain all access to a process or thread, regardless of its DACL, by using
SeDebugPrivilege.
Starting with Windows Vista, the privileges that are marked with “No” in the tables
earlier in this paper cannot be obtained for a protected process or thread. This can
be a problem if memory scanning is critical to the operation of the application.
Do not attempt to circumvent this restriction by installing a kernel-mode component
to access the memory of a protected process because the system and third-party
applications may rely on the fact that protected processes are signed code that is
run in a contained environment.
Resources
Process Security and Access Rights
http://msdn.microsoft.com/library/en-us/dllproc/base/process_security_and_acc
ess_rights.asp