Chapter 27 Security Engineering

Slides:



Advertisements
Similar presentations
Chapter 2 Process Models
Advertisements

Chapter 5 Understanding Requirements
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Building with Assurance CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute May 10, 2004.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 16 Software Quality Assurance
Chapter 16 Software Quality Assurance
Lecture 9: Chapter 9 Architectural Design
1 Lecture 17: Chapter 26 Estimation for Software Projects Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman.
Chapter 13 Architectural Design
1Coming up: Project Risks Chapter 28 – Modified by Fleck Risk Analysis Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger.
1 Chapter 5 Lecture 5: Understanding Requirements Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides.
1 Lecture 12: Chapter 16 Software Quality Assurance Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 9: Design Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter.
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
CS 281 Intro to Software Engineering Lecture 01 Introduction to the Course The Nature of Software.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Chapter 4 & Chapter 5 Important Concepts
Chapter 33 Estimation for Software Projects
CSCE 548 Secure Software Development Risk-Based Security Testing
Chapter 1 The Nature of Software
Introduction to Software Engineering Course Outline
Chapter 34 Project Scheduling
Chapter 6 Human Aspects of Software Engineering
Chapter 13 Architectural Design
Slide Set to accompany Web Engineering: A Practitioner’s Approach
Chapter 13 Architectural Design
Chapter 2 Software Engineering
Chapter 18 MobileApp Design
Chapter 21 Software Quality Assurance
Chapter 26 Testing Mobile Applications
Chapter 29 Software Configuration Management
Chapter 29 Software Configuration Management
Chapter 1 The Nature of Software
Chapter 1 The Nature of Software
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Chapter 8 Understanding Requirements
Chapter 21 Software Quality Assurance
Chapter 9 Requirements Modeling: Scenario-Based Methods
Lecture 12: Chapter 15 Review Techniques
Chapter 24 Testing Object-Oriented Applications
Chapter 2 Software Engineering
Chapter 6 Human Aspects of Software Engineering
Chapter 9 Architectural Design
Chapter 3 Software Process Structure
Chapter 17 Software Testing Strategies
Chapter 28 Formal Modeling and Verification
Chapter 13 Architectural Design
Chapter 2 Process Models
Chapter 19 Testing Object-Oriented Applications
Chapter 2 Process Models
Chapter 25 Process and Project Metrics
Chapter 2 Process Models
Chapter 28 – Modified by Fleck
Chapter 33 Estimation for Software Projects
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Chapter 17 Software Testing Strategies
Chapter 5 Understanding Requirements
Chapter 7 Principles that Guide Practice
Chapter 19 Testing Object-Oriented Applications
Chapter 4 Process Models
Chapter 22 Software Testing Strategies
Chapter 32 Process and Project Metrics
Chapter 2 Process Models
Chapter 5 Understanding Requirements
Chapter 27 Project Scheduling
Chapter 34 Project Scheduling
Chapter 17 Software Testing Strategies
Chapter 2 Process Models
Chapter 17 Software Testing Strategies
Presentation transcript:

Chapter 27 Security Engineering Slide Set to accompany Software Engineering: A Practitioner’s Approach, 8/e by Roger S. Pressman and Bruce R. Maxim Slides copyright © 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman For non-profit educational use only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach, 8/e. Any other reproduction or use is prohibited without the express written permission of the author. All copyright information MUST appear if these slides are posted on a website for student use. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by Roger Pressman.

Why Security Engineering? Security is a perquisite to system integrity, availability, reliability, and safety Security provides the mechanism that enable a systems to protect its assets from attack Assets are system resources (information, files, programs, storage, processor capacity) that have value to its stakeholders Attacks take advantage of vulnerabilities that allow unauthorized system access It is difficult to make a system more secure by responding to bug reports, security must be designed in from the beginning testing appropriate? These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by Roger Pressman.

Analyzing Security Requirements Exposure is the value in terms of the time or cost to recreate a lost system asset Threat analysis is the process of determining the conditions or threats that may damage system resources or make them inaccessible to unauthorized access Controls are created to avoid the attacks and to mitigate their damage These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by Roger Pressman.

Online Security Threats Social Media – networks often allow their users to develop applications that have access to personal details of their users Mobile Applications – native apps running on mobile devices may have the same access resources as the device owner Cloud Computing – brings additional confidentiality and trust issues into the security picture because it blurs the line between “trusted inside” and “untrusted outside” Internet of Things – ability of everyday objects to communicate and report contextual information about its user and its environment These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by Roger Pressman.

Security Analysis - I Security requirements elicitation Determine how users need to interact with system resources Create abuser stories that describe system threats User treat modeling and risk analysis to determine the system security policies as part of the non-functional requirements Locate attack patterns that identify solutions to system security shortcomings Security modeling Captures policy objectives, external interface requirements, software security requirements, rules of operation, description of security architecture Provides guidance during design, coding and review State models can help software engineers ensure that the series of state transitions allowed by the system start and end in a secure state Using formal security models may improve the trustworthiness of a system since correctness proofs may be used as part of the system security case These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by Roger Pressman.

Security Analysis - II Measures design Correctness checks Security metrics should focus on system dependability, trustworthiness, and survivability Measures or asset value, threat likelihood, are system vulnerability are needed to create these metrics Correctness checks Software verification activities and security test cases must be traceable to system security cases Data collected during audits, inspections, and test cases are analyzed and summarized as a security case These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by Roger Pressman.

Security Assurance Used to show that you have created a secure product that inspires confidence among end users and stakeholders Security Case Elements Security claims Arguments linking claims to each other Evidence (reviews, proofs, etc.) supporting arguments These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by Roger Pressman.

Security Risk Analysis Identify assets Create architecture overview Application decomposition Identify threats Document threats Rate threats These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by Roger Pressman.

System Trustworthiness Trust is the level of confidence that software components and stakeholders can rely on one another Verification ensures that the security requirements are assessed using objective and quantifiable techniques traceable to the security cases Evidence used to prove the security case must be acceptable and convincing to all system stakeholders Most trust metrics are based on historical data derived from past behavior in situations involving trust These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by Roger Pressman.