Introduction to Security



Similar documents
CS52600: Information Security

CS 392/681 - Computer Security. Module 16 Vulnerability Analysis

(General purpose) Program security. What does it mean for a pgm to be secure? Depends whom you ask. Takes a long time to break its security controls.

CMSC 421, Operating Systems. Fall Security. URL: Dr. Kalpakis

Application Intrusion Detection

CSC Network Security. User Authentication Basics. Authentication and Identity. What is identity? Authentication: verify a user s identity

FINAL DoIT v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES

Integrated Network Vulnerability Scanning & Penetration Testing SAINTcorporation.com

e-governance Password Management Guidelines Draft 0.1

Chapter 23. Database Security. Security Issues. Database Security

Authentication. Computer Security. Authentication of People. High Quality Key. process of reliably verifying identity verification techniques

CSE331: Introduction to Networks and Security. Lecture 15 Fall 2006

FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. Chapter 4 Finding Network Vulnerabilities

Part I. Universität Klagenfurt - IWAS Multimedia Kommunikation (VK) M. Euchner; Mai Siemens AG 2001, ICN M NT

Auditing a Web Application. Brad Ruppert. SANS Technology Institute GWAS Presentation 1

Issue 1. Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation

Columbia University Web Security Standards and Practices. Objective and Scope

NETWORK AND CERTIFICATE SYSTEM SECURITY REQUIREMENTS

What is Auditing? Auditing. Problems. Uses. Audit System Structure. Logger. Reading: Chapter 24. Logging. Slides by M. Bishop are used.

Multi-factor authentication

What is Auditing? IT 4823 Information Security Administration. Problems. Uses. Logger. Audit System Structure. Logging. Auditing. Auditing November 7

Penetration Testing Report Client: Business Solutions June 15 th 2015

Digital Identity & Authentication Directions Biometric Applications Who is doing what? Academia, Industry, Government

Thick Client Application Security

Chapter 8 Software Testing

- Table of Contents -

The City of New York

SY system so that an unauthorized individual can take over an authorized session, or to disrupt service to authorized users.

E-BUSINESS THREATS AND SOLUTIONS

Research Article. Research of network payment system based on multi-factor authentication

3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management

1 hours, 30 minutes, 38 seconds Heavy scan. All scanned network resources. Copyright 2001, FTP access obtained

Host Hardening. Presented by. Douglas Couch & Nathan Heck Security Analysts for ITaP 1

Common Criteria Web Application Security Scoring CCWAPSS

Security+ Guide to Network Security Fundamentals, Fourth Edition. Chapter 10 Authentication and Account Management

SECURITY TRENDS & VULNERABILITIES REVIEW 2015

Detecting SQL Injection Vulnerabilities in Web Services

Introduction to computer and network security. Session 2 : Examples of vulnerabilities and attacks pt1

Soran University Faculty of Science and Engineering Computer Science Department Information Security Module Specification

Chapter 23. Database Security. Security Issues. Database Security

Security. Definitions

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering

Threats and Attacks. Modifications by Prof. Dong Xuan and Adam C. Champion. Principles of Information Security, 5th Edition 1

Lecture 18: More Assurance

Discovering passwords in the memory

Plain English Guide To Common Criteria Requirements In The. Field Device Protection Profile Version 0.75

SPICE EduGuide EG0015 Security of Administrative Accounts

VPN Client User s Guide Issue 2

Windows Remote Access

E-commerce. Security. Learning objectives. Internet Security Issues: Overview. Managing Risk-1. Managing Risk-2. Computer Security Classifications

USB Portable Storage Device: Security Problem Definition Summary

BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: Security Note

Homeland Security Red Teaming

Network and Host-based Vulnerability Assessment

Malicious Software. Ola Flygt Växjö University, Sweden Viruses and Related Threats

Distributed File Systems Part I. Issues in Centralized File Systems

FINAL DoIT v.8 APPLICATION SECURITY PROCEDURE

DFW INTERNATIONAL AIRPORT STANDARD OPERATING PROCEDURE (SOP)

Specification and Analysis of Contracts Lecture 1 Introduction

BBM 461: SECURE PROGRAMMING INTRODUCTION. Ahmet Burak Can

Information Security

User Identification and Authentication Concepts

Security Guide. BlackBerry Enterprise Service 12. for ios, Android, and Windows Phone. Version 12.0

CS 356 Lecture 28 Internet Authentication. Spring 2013

HIPAA Security Alert

Network Security. 1 Pass the course => Pass Written exam week 11 Pass Labs

Information Technology Security Evaluation Criteria. ITSEC Joint Interpretation Library (ITSEC JIL)

What is Web Security? Motivation

Passing PCI Compliance How to Address the Application Security Mandates

Internet Firewall Vulnerability Analysis Method

My FreeScan Vulnerabilities Report

Criteria for web application security check. Version

Worms, Trojan Horses and Root Kits

Central Agency for Information Technology

NETWORK SECURITY: How do servers store passwords?

Network Security Policy

Overview of Network Security The need for network security Desirable security properties Common vulnerabilities Security policy designs

Application-Specific Biometric Templates

Security aspects of e-tailing. Chapter 7

Penetration Testing Getting the Most out of Your Assessment. Chris Wilkinson Crowe Horwath LLP September 22, 2010

Certification Report

Data Management Policies. Sage ERP Online

Hands-On Ethical Hacking and Network Defense Second Edition Chapter 8 Desktop and Server OS Vulnerabilities

REGULATIONS FOR THE SECURITY OF INTERNET BANKING

Network Security. Chapter 12. Learning Objectives. Chapter Outline. After reading this chapter, you should be able to:

PINsafe Multifactor Authentication Solution. Technical White Paper

Transcription:

IS 2150 / TEL 2810 Introduction to Security James Joshi Associate Professor, SIS Lecture 9 Nov 16, 2010 Authentication, Identity Vulnerability Analysis 1

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

Authentication and Identity 3

What is Authentication? 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 4

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 5

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 -1 f (c) difficult to compute 6

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 10 16 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 10 23 strings Stored in file /etc/passwd (all can read) 7

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 8

Attacks on Passwords 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 in time T 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 9

Password Selection Random 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 10

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 11

Password Selection Password aging 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 12

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 13

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 k 1 = h(k), k 2 = h(k 1 ), k n = h(k n-1 ) Passwords used in the order p 1 = k n, p 2 = k n-1,, p n =k 1 Suppose p 1 = k n is intercepted; the next password is p 2 = k n-1 Since h(k n-1 ) = k n, the attacker needs to invert h to determine the next password 14

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) t) Iris/retina patterns (unique for each person) Laser beaming is intrusive Face recognition Facial features can make this difficult Keystroke interval/timing/pressure 15

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 16

Vulnerability Analysis 17

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 18

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 19

Types/layers y 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 20

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 Flaw does Not exist Attempt to broaden discovered flaws Flaw elimination (often not included) Suggest means to eliminate flaw Refine with new understanding 21

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! 22

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? 23

Example flaw: xterm log xterm runs as root Generates a log file Appends to log file if file exists Problem: ln /etc/passwd /p 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? 24

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 25

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

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 27

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

NRL Taxonomy Three classification schemes How did it enter When was it created Where is it Genesis Intentional Malicious Nonmalicious Trapdoor Trojan horse Logic/time bomb Covert channel Other Nonreplicating Replicating Timingi Storage 29

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

NRL Taxonomy: Time Time of introduction o Development Maintenance Operation Requirement specification design Source code Object code 31

NRL Taxonomy: Location Location Operating System Software Application Hardware Support System initialization Process management / scheduling File Management Other / Unknown Memory Management Device management Identification / Authentication Privileged Utilities Unprivileged Utilities 32

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 33

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 Description References CERT:CA-93.17 XF:xterm CVE-1999-0965 Race condition in xterm allows local users to modify arbitrary files via the logging option. 34