SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis



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

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

ABAP Custom Code Security

How To Make Your Software More Secure

SAP Security Recommendations December Secure Software Development at SAP Embedding Security in the Product Innovation Lifecycle Version 1.

ITM204 Post-Copy Automation for SAP NetWeaver Business Warehouse System Landscapes. October 2013

Protect Your Connected Business Systems by Identifying and Analyzing Threats

Upgrade: SAP Mobile Platform Server for Windows SAP Mobile Platform 3.0 SP02

R49 Using SAP Payment Engine for payment transactions. Process Diagram

Data Integration using Integration Gateway. SAP Mobile Platform 3.0 SP02

The Security Development Lifecycle at SAP How SAP Builds Security into Software Products

SAP HANA Live & SAP BW Data Integration A Case Study

SAP Mobile Documents. December, 2015

SAP HANA SPS 09 - What s New? Administration & Monitoring

SAP Audit Management A Preview

Software Requirements

SAP HANA SPS 09 - What s New? Development Tools

ABAP SQL Monitor Implementation Guide and Best Practices

SAP Business One mobile app for Android Version 1.0.x November 2013

Price and Revenue Management - Manual Price Changes. SAP Best Practices for Retail

Mobile app for Android Version 1.0.x, January 2014

SAP Project Portfolio Monitoring Rapid- Deployment Solution: Software Requirements

SAP ERP E-Commerce and SAP CRM Web Channel Enablement versions available on the market

SBOP Analysis 2.1, edition for Microsoft Office Additional PAM Information

Understanding Security and Rights in SAP BusinessObjects Business Intelligence 4.1

SEPA in SAP CRM. Application Innovation, CRM & Service Industries. Customer

SAP BW 7.4 Real-Time Replication using Operational Data Provisioning (ODP)

Getting Started with the License Administration Workbench 2.0 (LAW 2.0)

SAP Operational Process Intelligence Security Guide

GR5 Access Request. Process Diagram

SAP Business Intelligence Adoption V6.41: Software and Delivery Requirements. SAP Business Intelligence Adoption February 2015 English

Downport to SAP GUI for documents Access Control Management

SAP HANA SPS 09 - What s New? HANA IM Services: SDI and SDQ

Real-Time Reconciliation of Invoice and Goods Receipts powered by SAP HANA. Stefan Karl, Finance Solutions, SAP ASUG Presentation, May 2013

Backup & Restore with SAP BPC (MS SQL 2005)

SEC100 Secure Authentication and Data Transfer with SAP Single Sign-On. Public

Using Database Performance Warehouse to Monitor Microsoft SQL Server Report Content

Developing Applications for Integration between PI and SAP ERP in Different Network Domains or Landscapes

The Arts & Science of Tuning HANA models for Performance. Abani Pattanayak, SAP HANA CoE Nov 12, 2015

SAP 3D Visual Enterprise Rapid-Deployment Solution

SAP Payroll Processing control center rapiddeployment

SAP Portfolio and Project Management

White Paper. SAP NetWeaver Landscape Virtualization Management on VCE Vblock System 300 Family

SAP HANA SPS 09 - What s New? SAP HANA Scalability

How To Use An Automotive Consulting Solution In Ansap

SAP MII for Manufacturing rapid-deployment solution: Software Requirements

SAP Fiori Infrastructure rapid-deployment solution: Software and Delivery Requirements

SAP Solution Manager: The IT Solution from SAP for IT Service Management and More

SAP NetWeaver Identity Management Identity Services Configuration Guide

Master Data Governance Find Out How SAP Business Suite powered by SAP HANA Delivers Business Value in Real Time

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

Migration and Upgrade Paths to SAP Process Orchestration. Udo Paltzer Product Owner SAP Process Integration, SAP HANA Cloud Integration

SAP Business Intelligence Suite Patch 10.x Update Guide

SAP Product and Cloud Security Strategy

How To Configure MDM to Work with Oracle ASM-Based Products

SAP S/4HANA Embedded Analytics

Design & Innovation from SAP AppHaus Realization with SAP HANA Cloud Platform. Michael Sambeth, Business Development HCP, SAP (Suisse) SA

Configuring Distribution List in Compliant User Provisioning

Hack In The Box Conference 2011, Amsterdam. Dr. Markus Schumacher

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

Performance Best Practices Guide for SAP NetWeaver Portal 7.3

Installation Guide: Agentry Device Clients SAP Mobile Platform 2.3

How to Configure an Example SAP Cloud Applications Studio (PDI) Solution for SAP Cloud for Customer

SAP BusinessObjects Business Intelligence 4 Innovation and Implementation

How-To Guide SAP Cloud for Customer Document Version: How to replicate marketing attributes from SAP CRM to SAP Cloud for Customer

How-To Guide SAP Cloud for Customer Document Version: How to Perform Initial Load of data from SAP ERP to SAP Cloud for Customer

Six Essential Elements of Web Application Security. Cost Effective Strategies for Defending Your Business

LVS Troubleshooting Common issues and solutions

PSM-PPM Integration SAP Product Structure Management

Application Test Management and Quality Assurance

SAP BusinessObjects Business Intelligence Suite Document Version: 4.1 Support Package Patch 3.x Update Guide

Multi Channel Sales Order Management: Mail Order. SAP Best Practices for Retail

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

Reference Architecture: Enterprise Security For The Cloud

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

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

SAP BusinessObjects Analysis, edition for Microsoft Office Document Version: What's New Guide

How-to guide: Monitoring of standalone Hosts. This guide explains how you can enable monitoring for standalone hosts in SAP Solution Manager

SAP BW on HANA & HANA Smart Data Access Setup

BC450 ABAP Performance: Analysis and Optimization

Partner Certification to Operate SAP Solutions and SAP Software Environments

Rapid database migration of SAP Business Suite to SAP HANA (V4.10): Software and Delivery Requirements. SAP HANA November 2014 English

SAP HANA Cloud Integration CUSTOMER

Extract Archived Data from SAP ERP

SAP DSM/BRFPlus System Architecture Considerations

Ariba Procure-to-Pay Integration rapiddeployment

K88 - Additional Business Operations for Loans. Process Diagram

Security Audit Log (BC-SEC)

Create Mobile, Compelling Dashboards with Trusted Business Warehouse Data

SAP Best Practices for SAP Mobile Secure Cloud Configuration March 2015

CUSTOMER Presentation of SAP Predictive Analytics

SAP GRC Access Control: Background jobs for risk analysis and remediation (formerly Virsa Compliance Calibrator)

How-To Guide SAP NetWeaver Document Version: How To Guide - Configure SSL in ABAP System

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

SuccessFactors HCM Suite August 2014 Release Document Version: August 22, SuccessFactors Learning Programs Administration Guide

Using SAP Logon Tickets for Single Sign on to Microsoft based web applications

K75 SAP Payment Engine for Credit transfer (SWIFT & SEPA) Process Diagram

Transcription:

SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis

Disclaimer This presentation outlines our general product direction and should not be relied on in making a purchase decision. This presentation is not subject to your license agreement or any other agreement with SAP. SAP has no obligation to pursue any course of business outlined in this presentation or to develop or release any functionality mentioned in this presentation. This presentation and SAP's strategy and possible future developments are subject to change and may be changed by SAP at any time for any reason without notice. 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 assumes no responsibility for errors or omissions in this document, except if such damages were caused by SAP intentionally or grossly negligent. 2013 SAP AG. All rights reserved. Public 2

Source Code The Source of Security Risks

Business Applications Do Have a History Today's business applications Have often evolved over several years Are complex Are built on changing requirements Were created based on different development paradigms Have been optimized for performance Have been extended, but not reinvented And often, security was only an afterthought. 2013 SAP AG. All rights reserved. Public 4

The Security Challenge In order to secure an application, you have to understand all of its components, functions, infrastructure, and the related threats. In order to break an application, just one flaw in any of its components/functions or the infrastructure may be enough. The problem: Each new technology brings about new vulnerabilities. Firewalls, intrusion detection systems, signatures, and rncryption alone cannot make an application secure. 2013 SAP AG. All rights reserved. Public 5

Application Security Testing Security testing, consisting of dynamic application security testing (DAST) and/or static application security testing (SAST) can improve code quality and security. Neither DAST nor SAST are guaranteed to find all security issues in an application. DAST finds vulnerabilities in the running application finds vulnerabilities by analyzing the sources SAST Manual Application Penetration Testing Manual Source Code Review Automated Application Vulnerability Scanning Automated Source Code Analysis 2013 SAP AG. All rights reserved. Public 6

Automated Detection of Weaknesses in ABAP Sources

SAP NetWeaver Code Vulnerability Analyzer Feature Set Reduced false-positive rate through data flow analysis Supports exemption workflows to ease handling of false positives Integrated into standard ABAP development infrastructure for easy consumption by developers Increased security for your applications Supports automation requirements by quality assurance teams Priority of each check can be adjusted to match the requirements Extensive documentation to support developers in fixing the detected issues 2013 SAP AG. All rights reserved. Public 8

Introductory Example: SQL Injection Input forstreet: xyz' salary = '1500 set_expr: STREET = 'xyz' salary = '1500'... SET STREET = 'xyz' salary = '1500' 2013 SAP AG. All rights reserved. Public 9

How Does Code Vulnerability Analysis Work? 1. Input field 3. Data flow between the input field and the dangerous statement 2. Potentially dangerous statement The Code Analyzer searches for and reports potentially vulnerable statements where the input comes from untrusted sources.. 2013 SAP AG. All rights reserved. Public 10

Integrated Into Standard Developer Tools Code cheks are integrated into the ABAP Test Cockpit and can be launched easily from most developer tools such as SE80 or SE38. You can launch checks for single objects as well as groups of objecxts 2013 SAP AG. All rights reserved. Public 11

Supporting Developers in Fixing Code Detailed documentation of detected issues includes explanations as well as advice on avoiding vulnerabilities, helping developers understand and fix issues in their code. The tool supports direct navigation to - the location in code sources - the related documentation - the workflow to create an exemption - 2013 SAP AG. All rights reserved. Public 12

Corrected Program This method adds ' ' around the value of street and escapes every ' within the value. Note: Phone is an integer type and does not need to be escaped. 2013 SAP AG. All rights reserved. Public 13

Identifying Common Source Code Risks of the OWASP Top 10 Injection Injection flaws, such as SQL and OS injection occur when un-trusted data is sent to an interpreter as part of a command or query Insecure Direct Object References A direct object reference occurs when a developer exposes a reference to an internal implementation object, such as a file, directory, or database key. Without an access control check or other protection, attackers can manipulate these references to access unauthorized data. Missing Function Level Access Control Most applications verify function level access rights before making that functionality visible in the UI. However, applications need to perform the same access control checks on the server when each function is accessed. Using Components with Known Vulnerabilities Components, such as libraries, frameworks, and other software modules, almost always run with full privileges. If a vulnerable component is exploited, such an attack can facilitate serious data loss or server takeover. 2013 SAP AG. All rights reserved. Public 14

Fine Granular Control of Priorities You can control the priority of every single finding, enabling you to consider your own risk and security requirements. This allows for a phased approach: Security checks can be extended over time to increase developer acceptance. 2013 SAP AG. All rights reserved. Public 15

Integration into the ABAP Test Cockpit (ATC) ATC is an ABAP check framework which allows developers to run static checks and unit tests for ABAP programs. ATC is fully integrated into the development environment and transport tools, and offers features such as instant navigation, documentation, and fix recommendation. What are the benefits? ATC is the single point of entry for all static code check tools ATC includes a 4-eye principle exemption process to handle findings effectively ATC is fully integrated in the ABAP development workbench and offers high usability for developers and quality experts ATC is not only a check tool; in addition, it supports essential QA techniques such as Q gates or regression testing in a consolidation system ABAP Test Cockpit (ATC) Syntax Check (Check, SE80) Erweiterte Programmprüfung (SLIN) SAP Code Vulnerability Analyzer (SLIN_SEC) SAP Code Inspector (SCI) 2013 SAP AG. All rights reserved. Public 16

Testing ABAP Everywhere with the ABAP Test Cockpit (ATC)

ABAP Test Cockpit (ATC) What is it? ATC is an ABAP check framework for running static checks and unit tests for ABAP programs ATC is fully integrated into the development environment and transport tools, along with instant navigation, documentation, and fix recommendation What are the benefits? ATC is the single point of entry for all static code check tools ATC includes a 4-eye principle exemption process to handle findings effectively ATC is fully integrated in the ABAP development workbench and offers high usability for developers and quality experts ATC is not only a check tool; in addition, it supports essential QA techniques such as Q gates or regression testing in a consolidation system 2013 SAP AG. All rights reserved. Public 18

ABAP Test Cockpit Integrated into the ABAP IDE 2013 SAP AG. All rights reserved. Public 19

Example Development Landscape Development System 1 Quality-Gate: Check during transport release Q-experts run mass checks and distribute the results Developers run static/unit/scenario tests on their objects Periodic checks run to validate the code of a development team Development System 2 Quality-Gate: Check during transport release Consolidation System i Quality-Gate: Mass check run and consolidation test Use ONE quality standard for Q-Gates 2013 SAP AG. All rights reserved. Public 20

Security Checks for Development on Older Releases When development systems are older than the minimal supported release, you can use a security test system to execute tests on a higher release. 7.02 < SP14 Development System 1 Consolidation System 7.02 < SP14 7.02 >= SP14 Development System 2 Security Test System 7.02 < SP14 2013 SAP AG. All rights reserved. Public 21

Features for Developers Checks code during development and transport release Corrects bugs Requests exemptions for false-positives ATC Features Start ATC within different ABAP workbench tools: SE80, SE24, SE38, SE11 ATC runs automatically during release of transport requests Easy access to central ATC results in the development systems User-centric display of ATC results, including powerful filter, navigation, and recheck 2013 SAP AG. All rights reserved. Public 22

Features for Quality Experts Defines commonly used check variant Monitors quality of the whole code base Approves exemptions ATC Features Exemption approval process E-mail ATC result to responsible contact person Statistics show aggregation of ATC findings using different criteria Execution of ABAP unit tests 2013 SAP AG. All rights reserved. Public 23

ATC Administrator Configures ATC in development and consolidation systems Monitors execution of ATC check runs and regular jobs ATC Features Powerful parallelization engine to run mass tests very effectively Restart capability in case of a canceled/crashed ATC run Possibility to schedule regular ATC runs Powerful monitoring tool and flexible logging Distribute ATC results to multiple target systems (e.g. from consolidation to development systems) 2013 SAP AG. All rights reserved. Public 24

Security Checks in Detail

Overview of Available Checks Web Exploitability SQL Injection (Open SQL) SQL Injection (ADBC) Backdoors & Authorizations Security Checks Code Injection (ABAP) Directory Traversal OS Command Injection Call Injection 2013 SAP AG. All rights reserved. Public 26

Overview of Available Checks SQL Injection (Open SQL) Manipulation of Dynamic Open SQL Potential manipulation of the dynamic WHERE condition (1101) Potential manipulation of a dynamic WHERE condition using the parameter I_FILTER of the object services method CREATE_QUERY (1122) Potential manipulation of the SET clause in the statement UPDATE (1112) Potential read performed on an illegal database table in a SELECT statement (1118) Potential read performed on an illegal database table in a modifying OpenSQL statement (1120) Potential read performed on invalid table columns (1114) Potential use of illegal columns in a dynamic GROUP BY clause (1116) Potential use of illegal columns in a dynamic HAVING clause (1117) 2013 SAP AG. All rights reserved. Public 27

Overview of Available Checks SQL Injection (ADBC) Manipulation of SQL Statements Potential injection of harmful SQL statements of clauses in execution of DDL statements in ADBC (1128) Potential injection of harmful SQL statements of clauses in execution of DML statements in ADBC (1130) 2013 SAP AG. All rights reserved. Public 28

Overview of Available Checks Code Injection (ABAP) Manipulation of Dynamically Created ABAP Code Potential injection of harmful code in the statements INSERT REPORT and GENERATE SUBROUTINE POOL (1108) Potential manipulation of the dynamic WHERE condition in an internal table (1190) 2013 SAP AG. All rights reserved. Public 29

Overview of Available Checks Call Injection Manipulation in Dynamic Calls Potential call of an illegal transaction using the statement CALL TRANSACTION (1142) Potential call of an unwanted transaction using the statement LEAVE TO TRANSACTION (1143) Potential call of an illegal program using the statement SUBMIT (1141) Potential call of invalid function module using RFC (1140) 2013 SAP AG. All rights reserved. Public 30

Overview of Available Checks OS Command Injection Injections of Oerating System Commands Statement CALL 'SYSTEM' used (1170) Potential manipulation in the FILTER addition of the statement OPEN DATASET (1106) 2013 SAP AG. All rights reserved. Public 31

Overview of Available Checks Directory Traversal Access to Illegal Directories and Files Potential manipulation of the file name in the statement OPEN DATASET or DELETE DATASET (1104) Potential manipulation of the file name in the method CREATE_UTF8_FILE_WITH_BOM of the class CL_ABAP_FILE_UTILITIES (1124) 2013 SAP AG. All rights reserved. Public 32

Overview of Available Checks Backdoors & Authorizations Weak Authorization Checks or User Administration Bypassed Hard-coded user name, possibly from undeleted test code or an indication of a back door (0821) SY-SUBRC not evaluated after the statement AUTHORITY-CHECK (1160) AUTHORITY-CHECK with explicit user name (1180) AUTHORITY-CHECK with explicitly specified user name sy-uname (1181) 2013 SAP AG. All rights reserved. Public 33

Overview of Available Checks Web Exploitability Possible Attacks Using Web Technologies Obsolete escape method used (1150) 2013 SAP AG. All rights reserved. Public 34

Summary

Writing Secure ABAP Code One weakness is enough to put your business at a risk! Regularly check your source code and ensure that your code is compliant to state-of-the-art security programming best practices. Train developers to raise awareness about common weaknesses. Security is not a one-off project. Incorporate security improvements into your development routines. 2013 SAP AG. All rights reserved. Public 36

Summary: Code Vulnerability Analyzer Developed by the team that creaties the ABAP language Tightly integrated into standard testing infrastructure Thoroughly tested and used by SAP internally for several years Successfully piloted by customers SAP NetWeaver Application Server, add-on for code vulnerability analysis is planned to be available as of: SAP NetWeaver AS ABAP 7.0 EhP2 Support Package 14 SAP NetWeaver AS ABAP 7.0 EhP3 Support Package 09 SAP NetWeaver AS ABAP 7.3 EhP1 Support Package 09 SAP NetWeaver AS ABAP 7.4 Support Package 05 and later releases 2013 SAP AG. All rights reserved. Public 37

Summary: ABAP Test Cockpit ATC is the standard ABAP check frame work at SAP The ABAP Test Cockpit (ATC) is a tool for doing static and dynamic quality checks of ABAP code and associated repository objects ATC is based on Code Inspector Very easy migration: Just re-use your current global Code Inspector check variant ATC is available as part of: SAP NetWeaver AS ABAP 7.0 EhP2 Support Package 12 SAP NetWeaver AS ABAP 7.0 EhP3 Support Package 05 SAP NetWeaver AS ABAP 7.3 EhP1 Support Package 05 SAP NetWeaver AS ABAP 7.3 EhP2 and later releases 2013 SAP AG. All rights reserved. Public 38

Further Information SAP NetWeaver Application Server, add-on for code vulnerability analysis http://wiki.scn.sap.com/wiki/display/abap/sap+netweaver+application+server%2c+addon+for+code+vulnerability+analysis ABAP Test and Analysis Tools http://wiki.sdn.sap.com/wiki/display/abap/abap+test+and+analysis+tools SAP Code Inspector http://wiki.sdn.sap.com/wiki/display/abap/code+inspector ABAP Test Cockpit (ATC) http://wiki.sdn.sap.com/wiki/display/abap/abap+test+cockpit SAP Community http://scn.sap.com/community/security http://scn.sap.com/community/abap/testing-and-troubleshooting 2013 SAP AG. All rights reserved. Public 39

2013 SAP AG. 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 AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. National product specifications may vary. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries. Please see http://www.sap.com/corporate-en/legal/copyright/index.epx#trademark for additional trademark information and notices. 2013 SAP AG. All rights reserved. Public 40