Security Pattern Mining and Certification: An Evidence-Based Approach Jungwoo Ryoo and Phillip Laplante Penn State University Rick Kazman University of.

Slides:



Advertisements
Similar presentations
Dr. Rogelio Dávila Pérez
Advertisements

Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
Software Architecture in Practice (3 rd Ed) Understanding Quality Attributes Understanding the following: How to express the qualities we want our architecture.
Engineering Secure Software. Uses of Risk Thus Far  Start with the functionality Use cases  abuse/misuse cases p(exploit), p(vulnerability)  Start.
Software Engineering 1. Introduction 2. Course schedule.
CoreGRID Workpackage 5 Virtual Institute on Grid Information and Monitoring Services Authorizing Grid Resource Access and Consumption Erik Elmroth, Michał.
1 Steve Chenoweth Tuesday, 10/18/11 Week 7, Day 2 Right – One view of the layers of ingredients to an enterprise security program. From
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Software Architecture in Practice RiSE’s Seminars Bass’s book :: Chapters 07 Eduardo Santana de Almeida.
Overview of Software Requirements
Software Architecture in Practice
Chapter 8 Object Design Reuse and Patterns. Finding Objects The hardest problems in object-oriented system development are: –Identifying objects –Decomposing.
Iterative development and The Unified process
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
Façade Design Pattern Source: Design Patterns – Elements of Reusable Object- Oriented Software; Gamma, et. al.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
The Many Contexts of Software Architecture
What is Software Architecture?
Software Architecture in Practice (3rd Ed) Introduction
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
Design Patterns Discussion of pages: xi-11 Sections: Preface, Forward, Chapter
SEC835 Database and Web application security Information Security Architecture.
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
ABSTRACT Zirous Inc. is a growing company and they need a new way to track who their employees working on various different projects. To solve the issue.
CLEANROOM SOFTWARE ENGINEERING.
The Architecture Business Cycle. Software Architecture Definition The software architecture of a program or computing system is the structure or structures.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Integrating Security Design Into The Software Development Process For E-Commerce Systems By: M.T. Chan, L.F. Kwok (City University of Hong Kong)
ETICS2 All Hands Meeting VEGA GmbH INFSOM-RI Uwe Mueller-Wilm Palermo, Oct ETICS Service Management Framework Business Objectives and “Best.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Creational Patterns CSE301 University of Sunderland Harry R Erwin, PhD.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Ontology Summit 2015 Track C Report-back Summit Synthesis Session 1, 19 Feb 2015.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Software Architecture and Patterns
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Design Principle & Patterns by A.Surasit Samaisut Copyrights : All Rights Reserved.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
CMPS 435 F08 These slides are designed to accompany Web Engineering: A Practitioner’s Approach (McGraw-Hill 2008) by Roger Pressman and David Lowe, copyright.
Introduction to Design Patterns Part 1. © Lethbridge/Laganière 2001 Chapter 6: Using design patterns2 Patterns - Architectural Architectural Patterns:
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
CSE 303 – Software Design and Architecture
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
1 Introduction to Design. 2 Outline Basics of design Design approaches.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
By Ramesh Mannava.  Overview  Introduction  10 secure software engineering topics  Agile development with security development activities  Conclusion.
Enterprise Architectures Course Code : CPIS-352 King Abdul Aziz University, Jeddah Saudi Arabia.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Process 4 Hours.
Project Planning: Scope and the Work Breakdown Structure
Chapter 7: Modifiability
Design Patterns: MORE Examples
Strategy Design Pattern
Chapter 24: Architecture Competence
Requirements Analysis Scenes
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Lecture 17 ATAM Team Expertise
DT249/4 Information Systems Engineering Lecture 0
SOFTWARE ARCHITECTURE AND DESIGN
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Introduction to Design Patterns Part 1
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
Presentation transcript:

Security Pattern Mining and Certification: An Evidence-Based Approach Jungwoo Ryoo and Phillip Laplante Penn State University Rick Kazman University of Hawaii

Software Patterns Recurring problems – Well known solutions – Example: how to build a castle No need to – Start from scratch Gang of Four – Erich Gamma et al., Design Patterns. Addison Wesley, Background 12/18/20092Penn State University  University of Hawaii

Types of Patterns 12/18/2009Penn State University  University of Hawaii3 Early Design Analysis Implementation Testing Requirements Elicitation Inception Deployment Detailed Design Software Development Life Cycle Architectural Patterns Design Patterns Background

Architectural vs. Design Patterns Architectural pattern – Addresses overarching/cross-cutting concerns such as Security Performance Usability Modifiability Reusability Design pattern – Addresses functional requirements 12/18/2009Penn State University  University of Hawaii4 Background

Patterns Community 12/18/20095Penn State University  University of Hawaii Background

Architectural Pattern Characteristics Community-driven – Size Context-bound – Problem domain-specific Multiple forces – Quality attributes 12/18/2009Penn State University  University of Hawaii6 Motivation

Architectural Patterns: Shortcomings Community-driven – Long turn-around time 12/18/2009Penn State University  University of Hawaii7 Motivation

Architectural Patterns: Shortcomings Still too – concrete and – restricting as a starting point (not malleable) Need for a more primitive concept – Something that maps directly to a particular concern such as security 12/18/2009Penn State University  University of Hawaii8 Motivation

Architectural Patterns: Shortcomings Already interwoven solutions Due to their multi-force nature – No rigorous way to verify the Effectiveness in addressing a particular quality attribute Influence on other quality attributes 12/18/2009Penn State University  University of Hawaii9 Motivation

Introducing Tactics More fine grained concept than architectural patterns – Decomposition of an architectural pattern Identification of building blocks of an architectural pattern – Mapping between a single quality attribute and an architectural pattern – Establishing the traceability 12/18/2009Penn State University  University of Hawaii10 Our Approach

Types of Patterns 12/18/2009Penn State University  University of Hawaii11 Early Design Analysis Implementation Testing Requirements Elicitation Inception Deployment Detailed Design Software Development Life Cycle Architectural Patterns Design Patterns Our Approach Very Early Design Tactics

Tactics: Benefits No more guess work – Architects know exactly why they need a pattern! Easier verification of effectiveness – Problem: privilege escalation – Solution: privilege separation vs. – Problem: Separation of concerns in Web applications – Solution: MVC or Model View Controller 12/18/2009Penn State University  University of Hawaii12 Our Approach

After-the-Fact Security Solutions Today’s software security research mainly focuses on: – Testing Static code analysis using software tools Example – The Open Source Hardening Project Coverity® tool 12/18/2009Penn State University  University of Hawaii13 Ongoing Research

Analogy: a Secure Building 12/18/2009Penn State University  University of Hawaii14 vs. Ongoing Research

Security Tactics Hierarchy 12/18/2009Penn State University  University of Hawaii15

Ultimate Goal of our Research Proactively building a repository of high-level design strategies (referred to as tactics ) whose effectiveness is verifiable, to help software architects develop their own customized structural design that is both secure and problem-specific. 12/18/2009Penn State University  University of Hawaii16 Ongoing Research

What about a Community Process? Of course, this repository could be built naturally through a community process based on consensus Problems – Time – Verification 12/18/2009Penn State University  University of Hawaii17 Ongoing Research

Methodology for Mining Tactics We propose that tactics be mined proactively from the existing – Open source code base and – Patterns. Currently, many tactics are misidentified as patterns. 12/18/2009Penn State University  University of Hawaii18 Ongoing Research

Methodology for Scientific Verification Open source projects can serve as a proving ground for scientifically verifying the effectiveness of a tactic. 12/18/2009Penn State University  University of Hawaii19 Ongoing Research

Evidence-Based SE through Open Source The methodology – Identify Multiple open source projects Defect and tactic pairs – For example, privilege escalation and separation – Compare The number of defects – before and after the tactic within the same open source project by tracking the history of the defects – With or without the tactic among multiple open source project – Analysis If the number of relevant defects – Goes down – Is smaller The tactic is effective 12/18/2009Penn State University  University of Hawaii20 Ongoing Research

Publications Jungwoo Ryoo, Phil Laplante and Rick Kazman, In Search of Architectural Patterns for Software Security, Computer, 42 (6): , June /18/200921Penn State University  University of Hawaii

Questions and Answers 12/18/200922Penn State University  University of Hawaii

Relationship between Tactics and Patterns Tactics – Help architects with an initial architectural design process – are building blocks of a pattern – Establish direct traceability between specific quality attributes and a pattern 12/18/200923Penn State University University of Hawaii

Differences between Tactics and Patterns Atomicity Force limitation Problem specificity Completeness Tradeoffs between forces 12/18/2009Penn State University University of Hawaii24

Mining Tactics from Patterns Compartmentalization – “Put each part in a separate security domain. Even when the security of one part is compromised, the other parts remain secure.” 12/18/2009Penn State University University of Hawaii25 Security Resisting Attacks Limit Access Compartmentalization Ongoing Research

Tactics and Patterns 12/18/2009Penn State University University of Hawaii26 Example “The authenticator pattern performs authentication of a requesting process before deciding access to distributed objects.”