Reliable SAP Applications - Virtual

Werbung
Andreas Wiegenstein
Dr. Markus Schumacher
PPT Masterfolie
Compliance-Risiken
im ABAP Code
„Sicherheit und Prüfung von SAP® Systemen“, 15. - 16. September , Hamburg
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Disclaimer
PPT Masterfolie
Dieser Vortrag zeigt Sicherheitsrisiken in der Sprache ABAP.
zur Erstellung von Präsentationen
Das bestimmte Sicherheitsfehler in ABAP möglich sind, bedeutet nicht
unbedingt, dass solche Fehler im SAP Standard Code vorhanden sind.
Virtual Forge hat allerdings sämtliche hier beschriebenen Fehler in
Eigenentwicklungen bei SAP Kunden entdeckt.
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
Mein Auto, mein Haus, mein Boot, …
PPT Masterfolie
Andreas
Wiegenstein
Erstellung
von Präsentationen
zurGründer
von Virtual Forge (Heidelberg), verantwortlich für Forschung
und Entwicklung

SAP Security Researcher, aktiv seit 2003


Sprecher bei Konferenzen




Credits von SAP für mehr als 20 gemeldete Schwachstellen
SAP TechEd 2004 (USA & Europa) / 2005 (USA) / 2006 (USA), DSAG 2009
BlackHat 2011 (Europa), Troopers 2011, Hack in the Box 2011 (Europa)
Co-Autor von „Sichere ABAP Programmierung" (SAP Press)
Trainingskurs WDESA3 @ SAP University
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
PPT
Masterfolie
1.
Problemstellung
ABAP Sicherheit
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
„Unsere SAP Systeme sind sicher…“
PPT Masterfolie
zur Erstellung von Präsentationen
„…und das ist unsere Abteilung für ABAP Sicherheit.“
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
Sicherheit: Eine Frage der Granularität
PPT
Masterfolie
Nicht
die Transaktionen sind gefährlich, sondern die ABAP Befehle.
zur Erstellung von Präsentationen
Beispiel: Anlegen von ABAP Programmen
SE 80
SE 38
Risiko
Funktionsbaustein ZFB1
Risiko
Transaktion ZTRANS1
INSERT REPORT
Risiko
Transaktion ZTRANS2
Risiko
Funktionsbaustein ZFB2
Risiko
REPORT ZREP
Risiko
Business Server Page ZBSP
Risiko
Web Dynpro Anwendung ZWD
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
Die Angriffsoberfläche von ABAP
PPT Masterfolie
zur Erstellung von Präsentationen
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
SAP ALL in 5 Minuten… (Teil 1)
PPT Masterfolie
zur Erstellung von Präsentationen
DEMO
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
ABAP Risiken (1)
Berechtigungen
PPT Masterfolie
zur Erstellung
von Präsentationen
ABAP
hat ein explizites
Berechtigungsmodell
Roles & Authorizations
Risiken


AUTHORITY
CHECK
ASSET
Failed
© 2010 Virtual Forge GmbH. All rights reserved.
Falsche Berechtigungsprüfungen


OK
x
Fehlende Berechtigungsprüfungen

Logisch falsch
Technisch falsch
Proprietäre Berechtigungsprüfungen
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
ABAP Schwachstellen (1a)
Berechtigungen
PPT Masterfolie
zur Erstellung von Präsentationen
REPORT ZFT.
DATA lv_msg TYPE string.
AUTHORITY-CHECK
ID 'DEVCLASS'
ID 'OBJTYPE'
ID 'OBJNAME'
ID 'ACTVT'
OBJECT 'S_DEVELOP'
FIELD '*'
FIELD 'PROG'
FIELD 'ZTEST'
FIELD '02'.
CONCATENATE 'No authority in ' SY-REPID INTO lv_msg.
IF sy-subrc <> 0.
WRITE : / lv_msg.
EXIT.
ENDIF.
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
ABAP Schwachstellen (1b)
Berechtigungen
PPT Masterfolie
zur Erstellung von Präsentationen
REPORT ZFT.
DATA lv_msg TYPE string.
AUTHORITY-CHECK
ID 'DEVCLASS'
ID 'OBJTYPE'
ID 'OBJNAME'
ID 'P_GROUP'
ID 'ACTVT'
OBJECT 'S_DEVELOP'
FIELD 'ZHR'
FIELD 'PROG'
FIELD 'ZTEST'
FIELD DUMMY
FIELD '02'.
Sinnvolle Einschränkung
ID bewusst ignoriert
IF sy-subrc <> 0.
sy-subrc korrekt geprüft
CONCATENATE 'No authority in ' SY-REPID INTO lv_msg.
WRITE : / lv_msg.
EXIT.
ENDIF.
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
ABAP Schwachstellen (1c)
Berechtigungen
PPT Masterfolie
Erstellung
von Präsentationen
*zur
Proprietäre
Berechtigungsprüfung
IF sy-uname NE 'WIEGENSTEINA'.
RAISE no_authority.
ENDIF.
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
ABAP Risiken (2)
Mandantentrennung
PPT Masterfolie
zurverwaltet
Erstellung
von Präsentationen
SAP
mehrere
Mandanten
Client Separation
Client 007
Client 023
Client 042
© 2010 Virtual Forge GmbH. All rights reserved.
Risiken

Mandantenübergreifender Datenzugriff
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
ABAP Schwachstellen (2)
Mandantentrennung
PPT Masterfolie
zur Erstellung
von Präsentationen
DELETE
FROM usr02 CLIENT
SPECIFIED.
* OPEN SQL
* Native SQL
EXEC SQL.
DELETE FROM usr02.
ENDEXEC.
* ABAP Database Connectivity (ADBC)
CALL FUNCTION 'DB_EXECUTE_SQL'
EXPORTING
stmt = 'DELETE FROM usr02'.
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
ABAP Risiken (3)
Entwicklungsprozess
PPT Masterfolie
Kontrollierte
Entwicklung
& Qualitätssicherung
zur Erstellung
von Präsentationen
System Separation
Transport
DEV
Transport
TEST
© 2010 Virtual Forge GmbH. All rights reserved.
Risiken


Umgehen der Qualitätstests
Entwicklung auf dem Produktivsystem
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
PROD
ABAP Schwachstellen (3)
Entwicklungsprozess
PPT Masterfolie
zur Erstellung von Präsentationen
PARAMETERS lv_name TYPE string.
Code läuft nur auf Prod-System
IF sy-sysid = 'PFI'.
lt_prog = 'REPORT ZFT.'.
APPEND lt_prog.
CONCATENATE `DATA lv_tmp(80) TYPE c VALUE '`
lv_name `'.` INTO lt_prog. APPEND lt_prog.
lt_prog = 'WRITE / lv_tmp.'. APPEND lt_prog.
INSERT REPORT 'ZFT' FROM lt_prog.
SUBMIT ('ZFT').
ENDIF.
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
Entwicklung ohne
ABAP Workbench
ABAP Risiken (4)
Betriebssystemkommandos
PPT Masterfolie
Kontrollierte
Ausführung von Betriebssystem-Kommandos
zur Erstellung von Präsentationen
Controlled Operating System (OS) Command Execution
ABAP OS Call
SM49 / SM69
Command
LIST
'LIST'
PING
X_PYTHON
Program
OS Command
ls
x_python
© 2010 Virtual Forge GmbH. All rights reserved.
SAP Standard Funktionsbausteine


SXPG_CALL_SYSTEM
SXPG_COMMAND_EXECUTE
Risiken

'ls'
ping
Unsichere Alternativen
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
OS
ABAP Schwachstellen (4)
Betriebssystemkommandos
PPT Masterfolie
zur Erstellung von Präsentationen
CALL 'SYSTEM' ID 'COMMAND' FIELD 'net.exe user test pass /add'
1. Kernel calls
ID 'TAB'
FIELD rt-*sys*.
2. Filter option in OPEN DATASET
OPEN DATASET lv_datei
FOR OUTPUT
IN TEXT MODE ENCODING DEFAULT
FILTER 'format c:'.
3. Restrisiken
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
Generelle Probleme der ABAP Sicherheit
PPT Masterfolie
zurKein
Präzedenzfall (ABAP Hack) in der Presse
Erstellung von Präsentationen
 Mangelnde Awareness bei Managern und Entwicklern
 Sehr große Mengen an Eigenentwicklungen
 Massive Altlasten
 Keine zentrale Zuständigkeit in Konzernen
 ABAP Sicherheit ist ein „Schwarzer Peter“
 Qualität von zugeliefertem Code nicht transparent

Hintertüren & Sicherheitsfehler werden unbewusst mitgekauft
 Fehlendes Know-How

Keine Leitfäden, Trainings, Testwerkzeuge
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
PPT
Masterfolie
2.
Risiken
für Compliance
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
ABAP Sicherheit im Compliance-Kontext
PPT Masterfolie
IKS-Struktur
im ERP-Umfeld
zur Erstellung von Präsentationen
Generellen IT Kontrollen (ITGC - IT General Controls)
Änderungswesen (Change Management)
ABAP Code
Risiken für Geschäftsprozesse
Vollständigkeit
Richtigkeit
Funktionstrennung
Rechte
Nachvollziehbarkeit
Datenschutz
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
…
Risiken durch ABAP Code
Beispielhafte technische Schwachstellen
Masterfolie
PPT
Unberechtigtes
Ausführen von Business Logik
zurErstellung
von
Berechtigungsfehler,
ABAPPräsentationen
Command Injection, OS Command Injection

Unberechtigtes Auslesen von Geschäfts- und Konfigurationsdaten


Unberechtigtes Verändern von Geschäfts- und Konfigurationsdaten


ADBC Injection, OS Command Injection, Directory Traversal, ABAP Command Injection
Beeinträchtigung der Nachvollziehbarkeit


OSQL Injection, ADBC Injection, Directory Traversal, ABAP Command Injection
Gefährdung der Verfügbarkeit des Systems


OSQL Injection, Cross-Client DB Access, Directory Traversal, ABAP Command Injection
ADBC Injection, ABAP Command Injection
Identitätsdiebstahl

Alias Berechtigungen, Cross-Site Scripting, Cross-Site Request Forgery
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
Prüfliste BIZEC APP/11
Die häufigsten Sicherheitsfehler in ABAP Programmen
ID
Schwachstelle
PPT Masterfolie
Beschreibung
Ausführung beliebigen ABAP Codes
ABAP Command Injection
zur Erstellung
von Präsentationen
APP-01
APP-02
OS Command Injection
Ausführung beliebiger Betriebssystem-Kommandos
APP-03
Improper Authorization
Fehlende oder fehlerhafte Berechtigungsprüfung
APP-04
Generic Module Execution
Unerlaubte Ausführung von Modulen (Reports, FuBas, etc)
APP-05
Cross-Client Database Access
Mandantenübergreifender Zugriff auf Geschäftsdaten
APP-06
SQL Injection
Schadhafte Manipulation von Datenbankbefehlen
APP-07
Unmanaged SQL
Verwendung nativer Datenbankbefehle
APP-08
Cross-Site Scripting
Manipulation des Browser UI, Diebstahl von Berechtigungen
APP-09
Cross-Site Request Forgery
Ausführung von Business Logik im Namen eines anderen
Benutzers.
APP-10
File Upload (Malware)
Speicherung schadhafter Dateien auf dem SAP Server
APP-11
Directory Traversal
Unerlaubter Schreib-/Lesezugriff auf Dateien (SAP Server)
(Missing, Broken, Proprietary, Generic)
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
Risiken durch SQL Injection (APP-06)
Beispielhafte Analyse eines technischen Risikos
Masterfolie
PPT
Illegaler
Zugriff auf Daten in anderen Mandanten
Erstellung
von Präsentationen
zurVerändern
von Benutzerkonten
und -berechtigungen (SOX Verletzung)


Undokumentierte Änderungen an kritischen Tabellen (SOX Verletzung)


Z.B. BSEGC-CCNUM
Zugriff auf Bankdaten von Kunden und Zulieferern


Z.B. Social Security Number (PA0002-PERID)
Zugriff auf Kreditkartendaten (PCI/DSS Verletzung)


Keine Einträge in CDHDR, CDPOS, …
Lesezugriff auf HR Daten (Datenschutzverletzung)


Z.B. unberechtigten Benutzern SAP_ALL Rechte zuweisen
Z.B. Kundenbankdaten (KNBK-BANKN)
Manipulation von Finanzdaten (SOX Verletzung)

Z.B. Änderungen an BSEG
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
SAP ALL in 5 Minuten (Teil 2)
PPT Masterfolie
zur Erstellung von Präsentationen
DEMO
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
PPT
Masterfolie
3.
ABAP
Sicherheit auf Prozessebene
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Sicherer EntwicklungsProzess (SEP)
PPT Masterfolie
Implementierung
zurSpezifikation
ErstellungDesign
von Präsentationen
Tools
ABAP Backdoors
Compliance
Killers.
© 2010 Virtual Forge
©
© 2011
2011 and
Virtual
Virtual
Forge
Forge GmbH
GmbH
|| www.virtualforge.com
www.virtualforge.com
|| All
AllGmbH
rights
rights reserved.
reserved.
Tests
Going Live
Der SEP Reifegrad
Das SEPMasterfolie
Reifegrad-Modell ermittelt, auf welcher Stufe ein Unternehmen
PPT
Methoden und Werkzeuge (automatisiert) anwendet, um die Qualität im
zur
Erstellungsicherzustellen.
von Präsentationen
Entwicklungsprozess
Spezifikation

Going Live
Qualität ist ein reaktiver Prozess
Grundlegendes Bewusstsein für Qualität, aber nur minimale Anwendung von Tests
Ohne Feedback


Tests
Minimal


Implementierung
Ad-Hoc


Design
Etablierter Prozess, aber Feedback/Ergebnisse werden nicht genutzt, um ihn zu verbessern
Geplant und kontrolliert



Code-Qualität wird von Anfang an berücksichtigt
Es gibt hinreichende Metr iken, um den Prozess zu überwachen
Der Prozess wird erweitert, wann immer dies notwendig ist
ABAP Backdoors
Compliance
Killers.
© 2010 Virtual Forge
©
© 2011
2011 and
Virtual
Virtual
Forge
Forge GmbH
GmbH
|| www.virtualforge.com
www.virtualforge.com
|| All
AllGmbH
rights
rights reserved.
reserved.
Herausforderungen
PPT Masterfolie
zurManagement
Support
Erstellung von
Präsentationen

Zuständigkeit, Budget
 Umgang mit den Altlasten
 Was muss korrigiert werden, was ist Restrisiko ?
 Akzeptanz bei den Entwicklern
 Tolerante Einführungsphase
 Unterstützung bei der Fehlerbehebung
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
PPT
Masterfolie
4.
ABAP
Sicherheit in der Praxis
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Interne ABAP Entwicklung
Masterfolie
PPT
Zentrale
Vorgaben für die sichere ABAP Entwicklung
zur Erstellung von Präsentationen
 Sicherheit ist Teil des Projekts
 Zeitplanung und Budget
 Verbindliches Training für alle Entwickler
 Entwicklungsleitfäden als Nachschlagewerk
 Peer-Reviews
 Internes Experten-Team für Rückfragen
 Prüfwerkzeuge
 Regelmäßige Aktualisierung aller Informationen
 Manueller Penetrationstest
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
Externe ABAP Entwicklung
Masterfolie
PPT
Zentrale
Vorgaben für Ausschreibungen
zur Erstellung von Präsentationen
 Vertragliche Rahmenbedingungen (Haftung etc)
 Prüfung sämtlichen externen Codes
 Ausführlicher manueller Penetrationstest
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
Automatisierte Tests
PPT
ToolMasterfolie
sollte Fokus auf Security & Compliance haben
zurErstellung
von Präsentationen
Potentielle Synergien
in anderen Testbereichen nutzen

Auf Daten- und Kontrollflussanalyse achten




Auf Performance und Skalierbarkeit achten
Wie oft gibt es neuen Test-Content?
Erklärungen zu den Ergebnissen sollten umfassend sein


Was ist das Problem? Wie löst man es?
Integration in die Entwicklungslandschaft


Andernfalls ist die Falsch-Positiv Rate extrem hoch
TMS, ChaRM, SE80, …
Wird SAP-spezifischer Kontext berücksichtigt

Kritische Tabellen, gefährliche Kernel Aufrufe, …
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
ABAP Sicherheit im Unternehmen
PPT Masterfolie
Organisationen
BIZEC – Business Security Initiative
http://www.bizec.org
zur Erstellung von Präsentationen
Literatur
Sichere ABAP-Programmierung
(SAP PRESS, 372 S., 2009)
Andreas Wiegenstein, Markus Schumacher,
Sebastian Schinzel, Frederik Weidemann
Handbuch SAP-Revision
(SAP PRESS, 672 S., 2011)
Maxim Chuprunov
©
© 2011
2011 Virtual
Virtual Forge
Forge GmbH
GmbH || www.virtualforge.com
www.virtualforge.com || All
All rights
rights reserved.
reserved.
PPT Masterfolie
Haben
Sie noch Fragen?
zur Erstellung von Präsentationen
VIRTUALFORGE GmbH
[email protected]
Speyerer Straße 6
69115 Heidelberg
Deutschland
Telefon: + 49 (0) 6221 86 89 0 - 0
Fax:
+ 49 (0) 6221 86 89 0 - 101
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Herunterladen