Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS7: Security 7.2. Windows Security Components.

Slides:



Advertisements
Similar presentations
Security Protocols Sathish Vadhiyar Sources / Credits: Kerberos web pages and documents contained / pointed.
Advertisements

Windows 2000 Security --Kerberos COSC513 Project Sihua Xu June 13, 2014.
Chapter 14 – Authentication Applications
Authentication Applications. will consider authentication functions will consider authentication functions developed to support application-level authentication.
Key distribution and certification In the case of public key encryption model the authenticity of the public key of each partner in the communication must.
Kerberos 1 Public domain image of Heracles and Cerberus. From an Attic bilingual amphora, 530–520 BC. From Italy (?).
Authenticating Users. Objectives Explain why authentication is a critical aspect of network security Explain why firewalls authenticate and how they identify.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Chapter 14 From Cryptography and Network Security Fourth Edition written by William Stallings, and Lecture slides by Lawrie Brown, the Australian Defence.
CSI 400/500 Operating Systems Spring 2009 Lecture #20 – Security Measures Wednesday, April 29 th.
(Remote Access Security) AAA. 2 Authentication User named "flannery" dials into an access server that is configured with CHAP. The access server will.
Introduction to Kerberos Kerberos and Domain Authentication.
Course 6421A Module 7: Installing, Configuring, and Troubleshooting the Network Policy Server Role Service Presentation: 60 minutes Lab: 60 minutes Module.
Slide Master Layout Useful for revisions and projector test  First-level bullet  Second levels  Third level  Fourth level  Fifth level  Drop body.
Security features of Windows What is computer security ? Computer security refers to the protection of all components—hardware, software, and stored.
Chapter 4 Windows NT/2000 Overview. NT Concepts  Domains –A group of one or more NT machines that share an authentication database (SAM) –Single sign-on.
SYSTEM ADMINISTRATION Chapter 13 Security Protocols.
Information Security Depart. of Computer Science and Engineering 刘胜利 ( Liu Shengli) Tel:
70-294: MCSE Guide to Microsoft Windows Server 2003 Active Directory Chapter 9: Active Directory Authentication and Security.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 11 Case Study 2: Windows Vista Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Four Configuring Outlook and Outlook Web Access.
Group 11 CSE 8343 Group 1 Windows 2000 Domain Security & Authentication.
Chapter Six Windows XP Security and Access Controls.
Chapter 13 – Network Security
7.3. Windows Security Descriptors
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS6: Device Management 6.1. Principles of I/O.
1 Chapter 8 Copyright 2003 Prentice-Hall Cryptographic Systems: SSL/TLS, VPNs, and Kerberos.
Kerberos: An Authentication Service for Open Network Systems Jennifer G. Steiner Clifford Neuman Jeffrey I. Schiller.
Chapter 23 Internet Authentication Applications Kerberos Overview Initially developed at MIT Software utility available in both the public domain and.
Designing Authentication for a Microsoft Windows 2000 Network Designing Authentication in a Microsoft Windows 2000 Network Designing Kerberos Authentication.
Authentication Applications Unit 6. Kerberos In Greek and Roman mythology, is a multi-headed (usually three-headed) dog, or "hellhound” with a serpent's.
Breno de MedeirosFlorida State University Fall 2005 Windows servers The NT security model.
Windows NT ® Single Sign On Cross Platform Applications (Part II) John Brezak Program Manager Windows NT Security Microsoft Corporation.
Windows 2000 Course Summary Computing Department, Lancaster University, UK.
Chapter 21 Distributed System Security Copyright © 2008.
Kerberos Named after a mythological three-headed dog that guards the underworld of Hades, Kerberos is a network authentication protocol that was designed.
1 Introduction to Microsoft Windows 2000 Windows 2000 Overview Windows 2000 Architecture Overview Windows 2000 Directory Services Overview Logging On to.
Guide to MCSE , Second Edition, Enhanced1 The Windows XP Security Model User must logon with: Valid user ID Password User receives access token Access.
NT SECURITY Introduction Security features of an operating system revolve around the principles of “Availability,” “Integrity,” and Confidentiality. For.
Unit OS A: Windows Networking A.4. Lab Manual. 2 Copyright Notice © David A. Solomon and Mark Russinovich These materials are part of the Windows.
CPS Computer Security Tutorial on Creating Certificates SSH Kerberos CPS 290Page 1.
Kerberos By Robert Smithers. History of Kerberos Kerberos was created at MIT, and was named after the 3 headed guard dog of Hades in Greek mythology Cerberus.
Cryptography and Network Security Chapter 14 Fourth Edition by William Stallings Lecture slides by Lawrie Brown.
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS7: Security 7.1. The Security Problem.
Module 2: Introducing Windows 2000 Security. Overview Introducing Security Features in Active Directory Authenticating User Accounts Securing Access to.
1 Kerberos n Part of project Athena (MIT). n Trusted 3rd party authentication scheme. n Assumes that hosts are not trustworthy. n Requires that each client.
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS7: Security 7.4. Lab Manual.
CPS Computer Security Tutorial on Creating Certificates SSH Kerberos CPS 290Page 1.
Active Directory. Computers in organizations Computers are linked together for communication and sharing of resources There is always a need to administer.
Introduction to Microsoft Windows 2000 Security Microsoft Windows 2000 Security Services Overview Security subsystem components Local security authority.
KERBEROS SYSTEM Kumar Madugula.
4.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 12: Implementing Security.
Active Directory Domain Services (AD DS). Identity and Access (IDA) – An IDA infrastructure should: Store information about users, groups, computers and.
IP Security (IPSec) Matt Hermanson. What is IPSec? It is an extension to the Internet Protocol (IP) suite that creates an encrypted and secure conversation.
Dr. Nermi hamza.  A user may gain access to a particular workstation and pretend to be another user operating from that workstation.  A user may eavesdrop.
4 Securing Secure the hardware –Lock the server room and other ways to get access to the hardware. –Password protect the BIOS-setup Secure the NOS.
Cryptography and Network Security
Unit OS7: Security 7.4. Quiz Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze.
Radius, LDAP, Radius used in Authenticating Users
Unit OS A: Windows Networking
Unit OS2: Operating System Principles
Chapter 3: Windows7 Part 4.
Windows Internals Brown-Bag Seminar Chapter 1 – Concepts and Tools
Florida State University
Kerberos Part of project Athena (MIT).
(Authentication / Authorization)
Designing IIS Security (IIS – Internet Information Service)
Presentation transcript:

Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS7: Security 7.2. Windows Security Components and Concepts

2 Copyright Notice © David A. Solomon and Mark Russinovich These materials are part of the Windows Operating System Internals Curriculum Development Kit, developed by David A. Solomon and Mark E. Russinovich with Andreas Polze Microsoft has licensed these materials from David Solomon Expert Seminars, Inc. for distribution to academic organizations solely for use in academic environments (and not for commercial use)

3 Roadmap for Section 7.2. Windows Security Features Components of the Security System Windows Logon Kerberos Protocol Principles / Active Directory

4 Windows Security Mechanisms Permissions can be applied to all shareable resources Including the NTFS file system …but not the FAT file system Encrypted File System protects data while OS is offline Un-authorized physical access Native support for Kerberos authentication Public Key infrastructure to pass digital certificates IP Security to protect sensitive data traveling across the wire Crypto-APIs built into Windows Hashing and encryption

5 The three hearts of Windows Security Local Security Authority (LSA) - as local user-mode process Heart of user authentication on local machine LSA - on domain controller Heart of user authentication on networked machines Security Reference Monitor Heart of object access protection

6 Security Components hardware interfaces (buses, I/O devices, interrupts, interval timers, DMA, memory cache control, etc., etc.) System Service Dispatcher Original copyright by Microsoft Corporation. Used by permission. System Threads User Mode Kernel Mode NtosKrnl.Exe Object Mgr. Windows USER, GDI File System Cache I/O Mgr Device & File Sys. Drivers Plug and Play Mgr. Power Mgr. Security Reference Monitor Virtual Memory Processes & Threads Local Procedure Call Graphics Drivers Kernel Hardware Abstraction Layer (HAL) (kernel mode callable interfaces) Configura- tion Mgr (registry) WinLogon MSGINA LSASS Active Directory LSA Server SAM Server MSVC1_0.dl Kerberos.dll LSA Policy Event Logger Active Directory SAM

7 Security Components Local Security Authority User-mode process (\Windows\System32\Lsass.exe) that implements policies (e.g. password, logon), authentication, and sending audit records to the security event log LSASS policy database: registry key HKLM\SECURITY WinLogon MSGINA LSASS NetLogon Active Directory LSA Server SAM Server MSVC1_0.dl Kerberos.dll LSA Policy Event Logger Active Directory SAM

8 LSASS Components SAM Service A set of subroutines (\Windows\System32\Samsrv.dll ) responsible for managing the database that contains the usernames and groups defined on the local machine SAM database: A database that contains the defined local users and groups, along with their passwords and other attributes. This database is stored in the registry under HKLM\SAM. Password crackers attack the local user account password hashes stored in the SAM Lab: look at SAM service Open Lsass.exe process properties – click on services tab Click Find DLL – search for Samsrv.dll

9 LSASS Components Active Directory A directory service that contains a database that stores information about objects in a domain A domain is a collection of computers and their associated security groups that are managed as a single entity The Active Directory server, implemented as a service, \Windows\System32\Ntdsa.dll, that runs in the Lsass process Authentication packages DLLs that run in the context of the Lsass process and that implement Windows authentication policy: LanMan: \Windows\System32\Msvc1_0.dll Kerberos: \Windows\System32\Kerberos.dll Negotiate: uses LanMan or Kerberos, depending on which is most appropriate

10 LSASS Components Net Logon service (Netlogon) A Windows service (\Windows\System32\Netlogon.dll) that runs inside Lsass and responds to Microsoft LAN Manager 2 Windows NT (pre-Windows 2000) network logon requests Authentication is handled as local logons are, by sending them to Lsass for verification Netlogon also has a locator service built into it for locating domain controllers WinLogon MSGINA LSASS NetLogon Active Directory LSA Server SAM Server MSVC1_0.dl Kerberos.dll LSA Policy Event Logger Active Directory SAM

11 Security Components Logon process (Winlogon) A user-mode process running \Windows\System32\Winlogon.exe that is responsible for responding to the SAS and for managing interactive logon sessions Graphical Identification and Authentication (GINA) A user-mode DLL that runs in the Winlogon process and that Winlogon uses to obtain a user's name and password or smart card PIN Default is \Windows\System32\Msgina.dll WinLogon MSGINA LSASS NetLogon Active Directory LSA Server SAM Server MSVC1_0.dl Kerberos.dll LSA Policy Event Logger Active Directory SAM

12 Security Reference Monitor Performs object access checks, manipulates privileges, and generates audit messages Group of functions in Ntoskrnl.exe Some documented in DDK Exposed to user mode by Windows API calls Lab: Open Ntoskrnl.exe with Dependency Walker and view functions starting with “Se”

13 Communication between SRM and LSA Communication via local procedure call (LPC) SeLsaCommandPort/SeRmCommand port for initialization Usage of private ports/shared memory when initialization is completed Local security authority (LSA) server SeLsaCommandPortPrivate comm. port SeRmCommandPortPrivate comm. port Security reference monitor (SRM Shared section User mode Kernel mode Set audit event Create logon session Delete logon session Write audit message Delete logon session

14 What Makes Logon Secure? Before anyone logs on, the visible desktop is Winlogon’s Winlogon registers CTRL+ALT+DEL, the Secure Attention Sequence (SAS), as a standard hotkey sequence SAS takes you to the Winlogon desktop No application can deregister it because only the thread that registers a hotkey can deregister it When Windows’ keyboard input processing code sees SAS it disables keyboard hooks so that no one can intercept it

15 Logon After getting security identification (account name, password), the GINA sends it to the Local Security Authority Sub System (LSASS) LSASS calls an authentication package to verify the logon If the logon is local or to a legacy domain, MSV1_0 is the authenticator. User name and password are encrypted and compared against the Security Accounts Manager (SAM) database If the logon is to a AD domain the authenticator is Kerberos, which communicates with the AD service on a domain controller If there is a match, the SIDs of the corresponding user account and its groups are retrieved Finally, LSASS retrieves account privileges from the Security database or from AD

16 Logon LSASS creates a token for your logon session and Winlogon attaches it to the first process of your session Tokens are created with the NtCreateToken API Every process gets a copy of its parent’s token SIDs and privileges cannot be added to a token A logon session is active as long as there is at least one token associated with the session Lab Run “LogonSessions –p” (from Sysinternals) to view the active logon sessions on your system

17 Local Logon MSGINA MSV1_0 LSASS LPC Winlogon SAMSRV

18 Winlogon MSGINA Kerberos LSASS NTDSA LSASS LPC UDP Domain Controller Local Machine Remote Logon - Active Directory If the logon is for a domain account, the encrypted credentials are sent to LSASS on the domain controller: Active Directory

19 Kerberos Authentication Single account store in Active Directory Integrated Kerberos v5 logon Key Distribution Center (KDC) Protected store for public key credentials Industry standard network security protocols Kerberos, SSL/TLS, others ( SSL - Secure Socket Layer, TLS - Transport Layer Security )

20 Cross-platform Strategy Common Kerberos domain SSPI Kerberos SSP Application protocol Windows Desktop Application protocol GSS Kerberos mechanism GSS-API Unix Server Windows KDC GSS-Kerb5 Token formats (RFC 1964) TICKET ( SSPI - Security Service Provider Interface, GSS - Global Security Service )

21 Kerberos Authentication Service Developed as part of MIT project Athena Kerberos implements an authentication procedure which verifies identity of communication partners DES algorithm, symmetric key encryption Authentication server (Kerberos Server) TGS (Ticket Granting Service) Client proves his identity by presenting an encrypted, service- specific ticket (T c,s ) when issuing a request Kerberos server and Ticket Granting Service (TGS) are assumed to be secure (trusted hosts)

22 Kerberos principles Kerberos requires three main steps: 1. Client identifies himself against Kerberos Server (Active Directory), it receives a master ticket (the Ticket Granting Ticket - TGT) 2. Client requests service-specific tickets and prove his identity with the TGT 3. Client uses service-specific ticket to contact server Authentication is transparent from user‘s point of view Windows login program acquires TGT (Client) Applications transparently acquire service-specific tickets TGS-issued tickets and TGT have a default lifetime of eight hours

23 Kerberos principles (contd.) 1. Client -> KDC: c, tgs, n 2. KDC -> Client: {K c,tgs,n}K c, {T c,tgs }K tgs 3. Client -> TGS: {A c }K c,tgs, {T c,tgs }K tgs, s, n 4. TGS -> Client: {K c,s, n}K c,tgs, {T c,s }K s 5. Client-> Server: {A c }K c,s, {T c,s }K s KDCTGS Client Server Typically co-located K c: client‘s secret key K c,tgs: key for comm. between client and TGS {T c,tgs }K tgs: encrypted ticket for TGS K c,s: key for client/service communication {T c,s }K s: encrypted ticket for service A c: authentication info

24 Tickets and Authentication info Kerberos tickets contain the following data: User name Address of workstation Time stamp Lifetime of the ticket Address of the host running the requested service Session key for client/server communication Tickets are encrypted with the server‘s private key (K s ) Authentication info (A c ) contains the following data: User name Address of workstation Time stamp Authentication info is encrypted with the session key K c,s

25 Kerberos Version 5 - Windows Multiple supported encryption algorithms through Crypto-API foundation Keys carry info about encryption algorithm used Can be re-used for different encryption algorithms Network addresses may have arbitrary formats Server may specify all supported protocols/addresses in ticket Network data format and encryption are standardized ASN.1 format (ISO 8824), no special format for multi-byte data Encryption based on (ISO 8825) Tickets contain plaintext section Server may support multiple personalities, actual role is chosen on plaintext info Tickets carry starting time and expiration time

26 Ticket Characteristics KDC returns special tickets on initial ticket exchange Password can only changed with those special tickets Renewable tickets may carry two expiration dates Only valid after first but before second date Tickets may be postdated Interesting for batch processing Authorization data field KDC copies authorization info from TGT into every newly generated ticket Windows Kerberos supports public/private key for initial authentication (to obtain TGT via user-supplied private key)

27 Further Reading Mark E. Russinovich and David A. Solomon, Microsoft Windows Internals, 4th Edition, Microsoft Press, Chapter 8, Security Security System Components (from pp. 488) Logon (from pp. 536) John T.Kohl, B.Clifford Neumann, Theodore Y.Ts’o, The Evolution of the Kerberos Authentication Service, Proceedings of Spring 1991 EurOpen Conference, Tromsø, Norway. The Open Software Foundation, Introduction to DCE, Prentice-Hall, The Open Software Foundation, DCE User’sGuide and Reference, Prentice-Hall, 1992.