29
Compliance, Performance und Qualität für SAP® ABAP Programmierung MEHRWERK

Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Compliance,

Performance und

Qualität

für

SAP® ABAP

Programmierung

MEHRWERK

Page 2: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Compliance für SAP® Systeme

Seite 2

Compliance für SAP® Systeme

Co

mp

lian

ce

• SoD Regelwerk

• Compliance

• WP Audit

Management

> 10 Regeln

• Anwender/Rollen

• Arbeitsplatz

• Lizenz Mgmt

• WP Audit relevant

Prozesse

>100 Rollen

• Berechtigungskonzept

• Antrag/Verwaltung/Freigabe von User Rechten

• Online Compliance Prüfung

• Dokumentation

Administration

> 1.000 Funktionen/Rollen/Objekte

• Programmier Standards

• Einhaltung SourceCode Security

• Umsetzung Compliance in SourceCode

• Prüfung Eigenentwicklungen

• Kontrolle externer SourceCode

SourceCode

>10.000 Programme

Page 3: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

SAP® ist die Plattform für Geschäftsprozesse

Seite 3

Compliance für SAP® Systeme

SAP® ABAP ist das Rückgrat Ihrer Geschäftsprozesse – durch

Manipulationen sind Ihre Kronjuwelen in Gefahr!

Mehr als 90% der SAP®-Anwendungen sind in ABAP

geschrieben

Durch Kundenentwicklungen werden spezifische Funktionen

realisiert

Selten erweiterte Produktdefinition zusätzlich zu den

funktionalen Aspekten als Abnahmebedingung

Keine tiefergehende Prüfung außerhalb

der geforderten Kernfunktionen

Page 4: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Risiken in der SAP® ABAP Programmierung

Seite 4

Compliance für SAP® Systeme

ABAP Command

Injection

OS Command Execution

Missing Authority Checks

Cross-Site Scripting

SQL Injection

Etc.

Hard-Code User

Names

Cross-Client Access to

business data

Direct database

modifications

Etc.

Nested Loops

Nested SELECT

WAIT statements

Usage of SELECT *

Etc.

Empty Blocks /

Modules

Micro Modules /

Overlong Modules

Incomplete CASE

Statements

Insufficient Error

Handling

Page 5: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Optimierung und Sicherheit für SAP® ABAP

Seite 5

Compliance für SAP® Systeme

Testautomatisierung mit CodeProfiler.

Vermeiden von Fehlern vor dem Go-Live

Überprüfung von Qualitätsstandards

Risikominimierung

Compliance:

Gewährleistung von Applikationssicherheit

Audit: individuelle Dokumentation

Quality: Transparenz über Sicherheit, Compliance, Performance, etc.

Sicherheit & Kostenkontrolle

Kontrolle: Qualität der Fremdentwicklungen messen

Transparenz: Detailliertes

Reporting von kritischen Faktoren

Effektivität: Priorisierung der klassifizierten Ergebnisse

Know-How Transfer: Anleitung zur sicheren Codeprogrammierung

Page 6: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Projektbeispiele von Risiken…

Seite 6

Compliance für SAP® Systeme

Beispiel 1:

Durch eine Untersuchung mit „CodeProfiler“ wurden in einem SAP®-System mit produktiven

Finanzdaten mehrere sogenannte Code Injection Probleme gefunden

Code Injection: Es ist möglich, dynamisch ABAP Quellcode in das System einzuschleusen

Sämtliche Prüfmechanismen für die Erstellung neuen Quellcodes werden umgangen

(Transportprüfungen, Q/A)

Die neu erstellten Programme werden nicht in gewohnter Weise im SAP®-System protokolliert, es

gibt keine Einträge über das Datum der Erstellung sowie den Nutzer

Die gefundenen Programme konnten auch dazu genutzt werden, den Code wieder zu entfernen

Einige der gefundenen Programme verfügten über keinerlei Berechtigungsprüfungen

Auf diese Weise war es jedem Mitarbeiter mit einem Nutzer in besagtem SAP®-System möglich,

eigene Programme beliebigen Inhalts in das System hochzuladen, diese auszuführen und danach

wieder zu löschen, ohne dass diese Manipulationen bemerkt würden

Page 7: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Projektbeispiele von Risiken…

Seite 7

Compliance für SAP® Systeme

RISIKO:

Geschäftlich:

Durch die Möglichkeit finanzieller Manipulationen stand die Zuverlässigkeit des Jahresabschlusses in

Frage.

Die Zustimmung des Wirtschaftsprüfers zu den Finanzdaten war gefährdet.

Technisch:

Sämtliche SAP®-Systeme des Konzerns mussten auf die Existenz der entsprechenden Programme hin

untersucht werden.

Es mussten umfangreiche Prüfungen durchgeführt werden, um nachzuweisen, dass die entsprechenden

Programme nicht aufgerufen worden waren.

Die Programme mussten gelöscht werden; zusätzliche Tests waren notwendig, um sicherzustellen, dass die

Löschung von Programmen in produktiven Systemen nicht zum Ausfall von Funktionalität führte.

Page 8: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Projektbeispiele von Risiken…

Seite 8

Compliance für SAP® Systeme

Beispiel 2:

Durch eine Untersuchung mit „CodeProfiler“ wurden in einem SAP® SRM Portal mehrere Backdoors

identifiziert. Damit war ein vollständiger Zugriff auf alle Daten möglich.

Backdoor: (un)absichtlich eingebaute Zugangsmöglichkeit, die an den vorgesehenen Schutzmechanismen

vorbeigeht.

Sämtliche Prüfmechanismen auf das System werden umgangen

Der Zugriff ist für den Kunden nicht nachvollziehbar.

Auf diese Weise war es jedem Externen möglich, die komplette Anwendung zu nutzen. Es konnten

alle Daten gelesen und geändert werden. Dem Kunden war nicht bewusst, dass diese Lücke von

außen von jedem ausnutzbar war.

Page 9: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Projektbeispiele von Risiken…

Seite 9

Compliance für SAP® Systeme

RISIKO:

Geschäftlich:

Der Kunde hat vertragliche und gesetzliche Anforderungen an Datenschutz und Vertraulichkeit nicht

eingehalten.

Zu den vertraulichen Informationen gehörten auch Entwürfe für neue Anlagen, die so einem

Konkurrenten leicht zugänglich waren. Ein Teil der Geschäftsgeheimnisse lagen somit offen.

Im Schadensfall wirkt sich dies auf die Reputation des Herstellers aus, da Anbieter nicht davon ausgehen

können, dass Ihre Daten geschützt sind.

Backdoors werden manchmal absichtlich eingebracht und gezielt für Wirtschaftsspionage genutzt.

Technisch:

Die Identifikation und Behebung der Sicherheitslücken durch „CodeProfiler“ konnte in kurzer Zeit

erfolgen. Der Kunde konnte so mit wenig Aufwand ein großes Risiko ausschließen.

Page 10: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Der Ansatz zur SAP® ABAP Prüfung

Seite 10

Compliance für SAP® Systeme

CodeProfiler nutzt Daten- und Kontrollflussanalysen in Verbindung mit einem umfangreichen

Bestand an Regeln, der viele Datenquellen und gefährliche ABAP Statements umfasst.

Bei der Datenflussanalyse werden zunächst Datenquellen identifiziert, d.h. Stellen im Code, an

denen (externe) Daten in Variablen eingelesen werden. Anschließend wird analysiert, ob es

Verbindungen zwischen einer Datenquelle und einem potentiell gefährlichen Statement gibt.

Jede identifizierte Verbindung (Datenfluss) zeigt an, dass das Statement mit großer

Wahrscheinlichkeit eine Gefährdung darstellt und als Schwachstelle ausgenutzt werden kann.

Auf Basis der Datenflussanalyse finden weitere Prüfungen wie Typisierung,

Berechtigungsprüfung, Nutzung regulärer Ausdrücke etc. statt. Dadurch wird eine

Priorisierung und damit Effizienzsteigerung im Prozess erreicht.

Page 11: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Der technische Ansatz zur SAP® ABAP Prüfung

Daten- und Kontrollfluß Analyse

Seite 11

Compliance für SAP® Systeme

Page 12: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Prüfbereiche der SAP® ABAP Analyse

Seite 12

Compliance für SAP® Systeme

Sicherheit

Diese Domäne deckt Testfälle ab, die sich auf allgemeine Sicherheitsdefekte

beziehen, beispielsweise Code mit versteckten Nebeneffekten, die von Angreifern

ausgenutzt werden können.

Unter http://www.bizec.org finden Sie Sicherheitsrisiken für betriebswirtschaftliche

Anwendungen.

Testcases – Beispiele:

ABAP Command Injection

Directory Traversal

Cross-Site Scripting

Missing AUTHORITY-CHECK

Pishing

SQL Injection

Page 13: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Prüfbereiche der SAP® ABAP Analyse

Seite 13

Compliance für SAP•® Systeme

Compliance

Diese Domäne umfasst Testfälle in Bezug auf Compliance-Verstöße, etwa Coding-

Praktiken, die wichtige Sicherheitsmechanismen im SAP®-Standard umgehen.

Testcases – Beispiele:

Hard-coded User Name (sy-uname)

Cross-Client Access to Business Data

Hidden ABAP Code

Page 14: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Prüfbereiche der SAP® ABAP Analyse

Seite 14

Compliance für SAP® Systeme

Performance

Diese Domäne enthält Testfälle zum Identifizieren von Coding-Praktiken mit

negativen Auswirkungen auf die Performance ihres SAP®-Systems.

Testcases – Beispiele:

Usage of WAIT Command

Database Modifications in a Loop

SELECT Statement in a Loop

Usage of LIKE Clause

Missing WHERE Restriction in SELECT Statement

Nested SELECT Statement

Page 15: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Prüfbereiche der SAP® ABAP Analyse

Seite 15

Compliance für SAP® Systeme

Wartbarkeit

Die Testfälle in dieser Domäne analysieren den ABAP-Code auf Schwachstellen, die

die Wartung des Systems erschweren. Hierzu zählen:

Coding, das für neue Entwickler schwer nachvollziehbar ist

Coding mit einer komplexen Struktur

Unzureichende Dokumentation

Testcases Beispiele:

Empty Block

Empty Module

Overlong Module

Page 16: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Prüfbereiche der SAP® ABAP Analyse

Seite 16

Compliance für SAP® Systeme

Robustheit

Diese Domäne bietet Testfälle für Coding-Praktiken, die die zuverlässige

Ausführung von betriebswirtschaftlichen Anwendungen gefährden. Ein wichtiger

Vorteil von robustem Code ist die Gewährleistung reibungsloser Geschäftsabläufe

(Business Continuity): Robuster Code reagiert auf Fehler in einer kontrollierten,

zuverlässigen und vorhersehbaren Art und Weise.

Testcases – Beispiele:

Insufficient Error Handling (TRY/CATCH)

Incomplete CASE Statement

Recursion (Immediate)

Page 17: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Mehrwerte durch CodeProfiler

Seite 17

Compliance für SAP® Systeme

1. Analysen durchführen: Getting Secure

- als Entwickler oder Auditor

- Analyse von Transporten

- Batch Scheduling (SM37/SM36)

2. TMS/ChaRM Integration: Staying Secure

- Automatischer Anstoß von Analysen durch Transporte (SE10)

- Approval Workflow (Enforcement von Anforderungen)

3. Umgang mit Ergebnissen: Mitigation

- Finding Manager (Review, Bewertung und Beheben in der SE80)

Page 18: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Detail: Testgruppen Festlegen

Seite 18

Compliance für SAP® Systeme

Page 19: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Detail: Prüfen ganzer Pakete oder einzelner Objekten

Seite 19

Compliance für SAP® Systeme

Page 20: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Detail: prüfen geplanter Transporte

Seite 20

Compliance für SAP® Systeme

Page 21: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Ergebnisdarstellung von CodeProfiler

Seite 21

Compliance für SAP® Systeme

Die Ergebnisse der Analyse liegen als PDF-Bericht und als XML-Datei vor. Zudem können sie direkt

über die interactive Oberfläche im CodeProfiler angezeigt werden.

Der Executive Summary Report (PDF) enthält eine priorisierte Liste aller aufgedeckten Schwachstellen.

Diese Liste bietet einen schnellen Überblick über aktuelle Geschäftsrisiken auf Code-Ebene.

Der detaillierte PDF-Bericht enthält umfassende Informationen über jedes Analyseergebnis, gruppiert

nach Testfällen. Jeder Testfall beinhaltet:

Einleitung

Geschäftsrisiko

Detaillierte Erklärung

Beispielschwachstelle

Allgemeiner Lösungsansatz

Lösungsbeispiel

Zusätzlich zu diesen allgemeinen Informationen führt der Bericht auch Details zu allen entdeckten

Schwachstellen auf.

Page 22: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Ergebnisdarstellung von CodeProfiler

Seite 22

Compliance für SAP® Systeme

Page 23: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Ergebnisdarstellung von CodeProfiler

Seite 23

Compliance für SAP® Systeme

Page 24: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Integration CodeProfiler in Entwicklungsprozess

Seite 24

Compliance für SAP® Systeme

Mit der Integration in das SAP® Transport Management System (TMS) erhalten Sie die Möglichkeit, die

Transporte vor dem eigentlichen Release sowohl auf Aufgabenebene als auch auf Transportebene (oder

auf beiden Ebenen) mit dem CodeProfiler automatisch zu überprüfen, freizugeben oder bei Bedarf einem

definierten Ausnahmeprozess zuzuführen.

Eine automatisierte Überprüfung vor einem Import in ein bestehendes System (Entwicklung,

Konsolidierung, Produktion) kann dabei wie die Prüfung während der Releasephase erfolgen. Dabei ist es

technologisch unerheblich, ob ein oder mehrere SAP®-Systeme angebunden werden.

Es werden die bekannten Transport- und Freigabemechanismen wie Transport Management System

(TMS), Change Request Management (ChaRM) und Change und Transportsystem (CTS) sowie das CTS

pluss unterstützt.

Die Integration mit anderen evtl. bereits eingesetzten Zusatztools, wie beispielsweise theGuard!

TransportManager von Realteach, Transport Express von Basis Technologies oder anderen ist möglich.

Ein vorkonfigurierter SAP® Workflow (Notification- und Approval-Workflow) für Freigabe-, QA- und

Ausnahmeprozess ist in der Standardauslieferung enthalten.

Page 25: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Integration CodeProfiler in TMS/ChaRM

Seite 25

Compliance für SAP® Systeme

P60 EhP4

D60 EhP4

Development Test/QA Production Requirements- Paper

SICHERE SAP PROGRAMMIERUNG

ABAP

Guideline

Java

Guideline

ABAP

Spezifikation

Java

Spezifikation

Generelle

Guideline

Interne

Entwicklung

Externe

Entwicklung

CodeProfiler TMS-

gatekeeper

Q60 EhP4

Exception

via QA

Page 26: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Integration CodeProfiler in TMS/ChaRM

Seite 26

Compliance für SAP® Systeme

Page 27: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

Integration CodeProfiler in TMS/ChaRM

Seite 27

Compliance für SAP® Systeme

Developer

QA / PL

Release

CodeProfiler Parse

TMS

Review

Review

Transp. O

kay

F

alse

Req

ues

t

Change

Ap

pro

ve

Reject

Develop

Page 28: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

SAP® Zertifizierte Lösung

Seite 28

Compliance für SAP® Systeme

CodeProfiler hat erfolgreich die

SAP® -Integration-Zertifizierung absolviert

CodeProfiler ist eine zuverlässige Lösung

für Ihre SAP®-Umgebung.

Offizieller SAP® Software Partner.

Page 29: Compliance, Performance und Qualität für SAP ABAP · Optimierung und Sicherheit für SAP ® ABAP Seite 5 Compliance für SAP ® Systeme Testautomatisierung mit CodeProfiler. Vermeiden

MEHRWERK

Sprechen Sie

uns an

Mehrwerk AG

+49 721-499 00 19

[email protected]