Secure DevOps: A Puma s Tail

Similar documents
Taking Control of Your Application Security

Suman Sourav Director DevSecOps, Vantage Point Security. OWASP Indonesia Day 2017

Weaving Security into Every Application

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

DevSecOps Why Aren t You Doing It? Brian Liceaga, CISSP 1

Security as Code: The Time is Now. Dave Shackleford Founder, Voodoo Security Sr. Instructor, SANS

Strengthen and Scale security using DevSecOps

Overcoming the Challenges of Automating Security in a DevOps Environment

Cisco s Security Dojo: Raising the Application Security Awareness of 20,000+ Chris Romeo, Security Journey; formerly of Cisco Systems

An SDLC for the DevSecOps Era Or SecDevOps, or DevOpsSec,

Managed Application Security trends and best practices in application security

N different strategies to automate OWASP ZAP

Put Security Into Your DevOps NOW. Or Prepare for the Flood Matthew Fisher Solution Architect, Fortify Federal 08MAR2018

Exploiting and Defending: Common Web Application Vulnerabilities

C1: Define Security Requirements

OWASP Top David Johansson. Principal Consultant, Synopsys. Presentation material contributed by Andrew van der Stock

In collaborazione con

AppScan Deployment APPLICATION SECURITY SERVICES. Colin Bell. Applications Security Senior Practice Manager

OWASP Thailand. Proxy Caches and Web Application Security. OWASP AppSec Asia October 21, Using the Recent Google Docs 0-Day as an Example

OWASP TOP Release. Andy Willingham June 12, 2018 OWASP Cincinnati

RiskSense Attack Surface Validation for Web Applications

Automating Security Practices for the DevOps Revolution

Application security : going quicker

Securing Production Applications & Data at Runtime. Prevoty

Certified Secure Web Application Engineer

BUYER S GUIDE APPLICATION SECURITY BUYER S GUIDE:

V Conference on Application Security and Modern Technologies

Security Communications and Awareness

Development*Process*for*Secure* So2ware

Framework for Application Security Testing. September 11th, 2018

Continuously Discover and Eliminate Security Risk in Production Apps

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

DevOps A How To for Agility with Security

OWASP Top 10 The Ten Most Critical Web Application Security Risks

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

Continuous Opportunity: DevOps & Security

Robots with Pentest Recipes:

Application Security through a Hacker s Eyes James Walden Northern Kentucky University

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

AGILE AND CONTINUOUS THREAT MODELS

OPEN WEB APPLICATION SECURITY PROJECT OWASP TOP 10 VULNERABILITIES

ShiftLeft. Real-World Runtime Protection Benchmarking

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

Micro Focus Fortify Application Security

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

Application Security Use Cases. RASP, WAF, NGWAF, What The Hell is The Difference.

Application. Security. on line training. Academy. by Appsec Labs

CSWAE Certified Secure Web Application Engineer

Will your application be secure enough when Robots produce code for you?

AppSec in a DevOps World

Web Application Penetration Testing

Application Security Approach

OWASP InfoSec Romania 2013

INTERACTIVE APPLICATION SECURITY TESTING (IAST)

Microsoft SDL 한국마이크로소프트보안프로그램매니저김홍석부장. Security Development Lifecycle and Building Secure Applications

W e b A p p l i c a t i o n S e c u r i t y : T h e D e v i l i s i n t h e D e t a i l s

Logging, Monitoring, and Alerting

Continuous integration for databases using Red Gate tools

OWASP TOP OWASP TOP

The Business Case for Security in the SDLC

Unify DevOps and SecOps: Security Without Friction

Security Communications and Awareness

Release Your Inner DevSecOp

PEACHTECH PEACH API SECURITY AUTOMATING API SECURITY TESTING. Peach.tech

OWASP 5/07/09. The OWASP Foundation OWASP Static Analysis (SA) Track Session 1: Intro to Static Analysis

AUTOMATING SECDEVOPS WORKSHOP

Application Security at Scale

THE ART OF SECURING 100 PRODUCTS. Nir

Embedding GDPR into the SDLC

How to implement SDL and don t turn gray. Andrey Kovalev, Security Engineer

Rethinking Product Security: Cloud Demands a New Way

Andrew van der Stock OWASP Foundation

Students should have an understanding and a working knowledge in the following topics, or attend these courses as a pre-requisite:

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

Engineering Your Software For Attack

Course 834 EC-Council Certified Secure Programmer Java (ECSP)

A Strategic Approach to Web Application Security

Application Security Buyer s Guide

Under the hood testing - Code Reviews - - Harshvardhan Parmar

Seth & Ken s Excellent Adventures in Secure Code Review. Training Course 17th & 18th of October. Table of Contents

INNOV-09 How to Keep Hackers Out of your Web Application

CONTRAST ASSESS MARKET-DEFINING APPLICATION SECURITY TESTING FOR MODERN AGILE AND DEVOPS TEAMS WHITEPAPER

OWASP Top David Caissy OWASP Los Angeles Chapter July 2017

Mobile Malfeasance. Exploring Dangerous Mobile Code. Jason Haddix, Director of Penetration Testing

Web Application Vulnerabilities: OWASP Top 10 Revisited

Security DevOps. Automation von Security-Checks in der Build-Kette. Christian

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

Nick Coblentz, CISSP Senior Consultant, AT&T Consulting

Vulnerability Management From B Movie to Blockbuster Rahim Jina

Information Security Keeping Up With DevOps

"Charting the Course to Your Success!" Securing.Net Web Applications Lifecycle Course Summary

TRAINING CURRICULUM 2017 Q2

Embedding GDPR into the SDLC. Sebastien Deleersnyder Siebe De Roovere

Discover Best of Show März 2016, Düsseldorf

THE EMERGING PRODUCT SECURITY LEADER DISCIPLINE

Index. Chaminda Chandrasekara 2017 C. Chandrasekara, Beginning Build and Release Management with TFS 2017 and VSTS, DOI /

How to Build an Appium Continuous Testing Pipeline

Turbo boost your digital app test automation with Jenkins

OWASP Top 10 Risks. Many thanks to Dave Wichers & OWASP

Web Application Security GVSAGE Theater

Transcription:

Secure DevOps: A Puma s Tail SANS Secure DevOps Summit Tuesday, October 10th 2017 Eric Johnson (@emjohn20)

Eric Johnson, CISSP, GSSP, GWAPT Cypress Data Defense Principal Security Consultant Static code analysis Web & mobile app dynamic assessments Secure Development Lifecycle Tools development - Puma Scan.NET - SHIM SANS Institute Certified Instructor - DEV541: Secure Coding in Java - DEV534: Secure DevOps Course Author - DEV531: Mobile App Security Essentials - DEV540: Secure DevOps & Cloud Application Security - DEV544: Secure Coding in.net

Roadmap The DevOps Problem Security Unit / Integration Testing Static Analysis Options Pre-Commit Continuous Integration Conclusion

Case Study Travel Industry Breaches Airline Company 5,000 employees 50.NET C# applications 20 software engineers 0 application security engineers 1 deployment / week

Case Study State of DevOps Continuous Integration via Jenkins Continuous Delivery via Jenkins pipeline plugin

Case Study State of Security External vendor performing annual code assessments Internal security team receives 1,000 page PDF report Internal security team performs dynamic pen testing, fuzzing, etc.

Case Study The Problem Security was not invited to the DevOps party Internal security team does not have development background Frequent deployments invalidate assessment results Missing a huge opportunity for app sec in the pipeline

HPE AppSec & DevOps Survey Published October 2016 Release frequency up 30x Silos still exist between Sec and DevOps Security in DevOps 17% 20% 25% 38% SecDevOps Gated Reviews Network Defenses Nothing

What is SecDevOps SecDevOps / DevSecOps / DevOpsSec is about breaking down walls between security and: Development Operations Business

SecDevOps Security Controls Security controls in a Continuous Integration (CI) / Continuous Delivery (CD) pipeline: PRE-COMMIT COMMIT ACCEPTANCE DEPLOYMENT SECURITY STORIES SECURITY UNIT TESTS SECURITY ACCEPTANCE TESTS AUTOMATE DEPLOYMENT THREAT MODELING CI SAST CI DAST SECURITY MONITORING IDE SAST HIGH RISK CODE ALERTS AUTOMATED SECURITY ATTACKS SECURITY SMOKE TESTING CODE REVIEWS SUPPLY CHAIN SCANS MANUAL PEN TESTING VIRTUAL PATCHING

SecDevOps Quick Wins Narrowing the scope and identifying some quick wins for our case study: PRE-COMMIT COMMIT ACCEPTANCE DEPLOYMENT SECURITY STORIES SECURITY UNIT TESTS SECURITY ACCEPTANCE TESTS AUTOMATE DEPLOYMENT THREAT MODELING CI SAST CI DAST SECURITY MONITORING IDE SAST HIGH RISK CODE ALERTS AUTOMATED SECURITY ATTACKS SECURITY SMOKE TESTING CODE REVIEWS SUPPLY CHAIN SCANS MANUAL PEN TESTING VIRTUAL PATCHING

Roadmap The DevOps Problem Security Unit / Integration Testing Static Analysis Options Pre-Commit Continuous Integration Conclusion

Security Unit / Integration Testing Built on top of standard unit and integration tests to enforce security requirements: PRE-COMMIT Create abuse cases and evil user stories SECURITY STORIES Focus on high risk code and business logic flaws Fast execution in the IDE / CI pipeline COMMIT UNIT / ACCEPTANCE TESTING

The Happy Path Engineers often stay on the "happy path" Prove the code works under normal usage Example: positive validation testing for a normal user's name 1 2 3 4 5 6 [Fact] public void NameValidationPositiveTest() { bool isvalid = Validator.IsNameValid("Bobby Tables"); Assert.Equal(isValid, true); }

Evil Security Stories Security works with engineers to write test cases Prove the code is secure under abnormal usage Example: Negative validation w/ evil injection characters 1 2 3 4 5 6 7 [Fact] public void ValidateNameNegativeTest() { string EVIL = "&<>\"\\() ;!=~*/{}#"; foreach (char s in EVIL.ToArray()) Assert.Equal(Validator.IsNameValid(s.ToString()), false); }

High Risk Code Examples Security identifies high risk code performing the following functionality: Authentication Access control Output encoding Input validation High risk business logic Data entitlement checks Handling confidential data Cryptography

Security Payload Unit Test Repository (SPUTR) Automated and configurable security unit testing framework written by @sethlaw Payload lists for XSS and Injection - SQLi, NoSQL, LDAP, XML, XPath, OS vulnerabilities Supports Java Spring, ASP.NET MVC, and Django https://github.com/sethlaw/sputr

Roadmap The DevOps Problem Security Unit / Integration Testing Static Analysis Options Pre-Commit Continuous Integration Conclusion

SecDevOps Static Analysis Limited opportunity for static analysis in CI & CD pipelines: Speed matters (< 10 minutes) High accuracy rules Low false positive rates PRE-COMMIT IDE SAST COMMIT CI SAST

Free / Open Source.NET Options CAT.NET FxCop Visual Studio Code Analysis Web Config Security Analyzer Custom Roslyn Analyzers

The Target Purposely vulnerable ecommerce application Contains over 50 different vulnerabilities Across two different versions: Web Forms.NET MVC 5 Contributors: Louis Gardina Eric Johnson

CAT.NET v1.1 Security Benchmark Widget Town scan results: 2 XSS, 1 Unvalidated Redirect issues CAT.NET is a very limited security scanner

FxCop / Code Analysis Security Benchmark Rule target results from the Microsoft Security Rules rule set Widget Town scan results: 2 SQL Injection instances, 1 is a false positive

Scan Result Summary Widget Town combined CAT.NET and VS Code analysis scan results: Category Valid False Positive Cross-Site Scripting 2 0 SQL Injection 1 1 Unvalidated Redirect 1 0

Scan Result Summary Widget Town combined CAT.NET and VS Code analysis scan results: Category Valid False Positive Cross-Site Scripting 2 0 SQL Injection 1 1 Unvalidated Redirect 1 0

Introducing Roslyn Open-source C# and VB compilers with code analysis APIs Capable of producing warnings in source code as you type:

Roslyn Diagnostic Warnings Roslyn diagnostics are also reported during MSBuild compilation:

Building Security Analyzers 101 Session recorded at OWASP AppSec USA 2016: Continuous Integration: Live Code Analysis using Visual Studio and the Roslyn API - https://youtube.com/watch?v=y8jkvjy-7t0 Demonstration analyzers from the presentation: - https://github.com/ejohn20/puma-scan-demo

Introducing the Puma Scan Open source security source code analyzer built using Roslyn 50+ application security-specific rules Version 1.0.6 is available via NuGet & VS Marketplace Install guide, rule docs, source code: - https://www.pumascan.com/community - https://github.com/pumasecurity - @puma_scan

Roadmap The DevOps Problem Security Unit / Integration Testing Static Analysis Options Pre-Commit Continuous Integration Conclusion

IDE Static Analysis Checklist Requirements for static scanning in the IDE. Display vulnerabilities inside the IDE Provide documentation on how to fix the issue Allow engineers to suppress false positives

IDE Static Analysis Checklist Display vulnerabilities inside the IDE

IDE Static Analysis Checklist Provide documentation on how to fix the issue

IDE Static Analysis Checklist Allow engineers to suppress false positives

Roadmap The DevOps Problem Security Unit / Integration Testing Static Analysis Options Pre-Commit Continuous Integration Conclusion

CI Static Analysis Checklist Requirements for static scanning in the CI pipeline: Pipeline executes accurate static analysis rules Process and capture results in pipeline Configure build thresholds to mark builds as unhealthy or failed Notify security when issues are suppressed by engineers

CI Static Analysis Checklist Pipeline executes accurate static analysis rules

CI Static Analysis Checklist Process and capture results in pipeline

CI Static Analysis Checklist Configure build thresholds to mark builds as unhealthy or failed

Roadmap The DevOps Problem Security Unit / Integration Testing Static Analysis Options Pre-Commit Continuous Integration Conclusion

Puma Scan Future Enhancements Welcoming contributions! Gather feedback and address edge cases Continue to build out additional rule categories: - Cleartext secrets, insecure XML processing, etc. Further refine results using data flow analysis to eliminate false positives Identify rules that can apply suggested code fixes

Acknowledgements Eric Mead - Puma Security Engineer Scott Sauber - Puma Security Engineer James Kashevos CDD Security Engineer Josh Brown-White - Microsoft Gitter Rosyln Channel

Questions? Contact Info: eric.johnson@pumascan.com @emjohn20