MulVAL: A logic-based network security analyzer



Similar documents
MulVAL: A Logic-based Network Security Analyzer

MulVAL: A Logic-based Network Security Analyzer

Attack Graph Techniques

A logic-programming approach to. network security analysis

A LOGIC-BASED NETWORK FORENSICS MODEL FOR EVIDENCE ANALYSIS

A Framework for Analysis A Network Vulnerability

NIST Interagency Report 7788 Security Risk Analysis of Enterprise Networks Using Probabilistic Attack Graphs

Statistical Analysis of Computer Network Security. Goran Kap and Dana Ali

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

SECURITY ADVISORY FROM PATTON ELECTRONICS

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

Comparing Two Models of Distributed Denial of Service (DDoS) Defences

Potential Targets - Field Devices

Architecture. The DMZ is a portion of a network that separates a purely internal network from an external network.

Port Scanning and Vulnerability Assessment. ECE4893 Internetwork Security Georgia Institute of Technology

SCP - Strategic Infrastructure Security

Directory and File Transfer Services. Chapter 7

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

noway.toonux.com 09 January 2014

8 Steps for Network Security Protection

An Introduction to Network Vulnerability Testing

8 Steps For Network Security Protection

CSE331: Introduction to Networks and Security. Lecture 32 Fall 2004

ANNEXURE-1 TO THE TENDER ENQUIRY NO.: DPS/AMPU/MIC/1896. Network Security Software Nessus- Technical Details

SB 1386 / AB 1298 California State Senate Bill 1386 / Assembly Bill 1298

MWR InfoSecurity Security Advisory. BT Home Hub SSID Script Injection Vulnerability. 10 th May Contents

INTRUSION DETECTION SYSTEM (IDS) D souza Adam Jerry Joseph I MCA

Virtualization System Security

Secure Network Intrusion Detection and Countermeasure Selection in Virtual Network Systems

DoS: Attack and Defense

Cisco IPS Tuning Overview

PCI Security Scan Procedures. Version 1.0 December 2004

Security Optimization of Dynamic Networks with Probabilistic Graph Modeling and Linear Programming

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

Intro to Patching. Thomas Cameron, Chief Architect, Western US, Red Hat twitter: thomasdcameron IRC: choirboy on Freenode

Integrated Network Vulnerability Scanning & Penetration Testing SAINTcorporation.com

Windows Access Control Demystified

Scan Report Executive Summary. Part 2. Component Compliance Summary IP Address :

E-Commerce Security. The Client-Side Vulnerabilities. Securing the Data Transaction LECTURE 7 (SECURITY)

Web Application Threats and Vulnerabilities Web Server Hacking and Web Application Vulnerability

Penetration Testing Report Client: Business Solutions June 15 th 2015

Release Notes for Epilog for Windows Release Notes for Epilog for Windows v1.7/v1.8

1 Scope of Assessment

Name. Description. Rationale

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

Payment Card Industry (PCI) Data Security Standard

Network and Host-based Vulnerability Assessment

Penetration Testing. Security Testing

VEA-bility Security Metric: A Network Security Analysis Tool

NETWORK PENETRATION TESTING

The Trivial Cisco IP Phones Compromise

Penetration Testing Workshop

National Endowment for the Arts Evaluation Report. Table of Contents. Results of Evaluation Areas for Improvement Exit Conference...

CS5008: Internet Computing

Evading Infrastructure Security Mohamed Bedewi Penetration Testing Consultant

Payment Card Industry (PCI) Data Security Standard

We will give some overview of firewalls. Figure 1 explains the position of a firewall. Figure 1: A Firewall

Denial Of Service. Types of attacks

Cyber Essentials. Test Specification

OpManager MSP Edition

Hack Your SQL Server Database Before the Hackers Do

GoToMyPC Corporate Advanced Firewall Support Features

Hardened Hosting. Quintin Russ. OWASP New Zealand Chapter th December 2011

How To Classify A Dnet Attack

WEB SECURITY. Oriana Kondakciu Software Engineering 4C03 Project

Hands-on Hacking Unlimited

A Review on Zero Day Attack Safety Using Different Scenarios

ITEC441- IS Security. Chapter 15 Performing a Penetration Test

Introduction on Low level Network tools

Web App Security Audit Services

VULNERABILITY ASSESSMENT WHITEPAPER INTRODUCTION, IMPLEMENTATION AND TECHNOLOGY DISCUSSION

Threat Advisory: Accellion File Transfer Appliance Vulnerability

Andreas Dittrich, Philipp Reinecke Testing of Network and System Security. example.

GE Measurement & Control. Cyber Security for NEI 08-09

Security Vulnerability Management. Mark J Cox

Hervey Allen. Network Startup Resource Center. PacNOG 6: Nadi, Fiji. Security Overview

How I Learned to Stop Worrying and Love Compliance Ron Gula, CEO Tenable Network Security

Make a folder named Lab3. We will be using Unix redirection commands to create several output files in that folder.

Installing and Configuring Nessus by Nitesh Dhanjani

Network Security Policy

VEA-bility Analysis of Network Diversification

SSA : Multiple Vulnerabilities in WinCC flexible and WinCC V11 (TIA Portal)

WHITE PAPER. An Introduction to Network- Vulnerability Testing

Tools for penetration tests 1. Carlo U. Nicola, HT FHNW With extracts from documents of : Google; Wireshark; nmap; Nessus.

Concierge SIEM Reporting Overview

Voice Over IP (VoIP) Denial of Service (DoS)

Ebonyi State University Abakaliki 2 Department of Computer Science. Our Saviour Institute of Science and Technology 3 Department of Computer Science

Windows Remote Access

Overview. Firewall Security. Perimeter Security Devices. Routers

Transcription:

14th USENIX Security Symposium, August 2005 MulVAL: A logic-based network security analyzer Xinming Ou, Sudhakar Govindavajhala, and Andrew W. Appel Princeton University

Outline Introduction Representation Vulnerability Specification The MulVAL Reasoning System Examples Hypothetical Analysis Performance and Scalability Related Work Conclusion 2

Introduction Two features are critical for vulnerability analysis tool Can automatically integrate formal vulnerability spec Be able to scale to networks with thousands of machine MulVAL An end-to-end framework and reasoning system Conducts multi-host, multi-stage vulnerability analysis Adopt Datalog as modeling language Bug spec, configuration, reasoning rules, system permission, privilege The authors can leverage existing vulnerability database and scanning tools by Datalog and feeding it into MulVAL reasoning engine to perform analysis in seconds. for networks with thousands of machines 3

Introduction One of a sysadmin s daily chores is to read bug reports from various sources such as CERT, BugTraq etc to understand which reported bugs are actually security vulnerabilities in the context of his own network to assessment of their security impact on the network patch and reboot, reconfigure a firewall, dismount a file-server partition, and so on A vulnerability analysis tool can be useful, if it can automatically do so, and only if it is scalable. 4

The inputs to MulVAL s analysis are Advisories What vulnerabilities have been reported and do they exist on my machines? Host configuration What software and services are running on my hosts, and how are they configured? Network configuration How are my network routers and firewalls configured? Principals Who are the users of my network? Interaction What is the model of how all these components interact? Policy What accesses do I want to permit? 5

Representation (1/2) Advisories vulexists(webserver, CAN-2002-0392, httpd) vulproperty( CAN-2002-0392, remoteexploit, privilegeescalation) Host configuration networkservice(webserver, httpd, TCP, 80, apache) Network configuration hacl(internet, webserver, TCP, 80) // host access control lists Principals hasaccount(user, projectpc, useraccount) hasaccount(sysadmin, webserver, root) 6

Representation (2/2) Interaction execcode(attacker, Host, Priv) :- vulexists(host, VulID, Program), vulproperty(vulid, remoteexploit, privescalation), networkservice(host, Program, Protocol, Port, Priv), netaccess(attacker, Host, Protocol, Port), malicious(attacker). Policy allow(everyone, read, webpages) allow(systemadmin, write, webpages) 7

Vulnerability Specification A specification of a security bug consists of two parts how to recognize the existence of the bug on a system what is the effect of the bug on a system Formal, machine-readable formats OVAL (Open Vulnerability Assessment Language) a formal specification language for recognizing vulnerabilities http://oval.mitre.org/documents/docs-03/intro/intro.html ICAT (or National Vulnerability Database) a database that provides a vulnerability s effect http://icat.nist.gov/icat.cfm 8

The MulVAL framework 9

The OVAL language and scanner XML-based language an OVAL definition can specify how to check a machine for the existence of a new software vulnerability an OVAL-compatible scanner will conduct the specified tests and report the result networkservice(host, Program, Protocol, Port, Priv). clientprogram(host, Program, Priv). setuidprogram(host, Program, Owner). filepath(h, Owner, Path). nfsexport(server, Path, Access, Client). nfsmounttable(client, ClientPath, Server, ServerPath). 10

Vulnerability effect (in ICAT) exploitable range Local: a local exploit requires that the attacker already have some local access on the host Remote consequence confidentiality loss integrity loss denial of service privilege escalation Example: vulproperty( CVE-2004-00495, localexploit, privescalation). 11

The MulVAL Reasoning System A literal, p(t 1,..., t k ) is a predicate applied to its arguments, each of which is either a constant or a variable. Let L 0,...,L n be literals, a sentence in MulVAL is represented as L 0 :- L 1,...,L n Semantically, it means if L 1,...,L n are true then L 0 is also true. A clause with an empty body (right-hand side) is called a fact. A clause with a nonempty body is called a rule. 12

Exploit rules execcode(p, H, UserPriv) Principal P can execute arbitrary code with privilege UserPriv on machine H netaccess(p, H, Protocol, Port) Principal P can send packets to Port on machine H through Protocol Example: remote exploit of a client program execcode(attacker, Host, Priv) :- vulexists(host, VulID, Program), vulproperty(vulid, remoteexploit, privescalation), clientprogram(host, Program, Priv), malicious(attacker). * 84% of vulnerabilities are labeled with privilege escalation or only labeled with DoS 13

Multistage attacks if an attacker P can access machine H with Owner s privilege, then he can have arbitrary access to files owned by Owner. accessfile(p, H, Access, Path) :- execcode(p, H, Owner), filepath(h, Owner, Path). if an attacker can modify files under Owner s directory, he can gain privilege of Owner. execcode(attacker, H, Owner) :- accessfile(attacker, H, write, Path), filepath(h, Owner, Path), malicious(attacker). 14

Host Access Control List/ Policy spec hacl(source, Destination, Protocol, DestPort) Multihop network access netaccess(p, H2, Protocol, Port) :- execcode(p, H1, Priv), hacl(h1, H2, Protocol, Port). allow(principal, Access, Data) allow(everyone, read, webpages). allow(user, Access, projectplan). allow(sysadmin, Access, Data). 15

Binding information / Algorithm hasaccount(user, projectpc, useraccount). hasaccount(sysadmin, webserver, root). databind(projectplan,workstation, /home ). databind(webpages, webserver, /www ). access(p, Access, Data) :- databind(data, H, Path), accessfile(p, H, Access, Path). policyviolation(p, Access, Data) :- access(p, Access, Data), not allow(p, Access, Data). 16

Example Security policy: The administrators need to ensure that the confidentiality and the integrity of users files will not be compromised by an attacker. allow(anyone, read, webpages). allow(user, AnyAccess, projectplan). allow(sysadmin, AnyAccess, Data). 17

Hypothetical analysis One important usage of vulnerability reasoning tools is to conduct what if analysis. The authors introduce a predicate bughyp to represent hypothetical software vulnerabilities vulexists(host, VulID, Prog) :- bughyp(host, Prog, Range, Consequence). vulproperty(vulid, Range, Consequence) :- bughyp(host, Prog, Range, Consequence). 18

Execution time for hypothetical analysis Since the hypothetical analysis goes through all combination of programs to inject bugs, the running time is dependent on both the number of programs and the number of hypothetical bugs. 19

Related Work Old works did not how to automatically integrate vulnerability specifications from the bug-reporting community into the reasoning model. The difference between Datalog and model-checking is that derivation in Datalog is a process of accumulating true facts. Since the number of facts is polynomial in the size of the network, the process will terminate efficiently. Model checking checks temporal properties of every possible state-change sequence. The number of all possible states is exponential in the size of the network 20

Related Work (cont d) For network attacks, one can assume the monotonicity property gaining privileges does not hurt an attacker s ability to launch more attacks. If at a certain stage an attacker has multiple choices for his next step, the order in which he carries out the next attack steps is irrelevant for vulnerability analysis under the monotonicity assumption. While it is possible that a model checker can be tuned to utilize the monotonicity property and prune attack paths that do not need to be examined model checking is intended to check rich temporal properties of a state-transition system. 21

Conclusion We have demonstrated how to model a network system in Datalog so that network vulnerability analysis can be performed automatically and efficiently. A simple Prolog programcan perform what-if analysis for hypothetical software bugs efficiently. 22

Comments Including all the possible elements to describe attack s behaviors/host configurations/vulnerability/network. It s difficult to design a model to fit into all different kinds of attacks. The security policy is a little bit weak (only base on access privilege)? Limit to vulnerability-exploit attack Using Prolog is a good design. What if is attractive. 23