Continuous Security Testing. In a DevOps World

Similar documents
Being Mean To Your Code: Integrating Security Tools into Your DevOps Pipeline

Automated Security Scanning in Payment Industry

DefectDojo. The Good, the Bad and the Ugly. OWASP Stammtisch Hamburg Tilmann Haak Manuel Schneider

Robots with Pentest Recipes:

N different strategies to automate OWASP ZAP

Strengthen and Scale security using DevSecOps

Test Automation Strategies in Continuous Delivery. Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions

DevOps and DevSec with

Continuous Opportunity: DevOps & Security

Continuous Delivery for Cloud Native Applications

How Can Testing Teams Play a Key Role in DevOps Adoption?

DevOps Anti-Patterns. Have the Ops team deal with it. Time to fire the Ops team! Let s hire a DevOps unit! COPYRIGHT 2019 MANICODE SECURITY

I keep hearing about DevOps What is it?

Agile Behaviour Driven Development (BDD) and Integrated Testing with the Cucumber Framework. Melbourne ANZTB SIGIST, 15 th June 2011

Automating Security Practices for the DevOps Revolution

FROM VSTS TO AZURE DEVOPS

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

Sicherheit beim Build

AUTOMATION TESTING FRAMEWORK FOR LUMINOUS LMS

DevOps in the Cloud A pipeline to heaven?! Robert Cowham BCS CMSG Vice Chair

Jenkins: A complete solution. From Continuous Integration to Continuous Delivery For HSBC

DevOps Agility in the Evolving Cloud Services Landscape

HP APPs v.12 Solutions for Dev-Ops

Inverting the Pyramid

A Tale of Continuous Testing

Taking AppSec to 11: AppSec Pipelines, DevOps, and Making Things Better OWASP San Antonio, April Matt Tesauro, Infinitiv

The Divine and Felonious Nature of Cyber Security

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Sunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS Mesosphere, Inc. All Rights Reserved.

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Managing BDD. Test Case Management for BDD Automation

DevOps on AWS Deep Dive on Continuous Delivery and the AWS Developer Tools

Version Control for PL/SQL

devops with

Distributed CI: Scaling Jenkins on Mesos and Marathon. Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA

DevOps CICD for VNF a NetOps Approach

UNDER THE HOOD. ROGER NUNN Principal Architect/EMEA Solution Manager 21/01/2015

Building an Effective Cloud Operating Model on AWS

Information Security Keeping Up With DevOps

Accelerate at DevOps Speed With Openshift v3. Alessandro Vozza & Samuel Terburg Red Hat

Creating pipelines that build, test and deploy containerized artifacts Slides: Tom Adams

NITA Based Offers and Services

In This Webinar. ConEnuous Load TesEng & ConEnuous Delivery with Jenkins

Behavior Driven Development (BDD) By Nabeel Ibrahim

Application Security at DevOps Speed and Portfolio Scale. Jeff Contrast Security

Application security : going quicker

About Us. Services CONSULTING OUTSOURCING TRAINING MENTORING STAFF AUGMENTATION 9/9/2016

Deep Dive on AWS CodeStar

Deploy Early, Deploy Often, Deploy Safely Andy Lowe

Performance Testing in a Containerized World. Paola Rossaro

Surrogate Dependencies (in

DevNet Workshop-Hands-on with CloudCenter and Jenkins

Taking Control of Your Application Security

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko

AppSec in a DevOps World

THE THREE WAYS OF SECURITY. Jeff Williams Co-founder and CTO Contrast Security

Continuous Testing at Scale

BDD and Testing. User requirements and testing are tightly coupled

THE DENOUEMENT OF DEVOPS. Frank Bunger - VP Customer Success

Turbo boost your digital app test automation with Jenkins

DevOps A How To for Agility with Security

JMeter Automation for Agile Projects. Simon Knight

Elizabeth Lawler CEO & Co-Founder Conjur,

By Didier BERNAUDEAU. OSSIR (January 9th, 2018)

Orchestrating the Continuous Delivery Process

OWASP Changing the Game

Weaving Security into Every Application

Maja Schreiner. 9th Lean, Agile & Scrum Conference 2017

Creating an AppSec Pipeline with containers in a week. How we failed and succeeded Jeroen Willemsen OWASP benelux days

CONTINUOUS DELIVERY IN THE ORACLE CLOUD

Shift Left Testing: are you ready? Live Webinar, Sept 19

Behaviour Driven Development with Java. Nikolay Vasilev 15 July 2011

From Continuous Integration To Continuous Delivery With Jenkins

AppSec Pipeline Application Security in an Agile Development, DevOps and Continuous Integration/Delivery/Change world.

DevOps Made Easy. Shireesh Thanneru, Platform Architect. Intel. Linoy Alexander, Director, DevOps

Protect your apps and your customers against application layer attacks

Application Deployment

AWS Web Application Firewall. Darren Weiner Cloud Architect/Engineer

A DEVOPS STATE OF MIND. Chris Van Tuin Chief Technologist, West

Managing an Application Vulnerability Management Program in a CI/CD Environment. March 29, 2018 OWASP Vancouver - Karim Lalji 1

Secure DevOps: A Puma s Tail

Thanks to Swisscom.

Security Solution. Web Application

continuous delivery sounds great

Test.Forge.mil. Overview

Final Paper/Best Practice/Tutorial Advantages OF BDD Testing

PROCE55 Mobile: Web API App. Web API.

DDD and BDD. Dan North ThoughtWorks

THE IMPORTANCE OF NICHE TECHNOLOGIES IN BUSINESS ANALYSIS. - Kat Okwera Jan 2019

Serverless in the Java ecosystem

Achieving Right Automation Balance in Agile Projects

Microservices on AWS. Matthias Jung, Solutions Architect AWS

Software Quality in a Modern Development Team. Presented by Timothy Bauguess and Marty Lewis

Agile vs Fragile. Susmit Bhattacharya, Solution Architect, Asia Pacific. - The need for Automation in Agile Tricentis GmbH. All Rights Reserved.

QUALYS SECURITY CONFERENCE Qualys CertView. Managing Digital Certificates. Jimmy Graham Senior Director, Product Management, Qualys, Inc.

DevSecOps Shift Left Security. Prioritizing Incident Response using Security Posture Assessment and Attack Surface Analysis

Azure Day Application Development. Randy Pagels Sr. Developer Technology Specialist US DX Developer Tools - Central Region

Microservices a security nightmare? GOTO Nights Zürich - March 3, 2016 Maximilian Container Solutions Switzerland

Experiences with Serverless Big Data

SBB. Java User Group 27.9 & Tobias Denzler, Philipp Oser

Transcription:

Continuous Security Testing In a DevOps World

About Me Stephen de Vries CTO ContinuumSecurity 60% Security consultant 40% Developer Author: BDD-Security project

About Me DevOps is a tool

Plan/Code/Build/Test Int. Test Deliver y Deploy Continuous Deployment Continuous Delivery Continuous Integration Agile DevOp s

Continuous Delivery Pipeline

DevOps is a tool to operate a continuous delivery pipeline

The DevOps challenge to security Our project requirements are visible to dev and ops Our build, test and deploy process is entirely automated Developers can deploy to prod directly We deploy to prod multiple times per day Amazon: deploy every 11.6 seconds Etsy: deploys 25+ times/day Gov.uk: deploys 30 times/day How can we do this securely?

What can security learn from DevOps? Bad behaviour arises when you abstract people away from the consequence of their actions Jez Humble Collaboration and communication are key: there is no them Continuous monitoring Automated Tests to verify tests have expected outcomes

Never send a human to do a machine s job Automated tests are the security requirements Tests are code: stored by SCM Automate manual security tests Automate scanning process

First attempt: @ Test p u b lic void change_session_id _after_login() { driver.get("http://localhost:9110/ropeytasks/user/login"); Cookie preloginsessionid = getsessionid("jesssio N ID "); login("bob", "passw ord"); Cookie afterloginsessionid = getsessionid("jesssio N ID "); assertthat(afterloginsessionid.getvalue(), not(preloginsessionid.getvalue())); } p u b lic void log in (S trin g u, S trin g p ) { driver.fi ndelem ent(by.id("usernam e")).clear(); driver.fi ndelem ent(by.id("usernam e")).sendkeys(u); driver.fi ndelem ent(by.id("passw ord")).clear(); driver.fi ndelem ent(by.id("passw ord")).sendkeys(p); driver.fi ndelem ent(by.nam e("_action_login")).click(); } Navigation logic is embedded in the test Selenium does not expose HTTP Excludes non-developers

BDD-Security Testing Framework https://github.com/continuumsecurity/bddsecurity

BDD-Security Testing Framework

Demo: BDD Port Scanner

Requirement is described before implementation Requirement is understandable by the whole team The requirement is itself an automated test Requirement failure == build failure

BDD-Security Testing Framework Must be able to automate manual security testing Selenium + OWASP ZAP API Tests must be understandable by all stakeholders Behaviour Driven Development (BDD) with JBehave Must fit into dev workflow and continuous integration pipelines Runs in IDE, cmd line Runs in Jenkins Test results in JUnit wrapper +HTML in Jenkins The logic of the security tests should be independent from navigation code Provide a baseline of ready-to-use security tests

BDD Security Stories Java core Java + Selenium Steps

Demo Initial configuration BDD tests of functional app security BDD wrappers around security processes BDD tests of non-functional app security

Integration with Jenkins

Limitations Email: Not implemented yet! Needed for self-reg Account Lockout Access control not CSRF aware Test Maintenance Use error checking wherever possible Try to find generic solution E.g.: ISomeBehaviour

From this: Dead documents Reliance on manual processes Tools don t fit the deployment pipeline Tool results don t translate to business requirements

To this:

Resources: https://github.com/continuumsecurity OWASP ZAP Pure Java client API Resty-Burp RESTful API into Burp Suite Nessus Java Client SSLTest Java SSL analyser Related projects: Gauntlt BDD wrapper for sec tools: https://github.com/gauntlt/gauntlt (Ruby) Mittn Burp Integration: https://github.com/f-secure/mittn (Python)

Questions? @stephendv