Real-Time Attack Detection in CPS

Slides:



Advertisements
Similar presentations
Knowledge Engineering for Planning Domain Design Ron Simpson University of Huddersfield.
Advertisements

Provenance-Aware Storage Systems Margo Seltzer April 29, 2005.
A System to Generate Test Data and Symbolically Execute Programs Lori A. Clarke September 1976.
Some general principles in computer security Tomasz Bilski Chair of Control, Robotics and Computer Science Poznań University.
Artificial Intelligence
Sensemaking and Ground Truth Ontology Development Chinua Umoja William M. Pottenger Jason Perry Christopher Janneck.
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
Certification Test Tool Update Toby Nixon Program Manager Microsoft Corporation.
Desktop Security: Worms and Viruses Brian Arkills, C&C NDC-Sysmgt.
This chapter is extracted from Sommerville’s slides. Text book chapter
Module 9 Configuring Server Security Compliance. Module Overview Securing a Windows Infrastructure Overview of EFS Configuring an Audit Policy Overview.
K. Jamroendararasame*, T. Matsuzaki, T. Suzuki, and T. Tokuda Department of Computer Science, Tokyo Institute of Technology, JAPAN Two Generators of Secure.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
Honeypot and Intrusion Detection System
Semantics for Cybersecurity and Privacy Tim Finin, UMBC Joint work with Anupam Joshi, Karuna Joshi, Zareen Syed andmany UMBC graduate students
MSE Presentation 1 By Padmaja Havaldar- Graduate Student Under the guidance of Dr. Daniel Andresen – Major Advisor Dr. Scott Deloach-Committee Member Dr.
Module 14: Securing Windows Server Overview Introduction to Securing Servers Implementing Core Server Security Hardening Servers Microsoft Baseline.
Lorenzo Martignoni, Elizabeth Stinson, Matt Fredrikson, Somesh Jha, John Mitchell RAID
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
CASE Tools and their Effect on Software Quality
Introduction to OOAD and UML
MANAGEMENT INFORMATION SYSTEM
Application architectures. Objectives l To explain the organisation of two fundamental models of business systems - batch processing and transaction processing.
M&CML: A Monitoring & Control Specification Modeling Language
Introduction to Databases
CIS 375 Bruce R. Maxim UM-Dearborn
Building Enterprise Applications Using Visual Studio®
Software Testing.
ICS 3UI - Introduction to Computer Science
Chapter 1 The Systems Development Environment
Towards a framework for architectural design decision support
PLM, Document and Workflow Management
Security Issues Formalization
“Intelligent User Interfaces” by Hefley and Murray A 1993 Perspective
Computer Aided Software Engineering (CASE)
IEEE Std 1074: Standard for Software Lifecycle
5.0 : Windows Operating System
Deploying and Configuring SSIS Packages
Chapter 1 The Systems Development Environment
Database Management Systems
Software Maintenance
CS 583 Fall 2006 Analysis of Algorithms
Introduction to Software Engineering
Developing Applications
System And Application Software
ARTIFICIAL INTELLIGENCE IN SOFTWARE TESTING
Report from the GSICS Data Management Working Group
CSc4730/6730 Scientific Visualization
07 | Workflows Chris Johnson | SharePoint Guru
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Chapter 1 Introduction(1.1)
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Using Use Case Diagrams
Delayed Evaluation Special forms in Scheme (e.g., if and cond) do not use applicative order evaluation Only one of two or more expressions is actually.
Regression testing Tor Stållhane.
Overview of Workflows: Why Use Them?
Chapter 11 Managing Databases with SQL Server 2000
TechEd /23/2019 9:23 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Automation of Control System Configuration TAC 18
Chapter 1 The Systems Development Environment
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Test Tools Tools can be useful but are they worth it? Cost
Lab 8: GUI testing Software Testing LTAT
Software Development Process Using UML Recap
T-FLEX DOCs PLM, Document and Workflow Management.
GENEDI EUROPEAN COMMISSION - EUROSTAT GENERIC EDI TOOLBOX
Software Architecture & Design
Presentation transcript:

Real-Time Attack Detection in CPS PDDLAssistant: An Automation Tool for Attack Graph Construction and Maintenance Kushagra Tiwary and Indrajit Ray Department of Computer Science Colorado State University Fort Collins, CO-80523

How can we integrate threats across different domains and understand the sequence of events leading to the attack? Project Overview

Introduction Attack Sequence of actions taken by the user and the attacker that can lead to a compromised state in the system Attack Graphs → Widely accepted computer security situational awareness model → Captures cause-effect relationships between system configuration, activities and vulnerabilities → Provides semantically rich representation of attacks

PDDLAssistant Example of an Attack Graph Fig: Attack graph for CVE-2010-5024 from the National Vulnerability Database

Motivation → In large systems, attack graphs can become very complex and too unwieldy to be manually created or updated Cause-effect relationships are high in number Cause-effect relationships can be very intricate Cause-effect relationships may interfere/interact with each other in unexpected ways → Manual creation of attack graphs is error prone and requires considerable domain expertise and skill set → There is need for an automated process to generate attack graphs from vulnerability descriptions and event logs

Attack Graph Automation Problem : Generating attack graph automatically and incrementally updating/refining it Input : Event logs of attacks or vulnerability descriptions Output : Attack graphs with meta-data Advantages →can save time as well as effort when compared to manual creation → can support incremental updates to the attack graph while maintaining consistency of older cause-effect relationships

Attack Graph Automation Generating attack graph automatically Assisting incremental development of attack graph

PDDL PDDL: Planning Domain Definition Language [2] → Used to represent the “physics” of a domain or the cause-effect relationships in a domain → Comprises PDDL domain and PDDL plans PDDL domain: specifies what actions are possible and what their pre-conditions and effects are PDDL problem: specifies the initial state and the goal state PDDL plan: a set of actions from the domain that lead from the initial state to the goal state An expressive domain-independent language that can be used for modeling attack graphs [3][4][5]

Our Solution : PDDLAssistant We design and develop a tool PDDLAssistant Generating attack graphs automatically using text based vulnerability descriptions and/or event logs Supporting incremental building and/or refinement of the attack graph with feedback Reason: Event logs or attack descriptions can change, or more attack descriptions may need to be modeled, and therefore, maintaining consistency of the attack graph is challenging Visualizing attack graphs

Overview of PDDLAssistant The PDDLAssistant design has the following key steps Step 1: Information extraction and processing from event/attack logs to generate structured information [1] Step 2: PDDL domain generation from the structured information → This represents cause-effect relationships Step 3: We test the PDDL domain using different PDDL problems, which are extracted from the information in event logs Step 4: We use an AI planner to generate one PDDL plan for each PDDL Problem along with the PDDL Domain → This is the attack graph  Step 5: Feedback/Refinement:  When a new PDDL domain is created, PDDLAssistant checks for the consistency of PDDL plans and provides feedback on plans which failed, thus helping the developer maintain the cause-effect relationships

PDDLAssistant Generating domains automatically using PDDLAssistant: → Steps: Extract meaningful information or structured information from text [1] Use structured information to generate PDDL domain

PDDLAssistant Generating domains automatically using PDDLAssistant: → Generating PDDL domain: ; CVE-2010-0483: vbscript.dll in VBScript 5.1, 5.6, 5.7, and 5.8 in Microsoft Windows 2000 SP4, XP SP2 and SP3, and Server 2003 SP2, when Internet Explorer is used, allows user-assisted remote attackers to execute arbitrary code by referencing a (1) local pathname, (2) UNC share pathname, or (3) WebDAV server with a crafted .hlp file in the fourth argument (aka helpfile argument) to the MsgBox function, leading to code execution involving winhlp32.exe when the F1 key is pressed, aka "VBScript Help Keypress Vulnerability." (define (domain attackgraph) … (:action user-has-vulnerable-software-CVE-2010-0483 :parameters (?s - software) :precondition (and (software ?s) (or (= ?s VBScript) ) (or (= (version ?s) 51) (= (version ?s) 56) (= (version ?s) 57) (= (version ?s) 5.8) (= (version ?s) 2000) (= (version ?s) 2003) (= (version ?s) 2) (= (version ?s) 2) (= (version ?s) 32.0) (= (version ?s) 5.0) ) ) :effect (vulnerable-software ?s)) (:action CVE-2010-0483-user-action-Internet-Explorer-is-used (and (software ?s) (vulnerable-software ?s)) :effect (Internet-Explorer-is-used ?s)) … )

PDDLAssistant PDDL Plan: 0: USER-HAS-VULNERABLE-SOFTWARE-CVE-2010-0483 VBSCRIPT 1: CVE-2010-0483-USER-ACTION-INTERNET-EXPLORER-IS-USED VBSCRIPT 2: CVE-2010-0483-USER-ACTION-THE-F1-KEY-IS-PRESSED VBSCRIPT 3: ATTACKER-ACTION-REFERENCING-A-LRB-1-RRB-LOCAL-PATHNAME-LRB-2-RRB-UNC-SHARE-PATHNAME-OR-LRB-3-RRB-WEBDAV-SERVER-WITH-A-CRAFTED-HLP-FILE-IN-THE-FOURTH-ARGUMENT-LRB-AKA-HELPFILE-ARGUMENT-RRB-TO-THE-MSGBOX-FUNCTION-LEADI-CVE-2010-0483 VBSCRIPT

→ Support for incrementally building plans PDDLAssistant

PDDLAssistant →Assumes that there are two versions of the PDDL domain: (i) last known stable version (ii) current PDDL domain →Ensures that the current PDDL domain is consistent with the PDDL problems and plans from the old domain →Assumes that the PDDL domain, PDDL problem and the plan are syntactically correct →Reports if one or more PDDL plans failed for the current version (i.e. current version of the domain is not consistent)

PDDLAssistant Example Output: … plans different? True Difference observed: State Layer 1: same Action Layer 1: same State Layer 2: same Action Layer 2: same State Layer 3: different! extra predicates found in action: USER-VISITS-SITE extra effects: 1) (use-software gmail) 2) (running gmail) ---------------------------------- plans passed: 0 plans failed: 1 Example Output: $ java -jar PDDLAssistant.jar domains/domainPAG.pddl domains/domainPAGV2.pddl problems/ archivedPlans/ Domains found: 1) domains/domainPAG.pddl: PAG 2) domains/domainPAGV2.pddl: PAG Problems found: 1) problems/PAG-problem1.pddl: PAG-problem1 Archived plans found: 1) archivedPlans/PAG-problem1.plan ---------------------------------- 1) plan: PAG-problem1.pddl Creating planning graph for domainPAG.pddl, PAG-problem1.pddl and PAG-problem1.plan ...done Creating planning graph for domainPAGV2.pddl, PAG-problem1.pddl and new plan plans different? True ...

PDDLAssistant: Long Term Goals →Consolidating attack graphs across all the problem files into a single attack graph →Formalizing predicates used in the PDDL domain →Automatically generating predicates using the state of the system to estimate how far/likely an attack is This would be the first step towards building an intervention system that could suggest an alternative course of action to avoid an attack impact →Deploying and testing the system on the NIST test bed

PDDLAssistant Questions?

References [1] Weerawardhana, Sachini, et al. "Automated Extraction of Vulnerability Information for Home Computer Security." International Symposium on Foundations and Practice of Security. Springer, Cham, 2014. [2] McDermott, Drew, et al. "PDDL-the planning domain definition language." (1998). [3] Roberts, Mark, et al. "Personalized vulnerability analysis through automated planning." Working Notes of IJCAI (2011). [4] Boddy, Mark S., et al. "Course of Action Generation for Cyber Security Using Classical Planning." ICAPS. 2005. [5] Roberts, Mark, et al. "Using planning for a personalized security agent." Workshop on Problem Solving using Classical Planners at 26th AAAI Conf. on Artificial Intelligence. 2012.