IS 2150 / TEL 2810 Information Security & Privacy

Slides:



Advertisements
Similar presentations
Lecture 6 User Authentication (cont)
Advertisements

Dr. Kalpakis CMSC 421, Operating Systems. Fall 2008 URL: Security.
Vulnerability Analysis. Formal verification Formally (mathematically) prove certain characteristics Proves the absence of flaws in a program or design.
Access Control Methodologies
CS426Fall 2010/Lecture 81 Computer Security CS 426 Lecture 8 User Authentication.
19.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 19: Security The Security Problem Authentication Program Threats.
1 Vulnerability Analysis CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute April 26, 2004.
1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.
Security A system is secure if its resources are used and accessed as intended under all circumstances. It is not generally possible to achieve total security.
1 Authentication CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute March 11, 2004.
Silberschatz, Galvin and Gagne  Operating System Concepts Module 19: Security The Security Problem Authentication Program Threats System Threats.
Lesson 9-Securing a Network. Overview Identifying threats to the network security. Planning a secure network.
NS-H /11041 System Security. NS-H /11042 Authentication Verifying the identity of another entity Two interesting cases (for this class): –Computer.
Protection and Security CSCI 444/544 Operating Systems Fall 2008.
Security-Authentication
Csci5233 Computer Security1 Bishop: Chapter 12 Authentication.
Vulnerability Analysis
CS526: Information Security Chris Clifton October 16, 2003 Authentication.
Chapter 13 Processing Controls. Operating System Integrity Operating system -- the set of programs implemented in software/hardware that permits sharing.
Security Issues in Unix OS Saubhagya Joshi Suroop Mohan Chandran.
CMSC 414 Computer (and Network) Security Lecture 14 Jonathan Katz.
Buffer Overflows Lesson 14. Example of poor programming/errors Buffer Overflows result of poor programming practice use of functions such as gets and.
10/8/20151 Computer Security Authentication. 10/8/20152 Entity Authentication Entity Authentication is the process of verifying a claimed identity It.
1 Lecture 8: Authentication of People what you know (password schemes) what you have (keys, smart cards, etc.) what you are (voice recognition, fingerprints,
1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.
CSCE 522 Identification and Authentication. CSCE Farkas2Reading Reading for this lecture: Required: – Pfleeger: Ch. 4.5, Ch. 4.3 Kerberos – An Introduction.
1 IS 2150 / TEL 2810 Information Security & Privacy James Joshi Associate Professor, SIS Lecture 9 Oct 30, 2013 Authentication, Identity Vulnerability.
G53SEC 1 Authentication and Identification Who? What? Where?
COEN 350: Network Security Authentication. Between human and machine Between machine and machine.
1 IS 2150 / TEL 2810 Introduction to Security James Joshi Associate Professor, SIS Lecture 9 Nov 25, 2008 Authentication, Identity Malicious Code, Vulnerability.
Identification Authentication. 2 Authentication Allows an entity (a user or a system) to prove its identity to another entity Typically, the entity whose.
Unix Security Assessing vulnerabilities. Classifying vulnerability types Several models have been proposed to classify vulnerabilities in UNIX-type Oses.
Authentication What you know? What you have? What you are?
Vulnerability Analysis
Design Principles and Common Security Related Programming Problems
Chapter 23: Vulnerability Analysis Dr. Wayne Summers Department of Computer Science Columbus State University
CSCE 201 Identification and Authentication Fall 2015.
Chapter 12: Authentication Basics Passwords Challenge-Response Biometrics Location Multiple Methods Computer Security: Art and Science © Matt.
My topic is…………. - It is the fundamental building block and the primary lines of defense in computer security. - It is a basic for access control and.
1 IS 2150 / TEL 2810 Introduction to Security James Joshi Assistant Professor, SIS Lecture 11 Nov 15, 2007 Network Security, Authentication, Identity.
 Encryption provides confidentiality  Information is unreadable to anyone without knowledge of the key  Hashing provides integrity  Verify the integrity.
ASHRAY PATEL Protection Mechanisms. Roadmap Access Control Four access control processes Managing access control Firewalls Scanning and Analysis tools.
Chapter 29: Program Security Dr. Wayne Summers Department of Computer Science Columbus State University
CSEN 1001 Computer and Network Security Amr El Mougy Mouaz ElAbsawi.
7/10/20161 Computer Security Protection in general purpose Operating Systems.
CSCE 522 Identification and Authentication
Vulnerability Analysis
Chapeter20. Vulnerability Analysis
Chapter One: Mastering the Basics of Security
Chap 20. Vulnerability Analysis
Cryptographic Hash Function
Authentication CSE 465 – Information Assurance Fall 2017 Adam Doupé
SECURITY in IT ~Shikhar Agarwal.
The Security Problem Security must consider external environment of the system, and protect it from: unauthorized access. malicious modification or destruction.
Authentication.
Lesson 16-Windows NT Security Issues
Chapter 23: Vulnerability Analysis
VA/PT.
Authentication CSE 365 – Information Assurance Fall 2018 Adam Doupé
Security.
Chapter 29: Program Security
Computer Security Authentication
Operating System Concepts
Computer Security Protection in general purpose Operating Systems
Crisis and Aftermath Morris worm.
Chapter Goals Discuss the CIA triad
Chapter 14: Protection.
IS 2150 / TEL 2810 Introduction to Security
Authentication CSE 365 – Information Assurance Fall 2019 Adam Doupé
Presentation transcript:

IS 2150 / TEL 2810 Information Security & Privacy James Joshi Associate Professor, SIS Lecture 8 March 20, 2013 Authentication, Identity Vulnerability Analysis

Objectives Understand/explain the issues related to, and utilize the techniques Authentication and identification Vulnerability analysis/classification Techniques Taxonomy

Authentication and Identity

What is Authentication? Binding identity and external entity to subject How do we do it? Entity knows something (secret) Passwords, id numbers Entity has something Badge, smart card Entity is something Biometrics: fingerprints or retinal characteristics Entity is in someplace Source IP, restricted area terminal

Authentication System: Definition A: Set of authentication information used by entities to prove their identities (e.g., password) C: Set of complementary information used by system to validate authentication information (e.g., hash of a password or the password itself) F: Set of complementation functions (to generate C) f : A → C Generate appropriate c  C given a  A L: set of authentication functions l: A  C → { true, false } verify identity S: set of selection functions Generate/alter A and C e.g., commands to change password

Authentication System: Passwords Example: plaintext passwords A = C = alphabet* f returns argument: f(a) returns a l is string equivalence: l(a, b) is true if a = b Complementation Function Null (return the argument as above) requires that c be protected; i.e. password file needs to be protected One-way hash – function such that Complementary information c = f(a) easy to compute f-1(c) difficult to compute

Passwords Example: Original Unix A password is up to eight characters each character could be one of 127 possible characters; A contains approx. 6.9 x 1016 passwords Password is hashed using one of 4096 functions into a 11 character string 2 characters pre-pended to indicate the hash function used C contains passwords of size 13 characters, each character from an alphabet of 64 characters Approximately 3.0 x 1023 strings Stored in file /etc/passwd (all can read)

Authentication System Goal: identify the entities correctly Approaches to protecting Hide enough information so that one of a, c or f cannot be found Make C readable only to root Make F unknown Prevent access to the authentication functions L root cannot log in over the network

Attacks on Passwords Counter: Difficulty based on |A|, Time Dictionary attack: Trial and error guessing Type 1: attacker knows A, F, C Guess g and compute f(g) for each f in F Type 2: attacker knows A, l l returns True for guess g Counter: Difficulty based on |A|, Time Probability P of breaking a password G be the number of guesses that can be tested in one time unit |A| ≥ TG/P Assumptions: time constant; all passwords are equally likely

Password Selection Random Pronounceable nonsense Depends on the quality of random number generator; Size of legal passwords 8 characters: humans can remember only one Pronounceable nonsense Based on unit of sound (phoneme) Easier to remember User selection (proactive selection) Controls on allowable At least 1 digit, 1 letter, 1 punctuation, 1 control character Obscure poem verse

Password Selection Reusable Passwords susceptible to dictionary attack (type 1) Salting can be used to increase effort needed makes the choice of complementation function a function of randomly selected data Random data is different for different user Authentication function is chosen on the basis of the salt Many Unix systems: A salt is randomly chosen from 0..4095 Complementation function depends on the salt

Password Selection Password aging Fundamental problem is reusability Change password after some time: based on expected time to guess a password Disallow change to previous n passwords Fundamental problem is reusability Replay attack is easy Solution: Authenticate in such a way that the transmitted password changes each time

Authentication Systems: Challenge-Response Pass algorithm authenticator sends message m subject responds with f(m) f is a secret encryption function Example: ask for second input based on some algorithm

Authentication Systems: Challenge-Response One-time password: invalidated after use f changes after use S/Key uses a hash function (MD4/MD5) User chooses an initial seed k Key generator calculates k1 = h(k), k2 = h(k1) …, kn = h(kn-1) Passwords used in the order p1 = kn, p2 = kn-1, …, pn =k1 Suppose p1 = kn is intercepted; the next password is p2 = kn-1 Since h(kn-1) = kn, the attacker needs to invert h to determine the next password

Authentication Systems: Biometrics Used for human subject identification based on physical characteristics that are tough to copy Fingerprint (optical scanning) Camera’s needed (bulky) Voice Speaker-verification (identity) or speaker-recognition (info content) Iris/retina patterns (unique for each person) Laser beaming is intrusive Face recognition Facial features can make this difficult Keystroke interval/timing/pressure

Attacks on Biometrics Fake biometrics fingerprint “mask” copy keystroke pattern Fake the interaction between device and system Replay attack Requires careful design of entire authentication system

Vulnerability Analysis

Vulnerability Analysis Vulnerability or security flaw: specific failures of security controls (procedures, technology or management) Errors in code Human violators Mismatch between assumptions Exploit: Use of vulnerability to violate policy Attacker: Attempts to exploit the vulnerability

Techniques for Detecting Vulnerabilities System Verification Determine preconditions, post-conditions Validate that system ensures post-conditions given preconditions Can prove the absence of vulnerabilities Penetration testing Start with system/environment characteristics Try to find vulnerabilities Can not prove the absence of vulnerabilities

Types/layers of Penetration Testing Black Box (External Attacker) External attacker has no knowledge of target system Attacks built on human element – Social Engineering System access provided (External Attacker) Red team provided with limited access to system Goal is to gain normal or elevated access Internal attacker Red team provided with authorized user access Goal is to elevate privilege / violate policy

Red Team Approach Flaw Hypothesis Methodology: Information gathering Examine design, environment, system functionality Flaw hypothesis Predict likely vulnerabilities Flaw testing Determine where vulnerabilities exist Flaw generalization Attempt to broaden discovered flaws Flaw elimination (often not included) Suggest means to eliminate flaw Flaw does Not exist Refine with new understanding

Problems with Penetration Testing Nonrigorous Dependent on insight (and whim) of testers No good way of evaluating when “complete” How do we make it systematic? Try all classes of likely flaws But what are these? Vulnerability Classification!

Vulnerability Classification Goal: describe spectrum of possible flaws Enables design to avoid flaws Improves coverage of penetration testing Helps design/develop intrusion detection How do we classify? By how they are exploited? By where they are found? By the nature of the vulnerability?

Example flaw: xterm log xterm runs as root Generates a log file Appends to log file if file exists Problem: ln /etc/passwd log_file Solution if (access(“log_file”, W_OK) == 0) If ((fd = open(“log_file”, O_WRONLY|O_APPEND)) < 0) { - error handling } What can go wrong?

Example: Finger Daemon (exploited by Morris worm) finger sends name to fingerd fingerd allocates 512 byte buffer on stack Places name in buffer Retrieves information (local finger) and returns Problem: If name > 512 bytes, overwrites return address Exploit: Put code in “name”, pointer to code in bytes 513+ Overwrites return address

RISOS:Research Into Secure Operating Systems (7 Classes) Incomplete parameter validation E.g., buffer overflow – Inconsistent parameter validation Different routines with different formats for same data Implicit sharing of privileged / confidential data OS fails to isolate processes and users Asynchronous validation / inadequate serialization Race conditions and TOCTTOU flaws Inadequate identification /authentication / authorization Trojan horse; accounts without passwords Violable prohibition / limit Improper handling of bounds conditions (e.g., in memory allocation) Exploitable logic error Incorrect error handling, incorrect resource allocations etc.

Protection Analysis Model Classes Pattern-directed protection evaluation Methodology for finding vulnerabilities Applied to several operating systems Discovered previously unknown vulnerabilities Resulted in two-level hierarchy of vulnerability classes Ten classes in all

PA flaw classes Improper protection domain initialization and enforcement domain: Improper choice of initial protection domain exposed representations: Improper isolation of implementation detail (Covert channels) consistency of data over time: Improper change naming: Improper naming (two objects with same name) residuals: Improper deallocation or deletion Improper validation validation of operands, queue management dependencies: Improper synchronization interrupted atomic operations: Improper indivisibility serialization: Improper sequencing Improper choice of operand or operation critical operator selection errors

NRL Taxonomy Three classification schemes Genesis How did it enter When was it “created” Where is it Genesis

NRL Taxonomy (Genesis) Inadvertent Validation error (Incomplete/Inconsistent) Domain error (including object re-use, residuals, and exposed representation errors Serialization/aliasing (including TCTTOU errors) Boundary conditions violation (including resource exhaustion and violable constraint errors) Other exploitable logic error

NRL Taxonomy: Time

NRL Taxonomy: Location

Aslam’s Model Attempts to classify faults unambiguously Decision procedure to classify faults Coding Faults Synchronization errors Timing window Improper serialization Condition validation errors Bounds not checked Access rights ignored Input not validated Authentication / Identification failure Emergent Faults Configuration errors Wrong install location Wrong configuration information Wrong permissions Environment Faults

Common Vulnerabilities and Exposures (cve.mitre.org) Captures specific vulnerabilities Standard name Cross-reference to CERT, etc. Entry has three parts Unique ID Description References Name CVE-1999-0965 Description Race condition in xterm allows local users to modify arbitrary files via the logging option. References CERT:CA-93.17 XF:xterm