Preventing Privilege Escalation Presented By Chad Frommeyer.

Slides:



Advertisements
Similar presentations
Overview Network security involves protecting a host (or a group of hosts) connected to a network Many of the same problems as with stand-alone computer.
Advertisements

November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #12-1 Chapter 12: Design Principles Overview Principles –Least Privilege –Fail-Safe.
Chapter 19: Network Management Business Data Communications, 5e.
Access Control Methodologies
1 Design Principles CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute April 13, 2004.
Security Presented by : Qing Ma. Introduction Security overview security threats password security, encryption and network security as specific.
Slide 1 Client / Server Paradigm. Slide 2 Outline: Client / Server Paradigm Client / Server Model of Interaction Server Design Issues C/ S Points of Interaction.
SSH: An Internet Protocol By Anja Kastl IS World Wide Web Standards.
CS533 Concepts of Operating Systems Class 14 Virtualization.
CS-550 (M.Soneru): Protection and Security - 1 [SaS] 1 Protection and Security.
Lesson 11-Virtual Private Networks. Overview Define Virtual Private Networks (VPNs). Deploy User VPNs. Deploy Site VPNs. Understand standard VPN techniques.
Information Networking Security and Assurance Lab National Chung Cheng University 1 Top Vulnerabilities in Web Applications (I) Unvalidated Input:  Information.
ISA 3200 NETWORK SECURITY Chapter 10: Authenticating Users.
Distributed Information Systems - The Client server model
Operating Systems CS208. What is Operating System? It is a program. It is the first piece of software to run after the system boots. It coordinates the.
Towards Application Security On Untrusted OS
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
©Ian Sommerville 2006Critical Systems Slide 1 Critical Systems Engineering l Processes and techniques for developing critical systems.
 Proxy Servers are software that act as intermediaries between client and servers on the Internet.  They help users on private networks get information.
Chapter 10: Authentication Guide to Computer Network Security.
Networked File System CS Introduction to Operating Systems.
Security Security is a measure of the system’s ability to protect data and information from unauthorized access while still providing access to people.
Csci5233 Computer Security1 Bishop: Chapter 27 System Security.
Lesson 20-Wireless Security. Overview Introduction to wireless networks. Understanding current wireless technology. Understanding wireless security issues.
Least-Privilege Isolation: The OKWS Web Server Brad Karp UCL Computer Science CS GZ03 / M th December, 2008.
1 Boundary Control Chapter Materi: Boundary controls:  Cryptographic controls  Access controls  Personal identification numbers  Digital signatures.
AE6382 Secure Shell Usually referred to as ssh, the name refers to both a program and a protocol. The program ssh is one of the most useful networking.
Network Security. 2 SECURITY REQUIREMENTS Privacy (Confidentiality) Data only be accessible by authorized parties Authenticity A host or service be able.
Privilege separation in Condor Bruce Beckles University of Cambridge Computing Service.
Information Security What is Information Security?
Building Secure Web Applications With ASP.Net MVC.
Operating Systems Lecture November 2015© Copyright Virtual University of Pakistan 2 Agenda for Today Review of previous lecture Hardware (I/O, memory,
14.1/21 Part 5: protection and security Protection mechanisms control access to a system by limiting the types of file access permitted to users. In addition,
Securing Passwords Against Dictionary Attacks Presented By Chad Frommeyer.
Lesson 19-E-Commerce Security Needs. Overview Understand e-commerce services. Understand the importance of availability. Implement client-side security.
Silberschatz, Galvin and Gagne  Operating System Concepts UNIT II Operating System Services.
Distributed System Services Fall 2008 Siva Josyula
The world leader in serving science Overview of Thermo 21 CFR Part 11 tools Overview of software used by multiple business units within the Spectroscopy.
Security Architecture of qmail and Postfix Authors: Munawar Hafiz Ralph E. Johnson Prepared by Geoffrey Foote CSC 593 Secure Software Engineering Seminar.
By: Nathan Narvaez. A system that links together electronic office equipment, such as computers and word processors, and forms a network within an office.
"Using An Enhanced Dictionary to Facilitate Auditing Techniques Related to Brute Force SSH and FTP Attacks" Ryan McDougall St. Cloud State University
Presented by: Dr. Munam Ali Shah
Fall 2008CS 334: Computer SecuritySlide #1 Design Principles Thanks to Matt Bishop.
June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #13-1 Chapter 13: Design Principles Overview Principles –Least Privilege –Fail-Safe.
1 Border Gateway Protocol (BGP) and BGP Security Jeff Gribschaw Sai Thwin ECE 4112 Final Project April 28, 2005.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 2.
Ch 26 & 27 Operating Systems.  Understand the purpose of an operating system  Be able to describe the tasks performed by an operating system.
June 1, 2004© Matt Bishop [Changed by Hamid R. Shahriari] Slide #13-1 Chapter 13: Design Principles Overview Principles –Least Privilege –Fail-Safe.
Slide #13-1 Design Principles CS461/ECE422 Computer Security I Fall 2008 Based on slides provided by Matt Bishop for use with Computer Security: Art and.
1 Design Principles CS461 / ECE422 Spring Overview Simplicity  Less to go wrong  Fewer possible inconsistencies  Easy to understand Restriction.
1 Example security systems n Kerberos n Secure shell.
Network Security Presented by: JAISURYA BANERJEA MBA, 2ND Semester.
Chapter 14: System Protection
Outline What does the OS protect? Authentication for operating systems
Security Shmuel Wimer prepared and instructed by
Introduction to Operating System (OS)
Outline What does the OS protect? Authentication for operating systems
Chapter 2 (Handout 1– only sections 2.1, 2.2 and 2.3)
Chapter 2: The Linux System Part 2
Privilege Separation in Condor
Chapter 14: Protection.
SECURITY IN THE LINUX OPERATING SYSTEM
Functions of an operating system
Operating Systems Lecture 3.
Chapter 14: Protection.
Introduction to Operating Systems
Chapter 29: Program Security
Processes Creation and Threads
Preventing Privilege Escalation
Least-Privilege Isolation: The OKWS Web Server
Presentation transcript:

Preventing Privilege Escalation Presented By Chad Frommeyer

Preventing Privilege Escalation Introduction Least Privilege Privilege Separation Privilege Separation in OpenSSH Security/Performance Analysis Related Work/Conclusion

Introduction Programming Errors result in unauthorized acquisition of privileges Privilege Separation allows an application to run with different levels of privilege Privilege Separation is useful for services that authenticate users Privilege Separation Illustration with OpenSSH

Least Privilege Privilege – a security attribute that is required for certain operations Least Privilege – every program and every user should operate using the least amount of privilege to complete the job Most approaches including least privilege are still susceptible to programming errors

Privilege Separation Separates applications into privileged and unprivileged parts Separation is independent of operating system protections Reduces the amount of code running under special privileges Accomplished by Monitor/Slave Techniques

Privilege Separation Reduces the number of programming errors in privileged sections Security source code audits can be more focused and thorough Abuse that is successful usually only results in denial of services not high privileged access

Privilege Separation Phases –Pre-Authentication Phase User has contacted the system service but is not yet authenticated –Post-Authentication Phase User has successfully authenticated to the system Child process maintains the privileges of the authenticated user

Privilege Separation Issues with Implementation –How to communicate from Monitor to Slave –How to pass data from Monitor to Slave –How to change user identity of the slave process –How to validate the slave’s request

Privilege Separation

Separating Privileges in OpenSSH

Pre-Authentication Phase –Key Exchange –Authenticated Key Exchange –User Validation –Password authentication –Public Key Authentication Slave changes identity after Pre- Authentication phase completes successfully

Separating Privileges in OpenSSH Post-Authentication Phase –Key Exchange –Pseudo terminal Creation Alternative Design –Add an additional Child process to handle network traffic –Child processes can communicate –Removes the need to export state and use shared memory

Separating Privileges in OpenSSH Separating Privileges had the following effects –Increased source code size, reduced code complexity –Interface improvement –Better code organization –Less complex and easier to understand –Opens ability to support security critical source code reusability (Libraries)

Security/Performance Analysis

Potential Problems Still exist by the slave being compromised –Use Signal or Ptrace to gain additional access –Gain access to the file system –Gain access to network connections –Gain access to privileged system information –Effect the Monitor by accessing the Monitor/Slave communication method –Starve the system by continually forking processes

Security/Performance Analysis Past Security Issues –A number of security issues in SSH-1 have been shown to be contained when privilege separation was implemented CRC32 Compensation Atack Off by one error Zlib compression security problem Kerberos ticket passing

Security/Performance Analysis

Related Work/Conclusion Least privilege allows privileged code to an adversary, Privilege separation doesn’t Other applications that use similar techniques –Postfix –Evans very secure FTP –Solar Designer

Related Work/Conclusion Programming errors in privileged services give an adversary unauthorized privileges With privilege separation, only unprivileged parts are accessible to adversaries OpenSSH is working proof to the success of this concept Performance is not compromised