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



Similar documents
CS52600: Information Security

Introduction to Security

A Taxonomy of UNIX System and Network Vulnerabilities. Matt Bishop CSE May 1995

(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.

Lecture 18: More Assurance

A Taxonomy of Computer Program Security Flaws, with Examples

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

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

IS 2150 / TEL 2810 Introduction to Security

Access Control Fundamentals

Data Management Policies. Sage ERP Online

Computer Security. COMP 424 Lecture week 6 Program Security

COMMONWEALTH OF PENNSYLVANIA DEPARTMENT S OF PUBLIC WELFARE, INSURANCE, AND AGING

NETWORK AND CERTIFICATE SYSTEM SECURITY REQUIREMENTS

Penetration Testing Service. By Comsec Information Security Consulting

Configuring Logging. IT 4823 Information Security Administration. How Long Must Logs Be Maintained. Determining What Should Be Logged

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

Network and Host-based Vulnerability Assessment

Development Processes (Lecture outline)

Software Asset Management (SWAM) Capability Data Sheet

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

Discovering passwords in the memory

Passing PCI Compliance How to Address the Application Security Mandates

Taxonomic Modeling of Security Threats in Software Defined Networking

Secure Web Application Coding Team Introductory Meeting December 1, :00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda

CS 356 Lecture 17 and 18 Intrusion Detection. Spring 2013

Guideline on Auditing and Log Management

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

Columbia University Web Security Standards and Practices. Objective and Scope

Network Security Audit. Vulnerability Assessment (VA)

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

Computer Security. Evaluation Methodology CIS Value of Independent Analysis. Evaluating Systems Chapter 21

Redhawk Network Security, LLC Layton Ave., Suite One, Bend, OR

The purpose of this report is to educate our prospective clients about capabilities of Hackers Locked.

CS574 Computer Security. San Diego State University Spring 2008 Lecture #7

KEN VAN WYK. Fundamentals of Secure Coding and how to break Software MARCH 19-23, 2007 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 ROME (ITALY)

Digital Rights Management Demonstrator

Chapter 23. Database Security. Security Issues. Database Security

A PRACTICAL APPROACH TO INCLUDE SECURITY IN SOFTWARE DEVELOPMENT

USM IT Security Council Guide for Security Event Logging. Version 1.1

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

A State of the Art Security Taxonomy of Internet Security: Threats and Countermeasures

Open Data Center Alliance Usage: Provider Assurance Rev. 1.1

Securing your Virtual Datacenter. Part 1: Preventing, Mitigating Privilege Escalation

CEN 559 Selected Topics in Computer Engineering. Dr. Mostafa H. Dahshan KSU CCIS

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

DEFENSE THROUGHOUT THE VULNERABILITY LIFE CYCLE WITH ALERT LOGIC THREAT AND LOG MANAGER

Ohio Supercomputer Center

Compliance Guide ISO Compliance Guide. September Contents. Introduction 1. Detailed Controls Mapping 2.

Designing a Secure Client-Server System Master of Science Thesis in the Programme Software Engineering & Technology

BBM 461: SECURE PROGRAMMING INTRODUCTION. Ahmet Burak Can

Professional Penetration Testing Techniques and Vulnerability Assessment ...

ITEC441- IS Security. Chapter 15 Performing a Penetration Test

Detecting SQL Injection Vulnerabilities in Web Services

Database security issues PETRA BILIĆ ALEXANDER SPARBER

The President s Critical Infrastructure Protection Board. Office of Energy Assurance U.S. Department of Energy 202/

NEW JERSEY STATE POLICE EXAMPLES OF CRIMINAL INTENT

REGULATIONS FOR THE SECURITY OF INTERNET BANKING

- Table of Contents -

2. From a control perspective, the PRIMARY objective of classifying information assets is to:

Global Partner Management Notice

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

D. Best Practices D.2. Administration The 6 th A

North Dakota 2013 IT Security Audit Vulnerability Assessment & Penetration Test Project Briefing

CIS 551 / TCOM 401 Computer and Network Security

FINAL DoIT v.8 APPLICATION SECURITY PROCEDURE

90% of data breaches are caused by software vulnerabilities.

VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wānanga o te Ūpoko o te Ika a Māui

Application Intrusion Detection

Penetration testing. A step beyond missing patches and weak passwords

Department of Veterans Affairs

Introduction to Computer Security

Taxonomic Modeling of Security Threats in Software Defined Networking. Jennia Hizver PhD in Computer Science

Pension Benefit Guaranty Corporation. Office of Inspector General. Evaluation Report. Penetration Testing An Update

Information Security Services

Homeland Security Red Teaming

Security Testing. Vulnerability Assessment vs Penetration Testing. Gabriel Mihai Tanase, Director KPMG Romania. 29 October 2014

Penetration Testing. Security Testing

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

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

North American Electric Reliability Corporation: Critical Infrastructure Protection, Version 5 (NERC-CIP V5)

Cutting Edge Practices for Secure Software Engineering

Chapter 23. Database Security. Security Issues. Database Security

Exam 1 - CSIS 3755 Information Assurance

This chapter covers the following topics: Why Network Security Is Necessary Secure Network Design Defined Categorizing Network Security Threats How

Smart Card- An Alternative to Password Authentication By Ahmad Ismadi Yazid B. Sukaimi

Penetration Testing Report Client: Business Solutions June 15 th 2015

Chapter 6: Fundamental Cloud Security

Thick Client Application Security

Network Security Threat Matrix May 2004

QuickBooks Online: Security & Infrastructure

Smithsonian Enterprises

Threat Modeling. Categorizing the nature and severity of system vulnerabilities. John B. Dickson, CISSP

DIVISION OF INFORMATION SECURITY (DIS) Information Security Policy Threat and Vulnerability Management V1.0 April 21, 2014

Pen Testing Methodology Gueststealer TomCat Zero Day Directory Traversal VASTO

E- Encryption in Unix

Payment Card Industry (PCI) Data Security Standard

Penetration Testing in Romania

Weighted Total Mark. Weighted Exam Mark

Transcription:

CS 392/681 - Computer Security Module 16 Vulnerability Analysis

Course Policies and Logistics Homework 5 due tonight Homework 6 posted Read Chapter 23 11/13/2003 Module 16 - Vulnerability Analysis 2

Some definitions Computer system A computer system consists of software, hardware, policies and people Vulnerability Failure or weakness in a computer system that leads to violations of its policies, procedures and integrity Exploit Use of vulnerability to violate the policies, procedures Attacker One who attempts to exploit a vulnerability 11/13/2003 Module 16 - Vulnerability Analysis 3

Two types of Vulnerability Testing Formal Verification: In formal verifications preconditions give the constrains of the state of the system when the program is run, and the postconditions state the effect of running the program Formal verification can theoretically prove the absence of vulnerabilities Penetration Testing: In penetration testing preconditions describe the state of the system in which hypothesized security flaw can be exploited and the postconditions are the result of testing. If the postconditions are inconsistent with the security policies the hypothesis is correct- in other words a vulnerability exists. Cannot prove the absence of vulnerabilities but can only prove their existence 11/13/2003 Module 16 - Vulnerability Analysis 4

Why Penetration Analysis? If formal verification can prove existence of vulnerabilities why not use it instead of penetration testing? Formal verification is applied to software components. Formal verifications do not capture flaws in the policies, procedures and people! Penetration analysis attempts to capture flaws in the whole computer system However, penetration analysis is not a substitute to rigorous design and implementation of computer systems 11/13/2003 Module 16 - Vulnerability Analysis 5

Penetration Testing (PenTest) Also known as Penetration analysis (PentAn) Tiger team attack Read team [Blue team] Ultimate goal of the test is to violate a site s security policies However, usefulness of the study comes from degree of penetration, documentation and conclusions of the study not from the success or failure of the attempted penetration For example: successful compromise of user data is not equivalent to privilege escalation in a computer system 11/13/2003 Module 16 - Vulnerability Analysis 6

Layered Model for Penetration Testing 1. External attacker with no knowledge Testers know the target exists Have enough information to identify it No access, they have to figure this out social engineering Cannot get information about security of the system Usually not part of penetration testing 2. External attacker with access to the system Attackers have access to the system Either use a access mechanism to login Usual attacks: guessing passwords, look for unprotected accounts (guest) Attack network servers Usually exploits implementation flaws 11/13/2003 Module 16 - Vulnerability Analysis 7

Layered model contd. 3. Internal attacker with access to system Testers have an authorized account on the system Tests involve gaining unauthorized privileges Exploits design, operational and implementation flaws 11/13/2003 Module 16 - Vulnerability Analysis 8

Flaw Hypothesis Methodology Penetration testing methodology springs from flaw hypothesis methodology Developed by System Development Cooperation and provides a framework for penetration studies Information gathering Flaw hypothesis Flaw testing Flaw generalization Flaw elimination 11/13/2003 Module 16 - Vulnerability Analysis 9

Information Gathering Design and implementation of the system is analyzed Design specifications and manuals Operating system Services Users Fingerprinting: Identifying system parameters Active fingerprinting Passive fingerprinting Testers should identify policies that govern the system 11/13/2003 Module 16 - Vulnerability Analysis 10

Flaw Hypothesis Testers use the knowledge gathered in previous step Identify flaws in similar systems Prior records of testing CERT documents Newsgroups Faulty configurations and defaults Hypothesize flaws in current system 11/13/2003 Module 16 - Vulnerability Analysis 11

Flaw Testing Prioritize the flaw hypothesis Priority is a function of goals of the test External access to system Privilege escalation Internal access Demonstrate the flaw either through analysis or proof of concept Proof of concept code segments can be found on the Internet, Newsgroups etc. 11/13/2003 Module 16 - Vulnerability Analysis 12

Flaw Generalization Generalize the flaws by categorization Buffer overflows Setuid flaws Etc. Different category flaws alone may be benign but a combined flaw can be devastating See Secure Programming lectures for examples Analyze the system for similar flaws or flaws of same family 11/13/2003 Module 16 - Vulnerability Analysis 13

Flaw Elimination Vulnerability analysis, testing usually does not fix flaws Recommendations are made to development team based on flaws and exploits 11/13/2003 Module 16 - Vulnerability Analysis 14

Goals of VA Develop ability to specify, design and implement information systems without vulnerabilities Develop techniques to analyze information systems for vulnerabilities Develop ability to address any vulnerabilities introduced during the operation of the information system Develop techniques to detect attempted exploits 11/13/2003 Module 16 - Vulnerability Analysis 15

VA Frameworks Frameworks are abstractions developed by classifiers to achieve certain goals. Frameworks present different perspectives. Frameworks we will cover Research Into Secure Operating System (RISOS) Protection Analysis Model NRL Taxonomy Aslam s Model 11/13/2003 Module 16 - Vulnerability Analysis 16

RISOS Goal: help information systems managers understand security issues in OS and help estimate the effort required to enhance system security Flaw Classes 1. Incomplete parameter validation 2. Inconsistent parameter validation 3. Implicit sharing of privileged data 4. Asynchronous validation 5. Inadequate authentication 6. Violable prohibition 7. Exploitable logic error 11/13/2003 Module 16 - Vulnerability Analysis 17

RISOS Classes Incomplete parameter validation Parameters are not checked properly before use Check parameters for type, value, access permissions and their presence or absence E.g: buffer overflows Inconsistent parameter validation Data validation is done on inconsistent data format E.g: delimiters of one routine may be data to another Implicit sharing of privileged data Failure to isolate processes and users properly E.g: password guessing on TENEX Asynchronous validation Race conditions 11/13/2003 Module 16 - Vulnerability Analysis 18

RISOS Classes Inadequate authentication Failure to properly authenticating users E.g: guest accounts, Trojan Horses Violable prohibition Failure to handle bounds conditions properly E.g: failure in array bound checks, pointer arithmetic Exploitable logic error Flaws that don t fall into any of the above classes 11/13/2003 Module 16 - Vulnerability Analysis 19

Protection Analysis Model Goal: attempted to break the operating system into smaller manageable pieces to reduce the required expertise in dealing with operating systems 11/13/2003 Module 16 - Vulnerability Analysis 20

Protection Analysis Model Flaw classes Improper protection domain initialization and enforcement Improper choice of initial protection domain Improper isolation of implementation detail Improper change Improper naming Improper deallocation or deletion Improper validation Improper synchronization Improper indivisibility Improper sequencing Improper choice of operand or operation 11/13/2003 Module 16 - Vulnerability Analysis 21

Protection Analysis Model Improper protection domain initialization and enforcement Flaws raising from initialization of the system or programs and enforcement of security requirements Improper choice of initial protection domain Bad umask values Improper isolation of implementation details Failure to provide proper abstractions Improper change Change in property bindings. E.g: access-open calls Improper naming Collisions in names of objects in a system E.g: naming a user file ls Improper deallocation Inadequate garbage collection E.g: failure to free memory 11/13/2003 Module 16 - Vulnerability Analysis 22

Protection Analysis Model Improper validation Improper validation of parameters and data E.g: bounds checking buffer overflows Improper synchronization Occurs when designers fail to synchronize events properly Improper indivisibility Failure to provide atomic operations Improper sequencing Inadequate logic sequences in events E.g: flaws in some one-time password schemes Improper choice of operand or operation Inappropriate or erroneous calls to functions E.g: calling rand() without seeding it! 11/13/2003 Module 16 - Vulnerability Analysis 23

The NRL Taxonomy Goal: a taxonomy to help designers and operators of the system enforce security. Three questions to answer How did the flaw enter the system? When did it enter the system? Where in the system is it manifest? Built three different sets of flaw classes to answer the above questions Flaw by Genesis Flaw by Time of Introduction Flaw by Location 11/13/2003 Module 16 - Vulnerability Analysis 24

NRL: Flaws by Genesis Malicious Trojan Horse Non-replicating Replicating Trapdoor Logic/Time Bomb Non-Malicious Covert Channel Storage Timing Other 11/13/2003 Module 16 - Vulnerability Analysis 25

NRL: Flaws by Time of Introduction Development Requirements Source Code Object Code Maintenance Operation 11/13/2003 Module 16 - Vulnerability Analysis 26

NRL: Flaws by Location Software Operating System System initalization Memory management Process management Device management File management Authentication Other/unknown Support Privileged utilities Unprivileged utilities Application Hardware Faulty APIs 11/13/2003 Module 16 - Vulnerability Analysis 27

Aslam s Model Goal: Group security flaws in Unix by similar faults without ambiguity to store in databases Flaw Classes Coding faults Synchronization errors Condition validation errors Emergence faults Configuration errors Environment faults 11/13/2003 Module 16 - Vulnerability Analysis 28

Gupta s and Gligor s Theory A formal analysis technique to detect vulnerabilities arising from failure to perform adequate checks Hypothesis Of Penetration Patterns System flaws that cause a large class of penetration patterns can be identified in system source code as incorrect/absent condition checks or integrated flaws that violate the intentions of the system designers Of Penetration-Resistant Systems A system is largely resistant to penetration if it adheres to a specific set of design properties Some properties chosen to formalize the model 11/13/2003 Module 16 - Vulnerability Analysis 29

Properties chosen in the model System isolation and tamperproofness User must not be able to tamper with the system System interaction must be through well-defined abstractions System noncircumventability System checks all references to objects User cannot circumvent any system checks Consistency of global objects of the system With respect to timing and storage objects are consistent Elimination of undesirable system and user dependencies 11/13/2003 Module 16 - Vulnerability Analysis 30

Further readings Chapter 23 A Taxonomy of Security Faults in the Unix Operating System, Tamir Aslam Vulnerabilities Analysis, Matt Bishop Use of A Taxonomy of Security Faults, Taimur Aslam, Ivan Krsul, Eugene Spafford 11/13/2003 Module 16 - Vulnerability Analysis 31