SlideShare une entreprise Scribd logo
1  sur  10
Security case – buffer overflow




Security assurance case study, 2013   Slide 1
Security cases
 •      A structured body of evidence that supports an
        argument related to the security of a system
 •      Intended to convince a regulator or system controller
        that the system is acceptably secure
 •      Comparable to safety cases




Security assurance case study, 2013                       Slide 2
The system is acceptably secure CLAIM



                                                                                  SUBCLAIM

Requirements                                              Operation
There are no missing or                                   Operational procedures guard against
Existing requirements that create                         Security deficiencies
Security vulnerabilities

                                                     Coding
                                                     There are no implementation errors
            Design                                   that create security vulnerabilities
            There are no design errors that
            Create security vulnerabilities

  Security assurance case study, 2013                                                Slide 3
Coding
                                         There are no implementation errors
                                         that create security vulnerabilities




      Programmers trained                                      Coding defects
      Programmers have been trained                            Security-threatening coding defects
      In secure coding practice for the                        have been identified and checked
      development language used


                                                   Buffer overflow
Description of good coding
                                                   There are no buffer
practice
                                                   overflow possibilities in the code
  EVIDENCE                                                                      Input checks
                           Records of programmer                                All inputs checked for
                           training                                             validity
   Security assurance case study, 2013                                                       Slide 4
Buffer overflow
                                      There are no buffer
                                      overflow possibilities in the code


                                                               System testing
Code review
                                                               Testing the code with invalid inputs
Code reviews showed no
                                                               (long strings) resulted in all invalid
potential buffer overflows
                                                               Inputs being rejected

                             Static analysis
                             Static analysis tool did not
                             Report buffer overflow
                             possibilities



Security assurance case study, 2013                                                        Slide 5
System testing
                                  Testing the code with invalid inputs
                                  (long strings) resulted in all invalid
                                  Inputs being rejected




Test selection analysis                        Test plan                   Test results
Justification that the system                  The tests chosen            Results of running the
Tests chosen were adequate                     and expected                tests on the system
To discover buffer overflow                    test results




  Security assurance case study, 2013                                                  Slide 6
Security arguments
 •      Security should be based on multiple arguments
        rather than a single argument
 •      Key elements
      –       Competence of the development team
      –       Conformance with recommended development processes
      –       Use of manual and automated analysis of code, designs and
              documents
      –       System testing




Security assurance case study, 2013                                Slide 7
Tool support
 •      Security and safety arguments depend on organising
        a large volume of records, documents, test
        results, etc.
 •      Difficult to do manually so tool support for
        argumentation, reporting and document management
        is required
 •      Commercial tools available to support this activity e.g.
        Adelard safety case editor




Security assurance case study, 2013                        Slide 8
Security assurance case study, 2013   Slide 9
Conclusions
 •       Security cases involve making structured
         arguments, backed up by evidence about the security
         of a system.
 •       Security cases will become increasingly important as
         regulators and managers will expect these to be
         produced before security-critical software is released
 •       Interesting challenge of reconciling security cases
         (which rely on documentation) and agile software
         development (which relies on minimising
         documentation)


Security assurance case study, 2013                        Slide 10

Contenu connexe

Tendances

CS 5032 L2 dependability and security 2013
CS 5032 L2 dependability and security 2013CS 5032 L2 dependability and security 2013
CS 5032 L2 dependability and security 2013Ian Sommerville
 
CS 5032 L5 safety specification 2013
CS 5032 L5 safety specification 2013CS 5032 L5 safety specification 2013
CS 5032 L5 safety specification 2013Ian Sommerville
 
CS 5032 L6 reliability and security specification 2013
CS 5032 L6 reliability and security specification 2013CS 5032 L6 reliability and security specification 2013
CS 5032 L6 reliability and security specification 2013Ian Sommerville
 
Software security engineering
Software security engineeringSoftware security engineering
Software security engineeringaizazhussain234
 
Security Engineering 1 (CS 5032 2012)
Security Engineering 1 (CS 5032 2012)Security Engineering 1 (CS 5032 2012)
Security Engineering 1 (CS 5032 2012)Ian Sommerville
 
CS 5032 L7 dependability engineering 2013
CS 5032 L7 dependability engineering 2013CS 5032 L7 dependability engineering 2013
CS 5032 L7 dependability engineering 2013Ian Sommerville
 
CS 5032 L8 dependability engineering 2 2013
CS 5032 L8 dependability engineering 2 2013CS 5032 L8 dependability engineering 2 2013
CS 5032 L8 dependability engineering 2 2013Ian Sommerville
 
Defence in Depth Architectural Decisions
Defence in Depth Architectural DecisionsDefence in Depth Architectural Decisions
Defence in Depth Architectural DecisionsPeter Rawsthorne
 
Security testing (CS 5032 2012)
Security testing (CS 5032 2012)Security testing (CS 5032 2012)
Security testing (CS 5032 2012)Ian Sommerville
 
3 secure design principles
3   secure design principles3   secure design principles
3 secure design principlesdrewz lin
 
Database development and security certification and accreditation plan pitwg
Database development and security certification and accreditation plan  pitwgDatabase development and security certification and accreditation plan  pitwg
Database development and security certification and accreditation plan pitwgJohn M. Kennedy
 
7 Software Development Security
7 Software Development Security7 Software Development Security
7 Software Development SecurityAlfred Ouyang
 
HARDWARE ATTACK MITIGATION TECHNIQUES ANALYSIS
HARDWARE ATTACK MITIGATION TECHNIQUES ANALYSISHARDWARE ATTACK MITIGATION TECHNIQUES ANALYSIS
HARDWARE ATTACK MITIGATION TECHNIQUES ANALYSISijcisjournal
 
2 Security Architecture+Design
2 Security Architecture+Design2 Security Architecture+Design
2 Security Architecture+DesignAlfred Ouyang
 
1 info sec+risk-mgmt
1 info sec+risk-mgmt1 info sec+risk-mgmt
1 info sec+risk-mgmtmadunix
 
Assessing Risk: Developing a Client/Server Security Architecture,
 Assessing Risk: Developing a Client/Server Security Architecture,  Assessing Risk: Developing a Client/Server Security Architecture,
Assessing Risk: Developing a Client/Server Security Architecture, MITDaveMillaar
 
Building a Product Security Practice in a DevOps World
Building a Product Security Practice in a DevOps WorldBuilding a Product Security Practice in a DevOps World
Building a Product Security Practice in a DevOps WorldArun Prabhakar
 
3 Telecom+Network Part1
3 Telecom+Network Part13 Telecom+Network Part1
3 Telecom+Network Part1Alfred Ouyang
 

Tendances (19)

CS 5032 L2 dependability and security 2013
CS 5032 L2 dependability and security 2013CS 5032 L2 dependability and security 2013
CS 5032 L2 dependability and security 2013
 
CS 5032 L5 safety specification 2013
CS 5032 L5 safety specification 2013CS 5032 L5 safety specification 2013
CS 5032 L5 safety specification 2013
 
CS 5032 L6 reliability and security specification 2013
CS 5032 L6 reliability and security specification 2013CS 5032 L6 reliability and security specification 2013
CS 5032 L6 reliability and security specification 2013
 
Software security engineering
Software security engineeringSoftware security engineering
Software security engineering
 
Security Engineering 1 (CS 5032 2012)
Security Engineering 1 (CS 5032 2012)Security Engineering 1 (CS 5032 2012)
Security Engineering 1 (CS 5032 2012)
 
CS 5032 L7 dependability engineering 2013
CS 5032 L7 dependability engineering 2013CS 5032 L7 dependability engineering 2013
CS 5032 L7 dependability engineering 2013
 
CS 5032 L8 dependability engineering 2 2013
CS 5032 L8 dependability engineering 2 2013CS 5032 L8 dependability engineering 2 2013
CS 5032 L8 dependability engineering 2 2013
 
Defence in Depth Architectural Decisions
Defence in Depth Architectural DecisionsDefence in Depth Architectural Decisions
Defence in Depth Architectural Decisions
 
Security testing (CS 5032 2012)
Security testing (CS 5032 2012)Security testing (CS 5032 2012)
Security testing (CS 5032 2012)
 
3 secure design principles
3   secure design principles3   secure design principles
3 secure design principles
 
Database development and security certification and accreditation plan pitwg
Database development and security certification and accreditation plan  pitwgDatabase development and security certification and accreditation plan  pitwg
Database development and security certification and accreditation plan pitwg
 
7 Software Development Security
7 Software Development Security7 Software Development Security
7 Software Development Security
 
HARDWARE ATTACK MITIGATION TECHNIQUES ANALYSIS
HARDWARE ATTACK MITIGATION TECHNIQUES ANALYSISHARDWARE ATTACK MITIGATION TECHNIQUES ANALYSIS
HARDWARE ATTACK MITIGATION TECHNIQUES ANALYSIS
 
2 Security Architecture+Design
2 Security Architecture+Design2 Security Architecture+Design
2 Security Architecture+Design
 
Security engineering
Security engineeringSecurity engineering
Security engineering
 
1 info sec+risk-mgmt
1 info sec+risk-mgmt1 info sec+risk-mgmt
1 info sec+risk-mgmt
 
Assessing Risk: Developing a Client/Server Security Architecture,
 Assessing Risk: Developing a Client/Server Security Architecture,  Assessing Risk: Developing a Client/Server Security Architecture,
Assessing Risk: Developing a Client/Server Security Architecture,
 
Building a Product Security Practice in a DevOps World
Building a Product Security Practice in a DevOps WorldBuilding a Product Security Practice in a DevOps World
Building a Product Security Practice in a DevOps World
 
3 Telecom+Network Part1
3 Telecom+Network Part13 Telecom+Network Part1
3 Telecom+Network Part1
 

En vedette

CS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breachCS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breachIan Sommerville
 
CS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failureCS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failureIan Sommerville
 
How stuxnet spreads – a study of infection paths in best practice systems
How stuxnet spreads – a study of infection paths in best practice systemsHow stuxnet spreads – a study of infection paths in best practice systems
How stuxnet spreads – a study of infection paths in best practice systemsYury Chemerkin
 
Human failure (LSCITS EngD 2012)
Human failure (LSCITS EngD 2012)Human failure (LSCITS EngD 2012)
Human failure (LSCITS EngD 2012)Ian Sommerville
 
Designing software for a million users
Designing software for a million usersDesigning software for a million users
Designing software for a million usersIan Sommerville
 
CS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disasterCS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disasterIan Sommerville
 
CS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systemsCS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systemsIan Sommerville
 
CS 5032 L1 critical socio-technical systems 2013
CS 5032 L1 critical socio-technical systems 2013CS 5032 L1 critical socio-technical systems 2013
CS 5032 L1 critical socio-technical systems 2013Ian Sommerville
 
CS 5032 L3 socio-technical systems 2013
CS 5032 L3 socio-technical systems 2013CS 5032 L3 socio-technical systems 2013
CS 5032 L3 socio-technical systems 2013Ian Sommerville
 
An Introduction to Software Failure Modes Effects Analysis (SFMEA)
An Introduction to Software Failure Modes Effects Analysis (SFMEA)An Introduction to Software Failure Modes Effects Analysis (SFMEA)
An Introduction to Software Failure Modes Effects Analysis (SFMEA)Ann Marie Neufelder
 

En vedette (18)

CS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breachCS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breach
 
CS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failureCS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failure
 
Stuxnet worm
Stuxnet wormStuxnet worm
Stuxnet worm
 
How stuxnet spreads – a study of infection paths in best practice systems
How stuxnet spreads – a study of infection paths in best practice systemsHow stuxnet spreads – a study of infection paths in best practice systems
How stuxnet spreads – a study of infection paths in best practice systems
 
Human failure (LSCITS EngD 2012)
Human failure (LSCITS EngD 2012)Human failure (LSCITS EngD 2012)
Human failure (LSCITS EngD 2012)
 
Designing software for a million users
Designing software for a million usersDesigning software for a million users
Designing software for a million users
 
CS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disasterCS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disaster
 
CS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systemsCS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systems
 
CS 5032 L1 critical socio-technical systems 2013
CS 5032 L1 critical socio-technical systems 2013CS 5032 L1 critical socio-technical systems 2013
CS 5032 L1 critical socio-technical systems 2013
 
Maroochy water breach
Maroochy water breachMaroochy water breach
Maroochy water breach
 
Critical systems intro
Critical systems introCritical systems intro
Critical systems intro
 
System dependability
System dependabilitySystem dependability
System dependability
 
Critical systems engineering
Critical systems engineeringCritical systems engineering
Critical systems engineering
 
CS 5032 L3 socio-technical systems 2013
CS 5032 L3 socio-technical systems 2013CS 5032 L3 socio-technical systems 2013
CS 5032 L3 socio-technical systems 2013
 
Insulin pump overview
Insulin pump overviewInsulin pump overview
Insulin pump overview
 
Availability and reliability
Availability and reliabilityAvailability and reliability
Availability and reliability
 
System security
System securitySystem security
System security
 
An Introduction to Software Failure Modes Effects Analysis (SFMEA)
An Introduction to Software Failure Modes Effects Analysis (SFMEA)An Introduction to Software Failure Modes Effects Analysis (SFMEA)
An Introduction to Software Failure Modes Effects Analysis (SFMEA)
 

Similaire à Security case buffer overflow

App Sec Eu08 Sec Frm Not In Code
App Sec Eu08 Sec Frm Not In CodeApp Sec Eu08 Sec Frm Not In Code
App Sec Eu08 Sec Frm Not In CodeSamuele Reghenzi
 
ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...
ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...
ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...GoQA
 
Bridging the gap - Security and Software Testing
Bridging the gap - Security and Software TestingBridging the gap - Security and Software Testing
Bridging the gap - Security and Software TestingRoberto Suggi Liverani
 
Cloud Security vs Security in the Cloud
Cloud Security vs Security in the CloudCloud Security vs Security in the Cloud
Cloud Security vs Security in the CloudTjylen Veselyj
 
Security Services and Approach by Nazar Tymoshyk
Security Services and Approach by Nazar TymoshykSecurity Services and Approach by Nazar Tymoshyk
Security Services and Approach by Nazar TymoshykSoftServe
 
Standards for safety and security in avionics
Standards for safety and security in avionicsStandards for safety and security in avionics
Standards for safety and security in avionicsAlessandro Bruni
 
Ibm עמרי וייסמן
Ibm  עמרי וייסמןIbm  עמרי וייסמן
Ibm עמרי וייסמןlihig
 
Ibm עמרי וייסמן
Ibm  עמרי וייסמןIbm  עמרי וייסמן
Ibm עמרי וייסמןlihig
 
Omri
OmriOmri
Omrilihig
 
What Every Developer And Tester Should Know About Software Security
What Every Developer And Tester Should Know About Software SecurityWhat Every Developer And Tester Should Know About Software Security
What Every Developer And Tester Should Know About Software SecurityAnne Oikarinen
 
Devops security-An Insight into Secure-SDLC
Devops security-An Insight into Secure-SDLCDevops security-An Insight into Secure-SDLC
Devops security-An Insight into Secure-SDLCSuman Sourav
 
AppsSec In a DevOps World
AppsSec In a DevOps WorldAppsSec In a DevOps World
AppsSec In a DevOps WorldParasoft
 
An integrated security testing framework and tool
An integrated security testing framework  and toolAn integrated security testing framework  and tool
An integrated security testing framework and toolMoutasm Tamimi
 
Sumeet Mandloi: Robust Security Testing Framework
Sumeet Mandloi: Robust Security Testing FrameworkSumeet Mandloi: Robust Security Testing Framework
Sumeet Mandloi: Robust Security Testing FrameworkAnna Royzman
 
Testing concurrent java programs - Sameer Arora
Testing concurrent java programs - Sameer AroraTesting concurrent java programs - Sameer Arora
Testing concurrent java programs - Sameer AroraIndicThreads
 
Implementing an Application Security Pipeline in Jenkins
Implementing an Application Security Pipeline in JenkinsImplementing an Application Security Pipeline in Jenkins
Implementing an Application Security Pipeline in JenkinsSuman Sourav
 
Integrating security into Continuous Delivery
Integrating security into Continuous DeliveryIntegrating security into Continuous Delivery
Integrating security into Continuous DeliveryTom Stiehm
 

Similaire à Security case buffer overflow (20)

App Sec Eu08 Sec Frm Not In Code
App Sec Eu08 Sec Frm Not In CodeApp Sec Eu08 Sec Frm Not In Code
App Sec Eu08 Sec Frm Not In Code
 
ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...
ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...
ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...
 
Bridging the gap - Security and Software Testing
Bridging the gap - Security and Software TestingBridging the gap - Security and Software Testing
Bridging the gap - Security and Software Testing
 
Agile and Secure Development
Agile and Secure DevelopmentAgile and Secure Development
Agile and Secure Development
 
Cloud Security vs Security in the Cloud
Cloud Security vs Security in the CloudCloud Security vs Security in the Cloud
Cloud Security vs Security in the Cloud
 
Security Services and Approach by Nazar Tymoshyk
Security Services and Approach by Nazar TymoshykSecurity Services and Approach by Nazar Tymoshyk
Security Services and Approach by Nazar Tymoshyk
 
Standards for safety and security in avionics
Standards for safety and security in avionicsStandards for safety and security in avionics
Standards for safety and security in avionics
 
Ibm עמרי וייסמן
Ibm  עמרי וייסמןIbm  עמרי וייסמן
Ibm עמרי וייסמן
 
Ibm עמרי וייסמן
Ibm  עמרי וייסמןIbm  עמרי וייסמן
Ibm עמרי וייסמן
 
Omri
OmriOmri
Omri
 
What Every Developer And Tester Should Know About Software Security
What Every Developer And Tester Should Know About Software SecurityWhat Every Developer And Tester Should Know About Software Security
What Every Developer And Tester Should Know About Software Security
 
Devops security-An Insight into Secure-SDLC
Devops security-An Insight into Secure-SDLCDevops security-An Insight into Secure-SDLC
Devops security-An Insight into Secure-SDLC
 
AppsSec In a DevOps World
AppsSec In a DevOps WorldAppsSec In a DevOps World
AppsSec In a DevOps World
 
Security testing
Security testingSecurity testing
Security testing
 
An integrated security testing framework and tool
An integrated security testing framework  and toolAn integrated security testing framework  and tool
An integrated security testing framework and tool
 
Sumeet Mandloi: Robust Security Testing Framework
Sumeet Mandloi: Robust Security Testing FrameworkSumeet Mandloi: Robust Security Testing Framework
Sumeet Mandloi: Robust Security Testing Framework
 
Testing concurrent java programs - Sameer Arora
Testing concurrent java programs - Sameer AroraTesting concurrent java programs - Sameer Arora
Testing concurrent java programs - Sameer Arora
 
shaabani-Final-NC
shaabani-Final-NCshaabani-Final-NC
shaabani-Final-NC
 
Implementing an Application Security Pipeline in Jenkins
Implementing an Application Security Pipeline in JenkinsImplementing an Application Security Pipeline in Jenkins
Implementing an Application Security Pipeline in Jenkins
 
Integrating security into Continuous Delivery
Integrating security into Continuous DeliveryIntegrating security into Continuous Delivery
Integrating security into Continuous Delivery
 

Plus de Ian Sommerville

Ultra Large Scale Systems
Ultra Large Scale SystemsUltra Large Scale Systems
Ultra Large Scale SystemsIan Sommerville
 
Dependability requirements for LSCITS
Dependability requirements for LSCITSDependability requirements for LSCITS
Dependability requirements for LSCITSIan Sommerville
 
Conceptual systems design
Conceptual systems designConceptual systems design
Conceptual systems designIan Sommerville
 
Requirements Engineering for LSCITS
Requirements Engineering for LSCITSRequirements Engineering for LSCITS
Requirements Engineering for LSCITSIan Sommerville
 
An introduction to LSCITS
An introduction to LSCITSAn introduction to LSCITS
An introduction to LSCITSIan Sommerville
 
Internet worm-case-study
Internet worm-case-studyInternet worm-case-study
Internet worm-case-studyIan Sommerville
 
L17 CS5032 critical infrastructure
L17 CS5032 critical infrastructureL17 CS5032 critical infrastructure
L17 CS5032 critical infrastructureIan Sommerville
 

Plus de Ian Sommerville (11)

Ultra Large Scale Systems
Ultra Large Scale SystemsUltra Large Scale Systems
Ultra Large Scale Systems
 
Resp modellingintro
Resp modellingintroResp modellingintro
Resp modellingintro
 
Resilience and recovery
Resilience and recoveryResilience and recovery
Resilience and recovery
 
LSCITS-engineering
LSCITS-engineeringLSCITS-engineering
LSCITS-engineering
 
Requirements reality
Requirements realityRequirements reality
Requirements reality
 
Dependability requirements for LSCITS
Dependability requirements for LSCITSDependability requirements for LSCITS
Dependability requirements for LSCITS
 
Conceptual systems design
Conceptual systems designConceptual systems design
Conceptual systems design
 
Requirements Engineering for LSCITS
Requirements Engineering for LSCITSRequirements Engineering for LSCITS
Requirements Engineering for LSCITS
 
An introduction to LSCITS
An introduction to LSCITSAn introduction to LSCITS
An introduction to LSCITS
 
Internet worm-case-study
Internet worm-case-studyInternet worm-case-study
Internet worm-case-study
 
L17 CS5032 critical infrastructure
L17 CS5032 critical infrastructureL17 CS5032 critical infrastructure
L17 CS5032 critical infrastructure
 

Security case buffer overflow

  • 1. Security case – buffer overflow Security assurance case study, 2013 Slide 1
  • 2. Security cases • A structured body of evidence that supports an argument related to the security of a system • Intended to convince a regulator or system controller that the system is acceptably secure • Comparable to safety cases Security assurance case study, 2013 Slide 2
  • 3. The system is acceptably secure CLAIM SUBCLAIM Requirements Operation There are no missing or Operational procedures guard against Existing requirements that create Security deficiencies Security vulnerabilities Coding There are no implementation errors Design that create security vulnerabilities There are no design errors that Create security vulnerabilities Security assurance case study, 2013 Slide 3
  • 4. Coding There are no implementation errors that create security vulnerabilities Programmers trained Coding defects Programmers have been trained Security-threatening coding defects In secure coding practice for the have been identified and checked development language used Buffer overflow Description of good coding There are no buffer practice overflow possibilities in the code EVIDENCE Input checks Records of programmer All inputs checked for training validity Security assurance case study, 2013 Slide 4
  • 5. Buffer overflow There are no buffer overflow possibilities in the code System testing Code review Testing the code with invalid inputs Code reviews showed no (long strings) resulted in all invalid potential buffer overflows Inputs being rejected Static analysis Static analysis tool did not Report buffer overflow possibilities Security assurance case study, 2013 Slide 5
  • 6. System testing Testing the code with invalid inputs (long strings) resulted in all invalid Inputs being rejected Test selection analysis Test plan Test results Justification that the system The tests chosen Results of running the Tests chosen were adequate and expected tests on the system To discover buffer overflow test results Security assurance case study, 2013 Slide 6
  • 7. Security arguments • Security should be based on multiple arguments rather than a single argument • Key elements – Competence of the development team – Conformance with recommended development processes – Use of manual and automated analysis of code, designs and documents – System testing Security assurance case study, 2013 Slide 7
  • 8. Tool support • Security and safety arguments depend on organising a large volume of records, documents, test results, etc. • Difficult to do manually so tool support for argumentation, reporting and document management is required • Commercial tools available to support this activity e.g. Adelard safety case editor Security assurance case study, 2013 Slide 8
  • 9. Security assurance case study, 2013 Slide 9
  • 10. Conclusions • Security cases involve making structured arguments, backed up by evidence about the security of a system. • Security cases will become increasingly important as regulators and managers will expect these to be produced before security-critical software is released • Interesting challenge of reconciling security cases (which rely on documentation) and agile software development (which relies on minimising documentation) Security assurance case study, 2013 Slide 10