WINDOWS 2000 SECURITY Windows 2000 Security - an Overview and Analysis Part 1 13 Dr
Total Page:16
File Type:pdf, Size:1020Kb
WINDOWS 2000 SECURITY Windows 2000 Security - An Overview and Analysis Part 1 13 Dr. Jesper M. Johansson Introduction and History States Department of Defense’s Trusted Com- On February 17, 2000 Microsoft released the puter Systems Evaluation Criteria (TCSEC) C2 newest version of its “industrial strength” oper- classification [1]. These requirements dictate that ating system, Windows NT. This version, origi- the trusted computing base must provide three nally named Windows NT 5.0, was renamed security measures: Windows 2000 about half-way through the beta cycle. Although the name change appears to - User identification have been largely a marketing move, it has - User accountability caused no small amount of confusion for users. Many still believe that Windows 2000 is essen- - Object security tially a “better Windows 98.” Nothing could be These same features are part of the new Com- further from the truth. Contrary to Windows 95 mon Criteria that is replacing the TCSEC as the and 98, both of which have virtually no mean- preferred security evaluation criteria. Windows ingful security mechanisms, Windows 2000 is an 2000 has elements of at least the following secu- upgrade to Windows NT 4.0. Windows NT 4.0 rity functional requirements [2]: was designed with a security model in mind; Windows 2000 modifies and extends this model. Hence, a discussion of the security features of FAU_GEN Security audit data generation Windows 2000 is highly meaningful and rele- FAU_SAR Security audit review vant. In this first part of a paper on this subject I FDP_ACC Access control policy present the security model of Windows 2000 as it relates to three basic components of security: FDP_ACF Access control functions user identification, user accountability, and ob- FDP_RIP Residual information protection ject security. FIA_AFL Authentication failures Windows 2000 is quite possibly the most com- plex operating system ever built. It follows that FIA_ATD User attribute definition the security related features are exceedingly FIA_UAU User authentication complex as well. In this paper I will not try to FIA_UID User identification cover all security related features of Windows 2000. To do so would require a few books. Nor FIA_USB User-subject binding am I trying to expose all security related vulnera- bilities in Windows 2000. No one could do that Note that no formal evaluation of Windows 2000 at this early stage. I am simply setting out to with respect to any formal security criteria has been evaluate how the most fundamental tenets of performed. By listing formal requirements I thus InfoSec, user identification, accountability, and do not mean to imply that Windows 2000 is en- object security, are designed and implemented tirely compliant with them. However, Windows in Windows 2000. Each section covers a specific 2000 does at least meet elements of these func- topic. Section 2 contains a review of the Win- tional requirements. Whereas in Windows NT 4.0 dows 2000 security model, and Section 3 dis- both accountability and object security are op- cusses how user identification information is tional during setup, user identification in addi- managed in Windows 2000. The next and final tion to these two requirements is optional in paper in the series looks at how it is possible to Windows 2000. A given system does not have to restrict and audit access once users are identi- enforce any of them, although for the remainder fied. The second paper also presents some obser- of this paper we will assume that a system is vations and conclusions. configured to do so. The Security Model in Windows 2000 Security Requirements and Windows 2000 Windows 2000 is based on the same security The most basic requirement for any secure sys- model as its predecessor, Windows NT 4.0. That tem is user identification. In Windows 2000, user model, originating with the first release of Win- identification is optional. During setup, the per- dows NT, is designed from the ground up to son installing the system is asked whether the match the security requirements of the United system should automatically log on a user at Information Security Bulletin July 2000, Page 13 WINDOWS 2000 SECURITY startup. This could also be done in Windows NT accounts; these are now tracked in the Active Di- 4.0, but is not configured during setup. If auto- rectory (AD). The term Active Directory is really a matic logon is selected, all user identification is marketing term denoting the database that orga- effectively disabled and further security mea- nizes and stores user account information for a sures based on user identification, such as object Windows 2000 domain. It consists of two parts; security and user accountability, are meaning- the storage mechanism itself, and a location less. However, if the system is configured to re- mechanism used to locate entries in the data- quire a logon, it can track user accounts. These base. The database, stored in a file called ntds.dit, accounts can be managed either locally on the is managed by the Extensible Storage Engine workstation, or by a network server known as a (ESE), which is also used in Microsoft Exchange. domain controller (DC). Local accounts are usable That engine, in turn, is based on the Microsoft Jet only to connect to the workstation or server Engine. Access to the data store is accomplished where they are defined. They are stored in a almost exclusively through the Directory System portion of the Registry database on the local sys- Agent (ntdsa.dll). The only exception is that tem. This portion of the Registry is readable only Messaging API (MAPI) clients may access the da- by registered operating system components, and tabase layer directly. The main interfaces to the contains all information about each user’s ac- directory are either the Lightweight Directory Ac- count, including the password representations. If cess Protocol (LDAP) [3] or Active Directory Services network accounts are used, the computer must Interface (ADSI). ADSI is an API that provides an be a member of a domain. A domain is a group- interface to LDAP from a wide range of lan- ing of systems that share a common user ac- guages, such as C++, Visual Basic, Visual Basic count database. Accounts are managed by the Script, JavaScript, and others. Security Accounts Manager (SAM), which manages the SAM Database. Under Windows NT 4.0, the The Active Directory is created when the first domain accounts database was stored in the server is promoted to become a DC. At that time, Registry of the DCs, just like a local database. the SAM database is replaced by a “stub SAM;” However, in Windows 2000 it is stored in the Ac- the Registry-based SAM database on a DC holds tive Directory, which is described below. only a few security accounts. All the operational accounts are now stored in AD. The few ac- counts left in the SAM are used when the DC is Windows 2000 File Systems started in Directory Services Restore mode. The Windows 2000 supports three disk file systems: disposition of the accounts in the SAM when a 16-bit File Allocation Table (FAT16), 32-bit File Allo- server is promoted depends on whether a new cation Table (FAT32), and the New Technology File domain was created, or whether the server was System (NTFS) version 5.0. The first two file sys- added to an existing domain. If the server is pro- tems hail from the days of MS-DOS. FAT16 is the moted to manage a new domain, the accounts in file system supported under MS-DOS, and the SAM become accounts in the new AD do- DOS-based operating systems, such as Windows main. If the server is added to an existing do- 95. However, FAT16 limits partition sizes to 2 main, the local accounts are removed. gigabytes (4 on Windows NT) and therefore a 32-bit version of FAT was developed for a service Objects in Active Directory are uniquely identi- release of Windows 95. FAT32 supports volumes fied by a Globally Unique Identifier (GUID). In pre- as large as 2 terabytes, although the maximum vious versions of Windows NT objects were size volume that can be formatted under Win- identified by a Security Identifier (SID). However, dows 2000 is 32 GB. This is not a technical limita- the Active Directory stores entries from several tion, but rather a limitation related to the Win- domains, and it is possible that SIDs are identical dows 2000 format command. Windows 2000 can across domains. Each object still has a SID, but access larger FAT32 volumes created under Win- the SIDs are no longer static. A SID for a particu- dow 98. NTFS should, however, be used on all lar object may change, and the Active Directory volumes in Windows 2000. Windows 2000 main- maintains the binding between the GUID and tains Discretionary Access Control Lists (DACL) and the SID if necessary. System Access Control Lists (SACL) on files and di- rectories within all NTFS volumes. Without NTFS, One of the main shortcomings of Windows NT 4.0 object security and user accountability are not was its limitation of being capable of holding only possible. Windows 2000 also maintains DACLs 40,000 objects in the SAM database. Active Direc- and SACLs on other system objects, including tory removes that limitation. The Windows 2000 memory constructs, the Active Directory, and the implementation of the ESE can support databases Registry. Section 4 in the next paper in the series up to 16 terabytes in size. Microsoft has tested the will discuss ACLs in Windows 2000. Active Directory with 40 million objects. Active Directory Data Model User Identification - The Active Directory data model is based on the The Active Directory X.500 [4] model.