Compliance, Performance und Qualität für SAP

Werbung
MEHRWERK
Compliance,
Performance und
Qualität
für
SAP® ABAP
Programmierung
Compliance für SAP® Systeme
Compliance für SAP® Systeme
Compliance
Management
> 10 Regeln
• SoD Regelwerk
• Compliance
• WP Audit
Prozesse
>100 Rollen
Administration
> 1.000
Funktionen/Rollen/Objekte
SourceCode
>10.000 Programme
•
•
•
•
Anwender/Rollen
Arbeitsplatz
Lizenz Mgmt
WP Audit relevant
• Berechtigungskonzept
• Antrag/Verwaltung/Freigabe von User
Rechten
• Online Compliance Prüfung
• Dokumentation
• Programmier Standards
• Einhaltung SourceCode Security
• Umsetzung Compliance in
SourceCode
• Prüfung Eigenentwicklungen
• Kontrolle externer SourceCode
Seite 2
Compliance für SAP® Systeme
SAP® ist die Plattform für Geschäftsprozesse





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
Seite 3
Compliance für SAP® Systeme
Risiken in der SAP® ABAP Programmierung
ABAP Command
Injection
OS Command Execution
Missing Authority Checks
Cross-Site Scripting
SQL Injection
Etc.
Nested Loops
Nested SELECT
WAIT statements
Usage of SELECT *
Etc.
Hard-Code User
Names
Cross-Client Access to
business data
Direct database
modifications
Etc.
Empty Blocks /
Modules
Micro Modules /
Overlong Modules
Incomplete CASE
Statements
Insufficient Error
Handling
Seite 4
Compliance für SAP® Systeme
Optimierung und Sicherheit für SAP® ABAP
Sicherheit &
Kostenkontrolle
Risikominimierung
Compliance:
Testautomatisierung
mit CodeProfiler.
Vermeiden von Fehlern
vor dem Go-Live
Überprüfung von
Qualitätsstandards
Gewährleistung von
Applikationssicherheit
Audit: individuelle
Dokumentation
Quality: Transparenz über
Sicherheit, Compliance,
Performance, etc.
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
Seite 5
Compliance für SAP® Systeme
Projektbeispiele von Risiken…
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
Seite 6
Compliance für SAP® Systeme
Projektbeispiele von Risiken…
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.
Seite 7
Compliance für SAP® Systeme
Projektbeispiele von Risiken…
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.
Seite 8
Compliance für SAP® Systeme
Projektbeispiele von Risiken…
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.
Seite 9
Compliance für SAP® Systeme
Der Ansatz zur SAP® ABAP Prüfung
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.
Seite 10
Compliance für SAP® Systeme
Der technische Ansatz zur SAP® ABAP Prüfung
Daten- und Kontrollfluß Analyse
Seite 11
Compliance für SAP® Systeme
Prüfbereiche der SAP® ABAP Analyse
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
Seite 12
Compliance für SAP•
® Systeme
Prüfbereiche der SAP® ABAP Analyse
Compliance
Diese Domäne umfasst Testfälle in Bezug auf Compliance-Verstöße, etwa CodingPraktiken, die wichtige Sicherheitsmechanismen im SAP®-Standard umgehen.
Testcases – Beispiele:
Hard-coded User Name (sy-uname)
Cross-Client Access to Business Data
Hidden ABAP Code
Seite 13
Compliance für SAP® Systeme
Prüfbereiche der SAP® ABAP Analyse
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
Seite 14
Compliance für SAP® Systeme
Prüfbereiche der SAP® ABAP Analyse
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
Seite 15
Compliance für SAP® Systeme
Prüfbereiche der SAP® ABAP Analyse
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)
Seite 16
Compliance für SAP® Systeme
Mehrwerte durch CodeProfiler
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)
Seite 17
Compliance für SAP® Systeme
Detail: Testgruppen Festlegen
Seite 18
Compliance für SAP® Systeme
Detail: Prüfen ganzer Pakete oder einzelner Objekten
Seite 19
Compliance für SAP® Systeme
Detail: prüfen geplanter Transporte
Seite 20
Compliance für SAP® Systeme
Ergebnisdarstellung von CodeProfiler
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.
Seite 21
Compliance für SAP® Systeme
Ergebnisdarstellung von CodeProfiler
Seite 22
Compliance für SAP® Systeme
Ergebnisdarstellung von CodeProfiler
Seite 23
Compliance für SAP® Systeme
Integration CodeProfiler in Entwicklungsprozess
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.
Seite 24
Compliance für SAP® Systeme
Integration CodeProfiler in TMS/ChaRM
RequirementsPaper
Development
CodeProfiler
TMSgatekeeper
Test/QA
Production
Q60
P60
SICHERE SAP PROGRAMMIERUNG
Java
Guideline
Interne
Entwicklung
ABAP
Guideline
Generelle
Guideline
Java
Spezifikation
ABAP
Spezifikation
Externe
Entwicklung
D60
EhP4
EhP4
EhP4
Except
ion
via QA
Seite 25
Compliance für SAP® Systeme
Integration CodeProfiler in TMS/ChaRM
Seite 26
Compliance für SAP® Systeme
Integration CodeProfiler in TMS/ChaRM
Reject
QA / PL
Developer
Develop
Release
Approve
Request
Review
Review
False
Change
Parse
Okay
CodeProfiler
TMS
Transp.
Seite 27
Compliance für SAP® Systeme
SAP® Zertifizierte Lösung
CodeProfiler hat erfolgreich die
SAP® -Integration-Zertifizierung absolviert
CodeProfiler ist eine zuverlässige Lösung
für Ihre SAP®-Umgebung.
Offizieller SAP® Software Partner.
Seite 28
MEHRWERK
Sprechen Sie
uns an
Mehrwerk AG
+49 721-499 00 19
[email protected]
Herunterladen