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]