A Methodology for Capturing Software Systems Security Requirements



Similar documents
Microsoft STRIDE (six) threat categories

Entire contents 2011 Praetorian. All rights reserved. Information Security Provider and Research Center

Threat Modeling: The Art of Identifying, Assessing, and Mitigating security threats

Threat Modeling Using Fuzzy Logic Paradigm

Security Testing. How security testing is different Types of security attacks Threat modelling

Mobile Application Threat Analysis

Towards Security Risk-oriented Misuse Cases

Threat modeling. Tuomas Aura T Information security technology. Aalto University, autumn 2011

Security and Privacy in Cloud Computing

Secure By Design: Security in the Software Development Lifecycle

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

Threat Modeling. Frank Piessens ) KATHOLIEKE UNIVERSITEIT LEUVEN

Suraksha: A Security Designers Workbench

Secure Software Design in Practice ARES SECSE Workshop

Threat Modeling. 1. Some Common Definition (RFC 2828)

Core Security Requirements Artefacts

Security Threats in Demo Steinkjer

A PRACTICAL APPROACH TO INCLUDE SECURITY IN SOFTWARE DEVELOPMENT

BEST PRACTICES FOR SECURITY TESTING TOP 10 RECOMMENDED PRACTICES

Integrating Security and Usability at Requirement Specification Process

Development Processes (Lecture outline)

Introduction to Information Security

A Modeling Ontology for Integrating Vulnerabilities into Security Requirements Conceptual Foundations

Defending Against Attacks by Modeling Threat Behaviors

Analyzing the Security Significance of System Requirements

An Approach to Threat Modeling in Web Application Security Analysis

Threat scenario based security risk analysis using use case modeling in information systems

To Comply Software and IT System Development with Related Laws Abstract. Keywords: 1. PROBLEM STATEMENT

Abstract. Keywords: requirements engineering; threats; security; ATM; analysis; reuse

Chapter 6: Fundamental Cloud Security

Agile and Secure Can We Be Both? Chicago OWASP. June 20 th, 2007

Threat Analysis for Hardware and Software Products using HazOp

A Governance Framework for Building Secure IT Systems *

Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue

Goal-Based Self-Contextualization

Agile and Secure: OWASP AppSec Seattle Oct The OWASP Foundation

Design of a Modelling Language for Information System Security Risk Management

A Survey on Requirements and Design Methods for Secure Software Development*

THREAT MODELLING FOR ACTIVE DIRECTORY

Threat Modeling Smart Metering Gateways

A Vulnerability-Centric Requirements Engineering Framework: Analyzing Security Attacks, Countermeasures, and Requirements Based on Vulnerabilities

Misuse Cases: earlier and smarter information security

Threat Modeling/ Security Testing. Tarun Banga, Adobe 1. Agenda

CSE 5392 Sensor Network Security

Role-Based Access Control Requirements Model with Purpose Extension

Threat Modeling Architecting & Designing with Security in Mind OWASP. The OWASP Foundation Venkatesh Jagannathan

How To Secure An Open Source System From Attack

A Review on Zero Day Attack Safety Using Different Scenarios

A Review of Anomaly Detection Techniques in Network Intrusion Detection System

Functional vs. Load Testing

Threat Modelling (Web)Apps Myths and Best Practices OWASP The OWASP Foundation Matthias Rohr

Improved Event Logging for Security and Forensics: developing audit management infrastructure requirements

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

Trade-off Analysis of Identity Management Systems with an Untrusted Identity Provider

feature requirements engineering

Attack Net Penetration Testing

Developing Secure Software, assignment 1

Web Application Security Considerations

Web Application Security

Security within a development lifecycle. Enhancing product security through development process improvement

A Practical Approach to Threat Modeling

The introduction covers the recent changes is security threats and the effect those changes have on how we protect systems.

APPLICATION THREAT MODELING

THREAT MODELLING FOR SQL SERVERS Designing a Secure Database in a Web Application

Observation and Findings

Threat Modeling: Lessons from Star Wars. Adam

Transcription:

A Methodology for Capturing Software Systems Security Requirements Hassan EL-Hadary Supervised by: Prof. Sherif EL-Kassas

Outline Introduction to security Software Security Security Definitions Security Requirement Engineering Problem Statement Survey approaches for eliciting security requirements Thesis Objective and Approach

Software Security Why secure software? Attacker hacks software systems Vulnerabilities exploited Cost of attack

Secure Software Development Developing secure software systems An example for secure software development lifecycle [1]

Security Definitions Assets Threats Security Concerns Confidentiality Integrity Availability Security goals Vulnerability Countermeasures

Security Definitions Security Threats, Requirements, and Mechanisms relations [2]

Security requirements Definition: How can we achieve security What need to be secured What must not occur to achieve security

Security Requirement Engineering Consider security early Update requirement phase to support security Perform Security Requirements Engineering Elicit, Analyze, and Validate

Problem Statement Elicit adequate security requirements Assist non-security experts

Threat Modeling Threat Modeling for Eliciting Security Requirements [3]

Threat Modeling Attack Trees Attack tree [5]

Threat Modeling (Threats Classification STRIDE [6]) Spoofing Tampering Repudiation Information disclosure Denial of service Elevation of privilege access is gained to inaccessible assets using someone else s credentials. Occurs when data is changed when an attack is performed. a user denies performing an action, but the system has no way to prove an action on a user although the user has performed it. information is disclosed to a user not permitted to see it. a valid users become unable to access resources. a privileged status is gained by an unprivileged user.

Threat Modeling (Threats Ranking DREAD [6]) Damage Potential The cost of the damage when the threat is exploited. Reproducibility The rate of reproducing the exploited threat Exploitability The level of skill needed to exploit this threat Affected Users The number of affected users Discoverability The easiness of discovering this threat

Threat Modeling Steps for eliciting Security Requirements 1. System characterization 2. Assets and access points identification 3. Threats identification (STRIDE) - Threat Catalogs 4. Threats Analysis (DREAD) 5. Elicit Security Requirement by negating threats

Threat Modeling Expressing security requirements as negative statements is inadequate Negative statements should be converted to positive statements

Misuse Cases Example misuse case [7]

Misuse Cases (Security Use Cases) Misuse case with Security Use case [2]

Misuse cases (Using generic templates)

Misuse cases (Using generic templates)

Misuse cases Advantages: Lightweight approach Model interaction between threats and system Disadvantages: Informal causing ambiguity

Goal Oriented Requirement Engineering (KAOS) KAOS Approach [13]

Goal Oriented Requirement Engineering (KAOS) Goal Graph KAOS Goal Graph [13]

Secure Goal Oriented Requirement Anti-Models Engineering (KAOS) Anti-model Graph [4]

Secure Goal Oriented Requirement Engineering (KAOS) Construct high-level security goals Example: Avoid[SensitiveInfoKnownByUnauthorizedAgent] Build anti-models to elaborate vulnerabilities Derive countermeasures and security requirements Avoid[vulnerability]

Secure Goal Oriented Requirement Attack pattern Engineering (KAOS) DOS Attack pattern [14]

Secure Goal Oriented Requirement Engineering (KAOS) Derivation of precise security requirements from high-level goals Formal methodology enabling automatic processing

Secure Agent orient based approaches (i*) Dependency Diagram:

Secure Agent orient based approaches (i*) Attacker Analysis: who is likely to attack the system? By what means might a specific attacker attack the system? Dependency vulnerability analysis: Which dependency relationships are vulnerable to attack?, What are the chain effects if one dependency link is compromised? Countermeasure Analysis: how to protect the system the attackers exploiting the vulnerabilities

Secure Agent orient based approaches (i*) Adapting security to i* [8]

Secure Agent orient based Advantages: approaches Considering the human factor which has a significant impact on security. For example, threats may involve tricking other people (doctors or nurses in the case of medical records) to break security goals Disadvantage: Concentrates on confidentiality concerns

Requirement Engineering Using Problem Frames Generalized Problem Diagram [9]

Problem Frames (Problem Decomposition) Problem decomposition into subproblems [10] Problem Context Problem Diagram for Employee Display Information subproblem

Abuse Frames Generic Abuse Frame [12] Model and analyze threats Bound scope of security problems What attack harms what asset in what subproblem

Abuse Frames Abuse Frame for Regime editing subproblem [12] c: The editing commands that are entered by the Operator. d: The edit operations performed by the Regime Editor. e: The effects of the edits on the Light Regime

Security Requirement Engineering based on Problem Frames 1- Model system using Problem Frames 2- Identifying assets and threat descriptions. What harm could come from violating the [insert security concerns] of [insert asset]? 3- Identify high-level security goals that avoids threats Example, Provide data to authorized users

Security Requirement Engineering based on Problem Frames 4- Constrain Functional requirements to avoid threats Problem Frame Diagram for constrained functional requirement [11]

Security Requirement Engineering based on Problem Frames 5- Validate security requirements using security arguments Trust assumptions (domain behavior premises) - (security requirements) A - B means B can be proved from A.

Security Requirement Engineering based on Problem Frames Advantages: Specifies security requirements precisely by constraining functional requirements Integrate system behavior with threats using problem frames

Security Problem Frames: Generic patterns for security problems [15]

Thesis Objective Develop a methodology for eliciting security requirement that adapts problem frames, abuse frames and security problem frames to achieve the two main objectives : (1) Eliciting adequate security requirements (2) Assisting security inexperienced analysts to elicit security requirements

cd Approach steps Proposed Methodology Model the system context and functional requirements Identify the system assets Identify threats using abuse frames Crosscut threats with Assets to identify vulnerabilities [No Vulnerability] [Found Vulnerability] Search Security Problem Frames (SPF) Catalog [If no results] [If found SPF] Constrain Functional Requirements To Obtain Security requirements Instantiate Security Problem Frame

Methodology Advantages Utilizes different methodologies based on problem frames that complement each other Assist the analyst during security requirement elicitation

Contribution Interfacing between the Security Problem Frames, Abuse Frames and Problem Frames Provide a tool that helps in choosing and instantiating the patterns in the Security problem frame catalog

References [1] A. Apvrille and M. Pourzandi, "Secure Software Development by Example," IEEE Security &Privacy, vol. 3, no. 4, pp. 10 17, 2005 [2] D. Firesmith. Security Use Cases. Journal of Object Technology, Vol. 2, No. 3, 53-64, 2003 [3] Suvda Myagmar, Adam J. Lee, and William Yurcik, Threat Modeling as a Basis for SecurityRequirements, IEEE Symposium on Requirements Engineering for Information Security (SREIS 05), 2005

References [4] A. van Lamsweerde, Elaborating Security Requirements by Construction of Intentional Antimodels, Proc. 26th Int l Conf. Software Eng. (ICSE 04), IEEE CS Press, 2004 [5] Bruce Schneier, Attack Trees, Dr. Dobb's Journal December 1999 [6] F. Swiderski and W. Snyder. Threat Modeling. Microsoft Press, 2004

References [7] S. Ardi, David Byres,P. H. Meland,I.A. Tondel, N.Shahmehri How Can the Developer Benefit From Security Modeling, In Second International Conference on Availability, Reliability and Security(ARES 07), IEEE, 2007 [8] L. Liu, E. Yu, and J. Mylopoulos. Security and privacy requirements analysis within a social setting. In Proc. of RE 03, pages 151 161, 2003 [9] M. Jackson. Problem Frames, Problem Frames and Software Engineering, Expert Systems, Volume 25, Number 1, pp. 7-8(2), February 2008 M. Jackson. Problem Frames, Problem Frames and Software Engineering, Expert Systems, Volume 25, Number 1, pp. 7-8(2), February 2008

References [10] C.B. Haley, R. Laney, and B. Nuseibeh Deriving Security Requirements From Crosscutting Threat Descriptions, in Proceedings of the Third International Conference on Aspect-Oriented Software Development, Lancaster, UK, March 22 26, 2004 [11] C.B. Haley, J.D. Moffett, R. Laney, and B. Nuseibeh, A Framework for Security Requirements Engineering, Proc. 2006 Software Eng. for Secure Systems Workshop with the 28th Int l Conf. Software Eng., 2006 [12] D. Hatebur, M. Heisel, and H. Schmidt, A pattern system for security requirements engineering, in Proceedings of the International Conference on Availability, Reliability and Security (AReS), pp.356-365, IEEE, 2007

References [12] Lin, L., Nuseibeh, B., Ince, D., Jackson, M., & Moffett, J. "Introducing Abuse Frames for Analyzing Security Requirements," In Proceedings of the 11th IEEE International Requirements Engineering Conference (RE'03). Monterey CA USA, pp. 371-372, Sep 2003 [13] A. van Lamsweerde and E. Letier, Handling Obstacles in Goal-Oriented Requirements Engineering, IEEE Transactions on Software Engineering, Special Issue on Exception Handling, 2000 [14] Laurent A. Hermoye and Axel van Lamsweerde, and Dewayne E. Perry. "A Reuse-Based Approach to Security Requirements Engineering", September 2006

References [15] D. Hatebur, M. Heisel, and H. Schmidt, A pattern system for security requirements engineering, in Proceedings of the International Conference on Availability, Reliability and Security (AReS), pp.356-365, IEEE, 2007