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 zurErstellung 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 zurErstellung 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.