Upload
phungtruc
View
233
Download
4
Embed Size (px)
Citation preview
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Dr. Markus Schumacher
„Sicherheit und Prüfung von SAP® Systemen“, 15. - 16. September , Hamburg
Compliance-Risiken im ABAP Code
Andreas Wiegenstein
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Dieser Vortrag zeigt Sicherheitsrisiken in der Sprache ABAP.
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.
Disclaimer
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Andreas Wiegenstein
Gründer von Virtual Forge (Heidelberg), verantwortlich für Forschung
und Entwicklung
SAP Security Researcher, aktiv seit 2003
Credits von SAP für mehr als 20 gemeldete Schwachstellen
Sprecher bei Konferenzen
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
Mein Auto, mein Haus, mein Boot, …
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
1. Problemstellung ABAP Sicherheit
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
„Unsere SAP Systeme sind sicher…“
„…und das ist unsere Abteilung für ABAP Sicherheit.“
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
SE 80
Sicherheit: Eine Frage der Granularität
Funktionsbaustein ZFB1
INSERT REPORT
Nicht die Transaktionen sind gefährlich, sondern die ABAP Befehle.
SE 38
Beispiel: Anlegen von ABAP Programmen
Business Server Page ZBSP
Web Dynpro Anwendung ZWD
Transaktion ZTRANS1
REPORT ZREP
Funktionsbaustein ZFB2 Transaktion ZTRANS2
Risiko
Risiko
Risiko
Risiko
Risiko
Risiko
Risiko
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Die Angriffsoberfläche von ABAP
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
SAP ALL in 5 Minuten… (Teil 1)
DEMO
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Berechtigungen
ABAP Risiken (1)
Risiken
Fehlende Berechtigungsprüfungen
Falsche Berechtigungsprüfungen
Logisch falsch
Technisch falsch
Proprietäre Berechtigungsprüfungen
Roles & Authorizations
ASSET
OK
Failed
AUTHORITY
CHECK
© 2010 Virtual Forge GmbH. All rights reserved.
ABAP hat ein explizites Berechtigungsmodell
x
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Berechtigungen
ABAP Schwachstellen (1a)
REPORT ZFT.
DATA lv_msg TYPE string.
AUTHORITY-CHECK OBJECT 'S_DEVELOP'
ID 'DEVCLASS' FIELD '*'
ID 'OBJTYPE' FIELD 'PROG'
ID 'OBJNAME' FIELD 'ZTEST'
ID 'ACTVT' FIELD '02'.
CONCATENATE 'No authority in ' SY-REPID INTO lv_msg.
IF sy-subrc <> 0.
WRITE : / lv_msg.
EXIT.
ENDIF.
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Berechtigungen
ABAP Schwachstellen (1b)
REPORT ZFT.
DATA lv_msg TYPE string.
AUTHORITY-CHECK OBJECT 'S_DEVELOP'
ID 'DEVCLASS' FIELD 'ZHR'
ID 'OBJTYPE' FIELD 'PROG'
ID 'OBJNAME' FIELD 'ZTEST'
ID 'P_GROUP' FIELD DUMMY
ID 'ACTVT' FIELD '02'.
IF sy-subrc <> 0.
CONCATENATE 'No authority in ' SY-REPID INTO lv_msg.
WRITE : / lv_msg.
EXIT.
ENDIF.
Sinnvolle Einschränkung
ID bewusst ignoriert
sy-subrc korrekt geprüft
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Berechtigungen
ABAP Schwachstellen (1c)
* Proprietäre Berechtigungsprüfung
IF sy-uname NE 'WIEGENSTEINA'.
RAISE no_authority.
ENDIF.
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Mandantentrennung
ABAP Risiken (2)
Risiken
Mandantenübergreifender Datenzugriff
SAP verwaltet mehrere Mandanten
Client Separation
Client 007
Client 023
Client 042
© 2010 Virtual Forge GmbH. All rights reserved.
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Mandantentrennung
ABAP Schwachstellen (2)
* OPEN SQL
DELETE FROM usr02 CLIENT SPECIFIED.
* Native SQL
EXEC SQL.
DELETE FROM usr02.
ENDEXEC.
* ABAP Database Connectivity (ADBC)
CALL FUNCTION 'DB_EXECUTE_SQL'
EXPORTING
stmt = 'DELETE FROM usr02'.
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Entwicklungsprozess
ABAP Risiken (3)
Risiken
Umgehen der Qualitätstests
Entwicklung auf dem Produktivsystem
Kontrollierte Entwicklung & Qualitätssicherung
System Separation
DEV TEST PROD
Transport Transport
© 2010 Virtual Forge GmbH. All rights reserved.
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Entwicklungsprozess
ABAP Schwachstellen (3)
PARAMETERS lv_name TYPE string.
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.
Code läuft nur auf Prod-System
Entwicklung ohne
ABAP Workbench
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Betriebssystemkommandos
ABAP Risiken (4)
Risiken
Unsichere Alternativen
Kontrollierte Ausführung von Betriebssystem-Kommandos
Controlled Operating System (OS) Command Execution
OS
SM49 / SM69SM49 / SM69
Command Program
LIST ls
PING ping
X_PYTHON x_python
ABAP OS Call
'LIST'
OS Command
'ls'
© 2010 Virtual Forge GmbH. All rights reserved.
SAP Standard Funktionsbausteine
SXPG_CALL_SYSTEM
SXPG_COMMAND_EXECUTE
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Betriebssystemkommandos
ABAP Schwachstellen (4)
1. Kernel calls
CALL 'SYSTEM' ID 'COMMAND' FIELD 'net.exe user test pass /add'
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
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Kein Präzedenzfall (ABAP Hack) in der Presse
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
Generelle Probleme der ABAP Sicherheit
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
2. Risiken für Compliance
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
IKS-Struktur im ERP-Umfeld
ABAP Sicherheit im Compliance-Kontext
Generellen IT Kontrollen (ITGC - IT General Controls)
Änderungswesen (Change Management)
ABAP Code
Risiken für Geschäftsprozesse
Vollständigkeit Rechte Richtigkeit Nachvollziehbarkeit … Funktionstrennung Datenschutz
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Beispielhafte technische Schwachstellen
Unberechtigtes Ausführen von Business Logik
Berechtigungsfehler, ABAP Command Injection, OS Command Injection
Unberechtigtes Auslesen von Geschäfts- und Konfigurationsdaten
OSQL Injection, Cross-Client DB Access, Directory Traversal, ABAP Command Injection
Unberechtigtes Verändern von Geschäfts- und Konfigurationsdaten
OSQL Injection, ADBC Injection, Directory Traversal, ABAP Command Injection
Gefährdung der Verfügbarkeit des Systems
ADBC Injection, OS Command Injection, Directory Traversal, ABAP Command Injection
Beeinträchtigung der Nachvollziehbarkeit
ADBC Injection, ABAP Command Injection
Identitätsdiebstahl
Alias Berechtigungen, Cross-Site Scripting, Cross-Site Request Forgery
Risiken durch ABAP Code
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Die häufigsten Sicherheitsfehler in ABAP Programmen
Prüfliste BIZEC APP/11
ID Schwachstelle Beschreibung
APP-01 ABAP Command Injection Ausführung beliebigen ABAP Codes
APP-02 OS Command Injection Ausführung beliebiger Betriebssystem-Kommandos
APP-03 Improper Authorization (Missing, Broken, Proprietary, Generic)
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)
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Beispielhafte Analyse eines technischen Risikos
Illegaler Zugriff auf Daten in anderen Mandanten
Verändern von Benutzerkonten und -berechtigungen (SOX Verletzung)
Z.B. unberechtigten Benutzern SAP_ALL Rechte zuweisen
Undokumentierte Änderungen an kritischen Tabellen (SOX Verletzung)
Keine Einträge in CDHDR, CDPOS, …
Lesezugriff auf HR Daten (Datenschutzverletzung)
Z.B. Social Security Number (PA0002-PERID)
Zugriff auf Kreditkartendaten (PCI/DSS Verletzung)
Z.B. BSEGC-CCNUM
Zugriff auf Bankdaten von Kunden und Zulieferern
Z.B. Kundenbankdaten (KNBK-BANKN)
Manipulation von Finanzdaten (SOX Verletzung)
Z.B. Änderungen an BSEG
Risiken durch SQL Injection (APP-06)
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
SAP ALL in 5 Minuten (Teil 2)
DEMO
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
3. ABAP Sicherheit auf Prozessebene
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Sicherer EntwicklungsProzess (SEP)
ABAP Backdoors and Compliance Killers. © 2010 Virtual Forge GmbH
Going Live Tests Implementierung Design Spezifikation
Tools
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Der SEP Reifegrad
ABAP Backdoors and Compliance Killers. © 2010 Virtual Forge GmbH
Das SEP Reifegrad-Modell ermittelt, auf welcher Stufe ein Unternehmen Methoden und Werkzeuge (automatisiert) anwendet, um die Qualität im Entwicklungsprozess sicherzustellen.
Ad-Hoc Qualität ist ein reaktiver Prozess
Minimal Grundlegendes Bewusstsein für Qualität, aber nur minimale Anwendung von Tests
Ohne Feedback 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
Going Live Tests Implementierung Design Spezifikation
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Management Support
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
Herausforderungen
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
4. ABAP Sicherheit in der Praxis
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Zentrale Vorgaben für die sichere ABAP Entwicklung
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
Interne ABAP Entwicklung
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Zentrale Vorgaben für Ausschreibungen
Vertragliche Rahmenbedingungen (Haftung etc)
Prüfung sämtlichen externen Codes
Ausführlicher manueller Penetrationstest
Externe ABAP Entwicklung
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Tool sollte Fokus auf Security & Compliance haben
Potentielle Synergien in anderen Testbereichen nutzen
Auf Daten- und Kontrollflussanalyse achten
Andernfalls ist die Falsch-Positiv Rate extrem hoch
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
TMS, ChaRM, SE80, …
Wird SAP-spezifischer Kontext berücksichtigt
Kritische Tabellen, gefährliche Kernel Aufrufe, …
Automatisierte Tests
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
ABAP Sicherheit im Unternehmen
Literatur
Organisationen
Sichere ABAP-Programmierung (SAP PRESS, 372 S., 2009)
Andreas Wiegenstein, Markus Schumacher,
Sebastian Schinzel, Frederik Weidemann
BIZEC – Business Security Initiative
http://www.bizec.org
Handbuch SAP-Revision (SAP PRESS, 672 S., 2011)
Maxim Chuprunov
PPT Masterfolie
zur Erstellung von Präsentationen
© 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved. © 2011 Virtual Forge GmbH | www.virtualforge.com | All rights reserved.
Haben Sie noch Fragen?
VIRTUALFORGE GmbH
Speyerer Straße 6
69115 Heidelberg
Deutschland
Telefon: + 49 (0) 6221 86 89 0 - 0
Fax: + 49 (0) 6221 86 89 0 - 101