SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Similar a 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
 

Similar a 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
 

Más de 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
 

Más de 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
 

Último

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 

Último (20)

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 

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

Notas del editor

  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.