SlideShare uma empresa Scribd logo
1 de 48
Chapter 14 – Security Engineering Lecture 1 Chapter 14 Security Engineering 1
Topics covered Security engineering and security management Security engineering concerned with applications; security management with infrastructure. Security risk assessment Designing a system based on the assessment of security risks. Design for security How system architectures have to be designed for security. Chapter 14 Security Engineering 2
Security engineering 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. A sub-field of the broader field of computer security. Assumes background knowledge of dependability and security concepts (Chapter 10) and security requirements specification (Chapter 12) Chapter 14 Security Engineering 3
Application/infrastructure security Application security is a software engineering problem where the system is designed to resist attacks. Infrastructure security is a systems management problem where the infrastructure is configured to resist attacks. The focus of this chapter is application security. Chapter 14 Security Engineering 4
System layers where security may be compromised Chapter 14 Security Engineering 5
System security management User and permission management Adding and removing users from the system and setting up appropriate permissions for users Software deployment and maintenance Installing application software and middleware and configuring these systems so that vulnerabilities are avoided. Attack monitoring, detection and recovery Monitoring the system for unauthorized access, design strategies for resisting attacks and develop backup and recovery strategies. Chapter 14 Security Engineering 6
Security risk management Risk management is concerned with assessing the possible losses that might ensue from attacks on the system and balancing these losses against the costs of security procedures that may reduce these losses. Risk management should be driven by an organisational security policy. Risk management involves Preliminary risk assessment Life cycle risk assessment Operational risk assessment Chapter 14 Security Engineering 7
Preliminary risk assessment Chapter 14 Security Engineering 8
Misuse cases Misuse cases are instances of threats to a system Interception threats Attacker gains access to an asset Interruption threats Attacker makes part of a system unavailable Modification threats A system asset if tampered with Fabrication threats False information is added to a system Chapter 14 Security Engineering 9
Asset analysis Chapter 14 Security Engineering 10
Threat and control analysis Chapter 14 Security Engineering 11
Security requirements 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. Patient information must not be maintained on system clients after a clinic session has finished. A log on a separate computer from the database server must be maintained of all changes made to the system database. Chapter 14 Security Engineering 12
Life cycle risk assessment Risk assessment while the system is being developed and after it has been deployed More information is available - system platform, middleware and the system architecture and data organisation. Vulnerabilities that arise from design choices may therefore be identified. Chapter 14 Security Engineering 13
Life-cycle risk analysis Chapter 14 Security Engineering 14
Design decisions from use of COTS System users authenticated using a name/password combination. The system architecture is client-server with clients accessing the system through a standard web browser. Information is presented as an editable web form. Chapter 14 Security Engineering 15
Vulnerabilities associated with technology choices Chapter 14 Security Engineering 16
Security requirements A password checker shall be made available and shall be run daily. Weak passwords shall be reported to system administrators. Access to the system shall only be allowed by approved client computers. All client computers shall have a single, approved web browser installed by system administrators. Chapter 14 Security Engineering 17
Operational risk assessment Continuation of life cycle risk assessment but with additional information about the environment where the system is used. Environment characteristics can lead to new system risks  Risk of interruption means that logged in computers are left unattended. Chapter 14 Security Engineering 18
Design for security Architectural design how do architectural design decisions affect the security of a system? Good practice what is accepted good practice when designing secure systems? Design for deployment what support should be designed into a system to avoid the introduction of vulnerabilities when a system is deployed for use? Chapter 14 Security Engineering 19
Architectural design Two fundamental issues have to be considered when designing an architecture for security. Protection How should the system be organised so that critical assets can be protected against external attack? Distribution How should system assets be distributed so that the effects of a successful attack are minimized? These are potentially conflicting If assets are distributed, then they are more expensive to protect. If assets are protected, then usability and performance requirements may be compromised. Chapter 14 Security Engineering 20
Protection Platform-level protection Top-level controls on the platform on which a system runs. Application-level protection Specific protection mechanisms built into the application itself e.g. additional password protection. Record-level protection Protection that is invoked when access to specific information is requested These lead to a layered protection architecture Chapter 14 Security Engineering 21
A layered protection architecture  Chapter 14 Security Engineering 22
Distribution Distributing assets means that attacks on one system do not necessarily lead to complete loss of system service Each platform has separate protection features and may be different from other platforms so that they do not share a common vulnerability Distribution is particularly important if the risk of denial of service attacks is high Chapter 14 Security Engineering 23
Distributed assets in an equity trading system Chapter 14 Security Engineering 24
Key points Security engineering is concerned with how to develop systems that can resist malicious attacks Security threats can be threats to confidentiality, integrity or availability of a system or its data Security risk management is concerned with assessing possible losses from attacks and deriving security requirements to minimise losses Design for security involves architectural design, following good design practice and minimising the introduction of system vulnerabilities Chapter 14 Security Engineering 25
Chapter 14 – Security Engineering Lecture 2 Chapter 14 Security Engineering 26
Topics covered Design guidelines for security Guidelines that help you design a secure system Design for deployment Design so that deployment problems that may introduce vulnerabilities are minimized System survivability Allow the system to deliver essential services when under attack Chapter 14 Security Engineering 27
Design guidelines for security engineering Design guidelines encapsulate good practice in secure systems design Design guidelines serve two purposes: They raise awareness of security issues in a software engineering team. Security is considered when design decisions are made. They can be used as the basis of a review checklist that is applied during the system validation process.  Design guidelines here are applicable during software specification and design Chapter 14 Security Engineering 28
Design guidelines for secure systems engineering Chapter 14 Security Engineering 29
Design guidelines 1-3 Base decisions on an explicit security policy Define a security policy for the organization that sets out the fundamental security requirements that should apply to all organizational systems. Avoid a single point of failure Ensure that a security failure can only result when there is more than one failure in security procedures. For example, have password and question-based authentication. Fail securely When systems fail, for whatever reason, ensure that sensitive information cannot be accessed by unauthorized users even although normal security procedures are unavailable. Chapter 14 Security Engineering 30
Design guidelines 4-6 Balance security and usability Try to avoid security procedures that make the system difficult to use. Sometimes you have to accept weaker security to make the system more usable. Log user actions Maintain a log of user actions that can be analyzed to discover who did what. If users know about such a log, they are less likely to behave in an irresponsible way. Use redundancy and diversity to reduce risk Keep multiple copies of data and use diverse infrastructure so that an infrastructure vulnerability cannot be the single point of failure. Chapter 14 Security Engineering 31
Design guidelines 7-10 Validate all inputs Check that all inputs are within range so that unexpected inputs cannot cause problems. Compartmentalize your assets Organize the system so that assets are in separate areas and users only have access to the information that they need rather than all system information. Design for deployment Design the system to avoid deployment problems Design for recoverability Design the system to simplify recoverability after a successful attack. Chapter 14 Security Engineering 32
Design for deployment Deployment involves configuring software to operate in its working environment, installing the system and configuring it for the operational platform. Vulnerabilities may be introduced at this stage as a result of configuration mistakes. Designing deployment support into the system can reduce the probability that vulnerabilities will be introduced. Chapter 14 Security Engineering 33
Software deployment Chapter 14 Security Engineering 34
Configuration vulnerabilities Vulnerable default settings Attackers can find out the default settings for software. If these are weak (often to increase usability) then they can be exploited by users when attacking a system.  Development rather than deployment Some configuration settings in systems are designed to support development and debugging. If these are not turned off, they can be a vulnerability that can be exploited by attackers. Chapter 14 Security Engineering 35
Deployment support 1 Include support for viewing and analyzing configurations Make sure that the system administrator responsible for deployment can easily view the entire configuration. This makes it easier to spot omissions and errors that have been made. Minimize default privileges and thus limit the damage that might be caused Design the system so that the default privileges for an administrator are minimized. This means that if someone gains admin access, they do not have immediate access to the features of the system. Chapter 14 Security Engineering 36
Deployment support 2 Localize configuration settings When setting up a system, all information that is relevant to the same part or component of a system should be localized so that it is all set up at once. Otherwise, it is easy to forget to set up related security features. Provide easy ways to fix security vulnerabilities When problems are detected, provide easy ways, such as auto-updating, to repair security vulnerabilities in the deployed systems. Chapter 14 Security Engineering 37
System survivability Survivability is an emergent system property that reflects the systems ability to deliver essential services whilst it is under attack or after part of the system has been damaged Survivability analysis and design should be part of the security engineering process Chapter 14 Security Engineering 38
Importance of survivability Our economic and social lives are dependent on computer systems Critical infrastructure – electricity, gas, telecommunications, transport   Healthcare Government Loss of business systems for even a short time can have very severe economic effects Airline reservation systems E-commerce systems Payment systems Chapter 14 Security Engineering 39
Service availability Which system services are the most critical for a business? How might these services be compromised? What is the minimal quality of service that must be maintained? How can these services be protected? If a service becomes unavailable, how quickly can it be recovered? Chapter 14 Security Engineering 40
Survivability strategies Resistance  Avoiding problems by building capabilities into the system to resist attacks Recognition Detecting problems by building capabilities into the system to detect attacks and failures and assess the resultant damage Recovery Tolerating problems by building capabilities into the system to deliver services whilst under attack Chapter 14 Security Engineering 41
Stages in survivability analysis Chapter 14 Security Engineering 42
Key activities System understanding Review golas, requirements and architecture Critical service identification Identify services that must be maintained Attack simulation Devise attack scenarios and identify components affected Survivability analysis Identify survivability strategies to be applied Chapter 14 Security Engineering 43
Trading system survivability User accounts and equity prices replicated across servers so some provision for survivability made Key capability to be maintained is the ability to place orders for stock Orders must be accurate and reflect the actual sales/purchases made by a trader Chapter 14 Security Engineering 44
Survivable ordering service The critical service that must survive is the ability for authorized users to place orders for stock This requires 3 components of the system to be available and operating reliability: User authentication, allowing authorized users to log on to the system Price quotation, allowing buying and selling prices to be quoted Order placement, allowing buy and sell orders to be made Chapter 14 Security Engineering 45
Possible attacks Malicious user masquerades as a legitimate user and places malicious orders for stock, with the aim of causing problems for the legitimate user An unauthorized user corrupts the database of transactions thus making reconciliation of sales and purchases impossible Chapter 14 Security Engineering 46
Survivability analysis in an equity trading system 47
Key points General security guidelines sensitize designers to security issues and serve as review checklists Configuration visualization, setting localization, and minimization of default privileges help reduce deployment errors System survivability reflects the ability of a system to deliver services whilst under attack or after part of the system has been damaged. Chapter 14 Security Engineering 48

Mais conteúdo relacionado

Mais procurados (20)

Ch25-Software Engineering 9
Ch25-Software Engineering 9Ch25-Software Engineering 9
Ch25-Software Engineering 9
 
Ch9 evolution
Ch9 evolutionCh9 evolution
Ch9 evolution
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9
 
Ch19 systems engineering
Ch19 systems engineeringCh19 systems engineering
Ch19 systems engineering
 
Ch7 implementation
Ch7 implementationCh7 implementation
Ch7 implementation
 
Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9
 
Ch10 dependable systems
Ch10 dependable systemsCh10 dependable systems
Ch10 dependable systems
 
Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9
 
Ch24 quality management
Ch24 quality managementCh24 quality management
Ch24 quality management
 
Ch8.testing
Ch8.testingCh8.testing
Ch8.testing
 
Ian Sommerville, Software Engineering, 9th EditionCh 8
Ian Sommerville,  Software Engineering, 9th EditionCh 8Ian Sommerville,  Software Engineering, 9th EditionCh 8
Ian Sommerville, Software Engineering, 9th EditionCh 8
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9
 
Ch20 systems of systems
Ch20 systems of systemsCh20 systems of systems
Ch20 systems of systems
 
Ch3. agile sw dev
Ch3. agile sw devCh3. agile sw dev
Ch3. agile sw dev
 
Ch23 project planning
Ch23 project planningCh23 project planning
Ch23 project planning
 
Ch5 system modeling
Ch5 system modelingCh5 system modeling
Ch5 system modeling
 
Ch2 sw processes
Ch2 sw processesCh2 sw processes
Ch2 sw processes
 
Ch12 safety engineering
Ch12 safety engineeringCh12 safety engineering
Ch12 safety engineering
 
Ch15 software reuse
Ch15 software reuseCh15 software reuse
Ch15 software reuse
 
Airbus fcs
Airbus fcsAirbus fcs
Airbus fcs
 

Destaque

Destaque (12)

Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9
 
Ch26 - software engineering 9
Ch26 - software engineering 9Ch26 - software engineering 9
Ch26 - software engineering 9
 
Ch11-Software Engineering 9
Ch11-Software Engineering 9Ch11-Software Engineering 9
Ch11-Software Engineering 9
 
Ch13-Software Engineering 9
Ch13-Software Engineering 9Ch13-Software Engineering 9
Ch13-Software Engineering 9
 
Ch12-Software Engineering 9
Ch12-Software Engineering 9Ch12-Software Engineering 9
Ch12-Software Engineering 9
 
Chap2 RE processes
Chap2 RE processesChap2 RE processes
Chap2 RE processes
 
Chap1 RE Introduction
Chap1 RE IntroductionChap1 RE Introduction
Chap1 RE Introduction
 
Chap5 RE management
Chap5 RE managementChap5 RE management
Chap5 RE management
 
Chap3 RE elicitation
Chap3 RE elicitationChap3 RE elicitation
Chap3 RE elicitation
 
Chap4 RE validation
Chap4 RE validationChap4 RE validation
Chap4 RE validation
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 
Ch1-Software Engineering 9
Ch1-Software Engineering 9Ch1-Software Engineering 9
Ch1-Software Engineering 9
 

Semelhante a Ch14-Software Engineering 9

CISSP Certification- Security Engineering-part1
CISSP Certification- Security Engineering-part1CISSP Certification- Security Engineering-part1
CISSP Certification- Security Engineering-part1Hamed Moghaddam
 
Software Security Engineering
Software Security EngineeringSoftware Security Engineering
Software Security EngineeringMuhammad Asim
 
Scada implement secure - architecture
Scada implement secure - architectureScada implement secure - architecture
Scada implement secure - architectureFelipe Prado
 
Computer security aspects in
Computer security aspects inComputer security aspects in
Computer security aspects inVishnu Suresh
 
Ch14 - Resilience Engineering
Ch14 - Resilience EngineeringCh14 - Resilience Engineering
Ch14 - Resilience EngineeringHarsh Verdhan Raj
 
Security Education and Training1111.pdf
Security Education and Training1111.pdfSecurity Education and Training1111.pdf
Security Education and Training1111.pdfakkashkumar055
 
Software security engineering
Software security engineeringSoftware security engineering
Software security engineeringaizazhussain234
 
Security at the Core: Unraveling Secure by Design Principles
Security at the Core: Unraveling Secure by Design PrinciplesSecurity at the Core: Unraveling Secure by Design Principles
Security at the Core: Unraveling Secure by Design PrinciplesCentextech
 
· THE INDUSTRY AND THE COMPANY AND ITS PRODUCT(S) OR SERVICE(S)A.docx
· THE INDUSTRY AND THE COMPANY AND ITS PRODUCT(S) OR SERVICE(S)A.docx· THE INDUSTRY AND THE COMPANY AND ITS PRODUCT(S) OR SERVICE(S)A.docx
· THE INDUSTRY AND THE COMPANY AND ITS PRODUCT(S) OR SERVICE(S)A.docxoswald1horne84988
 
create your own Security Management Model using the NIST Special Pub.pdf
create your own Security Management Model using the NIST Special Pub.pdfcreate your own Security Management Model using the NIST Special Pub.pdf
create your own Security Management Model using the NIST Special Pub.pdfFORTUNE2505
 
A Secure Software Engineering Perspective
A Secure Software Engineering PerspectiveA Secure Software Engineering Perspective
A Secure Software Engineering Perspectiveidescitation
 
5 Things to Know about Safety and Security of Embedded Systems
5 Things to Know about Safety and Security of Embedded Systems5 Things to Know about Safety and Security of Embedded Systems
5 Things to Know about Safety and Security of Embedded SystemsMEN Micro
 
5 Things to Know about Safety and Security of Embedded Systems
5 Things to Know about Safety and Security of Embedded Systems5 Things to Know about Safety and Security of Embedded Systems
5 Things to Know about Safety and Security of Embedded SystemsMEN Mikro Elektronik GmbH
 
Embedded Systems Security
Embedded Systems Security Embedded Systems Security
Embedded Systems Security Malachi Jones
 
Critical Infrastructure Assessment Techniques to Prevent Threats and Vulnerab...
Critical Infrastructure Assessment Techniques to Prevent Threats and Vulnerab...Critical Infrastructure Assessment Techniques to Prevent Threats and Vulnerab...
Critical Infrastructure Assessment Techniques to Prevent Threats and Vulnerab...Shakeel Ali
 
Enhancing-Server-Security-in-hardware-side-Dec-23-2023-2.pptx
Enhancing-Server-Security-in-hardware-side-Dec-23-2023-2.pptxEnhancing-Server-Security-in-hardware-side-Dec-23-2023-2.pptx
Enhancing-Server-Security-in-hardware-side-Dec-23-2023-2.pptxerickxandergarin
 

Semelhante a Ch14-Software Engineering 9 (20)

Ch14
Ch14Ch14
Ch14
 
Ch13 - Security Engineering
Ch13 - Security EngineeringCh13 - Security Engineering
Ch13 - Security Engineering
 
CISSP Certification- Security Engineering-part1
CISSP Certification- Security Engineering-part1CISSP Certification- Security Engineering-part1
CISSP Certification- Security Engineering-part1
 
Software Security Engineering
Software Security EngineeringSoftware Security Engineering
Software Security Engineering
 
Scada implement secure - architecture
Scada implement secure - architectureScada implement secure - architecture
Scada implement secure - architecture
 
Computer security aspects in
Computer security aspects inComputer security aspects in
Computer security aspects in
 
Ch14 - Resilience Engineering
Ch14 - Resilience EngineeringCh14 - Resilience Engineering
Ch14 - Resilience Engineering
 
Security Education and Training1111.pdf
Security Education and Training1111.pdfSecurity Education and Training1111.pdf
Security Education and Training1111.pdf
 
Software security engineering
Software security engineeringSoftware security engineering
Software security engineering
 
Security at the Core: Unraveling Secure by Design Principles
Security at the Core: Unraveling Secure by Design PrinciplesSecurity at the Core: Unraveling Secure by Design Principles
Security at the Core: Unraveling Secure by Design Principles
 
02.security systems
02.security systems02.security systems
02.security systems
 
Security
SecuritySecurity
Security
 
· THE INDUSTRY AND THE COMPANY AND ITS PRODUCT(S) OR SERVICE(S)A.docx
· THE INDUSTRY AND THE COMPANY AND ITS PRODUCT(S) OR SERVICE(S)A.docx· THE INDUSTRY AND THE COMPANY AND ITS PRODUCT(S) OR SERVICE(S)A.docx
· THE INDUSTRY AND THE COMPANY AND ITS PRODUCT(S) OR SERVICE(S)A.docx
 
create your own Security Management Model using the NIST Special Pub.pdf
create your own Security Management Model using the NIST Special Pub.pdfcreate your own Security Management Model using the NIST Special Pub.pdf
create your own Security Management Model using the NIST Special Pub.pdf
 
A Secure Software Engineering Perspective
A Secure Software Engineering PerspectiveA Secure Software Engineering Perspective
A Secure Software Engineering Perspective
 
5 Things to Know about Safety and Security of Embedded Systems
5 Things to Know about Safety and Security of Embedded Systems5 Things to Know about Safety and Security of Embedded Systems
5 Things to Know about Safety and Security of Embedded Systems
 
5 Things to Know about Safety and Security of Embedded Systems
5 Things to Know about Safety and Security of Embedded Systems5 Things to Know about Safety and Security of Embedded Systems
5 Things to Know about Safety and Security of Embedded Systems
 
Embedded Systems Security
Embedded Systems Security Embedded Systems Security
Embedded Systems Security
 
Critical Infrastructure Assessment Techniques to Prevent Threats and Vulnerab...
Critical Infrastructure Assessment Techniques to Prevent Threats and Vulnerab...Critical Infrastructure Assessment Techniques to Prevent Threats and Vulnerab...
Critical Infrastructure Assessment Techniques to Prevent Threats and Vulnerab...
 
Enhancing-Server-Security-in-hardware-side-Dec-23-2023-2.pptx
Enhancing-Server-Security-in-hardware-side-Dec-23-2023-2.pptxEnhancing-Server-Security-in-hardware-side-Dec-23-2023-2.pptx
Enhancing-Server-Security-in-hardware-side-Dec-23-2023-2.pptx
 

Mais de Ian Sommerville

Ch16-Software Engineering 9
Ch16-Software Engineering 9Ch16-Software Engineering 9
Ch16-Software Engineering 9Ian Sommerville
 
Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9Ian Sommerville
 
Ch21-Software Engineering 9
Ch21-Software Engineering 9Ch21-Software Engineering 9
Ch21-Software Engineering 9Ian Sommerville
 
Ch20-Software Engineering 9
Ch20-Software Engineering 9Ch20-Software Engineering 9
Ch20-Software Engineering 9Ian Sommerville
 
Ch22-Software Engineering 9
Ch22-Software Engineering 9Ch22-Software Engineering 9
Ch22-Software Engineering 9Ian Sommerville
 
Ch15-Software Engineering 9
Ch15-Software Engineering 9Ch15-Software Engineering 9
Ch15-Software Engineering 9Ian Sommerville
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9Ian Sommerville
 
Ch24-Software Engineering 9
Ch24-Software Engineering 9Ch24-Software Engineering 9
Ch24-Software Engineering 9Ian Sommerville
 

Mais de Ian Sommerville (8)

Ch16-Software Engineering 9
Ch16-Software Engineering 9Ch16-Software Engineering 9
Ch16-Software Engineering 9
 
Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9
 
Ch21-Software Engineering 9
Ch21-Software Engineering 9Ch21-Software Engineering 9
Ch21-Software Engineering 9
 
Ch20-Software Engineering 9
Ch20-Software Engineering 9Ch20-Software Engineering 9
Ch20-Software Engineering 9
 
Ch22-Software Engineering 9
Ch22-Software Engineering 9Ch22-Software Engineering 9
Ch22-Software Engineering 9
 
Ch15-Software Engineering 9
Ch15-Software Engineering 9Ch15-Software Engineering 9
Ch15-Software Engineering 9
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9
 
Ch24-Software Engineering 9
Ch24-Software Engineering 9Ch24-Software Engineering 9
Ch24-Software Engineering 9
 

Último

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 

Último (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

Ch14-Software Engineering 9

  • 1. Chapter 14 – Security Engineering Lecture 1 Chapter 14 Security Engineering 1
  • 2. Topics covered Security engineering and security management Security engineering concerned with applications; security management with infrastructure. Security risk assessment Designing a system based on the assessment of security risks. Design for security How system architectures have to be designed for security. Chapter 14 Security Engineering 2
  • 3. Security engineering 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. A sub-field of the broader field of computer security. Assumes background knowledge of dependability and security concepts (Chapter 10) and security requirements specification (Chapter 12) Chapter 14 Security Engineering 3
  • 4. Application/infrastructure security Application security is a software engineering problem where the system is designed to resist attacks. Infrastructure security is a systems management problem where the infrastructure is configured to resist attacks. The focus of this chapter is application security. Chapter 14 Security Engineering 4
  • 5. System layers where security may be compromised Chapter 14 Security Engineering 5
  • 6. System security management User and permission management Adding and removing users from the system and setting up appropriate permissions for users Software deployment and maintenance Installing application software and middleware and configuring these systems so that vulnerabilities are avoided. Attack monitoring, detection and recovery Monitoring the system for unauthorized access, design strategies for resisting attacks and develop backup and recovery strategies. Chapter 14 Security Engineering 6
  • 7. Security risk management Risk management is concerned with assessing the possible losses that might ensue from attacks on the system and balancing these losses against the costs of security procedures that may reduce these losses. Risk management should be driven by an organisational security policy. Risk management involves Preliminary risk assessment Life cycle risk assessment Operational risk assessment Chapter 14 Security Engineering 7
  • 8. Preliminary risk assessment Chapter 14 Security Engineering 8
  • 9. Misuse cases Misuse cases are instances of threats to a system Interception threats Attacker gains access to an asset Interruption threats Attacker makes part of a system unavailable Modification threats A system asset if tampered with Fabrication threats False information is added to a system Chapter 14 Security Engineering 9
  • 10. Asset analysis Chapter 14 Security Engineering 10
  • 11. Threat and control analysis Chapter 14 Security Engineering 11
  • 12. Security requirements 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. Patient information must not be maintained on system clients after a clinic session has finished. A log on a separate computer from the database server must be maintained of all changes made to the system database. Chapter 14 Security Engineering 12
  • 13. Life cycle risk assessment Risk assessment while the system is being developed and after it has been deployed More information is available - system platform, middleware and the system architecture and data organisation. Vulnerabilities that arise from design choices may therefore be identified. Chapter 14 Security Engineering 13
  • 14. Life-cycle risk analysis Chapter 14 Security Engineering 14
  • 15. Design decisions from use of COTS System users authenticated using a name/password combination. The system architecture is client-server with clients accessing the system through a standard web browser. Information is presented as an editable web form. Chapter 14 Security Engineering 15
  • 16. Vulnerabilities associated with technology choices Chapter 14 Security Engineering 16
  • 17. Security requirements A password checker shall be made available and shall be run daily. Weak passwords shall be reported to system administrators. Access to the system shall only be allowed by approved client computers. All client computers shall have a single, approved web browser installed by system administrators. Chapter 14 Security Engineering 17
  • 18. Operational risk assessment Continuation of life cycle risk assessment but with additional information about the environment where the system is used. Environment characteristics can lead to new system risks Risk of interruption means that logged in computers are left unattended. Chapter 14 Security Engineering 18
  • 19. Design for security Architectural design how do architectural design decisions affect the security of a system? Good practice what is accepted good practice when designing secure systems? Design for deployment what support should be designed into a system to avoid the introduction of vulnerabilities when a system is deployed for use? Chapter 14 Security Engineering 19
  • 20. Architectural design Two fundamental issues have to be considered when designing an architecture for security. Protection How should the system be organised so that critical assets can be protected against external attack? Distribution How should system assets be distributed so that the effects of a successful attack are minimized? These are potentially conflicting If assets are distributed, then they are more expensive to protect. If assets are protected, then usability and performance requirements may be compromised. Chapter 14 Security Engineering 20
  • 21. Protection Platform-level protection Top-level controls on the platform on which a system runs. Application-level protection Specific protection mechanisms built into the application itself e.g. additional password protection. Record-level protection Protection that is invoked when access to specific information is requested These lead to a layered protection architecture Chapter 14 Security Engineering 21
  • 22. A layered protection architecture Chapter 14 Security Engineering 22
  • 23. Distribution Distributing assets means that attacks on one system do not necessarily lead to complete loss of system service Each platform has separate protection features and may be different from other platforms so that they do not share a common vulnerability Distribution is particularly important if the risk of denial of service attacks is high Chapter 14 Security Engineering 23
  • 24. Distributed assets in an equity trading system Chapter 14 Security Engineering 24
  • 25. Key points Security engineering is concerned with how to develop systems that can resist malicious attacks Security threats can be threats to confidentiality, integrity or availability of a system or its data Security risk management is concerned with assessing possible losses from attacks and deriving security requirements to minimise losses Design for security involves architectural design, following good design practice and minimising the introduction of system vulnerabilities Chapter 14 Security Engineering 25
  • 26. Chapter 14 – Security Engineering Lecture 2 Chapter 14 Security Engineering 26
  • 27. Topics covered Design guidelines for security Guidelines that help you design a secure system Design for deployment Design so that deployment problems that may introduce vulnerabilities are minimized System survivability Allow the system to deliver essential services when under attack Chapter 14 Security Engineering 27
  • 28. Design guidelines for security engineering Design guidelines encapsulate good practice in secure systems design Design guidelines serve two purposes: They raise awareness of security issues in a software engineering team. Security is considered when design decisions are made. They can be used as the basis of a review checklist that is applied during the system validation process. Design guidelines here are applicable during software specification and design Chapter 14 Security Engineering 28
  • 29. Design guidelines for secure systems engineering Chapter 14 Security Engineering 29
  • 30. Design guidelines 1-3 Base decisions on an explicit security policy Define a security policy for the organization that sets out the fundamental security requirements that should apply to all organizational systems. Avoid a single point of failure Ensure that a security failure can only result when there is more than one failure in security procedures. For example, have password and question-based authentication. Fail securely When systems fail, for whatever reason, ensure that sensitive information cannot be accessed by unauthorized users even although normal security procedures are unavailable. Chapter 14 Security Engineering 30
  • 31. Design guidelines 4-6 Balance security and usability Try to avoid security procedures that make the system difficult to use. Sometimes you have to accept weaker security to make the system more usable. Log user actions Maintain a log of user actions that can be analyzed to discover who did what. If users know about such a log, they are less likely to behave in an irresponsible way. Use redundancy and diversity to reduce risk Keep multiple copies of data and use diverse infrastructure so that an infrastructure vulnerability cannot be the single point of failure. Chapter 14 Security Engineering 31
  • 32. Design guidelines 7-10 Validate all inputs Check that all inputs are within range so that unexpected inputs cannot cause problems. Compartmentalize your assets Organize the system so that assets are in separate areas and users only have access to the information that they need rather than all system information. Design for deployment Design the system to avoid deployment problems Design for recoverability Design the system to simplify recoverability after a successful attack. Chapter 14 Security Engineering 32
  • 33. Design for deployment Deployment involves configuring software to operate in its working environment, installing the system and configuring it for the operational platform. Vulnerabilities may be introduced at this stage as a result of configuration mistakes. Designing deployment support into the system can reduce the probability that vulnerabilities will be introduced. Chapter 14 Security Engineering 33
  • 34. Software deployment Chapter 14 Security Engineering 34
  • 35. Configuration vulnerabilities Vulnerable default settings Attackers can find out the default settings for software. If these are weak (often to increase usability) then they can be exploited by users when attacking a system. Development rather than deployment Some configuration settings in systems are designed to support development and debugging. If these are not turned off, they can be a vulnerability that can be exploited by attackers. Chapter 14 Security Engineering 35
  • 36. Deployment support 1 Include support for viewing and analyzing configurations Make sure that the system administrator responsible for deployment can easily view the entire configuration. This makes it easier to spot omissions and errors that have been made. Minimize default privileges and thus limit the damage that might be caused Design the system so that the default privileges for an administrator are minimized. This means that if someone gains admin access, they do not have immediate access to the features of the system. Chapter 14 Security Engineering 36
  • 37. Deployment support 2 Localize configuration settings When setting up a system, all information that is relevant to the same part or component of a system should be localized so that it is all set up at once. Otherwise, it is easy to forget to set up related security features. Provide easy ways to fix security vulnerabilities When problems are detected, provide easy ways, such as auto-updating, to repair security vulnerabilities in the deployed systems. Chapter 14 Security Engineering 37
  • 38. System survivability Survivability is an emergent system property that reflects the systems ability to deliver essential services whilst it is under attack or after part of the system has been damaged Survivability analysis and design should be part of the security engineering process Chapter 14 Security Engineering 38
  • 39. Importance of survivability Our economic and social lives are dependent on computer systems Critical infrastructure – electricity, gas, telecommunications, transport Healthcare Government Loss of business systems for even a short time can have very severe economic effects Airline reservation systems E-commerce systems Payment systems Chapter 14 Security Engineering 39
  • 40. Service availability Which system services are the most critical for a business? How might these services be compromised? What is the minimal quality of service that must be maintained? How can these services be protected? If a service becomes unavailable, how quickly can it be recovered? Chapter 14 Security Engineering 40
  • 41. Survivability strategies Resistance Avoiding problems by building capabilities into the system to resist attacks Recognition Detecting problems by building capabilities into the system to detect attacks and failures and assess the resultant damage Recovery Tolerating problems by building capabilities into the system to deliver services whilst under attack Chapter 14 Security Engineering 41
  • 42. Stages in survivability analysis Chapter 14 Security Engineering 42
  • 43. Key activities System understanding Review golas, requirements and architecture Critical service identification Identify services that must be maintained Attack simulation Devise attack scenarios and identify components affected Survivability analysis Identify survivability strategies to be applied Chapter 14 Security Engineering 43
  • 44. Trading system survivability User accounts and equity prices replicated across servers so some provision for survivability made Key capability to be maintained is the ability to place orders for stock Orders must be accurate and reflect the actual sales/purchases made by a trader Chapter 14 Security Engineering 44
  • 45. Survivable ordering service The critical service that must survive is the ability for authorized users to place orders for stock This requires 3 components of the system to be available and operating reliability: User authentication, allowing authorized users to log on to the system Price quotation, allowing buying and selling prices to be quoted Order placement, allowing buy and sell orders to be made Chapter 14 Security Engineering 45
  • 46. Possible attacks Malicious user masquerades as a legitimate user and places malicious orders for stock, with the aim of causing problems for the legitimate user An unauthorized user corrupts the database of transactions thus making reconciliation of sales and purchases impossible Chapter 14 Security Engineering 46
  • 47. Survivability analysis in an equity trading system 47
  • 48. Key points General security guidelines sensitize designers to security issues and serve as review checklists Configuration visualization, setting localization, and minimization of default privileges help reduce deployment errors System survivability reflects the ability of a system to deliver services whilst under attack or after part of the system has been damaged. Chapter 14 Security Engineering 48