©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 1 Security Engineering.

Slides:



Advertisements
Similar presentations
ETHICAL HACKING A LICENCE TO HACK
Advertisements

Software change management
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
Chapter 14 – Security Engineering
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 1 Security Engineering 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 32 Slide 1 Aspect-oriented Software Development.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Review 2.
Software Evolution Managing the processes of software system change
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 1 Security Engineering.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 5 Slide 1 Project management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Managing Information Systems Information Systems Security and Control Part 2 Dr. Stephania Loizidou Himona ACSC 345.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2006Critical Systems Slide 1 Critical Systems Engineering l Processes and techniques for developing critical systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Frequently asked questions about software engineering
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 System and Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
SEC835 Database and Web application security Information Security Architecture.
CS 220 – Software Engineering© Binayak Bhattacharyya CS Software Engineering Instructor: Binayak Bhattacharyya
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Security Baseline. Definition A preliminary assessment of a newly implemented system Serves as a starting point to measure changes in configurations and.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 1 Security Engineering 1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Chapter 2 Computer-Based System Engineering As modified by Randy Smith.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Software Engineering The first lecture.
Security Architecture
Software engineering. What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects of software.
1 Software Engineering, 7th edition. Chapter 1 Courtesy: ©Ian Sommerville 2004 Sep 02, 2008 Lecture # 1 An Introduction to Software Engineering.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 12 - Databases, Controls, and Security.
Figures – Chapter 14. Figure 14.1 System layers where security may be compromised.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 32 Slide 1 Aspect-oriented Software Development 1.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 5 Slide 1 Risk management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 3 Slide 1 Critical Systems 1.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
 Chapter 14 – Security Engineering 1 Chapter 12 Dependability and Security Specification 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 1 Security Architecture.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Slide 1 Critical Systems Specification 1.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 1 Security Architecture.
1 Software Engineering, 8th edition. Chapter 1 Jan 28 th, 2009 Lecture # 1 Courtesy: ©Ian Sommerville 2006 An Introduction to Software Engineering.
Slide 1 Security Engineering. Slide 2 Objectives l To introduce issues that must be considered in the specification and design of secure software l To.
©Ian Sommerville 2000Dependability Slide 1 Chapter 16 Dependability.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6 - Essentials of Design an the Design Activities.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2007COTS-based System Engineering Slide 1 COTS-based System Engineering.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Design for Security Pepper.
Software Qualities II.
Chapter 13 – Security Engineering
Chapter 13 – Security Engineering
Security Engineering.
Software Qualities.
Chapter 13 – Security Engineering
Albeado - Enabling Smart Energy
Presentation transcript:

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 1 Security Engineering

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 2 Objectives l To introduce issues that must be considered in the specification and design of secure software l To discuss security risk management and the derivation of security requirements from a risk analysis l To describe good design practice for secure systems development. l To explain the notion of system survivability and to introduce a method of survivability analysis.

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 3 l Tools, techniques and methods to support the development and maintenance of systems that can resist malicious attacks that are intended to damage a computer-based system or its data. l A sub-field of the broader field of computer security. Security engineering

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 4 System layers

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 5 Application/infrastructure security l Application security is a software engineering problem where the system is designed to resist attacks. l Infrastructure security is a systems management problem where the infrastructure is configured to resist attacks. l The focus of this chapter is application security.

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 6 Security concepts

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 7 Examples of security concepts

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 8 Security controls l Controls that are intended to ensure that attacks are unsuccessful. This is analagous to fault avoidance. l Controls that are intended to detect and repel attacks. This is analagous to fault detection and tolerance. l Controls that are intended to support recovery from problems. This is analagous to fault recovery.

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 9 Security requirements l Patient information must be downloaded at the start of a clinic session to a secure area on the system client that is used by clinical staff. l Patient information must not be maintained on system clients after a clinic session has finished. l A log on a separate computer from the database server must be maintained of all changes made to the system database.

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 10 Life cycle risk assessment l Risk assessment while the system is being developed and after it has been deployed l More information is available - system platform, middleware and the system architecture and data organisation. l Vulnerabilities that arise from design choices may therefore be identified.

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 11 Examples of design decisions l System users authenticated using a name/password combination. l The system architecture is client-server with clients accessing the system through a standard web browser. l Information is presented as an editable web form.

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 12 Technology vulnerabilities

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 13 Design for security l Architectural design - how do architectural design decisions affect the security of a system? l Good practice - what is accepted good practice when designing secure systems? l Design for deployment - what support should be designed into a system to avoid the introduction of vulnerabilities when a system is deployed for use?

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 14 Architectural design l Protection How should the system be organised so that critical assets can be protected against external attack? l Distribution How should system assets be distributed so that the effects of a successful attack are minimised? l Potentially conflicting If assets are distributed, then they are more expensive to protect.

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 15 Protection l Platform-level protection l Application-level protection l Record-level protection

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 16 Layered protection

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 17 A distributed equity system

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 18 Design guidelines l Design guidelines encapsulate good practice in secure systems design l Design guidelines serve two purposes: They raise awareness of security issues in a software engineering team. They can be used as the basis of a review checklist that is applied during the system validation process.

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 19 Design guidelines 1 l Base security decisions on an explicit security policy l Avoid a single point of failure l Fail securely l Balance security and usability l Be aware of the possibilities of social engineering

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 20 Design guidelines 2 l Use redundancy and diversity to reduce risk l Validate all inputs l Compartmentalise your assets l Design for deployment l Design for recoverability

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 21 Key points l Security engineering is concerned with how to develop systems that can resist malicious attacks l Security threats can be threats to confidentiality, integrity or availability of a system or its data l Design for security involves architectural design, following good design practice and minimising the introduction of system vulnerabilities l Key issues when designing a secure architecture include organising the structure to protect assets and distributing assets to minimise losses l General security guidelines sensitise designers to security issues and serve as review checklists