Bringing Security Testing to Development. How to Enable Developers to Act as Security Experts



Similar documents
Agile Secure Software Development in a Large Software Development Organisation Security Testing

A Holistic Approach to Security Testing

1000 Projects later. Security Code Scans at SAP

Industrial Challenges of Secure Software Development

How to achieve PCI DSS Compliance with Checkmarx Source Code Analysis

Application Code Development Standards

3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management

What is Web Security? Motivation

Product Roadmap. Sushant Rao Principal Product Manager Fortify Software, a HP company

SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis

How To Ensure That Your Computer System Is Safe

Adobe Systems Incorporated

SAST, DAST and Vulnerability Assessments, = 4

D. Best Practices D.1. Assurance The 5 th A

Securing ios Applications. Dr. Bruce Sams, OPTIMAbit GmbH

Passing PCI Compliance How to Address the Application Security Mandates

HP Fortify Application Security Lucas v. Stockhausen PreSales Manager HP Fortify EMEA Enterprise Security

Web application testing

HP ESP Partner Enablement Fortify Proof of Concept Boot Camp Training

Interactive Application Security Testing (IAST)

Web Application Threats and Vulnerabilities Web Server Hacking and Web Application Vulnerability

ensuring security the way how we do it

Kenna Platform Security. A technical overview of the comprehensive security measures Kenna uses to protect your data

Mobile Application Hacking for Android and iphone. 4-Day Hands-On Course. Syllabus

Software Development: The Next Security Frontier

Automating Security Testing. Mark Fallon Senior Release Manager Oracle

Chapter 1 Web Application (In)security 1

SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis. Patrick Hildenbrand, Product Management Security, SAP AG September 2014

Application Security Center overview

05.0 Application Development

Web Application Penetration Testing

Is your software secure?

2015 Vulnerability Statistics Report

Secure in 2010? Broken in 2011! Matias Madou, PhD Principal Security Researcher

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet

Application Security Testing

Web Security. Discovering, Analyzing and Mitigating Web Security Threats

Security Think beyond! Patrick Hildenbrand, SAP HANA Platform Extensions June 17, 2014

Juniper Networks Secure

Application Security Testing How to find software vulnerabilities before you ship or procure code

OWASP TOP 10 ILIA

Excellence Doesn t Need a Certificate. Be an. Believe in You AMIGOSEC Consulting Private Limited

Detecting Web Application Vulnerabilities Using Open Source Means. OWASP 3rd Free / Libre / Open Source Software (FLOSS) Conference 27/5/2008

Web application security: automated scanning versus manual penetration testing.

Integrating Security into the Application Development Process. Jerod Brennen, CISSP CTO & Principal Security Consultant, Jacadis

Using Web Security Scanners to Detect Vulnerabilities in Web Services

Development. Resilient Software. Secure and. Mark S. Merkow Lakshmikanth Raghavan. CRC Press. Taylor& Francis Croup. Taylor St Francis Group,

Source Code Review Using Static Analysis Tools

Web Application Security

Integrating Web Application Security into the IT Curriculum

elearning for Secure Application Development

HP Application Security Center

SSL Interception Proxies. Jeff Jarmoc Sr. Security Researcher Dell SecureWorks. and Transitive Trust

From the Bottom to the Top: The Evolution of Application Monitoring

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

Web Application Security

SSL and Browsers: The Pillars of Broken Security

TEAM Academy Catalog. 187 Ballardvale Street, Wilmington, MA

Secure Web Application Coding Team Introductory Meeting December 1, :00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda

Where every interaction matters.

HP Fortify application security

Sitefinity Security and Best Practices

Cracking the Perimeter via Web Application Hacking. Zach Grace, CISSP, CEH January 17, Mega Conference

Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011

PCI Compliance Updates

Continuous???? Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

IBM Protocol Analysis Module

Implementation of Web Application Security Solution using Open Source Gaurav Gupta 1, B. K. Murthy 2, P. N. Barwal 3

The Security Development Lifecycle

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats

How to start a software security initiative within your organization: a maturity based and metrics driven approach OWASP

MatriXay WEB Application Vulnerability Scanner V Overview. (DAS- WEBScan ) The best WEB application assessment tool

OWASP Top Ten Tools and Tactics

Web Application Security. Vulnerabilities, Weakness and Countermeasures. Massimo Cotelli CISSP. Secure

Integrating Web Application Security into the IT Curriculum

Integrigy Corporate Overview

JBoss security: penetration, protection and patching. David Jorm

The AppSec How-To: 10 Steps to Secure Agile Development

The Web AppSec How-to: The Defenders Toolbox

Introduction to Web Application Security. Microsoft CSO Roundtable Houston, TX. September 13 th, 2006

Integrating Application Security into the Mobile Software Development Lifecycle. WhiteHat Security Paper

WHITEPAPER. Nessus Exploit Integration

Black Box versus White Box: Different App Testing Strategies John B. Dickson, CISSP

Christchurch Polytechnic Institute of Technology Information Systems Acquisition, Development and Maintenance Security Standard

The Forrester Wave : Application Security, Q4 2014

Useful Tips for Reducing the Risk of Unauthorized Access for Network Cameras Important

The Prevalence of Flash Vulnerabilities on the Web

QuickBooks Online: Security & Infrastructure

Application security testing: Protecting your application and data

How To Make Your Software More Secure

Software Security Touchpoint: Architectural Risk Analysis

Service Manager and the Heartbleed Vulnerability (CVE )

Transcription:

Bringing Security Testing to Development How to Enable Developers to Act as Security Experts

Background: SAP SE SAP SE Business Software Vendor Over 68000 employees Worldwide development Myself Security Testing Strategist Researcher Working in the central Software Security Team 2

De-centralized Secure Development Model Central Security Expert Team S2DL Owner Organizes security trainings Defines product standard ``Security' Defines risk and threat assessment methods Defines security testing strategy Selects and provides security testing tools Validates products Defines and executes response process Local Security Experts Embedded into dev. teams Organize local security activities Support developers and architects Support product owners/responsibles Development Teams Select technologies Select development model 3

MOTIVATION

5 Vulnerability Distribution 3000 2500 2000 1500 1000 500 0 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 Code Execution DoS Overflow Memory Corruption Sql Injection XSS Directory Traversal Bypass something Gain Privileges CSRF Source: www.cvedetails.com

When Do We Fix Bugs?

Microsoft s SDL 7

RISK BASED SECURITY TESTING AS PART OF SAP S S 2 DL

Our Start: SAST as Baseline Language Tool Vendor Others JavaScript 8% 7% Java 30% C/C++ 13% ABAP 42% ABAP CVA (SLIN_SEC) SAP C/C++ Coverity Coverity JavaScript, Ruby Checkmarx Checkmarx Others Fortify HP Mandatory since 2010 for all products Multiple billons lines analyzed Constant improvements: tool configuration (e.g., based on feedback from development, validation, response) new tools and methods

Are We Done? SAST Advantages Early in Development Wide range of vuln. Types Good fix instructions SAST Limitations Quality depends on programming language used Usually covers only one layer of the application stack Client Application Web Browser Server Application Runtime Container Backend Systems

Are We Done? SAST Advantages Early in Development Wide range of vuln. Types Good fix instructions SAST Limitations Quality depends on programming language used Usually covers only one layer of the application stack Checkmarx Client (JavaScript) Application Web Browser Fortify (Java) Server Application Runtime Container Backend Systems Coverity (C/C++)

HP WebInspect DOMinator Are We Done? SAST Advantages Early in Development Wide range of vuln. Types Good fix instructions SAST Limitations Quality depends on programming language used Usually covers only one layer of the application stack Checkmarx Client (JavaScript) Application Web Browser Fortify (Java) Server Application Runtime Container Backend Systems Coverity (C/C++)

HP WebInspect DOMinator Are We Done? SAST Advantages Early in Development Wide range of vuln. Types Good fix instructions SAST Limitations Quality depends on programming language used Usually covers only one layer of the application stack Checkmarx Client Application Web Browser Fortify (Java) Server Application Runtime Container Backend Systems

How To Select The Best Tools

Example: Security Test Plan Mobile Device Risk: Attacker might inject JavaScript (XSS) Security Control 1: Use only UI5 controls Assumption: SAP Kapsel with SMP and Afaria Test: Static Code Analysis using Checkmarx» Justification: recommended tool» Expected Coverage: all client-side JavaScript code» Expected Effort: 10min per development day (ramp-up not included) Security Control 2: use only SSL connections with valid certificates Test 1: Static Code Analysis for finding non-https connections» Justification: 1 low effort, already included in test for Security Control» Expected Coverage: all client-side JavaScript code» Expected Effort: included in effort for scans for Security Control 1 Test 2: Manual test with invalid certs (e.g., self-signed, own CA)» Justification: no automated tool available, self-signed certificates allowed during development» Expected Coverage: all https connections used for accessing the Web Server» Expected Effort: ½ day towards the end of development Web Server / Web Application ( )

Example: Security Test Report Mobile Device Risk: Attacker might inject JavaScript (XSS) Security Control 1: Use only UI5 controls Assumption: SAP Kapsel with SMP and Afaria Test: Static Code Analysis using Checkmarx» Result: no issues» Actual Coverage: all client-side JavaScript code» Actual Effort: total effort 2 days (15min per day, instead of expected 10) Security Control 2: use only SSL connections with valid certificates Test 1: Static Code Analysis for finding non-https connections» Result: exempted one issue» Actual Coverage: all client-side JavaScript code» Actual Effort: included in effort for scans for Security Control 1 Test 2: Manual test with invalid certs (e.g., self-signed, own CA)» Expected Coverage: all https connections used for accessing the Web Server» Expected Effort: ½ day towards the end of development Web Server / Web Application ( )

SAP s S 2 DL

Security Validation Acts as first customer Is not a replacement for security testing during development Security Validation Check for flaws in the implementation of the S 2 DL Ideally, security validation finds: No issues that can be fixed/detected earlier Only issues that cannot be detect earlier (e.g., insecure default configurations, missing security documentation) Note, penetration tests in productive environments are different: They test the actual configuration They test the productive environment (e.g., cloud/hosting)

How to Measure Success Analyze the vulnerabilities reported by Security Validation External security researchers Vulnerability not detected by our security testing tools Improve tool configuration Introduce new tools Vulnerability detected by our security testing tools Vulnerability in older software release Analyze reason for missing vulnerability

How to Measure Success Analyze the vulnerabilities reported by Security Validation External security researchers Vulnerability not detected by our security testing tools Improve tool configuration Introduce new tools Vulnerability detected by our security testing tools Vulnerability in older software release Analyze reason for missing vulnerability Success criteria: Percentage of vulnerabilities not covered by our security testing tools increases

LESSONS LEARNED

Key Success Factor A holistic security awareness program for Developers Managers

Key Success Factor A holistic security awareness program for Developers Managers Yes, security awareness is important - but

Key Success Factor A holistic security awareness program for Developers Managers Yes, security awareness is important - but Developer awareness is even more important!

Listen to Your Developers! We are often talking about a lack of security awareness and, by that, forget the problem of lacking development awareness. Building a secure system more difficult than finding a successful attack. Do not expect your developers to become penetration testers (or security experts)!

Security Testing for Developers Security testing tools for developers, need to Be applicable from the start of development Automate the security knowledge Be deeply integrated into the dev. env., e.g., IDE (instant feedback) Continuous integration Provide easy to understand fix recommendations Declare their sweet spots

Collaborate! Security experts need to collaborate with development experts to Create easy to use security APIs (ever tried to use an SSL API securely) Create languages and frameworks that make it hard to implement insecure systems Explain how to program securely

CONCLUSION

Conclusion Secure software development is a Prerequisite for the secure and compliant operation: We need SecDevOps! Risk of operating and maintaining IT systems Security requires an end-to-end approach Training of developers, architects, product owners Security testing during development Validation of your security testing efforts Maintenance and security patch management Developers are your most important ally - Make life easy for them

Thank You Contact Details: Achim D. Brucker www.brucker.ch achim.brucker@sap.com Stephen Hookings stephen.hookings@sap.com Dimitar Yanev dimitar.yanev@sap.com 33

Bibliography http://www.sap.com/security Ruediger Bachmann and Achim D. Brucker. Developing secure software: A holistic approach to security testing. Datenschutz und Datensicherheit (DuD), 38(4):257 261, April 2014. http://www.brucker.ch/bibliography/abstract/bachmann.ea-security-testing-2014 Achim D. Brucker and Uwe Sodan. Deploying static application security testing on a large scale. In Stefan Katzenbeisser, Volkmar Lotz, and Edgar Weippl, editors, GI Sicherheit 2014, volume 228 of Lecture Notes in Informatics, pages 91 101. GI, March 2014. http://www.brucker.ch/bibliography/abstract/brucker.ea-sast-expierences-2014