Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 1 Security Engineering."— Presentation transcript:

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

2 ©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.

3 ©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

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

5 ©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.

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

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

8 ©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.

9 ©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.

10 ©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.

11 ©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.

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

13 ©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?

14 ©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.

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

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

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

18 ©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.

19 ©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

20 ©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

21 ©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


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

Similar presentations


Ads by Google