SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Integrating Security
  into Continuous
      Delivery
     Thomas Stiehm, CTO
   tom.stiehm@coveros.com




                            © Copyright 2012 Coveros, Inc.. All rights reserved.   1
About Coveros


 Coveros helps organizations accelerate the delivery of
  business value through secure, reliable software




                                            © Copyright 2012 Coveros, Inc.. All rights reserved.   2
SecureAgileTM Development Process
                                                                                      adaptability
                                                                                           transparency
             Agility is…
                                                                                                                 simplicity
                                                STRATEGY         roadmap
                                                                            funding
                                                                                                                       unity
                              goals

                     vision                               RELEASE                                                       secure
                                                                     estimation
                                           release plan

                                      backlog
                          risk                   ITERATION
               threat                     review
                        analysis Iteration plan                       retrospective
burndown       model
                               secure                 DAILY regression
                        pen              defensive
                                code                                       standup
                      testing            coding I
                               review
                                         design CONTINUOUS
velocity                                           TDD          collaboration
                               security            refactoring      integration
                               stories                       testing

                                                      secure testing
           burnup
                              tests                       risk
                                                                                  Working software




                Assures time-to-market while achieving security objectives
                                                                                      © Copyright 2012 Coveros, Inc.. All rights reserved.   3
SecureAgileTM Security Practices

 Threat Modeling
 Risk Analysis
 Pen Testing
 Security Stories
 Secure Code Review
 Defensive Coding and Design
 Secure Testing
   – Static Code Analysis
   – Automated Security Testing

                                   © Copyright 2012 Coveros, Inc.. All rights reserved.   4
Threat Modeling

 Threat modeling is the process of defining a system’s attack
  surface to support application risk assessments and to determine
  appropriate security controls. This includes assets that may be
  compromised and vulnerabilities that can be used to attack the
  system.
                                                Enabler


                                                 SQL
                                               Commands
                       Process                                 SQL
                        Input                                Database                 Target

                               Form in
                                 XML
                                                   Enabler
                        User Input
                        ID=48983            SQL Injection
                                   Classic Attack Surface Example
 Figure Source: Carnegie Mellon University
   Figure Source: Carnegie Mellon University                      © Copyright 2012 Coveros, Inc.. All rights reserved.   5
Risk Analysis

 Identify areas of risk in the system, including:
   – Requirements
   – Design
   – Architecture
 Use abuse cases to drive risk based testing
 Build scenarios based on identified risks
 Use risk scenarios to drive security
  requirements
 Test risk conditions explicitly

                                    © Copyright 2012 Coveros, Inc.. All rights reserved.   6
Pen Testing

 Penetration Testing or Pen Testing, is the
  process of attacking a system like a
  malicious outsider in order to evaluate the
  security of the system
 Perform penetration testing for risks
  uncovered throughout the lifecycle
 Penetration testing is not a substitute for
  automated secure code review




                                   © Copyright 2012 Coveros, Inc.. All rights reserved.   7
Security Stories

  Why write Security Stories?
    – To make sure all explicit security requirements,
      both functional and non-functional, are
      documented and can be used to guide secure
      development and testing activities

  Develop misuse and abuse cases that capture non-
   normative behavior (attacks) according to your
   threat model
  Think like a potential attacker and use your
   knowledge of the system architecture and risks
  Drive test plans from the abuse cases
  Also write functional security stories
                                        © Copyright 2012 Coveros, Inc.. All rights reserved.   8
Misuse / Abuse Case Development

 Purpose: Define the possible mechanisms an adversary
  might exploit to compromise your system


 Approach:
    “User shall not …” pattern
   – Misuse cases are extensions to stories that highlight
      ways in which the system might be misused accidentally
   – Abuse cases are extensions to stories that highlight
      ways in which the system might be abused on purpose


 Results:
   – Insight into potential abuses that can be avoided and
     tested

                                             © Copyright 2012 Coveros, Inc.. All rights reserved.   9
Defensive Design

 Software is designed to be secure through:
  – Identification and integration of security controls
    based upon the threat model
  – Use of security protection mechanisms for software
    startup, reboot, and shutdown procedures
  – Appropriate and comprehensive error and
    exception handling of all critical functions
  – Use of code libraries that have been vetted for
    security
  – Use of off-the-shelf components for encryption,
    random number generation, and other complex
    mathematical calculations


                                      © Copyright 2012 Coveros, Inc.. All rights reserved.   10
Defensive Coding

 Secure coding is done through:
  – Avoiding known dangerous coding constructs,
    system calls and programming short cuts
  – Continued security scans of new code at each
    check-in
  – Proper integration and testing of secure design
    features




                                       © Copyright 2012 Coveros, Inc.. All rights reserved.   11
Secure Testing

 There are a variety of testing types that must be
  performed during agile development iterations to
  assure application security
   – Functional security testing – testing the capabilities and
     integration of security controls into the application
   – Non-functional security testing – testing against the
     misuse and abuse cases developed during story
     creation
   – Risk-based testing – testing the application against the
     identified threats within the threat model
 Automation is required for continuous security
  testing
 Leverage security testing tools, either Open Source
  or Commercial tools
                                              © Copyright 2012 Coveros, Inc.. All rights reserved.   12
Secure Code Review

  Start with automated secure code review tools to
   find known issues and pinpoint areas in the code to
   review manually
  Review sections of the code manually, focus on
   areas that the automated tools found to contain a
   lot of issues, bugs cluster
  Real-time secure code review can be done as part
   of pair programming
  Train developers how to do secure code reviews
  Automated security analyzers should be run as part
   of a continuous integration process to identify
   known coding weaknesses during all builds

                                       © Copyright 2012 Coveros, Inc.. All rights reserved.   13
Why Integrate Application Security into CD?

 To make your application more secure
 To reduce the cost of Application Security
 To increase the overall quality of your code
  base
 To protect your application from attackers
 To demonstrate compliance with security
  requirements
 To make yourself a hero



                                         © Copyright 2012 Coveros, Inc.. All rights reserved.   14
Why Application Security is Difficult

 Security is an aspect of an application, it isn’t
  an application feature.
 No Product Owner will ever pick security
  over application features
 Most developers aren’t security experts, very
  few are even application security aware,
  most discount security threats or
  consequences
 Implementing Application Security processes
  can be expensive, both in terms of cost to
  acquire commercial applications and the cost
  of implementing and maintaining
                                        © Copyright 2012 Coveros, Inc.. All rights reserved.   15
Maturity Model for Security Testing

 Level 0: No Security Testing
 Level 1: Unit Testing and Static Analysis
 Level 2: Automated Deploys and Functional
  Testing
 Level 3: Automated security testing using
  scanners and proxies
 Level 4: Automated Configuration
  Management
 Level 5: Continuous Delivery


                                      © Copyright 2012 Coveros, Inc.. All rights reserved.   16
What Static Analysis Does

 Finds potential defects or flaws in an
  application by analyzing the application
  source code
 All code can be analyzed include:
   – Java/C#/C/C++/PHP/Etc.
   – SQL
   – JavaScript
   – XML
   – Most languages used by Enterprise
     Developers
   – Remember: Context Matters
                                  © Copyright 2012 Coveros, Inc.. All rights reserved.   17
What Static Analysis Finds

 Static Analysis can find:
   – Common errors
   – Unused variables
   – SQL injection
   – Cross-Site Scripting (XSS)
   – Hard-coded passwords
   – I.E. Things we know about
 Static Analysis can’t find:
   – Zero Day Vulnerabilities
   – Architectural Flaws
   – Things we don’t know about
                                  © Copyright 2012 Coveros, Inc.. All rights reserved.   18
Static Analysis Tools

 Static Analysis:
   – Open Source
        Sonar for many languages
        PMD for Java
        FindBugs for Java
        PHPMD for PHP
        FxCop for .Net
        PyChecker for Python
        pylint for Python
   – Commercial
        Coverity
        Fortify
        Built into Visual Studio Ultimate
 Audit Static Analysis Findings
                                             © Copyright 2012 Coveros, Inc.. All rights reserved.   19
Scanner
 Web application scanners:
   – Open Source
       w3af
       wapiti
       Skipfish
   – Commercial
       AppScan
       Cenzic Hailstorm
       WebInspect
 Complete system scans
      OpenVAS
      Nmap
      Nikto2
      Nessus
 Audit scanner findings
                              © Copyright 2012 Coveros, Inc.. All rights reserved.   20
Proxies

 Proxies:
   – Better coverage
   – XSS and Cross-Site Request Forgery
     (XSRF)
   – Data leakage
   – URLs for logs to augment spidering
   – Web application proxies:
       OWASP Zed Attack Proxy (ZAP)
        Project
       OWASP WebScarab
       Ratproxy
                               © Copyright 2012 Coveros, Inc.. All rights reserved.   21
Open Source vs. Commercial

 There are advantages and disadvantages of both
 Open Source Advantage:
   – Free to acquire
   – Often has a community around it
 Open Source Disadvantage:
   – Limit free support (requires more experienced users)
 Commercial Advantage:
   – Often better reporting tools (including more help and
     vulnerability explanations, better for less experienced
     users)
   – Paid Support (someone to blame for issues)
 Commercial Disadvantages:
   – Limited community
   – Cost $$
                                              © Copyright 2012 Coveros, Inc.. All rights reserved.   22
Issues in CD

 Some security testing tools can take a long,
  long time to run
   – Ex. A 2 million line of code Java application can
     take 12-24 hours to complete a Fortify scan
 So plan for some security testing to happen
  outside of the 15 minute build CI schedule
 Expect push back when you implement this
  from:
   – Developers
   – Product Owners
   – Your Management
   – Your Security Group
                                       © Copyright 2012 Coveros, Inc.. All rights reserved.   23
Security Finding Remediation

 Create a Remediation Plan (POA&M)
 Include scope of remediation:
   – All issues vs. Critical and High
   – Time frame for remediation
 Expect Development push bask:
   – That is the way it works
   – We don’t have time for that
   – It is open source, we can’t fix it officially
 Security Office Negotiation
 Remediation can take a really long time

                                           © Copyright 2012 Coveros, Inc.. All rights reserved.   24
Implementing Agile Application Security

  Adopt and use an application security process from the
   beginning of the project
  Create application security requirements with the functional
   application requirements
  Lead the security requirements process, sell the value of
   good security practices to the business
  Development teams need software security training, early
  Security practices needs to be burned-in and made part of
   how the team works
  Security work should be done by experienced, technically
   strong developers
  Create application security standards and practices, monitor
   compliance with the standards
  Put security controls into your base software architecture
                                              © Copyright 2012 Coveros, Inc.. All rights reserved.   25
Implementing Agile Application Security

  Use security tools such as static code analysis and web
   scanners to verify security controls
  Conducting manual security verification like code reviews
   and penetration testing
  Use outside security testers to break the system and look
   for holes
  Problems found in security testing need to be added the
   team’s backlog
  Security tests don’t always fit in time boxes so, if needed,
   run them as parallel engagements
  Consider a “hardening sprint” to focus on fixing the security
   problems found through security testing


                                               © Copyright 2012 Coveros, Inc.. All rights reserved.   26
Thank You




            © Copyright 2012 Coveros, Inc.. All rights reserved.   27
Supplemental Material




                   © Copyright 2012 Coveros, Inc.. All rights reserved.   28
Vulnerabilities

  OWASP Top Ten:
    – https://www.owasp.org/index.php/Top_10_2010

  2011 CWE/SANS Top 25 Most Dangerous Software
   Errors
    – http://cwe.mitre.org/top25/


  There is a lot of overlap as there are major
   categories that generate a lot of vulnerabilities
  For Example:
    – Injection Attacks and
    – Misconfigurations


                                         © Copyright 2012 Coveros, Inc.. All rights reserved.   29

Weitere ähnliche Inhalte

Was ist angesagt?

Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Denim Group
 
Bridging the Security Testing Gap in Your CI/CD Pipeline
Bridging the Security Testing Gap in Your CI/CD PipelineBridging the Security Testing Gap in Your CI/CD Pipeline
Bridging the Security Testing Gap in Your CI/CD PipelineDevOps.com
 
DevSecOps-OWASP Indonesia Day 2017
DevSecOps-OWASP Indonesia Day 2017DevSecOps-OWASP Indonesia Day 2017
DevSecOps-OWASP Indonesia Day 2017Suman Sourav
 
DevSecOps | DevOps Sec
DevSecOps | DevOps SecDevSecOps | DevOps Sec
DevSecOps | DevOps SecRubal Jain
 
Optimizing Security Velocity in Your DevSecOps Pipeline at Scale
Optimizing Security Velocity in Your DevSecOps Pipeline at ScaleOptimizing Security Velocity in Your DevSecOps Pipeline at Scale
Optimizing Security Velocity in Your DevSecOps Pipeline at ScaleDenim Group
 
DevSecOps and the CI/CD Pipeline
 DevSecOps and the CI/CD Pipeline DevSecOps and the CI/CD Pipeline
DevSecOps and the CI/CD PipelineJames Wickett
 
DevSecCon London 2017: when good containers go bad by Tim Mackey
DevSecCon London 2017: when good containers go bad by Tim MackeyDevSecCon London 2017: when good containers go bad by Tim Mackey
DevSecCon London 2017: when good containers go bad by Tim MackeyDevSecCon
 
OWASP AppSec EU - SecDevOps, a view from the trenches - Abhay Bhargav
OWASP AppSec EU - SecDevOps, a view from the trenches - Abhay BhargavOWASP AppSec EU - SecDevOps, a view from the trenches - Abhay Bhargav
OWASP AppSec EU - SecDevOps, a view from the trenches - Abhay BhargavAbhay Bhargav
 
Continuous Security Testing with Devops - OWASP EU 2014
Continuous Security Testing  with Devops - OWASP EU 2014Continuous Security Testing  with Devops - OWASP EU 2014
Continuous Security Testing with Devops - OWASP EU 2014Stephen de Vries
 
Why should developers care about container security?
Why should developers care about container security?Why should developers care about container security?
Why should developers care about container security?Eric Smalling
 
Just Enough Threat Modeling
Just Enough Threat ModelingJust Enough Threat Modeling
Just Enough Threat ModelingStephen de Vries
 
Bringing Security Testing to Development: How to Enable Developers to Act as ...
Bringing Security Testing to Development: How to Enable Developers to Act as ...Bringing Security Testing to Development: How to Enable Developers to Act as ...
Bringing Security Testing to Development: How to Enable Developers to Act as ...Achim D. Brucker
 
Security DevOps - Staying secure in agile projects // OWASP AppSecEU 2015 - A...
Security DevOps - Staying secure in agile projects // OWASP AppSecEU 2015 - A...Security DevOps - Staying secure in agile projects // OWASP AppSecEU 2015 - A...
Security DevOps - Staying secure in agile projects // OWASP AppSecEU 2015 - A...Christian Schneider
 
Application Asset Management with ThreadFix
 Application Asset Management with ThreadFix Application Asset Management with ThreadFix
Application Asset Management with ThreadFixDenim Group
 
we45 SecDevOps Presentation - ISACA Chennai
we45 SecDevOps Presentation - ISACA Chennaiwe45 SecDevOps Presentation - ISACA Chennai
we45 SecDevOps Presentation - ISACA ChennaiAbhay Bhargav
 
8 Tips for Deploying DevSecOps
8 Tips for Deploying DevSecOps8 Tips for Deploying DevSecOps
8 Tips for Deploying DevSecOpsFelicia Haggarty
 
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Sauce Labs
 
DevSecOps: essential tooling to enable continuous security 2019-09-16
DevSecOps: essential tooling to enable continuous security 2019-09-16DevSecOps: essential tooling to enable continuous security 2019-09-16
DevSecOps: essential tooling to enable continuous security 2019-09-16Rich Mills
 
Continuous and Visible Security Testing with BDD-Security
Continuous and Visible Security Testing with BDD-SecurityContinuous and Visible Security Testing with BDD-Security
Continuous and Visible Security Testing with BDD-SecurityStephen de Vries
 
10 things to get right for successful dev secops
10 things to get right for successful dev secops10 things to get right for successful dev secops
10 things to get right for successful dev secopsMohammed Ahmed
 

Was ist angesagt? (20)

Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
 
Bridging the Security Testing Gap in Your CI/CD Pipeline
Bridging the Security Testing Gap in Your CI/CD PipelineBridging the Security Testing Gap in Your CI/CD Pipeline
Bridging the Security Testing Gap in Your CI/CD Pipeline
 
DevSecOps-OWASP Indonesia Day 2017
DevSecOps-OWASP Indonesia Day 2017DevSecOps-OWASP Indonesia Day 2017
DevSecOps-OWASP Indonesia Day 2017
 
DevSecOps | DevOps Sec
DevSecOps | DevOps SecDevSecOps | DevOps Sec
DevSecOps | DevOps Sec
 
Optimizing Security Velocity in Your DevSecOps Pipeline at Scale
Optimizing Security Velocity in Your DevSecOps Pipeline at ScaleOptimizing Security Velocity in Your DevSecOps Pipeline at Scale
Optimizing Security Velocity in Your DevSecOps Pipeline at Scale
 
DevSecOps and the CI/CD Pipeline
 DevSecOps and the CI/CD Pipeline DevSecOps and the CI/CD Pipeline
DevSecOps and the CI/CD Pipeline
 
DevSecCon London 2017: when good containers go bad by Tim Mackey
DevSecCon London 2017: when good containers go bad by Tim MackeyDevSecCon London 2017: when good containers go bad by Tim Mackey
DevSecCon London 2017: when good containers go bad by Tim Mackey
 
OWASP AppSec EU - SecDevOps, a view from the trenches - Abhay Bhargav
OWASP AppSec EU - SecDevOps, a view from the trenches - Abhay BhargavOWASP AppSec EU - SecDevOps, a view from the trenches - Abhay Bhargav
OWASP AppSec EU - SecDevOps, a view from the trenches - Abhay Bhargav
 
Continuous Security Testing with Devops - OWASP EU 2014
Continuous Security Testing  with Devops - OWASP EU 2014Continuous Security Testing  with Devops - OWASP EU 2014
Continuous Security Testing with Devops - OWASP EU 2014
 
Why should developers care about container security?
Why should developers care about container security?Why should developers care about container security?
Why should developers care about container security?
 
Just Enough Threat Modeling
Just Enough Threat ModelingJust Enough Threat Modeling
Just Enough Threat Modeling
 
Bringing Security Testing to Development: How to Enable Developers to Act as ...
Bringing Security Testing to Development: How to Enable Developers to Act as ...Bringing Security Testing to Development: How to Enable Developers to Act as ...
Bringing Security Testing to Development: How to Enable Developers to Act as ...
 
Security DevOps - Staying secure in agile projects // OWASP AppSecEU 2015 - A...
Security DevOps - Staying secure in agile projects // OWASP AppSecEU 2015 - A...Security DevOps - Staying secure in agile projects // OWASP AppSecEU 2015 - A...
Security DevOps - Staying secure in agile projects // OWASP AppSecEU 2015 - A...
 
Application Asset Management with ThreadFix
 Application Asset Management with ThreadFix Application Asset Management with ThreadFix
Application Asset Management with ThreadFix
 
we45 SecDevOps Presentation - ISACA Chennai
we45 SecDevOps Presentation - ISACA Chennaiwe45 SecDevOps Presentation - ISACA Chennai
we45 SecDevOps Presentation - ISACA Chennai
 
8 Tips for Deploying DevSecOps
8 Tips for Deploying DevSecOps8 Tips for Deploying DevSecOps
8 Tips for Deploying DevSecOps
 
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
 
DevSecOps: essential tooling to enable continuous security 2019-09-16
DevSecOps: essential tooling to enable continuous security 2019-09-16DevSecOps: essential tooling to enable continuous security 2019-09-16
DevSecOps: essential tooling to enable continuous security 2019-09-16
 
Continuous and Visible Security Testing with BDD-Security
Continuous and Visible Security Testing with BDD-SecurityContinuous and Visible Security Testing with BDD-Security
Continuous and Visible Security Testing with BDD-Security
 
10 things to get right for successful dev secops
10 things to get right for successful dev secops10 things to get right for successful dev secops
10 things to get right for successful dev secops
 

Ähnlich wie Integrating security into Continuous Delivery

Conducting Security Metrics for Object-Oriented Class Design
Conducting Security Metrics for Object-Oriented Class DesignConducting Security Metrics for Object-Oriented Class Design
Conducting Security Metrics for Object-Oriented Class DesignIJCSIS Research Publications
 
Alfresco Virtual DevCon 2020 - Security First!
Alfresco Virtual DevCon 2020 - Security First!Alfresco Virtual DevCon 2020 - Security First!
Alfresco Virtual DevCon 2020 - Security First!Jason Jolley
 
Security Checkpoints in Agile SDLC
Security Checkpoints in Agile SDLCSecurity Checkpoints in Agile SDLC
Security Checkpoints in Agile SDLCRahul Raghavan
 
Threat modeling demystified
Threat modeling demystifiedThreat modeling demystified
Threat modeling demystifiedPriyanka Aash
 
8 Patterns For Continuous Code Security by Veracode CTO Chris Wysopal
8 Patterns For Continuous Code Security by Veracode CTO Chris Wysopal8 Patterns For Continuous Code Security by Veracode CTO Chris Wysopal
8 Patterns For Continuous Code Security by Veracode CTO Chris WysopalThreat Stack
 
4 approaches to integrate dev secops in development cycle
4 approaches to integrate dev secops in development cycle4 approaches to integrate dev secops in development cycle
4 approaches to integrate dev secops in development cycleEnov8
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare ☁
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare ☁
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare ☁
 
ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...
ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...
ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...GoQA
 
Pentest is yesterday, DevSecOps is tomorrow
Pentest is yesterday, DevSecOps is tomorrowPentest is yesterday, DevSecOps is tomorrow
Pentest is yesterday, DevSecOps is tomorrowAmien Harisen Rosyandino
 
Secure development of code
Secure development of codeSecure development of code
Secure development of codeSalomeVictor
 
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020Brian Levine
 

Ähnlich wie Integrating security into Continuous Delivery (20)

Conducting Security Metrics for Object-Oriented Class Design
Conducting Security Metrics for Object-Oriented Class DesignConducting Security Metrics for Object-Oriented Class Design
Conducting Security Metrics for Object-Oriented Class Design
 
Introduction to Application Security Testing
Introduction to Application Security TestingIntroduction to Application Security Testing
Introduction to Application Security Testing
 
Arved sandstrom - the rotwithin - atlseccon2011
Arved sandstrom - the rotwithin - atlseccon2011Arved sandstrom - the rotwithin - atlseccon2011
Arved sandstrom - the rotwithin - atlseccon2011
 
Alfresco Virtual DevCon 2020 - Security First!
Alfresco Virtual DevCon 2020 - Security First!Alfresco Virtual DevCon 2020 - Security First!
Alfresco Virtual DevCon 2020 - Security First!
 
Iv2515741577
Iv2515741577Iv2515741577
Iv2515741577
 
Iv2515741577
Iv2515741577Iv2515741577
Iv2515741577
 
smpef
smpefsmpef
smpef
 
Security Checkpoints in Agile SDLC
Security Checkpoints in Agile SDLCSecurity Checkpoints in Agile SDLC
Security Checkpoints in Agile SDLC
 
Threat modeling demystified
Threat modeling demystifiedThreat modeling demystified
Threat modeling demystified
 
Security engineering
Security engineeringSecurity engineering
Security engineering
 
8 Patterns For Continuous Code Security by Veracode CTO Chris Wysopal
8 Patterns For Continuous Code Security by Veracode CTO Chris Wysopal8 Patterns For Continuous Code Security by Veracode CTO Chris Wysopal
8 Patterns For Continuous Code Security by Veracode CTO Chris Wysopal
 
4 approaches to integrate dev secops in development cycle
4 approaches to integrate dev secops in development cycle4 approaches to integrate dev secops in development cycle
4 approaches to integrate dev secops in development cycle
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...
ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...
ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...
 
Pentest is yesterday, DevSecOps is tomorrow
Pentest is yesterday, DevSecOps is tomorrowPentest is yesterday, DevSecOps is tomorrow
Pentest is yesterday, DevSecOps is tomorrow
 
Se project-methodology-for-security-project-web
Se project-methodology-for-security-project-webSe project-methodology-for-security-project-web
Se project-methodology-for-security-project-web
 
Secure development of code
Secure development of codeSecure development of code
Secure development of code
 
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020
 

Mehr von Tom Stiehm

Shifting security all day dev ops
Shifting security all day dev opsShifting security all day dev ops
Shifting security all day dev opsTom Stiehm
 
Shifting Security Left - The Innovation of DevSecOps - ValleyTechCon
Shifting Security Left - The Innovation of DevSecOps - ValleyTechConShifting Security Left - The Innovation of DevSecOps - ValleyTechCon
Shifting Security Left - The Innovation of DevSecOps - ValleyTechConTom Stiehm
 
Shifting Security Left - The Innovation of DevSecOps - AgileDC
Shifting Security Left - The Innovation of DevSecOps - AgileDCShifting Security Left - The Innovation of DevSecOps - AgileDC
Shifting Security Left - The Innovation of DevSecOps - AgileDCTom Stiehm
 
Shifting Security Left from the Lean+Agile 2019 Conference
Shifting Security Left from the Lean+Agile 2019 ConferenceShifting Security Left from the Lean+Agile 2019 Conference
Shifting Security Left from the Lean+Agile 2019 ConferenceTom Stiehm
 
Failure is inevitable but it isn't permanent
Failure is inevitable but it isn't permanentFailure is inevitable but it isn't permanent
Failure is inevitable but it isn't permanentTom Stiehm
 
Agile testing for embedded software development
Agile testing for embedded software developmentAgile testing for embedded software development
Agile testing for embedded software developmentTom Stiehm
 
Overcoming problems implementing cloud based dev ops for distributed agile pr...
Overcoming problems implementing cloud based dev ops for distributed agile pr...Overcoming problems implementing cloud based dev ops for distributed agile pr...
Overcoming problems implementing cloud based dev ops for distributed agile pr...Tom Stiehm
 
Implementing cloud based devops for distributed agile projects
Implementing cloud based devops for distributed agile projectsImplementing cloud based devops for distributed agile projects
Implementing cloud based devops for distributed agile projectsTom Stiehm
 

Mehr von Tom Stiehm (8)

Shifting security all day dev ops
Shifting security all day dev opsShifting security all day dev ops
Shifting security all day dev ops
 
Shifting Security Left - The Innovation of DevSecOps - ValleyTechCon
Shifting Security Left - The Innovation of DevSecOps - ValleyTechConShifting Security Left - The Innovation of DevSecOps - ValleyTechCon
Shifting Security Left - The Innovation of DevSecOps - ValleyTechCon
 
Shifting Security Left - The Innovation of DevSecOps - AgileDC
Shifting Security Left - The Innovation of DevSecOps - AgileDCShifting Security Left - The Innovation of DevSecOps - AgileDC
Shifting Security Left - The Innovation of DevSecOps - AgileDC
 
Shifting Security Left from the Lean+Agile 2019 Conference
Shifting Security Left from the Lean+Agile 2019 ConferenceShifting Security Left from the Lean+Agile 2019 Conference
Shifting Security Left from the Lean+Agile 2019 Conference
 
Failure is inevitable but it isn't permanent
Failure is inevitable but it isn't permanentFailure is inevitable but it isn't permanent
Failure is inevitable but it isn't permanent
 
Agile testing for embedded software development
Agile testing for embedded software developmentAgile testing for embedded software development
Agile testing for embedded software development
 
Overcoming problems implementing cloud based dev ops for distributed agile pr...
Overcoming problems implementing cloud based dev ops for distributed agile pr...Overcoming problems implementing cloud based dev ops for distributed agile pr...
Overcoming problems implementing cloud based dev ops for distributed agile pr...
 
Implementing cloud based devops for distributed agile projects
Implementing cloud based devops for distributed agile projectsImplementing cloud based devops for distributed agile projects
Implementing cloud based devops for distributed agile projects
 

Kürzlich hochgeladen

Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Kürzlich hochgeladen (20)

Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

Integrating security into Continuous Delivery

  • 1. Integrating Security into Continuous Delivery Thomas Stiehm, CTO tom.stiehm@coveros.com © Copyright 2012 Coveros, Inc.. All rights reserved. 1
  • 2. About Coveros  Coveros helps organizations accelerate the delivery of business value through secure, reliable software © Copyright 2012 Coveros, Inc.. All rights reserved. 2
  • 3. SecureAgileTM Development Process adaptability transparency Agility is… simplicity STRATEGY roadmap funding unity goals vision RELEASE secure estimation release plan backlog risk ITERATION threat review analysis Iteration plan retrospective burndown model secure DAILY regression pen defensive code standup testing coding I review design CONTINUOUS velocity TDD collaboration security refactoring integration stories testing secure testing burnup tests risk Working software Assures time-to-market while achieving security objectives © Copyright 2012 Coveros, Inc.. All rights reserved. 3
  • 4. SecureAgileTM Security Practices  Threat Modeling  Risk Analysis  Pen Testing  Security Stories  Secure Code Review  Defensive Coding and Design  Secure Testing – Static Code Analysis – Automated Security Testing © Copyright 2012 Coveros, Inc.. All rights reserved. 4
  • 5. Threat Modeling  Threat modeling is the process of defining a system’s attack surface to support application risk assessments and to determine appropriate security controls. This includes assets that may be compromised and vulnerabilities that can be used to attack the system. Enabler SQL Commands Process SQL Input Database Target Form in XML Enabler User Input ID=48983 SQL Injection Classic Attack Surface Example Figure Source: Carnegie Mellon University Figure Source: Carnegie Mellon University © Copyright 2012 Coveros, Inc.. All rights reserved. 5
  • 6. Risk Analysis  Identify areas of risk in the system, including: – Requirements – Design – Architecture  Use abuse cases to drive risk based testing  Build scenarios based on identified risks  Use risk scenarios to drive security requirements  Test risk conditions explicitly © Copyright 2012 Coveros, Inc.. All rights reserved. 6
  • 7. Pen Testing  Penetration Testing or Pen Testing, is the process of attacking a system like a malicious outsider in order to evaluate the security of the system  Perform penetration testing for risks uncovered throughout the lifecycle  Penetration testing is not a substitute for automated secure code review © Copyright 2012 Coveros, Inc.. All rights reserved. 7
  • 8. Security Stories  Why write Security Stories? – To make sure all explicit security requirements, both functional and non-functional, are documented and can be used to guide secure development and testing activities  Develop misuse and abuse cases that capture non- normative behavior (attacks) according to your threat model  Think like a potential attacker and use your knowledge of the system architecture and risks  Drive test plans from the abuse cases  Also write functional security stories © Copyright 2012 Coveros, Inc.. All rights reserved. 8
  • 9. Misuse / Abuse Case Development  Purpose: Define the possible mechanisms an adversary might exploit to compromise your system  Approach:  “User shall not …” pattern – Misuse cases are extensions to stories that highlight ways in which the system might be misused accidentally – Abuse cases are extensions to stories that highlight ways in which the system might be abused on purpose  Results: – Insight into potential abuses that can be avoided and tested © Copyright 2012 Coveros, Inc.. All rights reserved. 9
  • 10. Defensive Design  Software is designed to be secure through: – Identification and integration of security controls based upon the threat model – Use of security protection mechanisms for software startup, reboot, and shutdown procedures – Appropriate and comprehensive error and exception handling of all critical functions – Use of code libraries that have been vetted for security – Use of off-the-shelf components for encryption, random number generation, and other complex mathematical calculations © Copyright 2012 Coveros, Inc.. All rights reserved. 10
  • 11. Defensive Coding  Secure coding is done through: – Avoiding known dangerous coding constructs, system calls and programming short cuts – Continued security scans of new code at each check-in – Proper integration and testing of secure design features © Copyright 2012 Coveros, Inc.. All rights reserved. 11
  • 12. Secure Testing  There are a variety of testing types that must be performed during agile development iterations to assure application security – Functional security testing – testing the capabilities and integration of security controls into the application – Non-functional security testing – testing against the misuse and abuse cases developed during story creation – Risk-based testing – testing the application against the identified threats within the threat model  Automation is required for continuous security testing  Leverage security testing tools, either Open Source or Commercial tools © Copyright 2012 Coveros, Inc.. All rights reserved. 12
  • 13. Secure Code Review  Start with automated secure code review tools to find known issues and pinpoint areas in the code to review manually  Review sections of the code manually, focus on areas that the automated tools found to contain a lot of issues, bugs cluster  Real-time secure code review can be done as part of pair programming  Train developers how to do secure code reviews  Automated security analyzers should be run as part of a continuous integration process to identify known coding weaknesses during all builds © Copyright 2012 Coveros, Inc.. All rights reserved. 13
  • 14. Why Integrate Application Security into CD?  To make your application more secure  To reduce the cost of Application Security  To increase the overall quality of your code base  To protect your application from attackers  To demonstrate compliance with security requirements  To make yourself a hero © Copyright 2012 Coveros, Inc.. All rights reserved. 14
  • 15. Why Application Security is Difficult  Security is an aspect of an application, it isn’t an application feature.  No Product Owner will ever pick security over application features  Most developers aren’t security experts, very few are even application security aware, most discount security threats or consequences  Implementing Application Security processes can be expensive, both in terms of cost to acquire commercial applications and the cost of implementing and maintaining © Copyright 2012 Coveros, Inc.. All rights reserved. 15
  • 16. Maturity Model for Security Testing  Level 0: No Security Testing  Level 1: Unit Testing and Static Analysis  Level 2: Automated Deploys and Functional Testing  Level 3: Automated security testing using scanners and proxies  Level 4: Automated Configuration Management  Level 5: Continuous Delivery © Copyright 2012 Coveros, Inc.. All rights reserved. 16
  • 17. What Static Analysis Does  Finds potential defects or flaws in an application by analyzing the application source code  All code can be analyzed include: – Java/C#/C/C++/PHP/Etc. – SQL – JavaScript – XML – Most languages used by Enterprise Developers – Remember: Context Matters © Copyright 2012 Coveros, Inc.. All rights reserved. 17
  • 18. What Static Analysis Finds  Static Analysis can find: – Common errors – Unused variables – SQL injection – Cross-Site Scripting (XSS) – Hard-coded passwords – I.E. Things we know about  Static Analysis can’t find: – Zero Day Vulnerabilities – Architectural Flaws – Things we don’t know about © Copyright 2012 Coveros, Inc.. All rights reserved. 18
  • 19. Static Analysis Tools  Static Analysis: – Open Source  Sonar for many languages  PMD for Java  FindBugs for Java  PHPMD for PHP  FxCop for .Net  PyChecker for Python  pylint for Python – Commercial  Coverity  Fortify  Built into Visual Studio Ultimate  Audit Static Analysis Findings © Copyright 2012 Coveros, Inc.. All rights reserved. 19
  • 20. Scanner  Web application scanners: – Open Source  w3af  wapiti  Skipfish – Commercial  AppScan  Cenzic Hailstorm  WebInspect  Complete system scans  OpenVAS  Nmap  Nikto2  Nessus  Audit scanner findings © Copyright 2012 Coveros, Inc.. All rights reserved. 20
  • 21. Proxies  Proxies: – Better coverage – XSS and Cross-Site Request Forgery (XSRF) – Data leakage – URLs for logs to augment spidering – Web application proxies:  OWASP Zed Attack Proxy (ZAP) Project  OWASP WebScarab  Ratproxy © Copyright 2012 Coveros, Inc.. All rights reserved. 21
  • 22. Open Source vs. Commercial  There are advantages and disadvantages of both  Open Source Advantage: – Free to acquire – Often has a community around it  Open Source Disadvantage: – Limit free support (requires more experienced users)  Commercial Advantage: – Often better reporting tools (including more help and vulnerability explanations, better for less experienced users) – Paid Support (someone to blame for issues)  Commercial Disadvantages: – Limited community – Cost $$ © Copyright 2012 Coveros, Inc.. All rights reserved. 22
  • 23. Issues in CD  Some security testing tools can take a long, long time to run – Ex. A 2 million line of code Java application can take 12-24 hours to complete a Fortify scan  So plan for some security testing to happen outside of the 15 minute build CI schedule  Expect push back when you implement this from: – Developers – Product Owners – Your Management – Your Security Group © Copyright 2012 Coveros, Inc.. All rights reserved. 23
  • 24. Security Finding Remediation  Create a Remediation Plan (POA&M)  Include scope of remediation: – All issues vs. Critical and High – Time frame for remediation  Expect Development push bask: – That is the way it works – We don’t have time for that – It is open source, we can’t fix it officially  Security Office Negotiation  Remediation can take a really long time © Copyright 2012 Coveros, Inc.. All rights reserved. 24
  • 25. Implementing Agile Application Security  Adopt and use an application security process from the beginning of the project  Create application security requirements with the functional application requirements  Lead the security requirements process, sell the value of good security practices to the business  Development teams need software security training, early  Security practices needs to be burned-in and made part of how the team works  Security work should be done by experienced, technically strong developers  Create application security standards and practices, monitor compliance with the standards  Put security controls into your base software architecture © Copyright 2012 Coveros, Inc.. All rights reserved. 25
  • 26. Implementing Agile Application Security  Use security tools such as static code analysis and web scanners to verify security controls  Conducting manual security verification like code reviews and penetration testing  Use outside security testers to break the system and look for holes  Problems found in security testing need to be added the team’s backlog  Security tests don’t always fit in time boxes so, if needed, run them as parallel engagements  Consider a “hardening sprint” to focus on fixing the security problems found through security testing © Copyright 2012 Coveros, Inc.. All rights reserved. 26
  • 27. Thank You © Copyright 2012 Coveros, Inc.. All rights reserved. 27
  • 28. Supplemental Material © Copyright 2012 Coveros, Inc.. All rights reserved. 28
  • 29. Vulnerabilities  OWASP Top Ten: – https://www.owasp.org/index.php/Top_10_2010  2011 CWE/SANS Top 25 Most Dangerous Software Errors – http://cwe.mitre.org/top25/  There is a lot of overlap as there are major categories that generate a lot of vulnerabilities  For Example: – Injection Attacks and – Misconfigurations © Copyright 2012 Coveros, Inc.. All rights reserved. 29

Hinweis der Redaktion

  1. Threat modeling is about understanding who is going to attack your system, why they are going to attack it, what they are going to target and how they are going to attack it.SQL injection is a classic attack surface. Although we have known about it for 30+ years it is still a vulnerability that gets exploited on a regular basis.
  2. Pen Testing is different from Security Testing in that Pen Testers will use all means to compromise the system including social engineering, zero day flaws, security analysis, code analysis, you name it. Security Testing is more about know vulnerability playback.Both are valuable and have their place. Neither is a substituent for the other.Pen testing is a specialized skill set, it is often necessary to get external pen test professionals
  3. Example: User shall not be allowed unlimited login attempts. Potential attackers use unlimited login attempts to use dictionary password attack methodsExample: Use shall not be given details regarding authentication failure.Potential attackers can use authentication failure details to figure out if they have legitimate user names
  4. Fail safe, it can mean different things based on your application and functionality. Don’t create your own encryption or random number generation, use open standards that have been vetted by industry recognized experts.Use tools to scan you source code for known dangerous code constructs, system and library functions. Replace dangerous code right away.
  5. Fail safe, it can mean different things based on your application and functionality. Don’t create your own encryption or random number generation, use open standards that have been vetted by industry recognized experts.Use tools to scan you source code for known dangerous code constructs, system and library functions. Replace dangerous code right away.
  6. Use automated secure code review tools to find specific well known problem patterns and to highlight areas where manual reviews should be conducted. Bugs tend to cluster so sections of the code where a number of secure issues are present is a good candidate for a manual code review.
  7. All applications are now networked applications and all need application security requirements.