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



Similar documents
Budget Control by Cost Center

User Experience in Custom Apps

USDL XG WP3 SAP use case. Kay Kadner

Intelligent Business Operations Chapter 1: Overview & Strategy

Accounts Receivable. SAP Best Practices

SAP Business ByDesign Reference Systems. Scenario Outline. SAP ERP Integration Scenarios

SOP through Long Term Planning Transfer to LIS/PIS/Capacity. SAP Best Practices

Ariba Network Integration to SAP ECC

SAP Service Tools for Performance Analysis

OData in a Nutshell. August 2011 INTERNAL

RUN BETTER Become a Best-Run Business with Remote Support Platform for SAP Business One

Next Generation Digital Banking with SAP

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

SAPFIN. Overview of SAP ERP Financials COURSE OUTLINE. Course Version: 15 Course Duration: 2 Day(s)

Enterprise Software - Applications, Technologies and Programming

HR400 SAP ERP HCM Payroll Configuration

AC200. Basics of Customizing for Financial Accounting: General Ledger, Accounts Receivable, Accounts Payable COURSE OUTLINE

How To Improve Your Business Process With Sap

TM111. ERP Integration for Order Management (Shipper Specific) COURSE OUTLINE. Course Version: 15 Course Duration: 2 Day(s)

Application Lifecycle Management

Unified Service Description Language Enabling the Internet of Services

How to Configure Access Control for Exchange using PowerShell Cmdlets A Step-by-Step guide

SAP Central Process Scheduling (CPS) 8.0 by Redwood

Matthias Steiner SAP. SAP HANA Cloud Platform A guided tour

Table of Contents. How to Find Database Index usage per ABAP Report and Creating an Index

Understanding HR Schema and PCR with an Example

Production Subcontracting (External Processing) SAP Best Practices

SAP Business One for iphone and ipad. Version 1.5.x January 2012

SAP Master Data Governance- Hiding fields in the change request User Interface

Process Archiving using NetWeaver Business Process Management

R/3 and J2EE Setup for Digital Signature on Form 16 in HR Systems

Third Party Digital Asset Management Integration

Compliant, Business-Driven Identity Management using. SAP NetWeaver Identity Management and SBOP Access Control. February 2010

Finding the Leak Access Logging for Sensitive Data. SAP Product Management Security

Ten reasons small and midsize enterprises (SMEs) choose SAP to help transform their business. Copyright/Trademark

UI Framework Simple Search in CRM WebClient based on NetWeaver Enterprise Search (ABAP) SAP Enhancement Package 1 for SAP CRM 7.0

GRC 10.0 Pre-Installation

Fixed Asset in SAP Business One 9.0

Business One in Action - How can we post bank fees and charges while posting Incoming or Outgoing Payment transactions?

Run SAP like a Factory

Industrial Challenges of Secure Software Development

AC 10.0 Centralized Emergency Access

3 rd party Service Desk interface

Alert Notification in SAP Supply Network Collaboration. SNC Extension Guide

Secure MobiLink Synchronization using Microsoft IIS and the MobiLink Redirector

SAP NetWeaver BRM 7.3

Integration of SAP Netweaver User Management with LDAP

K in Identify the differences between the universe design tool and the information design tool

Maintaining Different Addresses and Ids for a Business Partner via CRM Web UI

SAP Cloud Strategy - Timeless Software. Frank Stienhans on behalf of Kaj van de Loo SAP

UI Framework Task Based User Interface. SAP Enhancement Package 1 for SAP CRM 7.0

Portfolio and Project Management 5.0: Excel Integration for Financial and Capacity Planning

September 10-13, 2012 Orlando, Florida. Step-by-step guidelines for building an information governance strategy

How to Create a Support Message in SAP Service Marketplace

SAP Best Practices for Subsidiary Integration in One Client Production with Intercompany Replenishment

Data Archiving in CRM: a Brief Overview

BICS Connectivity for Web Intelligence in SAP BI 4.0. John Mrozek / AGS December 01, 2011

NetWeaver Business Client (NWBC) for Incentives and Commissions Management (ICM)

SAP Sustainability Solutions: Achieving Customer Strategies

Integrating Easy Document Management System in SAP DMS

Ten Reasons to Choose SAP for Enterprise Mobility. Copyright/Trademark

AC 10.0 Customizing Workflows for Access Management

Integrated Release Management Maximize IT s business value. Swen Conrad, PMP Senior Director Solution Marketing IT Business Management

Log Analysis Tool for SAP NetWeaver AS Java

Implementing Outlook Integration for SAP Business One

BW Workspaces Use Cases

How To... Migrate Custom Portal Applications to SAP NetWeaver 7.3

Integration of Universal Worklist into Microsoft Office SharePoint

SAP Portfolio and Project Management

ERP Quotation and Sales Order in CRM WebClient UI Detailed View. SAP Enhancement Package 1 for SAP CRM 7.0 CRM Sales - SFA

How-to-Guide: Middleware Settings for Download of IPC Configuration (KB) Data from R/3 to CRM System

Certificate SAP INTEGRATION CERTIFICATION

E-Recruiting Job Board Integration using XI

Configuring Distribution List in Compliant User Provisioning

SAP NetWeaver MDM 7.1 Features at a Glance. November, 2011

Introducing the SAP Business One starter package. A Great Start to help you to Streamline Your Small Business

SAP DSM/BRFPlus System Architecture Considerations

HANA Operations for Outsourcing Providers. SAP Ecosystem & Channels, SAP Hosting Certifications November 7, 2013

Data Source Enhancement Using User Exit

Download and Install Crystal Reports for Eclipse via the Eclipse Software Update Manager

AC 10.0 Business Role Management

Ronald Bueck SBO Product Definition

Migration Guide Remote Support Component 1.0 to SAP Solution Manager 7.1. Target Audience System Administrators Technology Consultants

CREATING A PURCHASE ORDER STORE RECORD WEB SERVICE

CHANNEL PARTNER (VAR) Technical Support Network. SAP Global Service & Support March 2011

Sales Planning Detailed View. SAP Enhancement Package 1 for SAP CRM 7.0 CRM Sales - SFA

ABAP Custom Code Security

UI Framework Logo exchange without skin copy. SAP Enhancement Package 1 for SAP CRM 7.0

Sending Additional Files from SAP Netweaver PI to third Party System

How to Schedule Report Execution and Mailing

How To Use the ESR Eclipse Tool with the Enterprise Service Repository

How To Use the BPC Mass User Management Tool in BPC 10.0 NW

SAP HANA Technical Academy , WU Wien

BUSINESS PROCESS MANAGEMENT

Business Process Monitoring SAP Solution Manager 7.1. SAP AG August, 2011

Configuring Single Sign-on for SAP HANA

SAP Sybase SQL Anywhere New Features Improve Performance, Increase Security, and Ensure 24/7 Availability

ALM204 Change Impact Analysis with Business Process Change Analyzer. Rajeev Gollapudi, SAP Labs India September, 2011

Transcription:

Agile Secure Software Development in a Large Software Development Organisation Security Testing Achim D. Brucker achim.brucker@sap.com http://www.brucker.ch/ SAP SE, Vincenz-Priessnitz-Str. 1, 76131 Karlsruhe, Germany ASSD Keynote First International Workshop on Agile Secure Software Development (ASSD) Toulouse, France, August 24 28, 2015

Agile Secure Software Development in a Large Software Development Organisation Security Testing Abstract Security testing is an important part of any (agile) secure software development lifecyle. Still, security testing is often understood as an activity done by security testers in the time between end of development and offering the product to customers. Learning from traditional testing that the fixing of bugs is the more costly the later it is done in development, we believe that security testing should be integrated into the daily development activities. To achieve this, we developed a security testing strategy, as part of SAP s security development lifecycle which supports the specific needs of the various software development models at SAP. In this presentation, we will briefly presents SAP s approach to an agile secure software development process in general and, in particular, present SAP s Security Testing Strategy that enables developers to find security vulnerabilities early by applying a variety of different security testing methods and tools. 2015 SAP SE. All Rights Reserved. Page 2 of 28

Agenda 1 Background 2 Motivation 3 Risk-based Security Testing as Part of SAP s S 2 DL 4 Lesson s Learned 5 How Does This Resonate With Agile Development? 2015 SAP SE. All Rights Reserved. Page 3 of 28

SAP SE Leader in Business Software Cloud Mobile On premise Many different technologies and platforms, e.g., In-memory database and application server (HANA) Netweaver for ABAP and Java More than 25 industries 63% of the world s transaction revenue touches an SAP system over 68 000 employees worldwide over 25 000 software developers Headquarters: Walldorf, Germany (close to Heidelberg) 2015 SAP SE. All Rights Reserved. Page 4 of 28

Personal Background I wear two hats: (Global) Security Testing Strategist Research Expert/Architect Working for the central software security team Background: Security, Formal Methods, Software Engineering Current work areas: Static code analysis (Dynamic) Security Testing Mobile Security Security Development Lifecycle Secure Software Development Lifecycle http://www.brucker.ch/ 2015 SAP SE. All Rights Reserved. Page 5 of 28

SAP Uses a De-centralised Secure Development Approach Central security expert team (S 2 DL 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 Development teams Select technologies Select development model Design and execute security testing plan... Local security experts Embedded into development teams Organize local security activities Support developers and architects Support product owners (responsibles) 2015 SAP SE. All Rights Reserved. Page 6 of 28

Agenda 1 Background 2 Motivation 3 Risk-based Security Testing as Part of SAP s S 2 DL 4 Lesson s Learned 5 How Does This Resonate With Agile Development? 2015 SAP SE. All Rights Reserved. Page 7 of 28

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 2015 SAP SE. All Rights Reserved. Page 8 of 28

When Do We Fix Bugs 2015 SAP SE. All Rights Reserved. Page 9 of 28

Microsoft s SDL 2015 SAP SE. All Rights Reserved. Page 10 of 28

Agenda 1 Background 2 Motivation 3 Risk-based Security Testing as Part of SAP s S 2 DL 4 Lesson s Learned 5 How Does This Resonate With Agile Development? 2015 SAP SE. All Rights Reserved. Page 11 of 28

Our Start: SAST as a Baseline SAST tools used at SAP: JavaScript Others ABAP Language Tool Vendor ABAP CVA (SLIN_SEC) SAP JavaScript Checkmarx CxSAST Checkmarx C/C++ Coverity Coverity Others Fortify HP C Java Since 2010, mandatory for all SAP products Multiple billions lines analyzed Constant improvement of tool configuration Further details: Deploying Static Application Security Testing on a Large Scale. In GI Sicherheit 2014. Lecture Notes in Informatics, 228, pages 91-101, GI, 2014. 2015 SAP SE. All Rights Reserved. Page 12 of 28

Combining Multiple Security Testing Methods and Tools Client Application Web Browser Server Application Runtime Container Backend Systems Risks of only using only SAST Wasting effort that could be used more wisely elsewhere Shipping insecure software Examples of SAST limitations Not all programming languages supported Covers not all layers of the software stack 2015 SAP SE. All Rights Reserved. Page 13 of 28

Combining Multiple Security Testing Methods and Tools Checkmarx Client (JavaScript) Application Web Browser Fortify (Java) Server Application Runtime Container Backend Systems Coverity (C/C++) Risks of only using only SAST Wasting effort that could be used more wisely elsewhere Shipping insecure software Examples of SAST limitations Not all programming languages supported Covers not all layers of the software stack 2015 SAP SE. All Rights Reserved. Page 13 of 28

HP WebInspect / IBM AppScan DOMinator Combining Multiple Security Testing Methods and Tools Checkmarx Client (JavaScript) Application Web Browser Risks of only using only SAST Fortify (Java) Server Application Runtime Container Backend Systems Coverity (C/C++) Wasting effort that could be used more wisely elsewhere Shipping insecure software Examples of SAST limitations Not all programming languages supported Covers not all layers of the software stack 2015 SAP SE. All Rights Reserved. Page 13 of 28

HP WebInspect / IBM AppScan DOMinator Combining Multiple Security Testing Methods and Tools Checkmarx Client Application Web Browser Risks of only using only SAST Fortify (Java) Server Application Runtime Container Backend Systems Wasting effort that could be used more wisely elsewhere Shipping insecure software Examples of SAST limitations Not all programming languages supported Covers not all layers of the software stack 2015 SAP SE. All Rights Reserved. Page 13 of 28

A Risk-based Test Plan RISK ASSESMENT Priority of SAP Security Requirements (e.g., SECURIM, Threat Modelling, OWASP ASVS) Implementation detao;s,e.g., programming languages, frameworks Security Test Plan Select from a list of predefined application types Combines multiple security testing methods, e.g., code scans, dynamic analysis, manual penetration testing or fuzzing Selects the most efficient test tools and test cases based on the risks and the technologies used in the project Re-adjusts priorities of test cases based on identified risks for the project Monitors false negative findings in the results of risk assessment 2015 SAP SE. All Rights Reserved. Page 14 of 28

SAP Secure Software Development Lifecycle (S 2 DL) Figure: SAP SSDL 2015 SAP SE. All Rights Reserved. Page 15 of 28

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) 2015 SAP SE. All Rights Reserved. Page 16 of 28

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) Penetration tests in productive environments are different: They test the actual configuration They test the productive environment (e.g., cloud/hosting) 2015 SAP SE. All Rights Reserved. Page 16 of 28

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 2015 SAP SE. All Rights Reserved. Page 17 of 28

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 Not Covered Covered Success criteria: Percentage of vulnerabilities not covered by our security testing tools increases 2015 SAP SE. All Rights Reserved. Page 17 of 28

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 Not Covered Covered Success criteria: Percentage of vulnerabilities not covered by our security testing tools increases 2015 SAP SE. All Rights Reserved. Page 17 of 28

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 Not Covered Covered Newly Covered Success criteria: Percentage of vulnerabilities not covered by our security testing tools increases 2015 SAP SE. All Rights Reserved. Page 17 of 28

Agenda 1 Background 2 Motivation 3 Risk-based Security Testing as Part of SAP s S 2 DL 4 Lesson s Learned 5 How Does This Resonate With Agile Development? 2015 SAP SE. All Rights Reserved. Page 18 of 28

Key Success Factors A holistic security awareness program for Developers Managers 2015 SAP SE. All Rights Reserved. Page 19 of 28

Key Success Factors A holistic security awareness program for Developers Managers Yes, security awareness is important 2015 SAP SE. All Rights Reserved. Page 19 of 28

Key Success Factors A holistic security awareness program for Developers Managers Yes, security awareness is important but 2015 SAP SE. All Rights Reserved. Page 19 of 28

Key Success Factors A holistic security awareness program for Developers Managers Yes, security awareness is important but Developer awareness is even more important! 2015 SAP SE. All Rights Reserved. Page 19 of 28

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)! 2015 SAP SE. All Rights Reserved. Page 20 of 28

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 2015 SAP SE. All Rights Reserved. Page 21 of 28

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 2015 SAP SE. All Rights Reserved. Page 22 of 28

Agenda 1 Background 2 Motivation 3 Risk-based Security Testing as Part of SAP s S 2 DL 4 Lesson s Learned 5 How Does This Resonate With Agile Development? 2015 SAP SE. All Rights Reserved. Page 23 of 28

Agile Development What is agile for you? SCRUM, Continuous Delivery, DevOps, SCRUM, Cloud development,... Cloud/agile development lifecycle Deliveries t 2015 SAP SE. All Rights Reserved. Page 24 of 28

Secure Agile Development PSC Security Security Measures Security Testing Level of Trust Threat Modelling Risk Identification Secure Programming Static Testing Dynamic Testing Manual Testing Security Response Security Validation Risk Mitigation & Testing 2015 SAP SE. All Rights Reserved. Page 25 of 28

Open (Research) Questions Social aspects Does the SecDevOps model increase security awareness? (Developers and their managers are also responsible for operational risks) Does this impact the willingness to take (security) risks and/or the risk assessment? Process and organisational aspects What services should be offered centrally? How to ensure a certain level of security across all products? How to ensure a certain level of security across the end-to-end supply chain? Technical and fundamental aspects How do we need to adapt development support How do we need to adapt threat modelling or risk assessment methods How do we need to adapt security testing techniques The big challenge in practice: Products are often offered in the cloud (SaaS) and on premise 2015 SAP SE. All Rights Reserved. Page 26 of 28

Thank you! Dr. Achim D. Brucker achim.brucker@sap.com http://www.brucker.ch/ http://xkcd.com/327/

Related Publications 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, Lukas Brügger, and Burkhart Wolff. Formal firewall conformance testing: An application of test and proof techniques. Software Testing, Verification & Reliability (STVR), 25(1):34 71, 2015. http://www.brucker.ch/bibliography/abstract/brucker.ea-formal-fw-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. ISBN 978-3-88579-622-0. http://www.brucker.ch/bibliography/abstract/brucker.ea-sast-expierences-2014. Achim D. Brucker and Burkhart Wolff. On theorem prover-based testing. Formal Aspects of Computing (FAC), 25(5):683 721, 2013. ISSN 0934-5043. http://www.brucker.ch/bibliography/abstract/brucker.ea-theorem-prover-2012. 2015 SAP SE. All Rights Reserved. Page 28 of 28

2015 SAP SE. All rights reserved No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE. The information contained herein may be changed without prior notice. Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors. Microsoft, Windows, Excel, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System z10, System z9, z10, z9, iseries, pseries, xseries, zseries, eserver, z/vm, z/os, i5/os, S/390, OS/390, OS/400, AS/400, S/390 Parallel Enterprise Server, PowerVM, Power Architecture, POWER6+, POWER6, POWER5+, POWER5, POWER, OpenPower, PowerPC, BatchPipes, BladeCenter, System Storage, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, Parallel Sysplex, MVS/ESA, AIX, Intelligent Miner, WebSphere, Netfinity, Tivoli and Informix are trademarks or registered trademarks of IBM Corporation. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP BusinessObjects Explorer, StreamWork, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE in Germany and other countries. Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and other Business Objects products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Business Objects Software Ltd. Business Objects is an SAP company. Sybase and Adaptive Server, ianywhere, Sybase 365, SQL Anywhere, and other Sybase products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Sybase, Inc. Sybase is an SAP company. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. The information in this document is proprietary to SAP. No part of this document may be reproduced, copied, or transmitted in any form or for any purpose without the express prior written permission of SAP SE. This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies, developments, and functionalities of the SAP product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. Please note that this document is subject to change and may be changed by SAP at any time without notice. SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence. The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages. 2015 SAP SE. All Rights Reserved. Page 29 of 28