* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download CS423/523
Criticism of Windows Vista wikipedia , lookup
Windows Phone 8.1 wikipedia , lookup
MTS system architecture wikipedia , lookup
Mobile operating system wikipedia , lookup
Plan 9 from Bell Labs wikipedia , lookup
Copland (operating system) wikipedia , lookup
Burroughs MCP wikipedia , lookup
Spring (operating system) wikipedia , lookup
Distributed operating system wikipedia , lookup
Windows NT startup process wikipedia , lookup
Security-focused operating system wikipedia , lookup
Process management (computing) wikipedia , lookup
Kernel (operating system) wikipedia , lookup
CSCD 303 Essential Computer Security Spring 2013 Lecture 6 - Desktop Security Overview • Learning Objectives – Understand the functions of an Operating System including its security functions – Learn about the different levels of privilege – Learn about Windows Access Control OS Design Decisions VS • The kernel is the heart of the OS and manages most of the functionality of the OS including access to device hardware • Have been competing designs for the kernel – Monolithic vs Micro Kernel vs Hybrid Kernel Designs – These design decisions affect ultimate security of OS OS Design Decisions • Monolithic Design – Integrate a great deal of functionality into OS core – Services are interdependent – Core system is larger – Every flaw in system is exposed through services that depend on that system Monolithic Kernel Monolithic kernel where all services File system, device drivers as well as core functionality scheduling, memory allocation are a tight knit group sharing same space Do not confuse term modular kernel to be anything but monolithic Some monolithic kernels can be compiled to be modular What matters is that module is inserted to and run from same space that handles core functionality Monolithic Kernel Diagram Kernel Space Monolithic Kernel Pros and Cons Pros * More direct access to hardware for programs * Easier for processes to communicate between each other * If your device is supported, it should work with no additional Micro Kernel A micro kernel Core functionality is isolated from system services and device drivers For instance, VFS (virtual file system) and block device file systems are separate processes that run outside kernel's space, – – Using IPC to communicate with kernel, other services and user processes IPC means Interprocess Communication Example of Micro kernel? Minix Micro Kernel Architecture Kernel Mode Micro Kernel Pros and Cons Pros Portability Small memory footprint Security Better - not as much runs in supervisor or privileged mode Hybrid Kernel Hybrid kernel is architecture based on combining aspects of microkernel and monolithic kernel architectures used in computer operating systems A hybrid kernel runs some services in kernel space to reduce performance overhead of traditional microkernel, while still running kernel code as servers in user space For instance, a hybrid kernel design may keep Virtual File System and bus controllers inside kernel and file system drivers and storage drivers as user mode programs outside the kernel – Such a design keeps the performance and design principles of a monolithic kernel. Whats an example of a Hybrid kernel? Hybrid Kernel Architecture Hybrid Kernel Pros and Cons Pros * Developer can pick and choose what runs in user mode and what runs in supervisor mode * Smaller install footprint than monolithic kernel * More flexible than other models Cons * Can suffer from same process lag as microkernel * Device drivers need to be managed by user Operating Systems (OS) Functions • What do OS's do? – The operating system's tasks, in the most general sense, fall into six categories: – Processor management – Memory management – Device management – Storage management – Application interface – User interface Operating System Functions OS controls every task of your computer plus access to all the computer resources Picture from HowStuffWorks.com OS Functions Scheduler Tasks • Processor Management – Allows multiple processes to share resources of processor fairly – Does this by scheduling processes to get execution time • User Processes • Microsoft Word, Foxfire or Skype • System Processes: • Print spooler, network connections, security accounts manager ... plus many others Memory Storage and Management • When an operating system manages computer's memory, there are two broad tasks to be accomplished: 1. Each process must have enough memory in which to execute, and respect memory boundaries of each other 2. Different types of memory must be used properly so that each process can run most effectively such as – Cache, RAM and Virtual Memory • First task requires operating system to set up memory boundaries for types of software and for individual applications Device Management • Path between operating system and virtually all hardware not on computer's motherboard goes through special program called a Device Driver – Driver's function by translating between electrical signals – Hardware subsystems and high-level programming languages of operating system and application programs Device Management • Drivers are separate from operating system so that new functions can be added to the driver • Thus to hardware subsystems – Without requiring operating system itself to be modified, recompiled and redistributed Device Drivers Linux Windows Smart Card Storage Management • Manages and Organizes disk resources – Includes temporary devices too – CD and DVD drives, thumb drives, external drives • Creates file systems for storing both OS types of files and user files • Must somehow keep track of who can access these files – Access Control Application Programming Interface (API) • Drivers provide a way for applications to make use of subsystems without having to know every detail of internal operations – Application Program Interfaces (APIs) let application programmers use OS functions without having to directly keep track of all the details in CPU's operation – Hides details of processor and other resources from the program Application Programming Interface (API) • For Example – Microsoft Word or Open Office Word Processor – You click, “Save file” – If didn't have an API • Word or Open Office would have to know all details of file system and ultimately call disk controller to create file on disk • Instead, language program is written in, like C or Java has a function that is mapped to operating system API for creating file User Interface MAC OS X • User Interface (UI) brings structure to interaction between user and computer – In last decade, almost all development in user interfaces has been in area of graphical user interface (GUI), – Provides the “look and feel” of the computer User Interface Windows Vista Operating System Security Functions OS Security functions • Can ask … What are primary security functions of most (all) modern Operating Systems? • Most OS implements two functions 1. User authentication 2. Access to resources 1. User authentication – 2 parts a. Positively identify the user – Compare to stored identity, user ID b. Authenticate the user OS Security functions 2. Access to Authorized Resources – Decision based on access rules – Typical authorization based on user or group individual membership and – Labels attached to objects • Example: Windows users with admin privilege – Allowed to both view and change user accounts OS's Manage Privilege Level • Two levels of privilege in modern CPU's • This is offered by CPU itself, Intel, AMD 1. User mode – unprivileged 2. Kernel mode – more privileged • OS runs in Kernel more privileged mode • User programs run in User less privileged mode – User programs make calls to the OS • • To use the hardware resources Use the OS API to access hardware User Powers • Seems to be a need to have a user with greater powers – Root, superuser or administrator • Yet, this comes with added risk – If user makes a mistake, can possibly damage the system – Or, if they get their identity stolen, attacker has full power to OS User Powers • Because of this risk problem from elevated power, concept of – “Least Privilege” • Only want to operate with minimum of needed power to get job done – So, while I could always log in as Administrator, if I get my account hijacked or I get infected by malware while I am administrator • Attackers then have full access to the machine's resources – Example: In Linux Ubuntu, have sudo command Windows Security Features Windows has evolved from a minimal security model prior to Windows NT to something fairly robust in enterprise environments with Windows Vista, 7, Server 2003, Server 2008 and beyond Look at main features of Windows security common to all Windows versions Access Control Gatekeeper to Windows Called Local Security Authority (LSA) Implemented in the service, lsass.exe What it Does 1. Validates access to objects 2. Checks user privilege 3. Creates audit messages Access Control Allows subjects to access objects Subjects – Any entity that performs some action Subjects are not just people or users Subjects are actually processes in Windows Objects – securable objects • Have associated Access Control Lists (ACL's) – Lists of permissible actions by subjects Securable Objects • Files, directories, services, Registry Keys, Windows ACLs Sets of rights Basic: Generic: read, write, execute, delete, change permission, take ownership no access, read (read/execute), change (read/write/execute/delete), full control (all), special access (assign any basic rights) Directory: no access, read (read/execute files in directory), list, add, add and read, change (create, add, read, execute, write files; delete subdirectories), full control, special access 35 35 Access Control Components User Accounts • • • Store an identifier and have associated privileges Allow access to objects and system resources Has associated Security Identifiers for internal use (SID) Windows has built-in accounts • • SYSTEM – powerful local machine account Administrator – All powerful, can be renamed but not deleted Security Identifiers (SIDs) User account has SID that uniquely identifies it Access Control User Rights Say … you log onto a Windows System How are you authenticated and what authorizes you to access computer resources? The Log-on process You enter your User ID and password Entered credentials passed to LSASS subsystem, lsass.exe Will go over details when we discuss passwords If credentials are valid, a Token is created and The Token Whats in a token? • Contains a list of Security ID's associated with a user account – • You can have multiple SIDs because you belong to multiple groups So, when user tries to access a resource such as a file, token is used by the LSASS subsystem How is token used? • • Object, say a file will have an Access Control List (ACL) that specifies SID's permitted to access the object If one of SID's in users token matches SID in Object's ACL, user granted access Windows Privilege Levels • In XP and other pre-Vista versions – Had 2 choices of privilege – 1. Administrator or 2. Normal user • Administrator – access to everything • Normal user – many system level tasks you needed to do, you couldn't do – Consequently, most people ran as Administrator most of the time Windows Privilege Levels • Vista and Windows 7 – Have more choices – Can operate as a restricted normal user and still be able to do almost everything in OS – And when necessary, you can be elevated to an administrator for a short time to accomplish some task – Called UAC – User Account Control http://technet.microsoft.com/enus/library/cc772207%28v=WS.10%29.aspx User Account Control What does it do? UAC allows an administrator to enter credentials during a non-administrator's user session to perform occasional administrative tasks without having to switch users, log off, or use the Run as command UAC also can also require administrators to specifically approve applications that will make "system-wide" changes before those applications are allowed to run, even in the administrator's user session User Account Control Windows Vista and 7, how it works: Admin Approval Mode (AAM), by default, is not enabled for the Built-in Administrator Account in Windows Vista or 7 Built-in Administrator Account is disabled by default in Windows Vista, and first user account created is placed in local Administrators group, and AAM is enabled for that account Benefits of UAC Admin Approval Mode helps prevent malicious programs from silently installing without an administrator's knowledge It also helps protect from inadvertent system-wide changes Lastly, it can be used to enforce a higher level of compliance where administrators must actively consent or provide credentials for each administrative process Tasks Only Administrators Can Perform Create, change, and delete user accounts and groups Install and uninstall programs Configure automatic updating or install Windows updates manually Install an ActiveX control Install or remove hardware device drivers Share folders Set permissions Access all files, including those in another user’s folder Take ownership of files Copy or move files into the %ProgramFiles% or %SystemRoot% folders Restore backed-up system files Grant rights to other user accounts and to themselves Configure Parental Controls Configure Windows Firewall Tasks Available to Standard Users Change the password and picture for their own user account Use programs that have been installed on the computer Install approved ActiveX controls Configure a secure Wi-Fi connection View permissions Create, change, and delete files in their document folders and in shared document folders Restore their own backed-up files View the system clock and calendar, and change the time zone Configure power options Log on in Safe Mode Summary Operating Systems by design Helps or hinders security Users and processes have access to resources on a given system According to their identities and group affiliations Want the concept of Least Privilege to be in effect Use the least privilege level to get the job done Helps with restricting access by potential bad The End • Next Time: More Desktop • Next: Vista Lab, meet in CEB 342 according to the day you signed up