ABAP Qualitäts-Benchmark
Eine Analyse von über 200 SAP Installationen
iqnite Conference
Andreas Wiegenstein
Der ABAP Qualitäts-Benchmark
Eine Analyse von über 200 SAP Installationen
iqnite Konferenz 28. - 30. A...
Agenda
1. SAP Standard und Eigenentwicklungen durch Kunden
2. Statistiken der Eigenentwicklungen
3. Best Practices
2
#SAP
#Research CTO @ Virtual Forge GmbH
SAP Security Researcher, aktiv seit 2003
Credits von SAP für > 75 gemeldete 0-Day ...
SAP
Warum sind SAP Systeme wichtig?
Mehr als 248,500 Unternehmen haben SAP im Einsatz
SAP Kunden…
Transportieren > 1.1 Mil...
SAP Eigenentwicklungen - Ausgangssituation
(Alle) Kunden passen den SAP Standard an
Interne Entwicklungsteams
Externe Entw...
SAP Besonderheiten in der Programmierung
SAP Systeme laufen unabhängig von Betriebssystem und Datenbank
SAP hat einen prop...
Was ist das größte Risiko bei einem SAP System?
Systemstillstand
7
#Statistik
"Es gibt 3 Arten von Lügen: Lügen, verdammte Lügen und Statistiken."
(Benjamin Disraeli)
“Traue keiner Statisti...
Business Code Quality Benchmark
Andauerndes Projekt zur Analyse des gesamten ABAP Codings je eines ausgewählten SAP System...
Statistiken - Allgemein
Durchschnittlich haben Unternehmen 2,08 Millionen Zeilen eigenen Code pro SAP System
Kunden nutzen...
Statistiken – Allgemein (2)
Es gibt mehr Qualitätsprobleme bei Datenbankzugriffen als Datenbankzugriffe
Es gibt im Schnitt...
Statistiken – Sicherheit und Compliance
Es existiert 1 kritischer Sicherheits-/Compliance-Fehler pro 1.000 Zeilen Code
Das...
Statistiken – Sicherheit und Compliance (2)
Pro System sind 10 Sicherheitslücken so schwerwiegend, das sie einem Angreifer...
Statistiken – Sicherheit und Compliance (3)
14
Statistiken – Performance
Es existieren 1,2 kritische Performance-Fehler pro 1.000 Zeilen Code
Unternehmen nutzen nur eine...
Statistiken – Performance (2)
16
Analyse von 26 Transaktionen, die in Projekten optimiert wurden
84% der verbrauchten Lauf...
Statistiken – Robustheit
Es existieren 3,2 kritische Robustheits-Fehler pro 1.000 Zeilen Code
Unerwartetes Systemverhalten...
#Best Practices
"Der Begriff best practice, auch Erfolgsmethode genannt, stammt aus der
angloamerikanischen Betriebswirtsc...
Best Practices
Machen Sie einen Awareness Workshop für Ihr Management
Ohne einen verpflichtenden Prozess mit Rückendeckung...
Best Practices (2)
Verwenden Sie sinnvolle Entwicklungsrichtlinien
Für alle Qualitätsbereiche
Für interne und externe Entw...
Business Code
Quality Benchmark
BSI „ABAP Top 20“
Fazit
23
Wenn Ihr Unternehmen SAP einsetzt, hat es (statistisch betrachtet) signifikante Qualitätsmängel in den
Eigenentwi...
Nächste Woche
Nehmen Sie an unserer Studie Business Code Quality Benchmark teil
Sie erhalten einen umfassenden Bericht übe...
Vielen Dank für Ihre Aufmerksamkeit
Fragen ?Jetzt oder
später
@codeprofiler
#ThingsWeFoundWhenPentestingSAP
andreas.wiegen...
Haftungsausschluss
© 2015 Virtual Forge GmbH. Alle Rechte vorbehalten.
In dieser Publikation enthaltene Informationen könn...
ABAP Qualitäts-Benchmark: Eine Analyse von über 200 SAP Installationen
Nächste SlideShare
Wird geladen in …5
×

ABAP Qualitäts-Benchmark: Eine Analyse von über 200 SAP Installationen

987 Aufrufe

Veröffentlicht am

Virtual Forge hat eine umfassende Qualitätsuntersuchung von ABAP Eigenentwicklungen bei SAP-Kunden durchgeführt. Hierbei wurde der gesamte selbst geschriebene Quellcode von mehr als 200 SAP-Installationen bei Unternehmen aus den verschiedensten Branchen und Ländern untersucht.

Andreas Wiegenstein von Virtual Forge stellte das Ergebnis der Untersuchung im Rahmen seines Vortrags am 30. April 2015 auf der iqnite-Konferenz in Düsseldorf vor.

Die Erhebung ist statistisch repräsentativ, somit lassen sich die Erkenntnisse generell auf alle Firmen projizieren, die SAP im Einsatz haben. Dadurch können Teilnehmer ableiten, welche Herausforderungen ihre Unternehmen im Bereich ABAP Qualität zu erwarten und zu meistern haben.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
987
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
7
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

ABAP Qualitäts-Benchmark: Eine Analyse von über 200 SAP Installationen

  1. 1. ABAP Qualitäts-Benchmark Eine Analyse von über 200 SAP Installationen iqnite Conference
  2. 2. Andreas Wiegenstein Der ABAP Qualitäts-Benchmark Eine Analyse von über 200 SAP Installationen iqnite Konferenz 28. - 30. April 2015
  3. 3. Agenda 1. SAP Standard und Eigenentwicklungen durch Kunden 2. Statistiken der Eigenentwicklungen 3. Best Practices 2
  4. 4. #SAP #Research CTO @ Virtual Forge GmbH SAP Security Researcher, aktiv seit 2003 Credits von SAP für > 75 gemeldete 0-Day Schwachstellen Co-Autor “Sichere ABAP Programmierung” (SAP Press) Co-Autor “ABAP Best Practices Leitfaden” (DSAG) Autor “Top 20 Sicherheitsrisiken in ABAP Anwendungen” (BSI) Sprecher auf internationalen Konferenzen Troopers (Europa), BlackHat (Europa), Hack in the Box (Europa) SAP TechEd (USA & Europa), IT Defense (Europa), RSA (USA) Andreas Wiegenstein
  5. 5. SAP Warum sind SAP Systeme wichtig? Mehr als 248,500 Unternehmen haben SAP im Einsatz SAP Kunden… Transportieren > 1.1 Milliarden Flugpassagiere pro Jahr Produzieren > 77,000 Autos am Tag Produzieren > 52% aller Kinofilme Produzieren > 65% aller Fernsehgeräte Aber vor allem: 72% der weltweiten Bierproduktion hängt von Unternehmen ab, die SAP einsetzen !!! 4 Quelle:http://www.posters.at/the-simpsons--homer-bier_a34273.html
  6. 6. SAP Eigenentwicklungen - Ausgangssituation (Alle) Kunden passen den SAP Standard an Interne Entwicklungsteams Externe Entwickler Die Entwicklungsrichtlinien der meisten Kunden konzentrieren sich auf Namenskonventionen Der SAP Standard liefert Rudimentäre Tools zur statischen und dynamischen Codeanalyse Keine Metriken bzgl Volumen (Lines of Code) 5
  7. 7. SAP Besonderheiten in der Programmierung SAP Systeme laufen unabhängig von Betriebssystem und Datenbank SAP hat einen proprietäre Client: SAP GUI Bei Zugriffen auf Geschäftsdaten sind besondere Regeln zu beachten Berechtigungsprüfungen Spezielle Protokollierung von Änderungen Daten verschiedener Organisationen (Mandanten) sind (getrennt) in derselben Datenbank gespeichert Spezieller ABAP Befehl, um Berechtigungsprüfungen durchzuführen: AUTHORITY-CHECK Proprietäre SQL Schicht zwischen ABAP und der Datenbank: Open SQL Proprietäre System-zu-System Kommunikation: RFC (Remote Function Call) 6
  8. 8. Was ist das größte Risiko bei einem SAP System? Systemstillstand 7
  9. 9. #Statistik "Es gibt 3 Arten von Lügen: Lügen, verdammte Lügen und Statistiken." (Benjamin Disraeli) “Traue keiner Statistik, die Du nicht selbst gefälscht hast.” (Unbekannt)
  10. 10. Business Code Quality Benchmark Andauerndes Projekt zur Analyse des gesamten ABAP Codings je eines ausgewählten SAP Systems Ergebnisse bisher von 217 Unternehmen Mit verschiedensten Qualitätssicherungsprozessen / -Reifegraden Verschiedener (Konzern)Größen Mit verschieden-langer SAP Historie Aus verschiedensten Branchen und Ländern Basierend auf statischer Codeanalyse Performance, Rosbustheit, Sicherheit, Compliance Nur “kritische” Fehler werden in der Statistik berücksichtigt Datenerhebung stammt aus den Jahren 2013 und 2014 9
  11. 11. Statistiken - Allgemein Durchschnittlich haben Unternehmen 2,08 Millionen Zeilen eigenen Code pro SAP System Kunden nutzen nicht den “reinen” SAP Standard Die häufigste Modularisierungseinheit sind FORMs (Prozeduren) mit 64%, gefolgt von Methoden (19%) Die meiste selbst geschriebene Funktionalität ist also schlecht wiederverwendbar Es gibt durchschnittlich 14.500 zusätzliche Dateneingabe-Quellen durch Kundencode Jede Datenquelle erhöht die Angriffsoberfläche einer Software 78% aller Benutzereingaben kommen aus SAP GUI Anwendungen 18% aller Benutzereingaben kommen aus RFC (Remote Function Call) Verbindungen Innentäter haben daher die höchsten Chancen Sicherheitsdefekte zu finden 10
  12. 12. Statistiken – Allgemein (2) Es gibt mehr Qualitätsprobleme bei Datenbankzugriffen als Datenbankzugriffe Es gibt im Schnitt 24.635 Open SQL Abfragen im Kundencode ( 21.227 Lesezugriffe und 3.408 Schreibzugriffe ) Es gibt im Schnitt 26.147 Qualitätsfehler bei Open SQL Abfragen ( verteilt auf alle Testbereiche ) Nur 0,3% aller SAP Module sind per HTTP / Internet erreichbar Optimierungen sollten sich zunächst auf “klassische” ABAP Entwicklung konzentrieren Sicherheitslösungen wie Web Application Firewalls haben einen vergleichsweise geringen Wert 11
  13. 13. Statistiken – Sicherheit und Compliance Es existiert 1 kritischer Sicherheits-/Compliance-Fehler pro 1.000 Zeilen Code Das typische SAP System hat damit 2.151 Sicherheits-/Compliance-Fehler alleine im Kundencode. Liste der 5 häufigsten Sicherheits- und Compliance-Fehler: * Wahrscheinlichkeit gibt an in wie vielen der untersuchten Systeme mindestens 1 Fehler dieser Art auftrat. ** Anzahl gibt wieder wie viele kritische Fehler dieser Art pro System im Schnitt auftreten. 12 Art der Schwachstelle Wahrscheinlichkeit * Anzahl ** Berechtigungsfehler 100 % 1.056 Directory Traversal 91 % 308 Direkte Modifikation von SAP Tabellen 86 % 39 Mandantenübergreifende Zugriffe 83 % 122 Open SQL Injection 70 % 15
  14. 14. Statistiken – Sicherheit und Compliance (2) Pro System sind 10 Sicherheitslücken so schwerwiegend, das sie einem Angreifer ermöglichen die totale Kontrolle über den SAP Server zu erlangen Pro System gibt es 184 proprietäre Berechtigungsprüfungen „Rote Ampel“ bei Wirtschaftsprüfungen Pro System gibt es 476 RFC-fähige Funktionsbausteine. Bei 64% davon fehlt jegliche Berechtigungsprüfung im Code. 13
  15. 15. Statistiken – Sicherheit und Compliance (3) 14
  16. 16. Statistiken – Performance Es existieren 1,2 kritische Performance-Fehler pro 1.000 Zeilen Code Unternehmen nutzen nur einen Bruchteil ihrer Hardwareleistung Liste der 5 häufigsten Performance-Fehler: * Effekt gibt an, wo sich die Performancefehler auswirken - Anwendungsserver (AS) oder Datenbank (DB). ** Wahrscheinlichkeit gibt an in wie vielen der untersuchten Systeme mindestens 1 Fehler dieser Art auftrat. *** Anzahl gibt wieder wie viele kritische Fehler dieser Art pro System im Schnitt auftreten. 15 Art der Schwachstelle Effekt * Wahrscheinlichkeit ** Anzahl *** Ineffiziente Operationen AS 99 % 825 Verschachtelte Schleifen AS 99 % 464 DB Index ineffizient verwendet DB 98 % 1.328 WAIT Kommandos (5+ Sekunden) AS 91 % 42 Umgehung der DB Pufferung DB 90 % 763 high score: WAIT UP TO 6000 SECONDS.
  17. 17. Statistiken – Performance (2) 16 Analyse von 26 Transaktionen, die in Projekten optimiert wurden 84% der verbrauchten Laufzeit war unnötig
  18. 18. Statistiken – Robustheit Es existieren 3,2 kritische Robustheits-Fehler pro 1.000 Zeilen Code Unerwartetes Systemverhalten führt zu Abstürzen und ungewünschten Ergebnissen Mehr als 76% der SAP Systeme verwenden Datenbank-abhängigen Code Datenbankmigrationen erfordern Änderungen im Code Liste der 3 häufigsten Robustheits-Fehler: * Wahrscheinlichkeit gibt an in wie vielen der untersuchten Systeme mindestens 1 Fehler dieser Art auftrat. ** Anzahl gibt wieder wie viele kritische Fehler dieser Art pro System im Schnitt auftreten. 17 Art der Schwachstelle Wahrscheinlichkeit ** Anzahl *** Fehlende / Falsche Ausnahmebehandlung 97 % 5.478 Hard-codierte Abhängigkeiten 95 % 251 Instabile Operationen 80 % 341
  19. 19. #Best Practices "Der Begriff best practice, auch Erfolgsmethode genannt, stammt aus der angloamerikanischen Betriebswirtschaftslehre und bezeichnet bewährte, optimale bzw. vorbildliche Methoden, Praktiken oder Vorgehensweisen im Unternehmen. Der Begriff wird heute auch allgemeiner für die Erfolgsmethode bzw. bestmögliche Methode verwendet, etwa in politischen Zusammenhängen." de.wikipedia.org
  20. 20. Best Practices Machen Sie einen Awareness Workshop für Ihr Management Ohne einen verpflichtenden Prozess mit Rückendeckung des Managements ändert sich nichts Setzen Sie sich erreichbare Ziele Kein Entwickler lernt 300 optimierte Programmierpraktiken über Nacht Entwerfen Sie einen Plan, wie Sie mit Altlasten umgehen Korrekturen brauchen Zeit Alle Fehler zu beheben ist nicht wirtschaftlich 19
  21. 21. Best Practices (2) Verwenden Sie sinnvolle Entwicklungsrichtlinien Für alle Qualitätsbereiche Für interne und externe Entwicklungen Achtung: Applikationssicherheit ist für viele Entwickler schwer zu verstehen Für ein gutes Sicherheitsverständnis sind regelmäßige Schulungen erforderlich Verwenden Sie Tools um die Einhaltung der Entwicklungsrichtlinien zu überprüfen Nur überprüfbare Richtlinien lassen sich umsetzen Nur Tools liefern Transparenz, wo Ihr Unternehmen in Punkto SAP Code-Qualität steht Messen Sie den Erfolg Ihrer Maßnahmen Erfolg sichert die langfristige Akzeptanz des neuen Prozesses 20
  22. 22. Business Code Quality Benchmark
  23. 23. BSI „ABAP Top 20“
  24. 24. Fazit 23 Wenn Ihr Unternehmen SAP einsetzt, hat es (statistisch betrachtet) signifikante Qualitätsmängel in den Eigenentwicklungen. Diese Qualitätsmängel haben deutliche Auswirkungen auf Die Sicherheit Ihres Unternehmens Die Stabilität / Verfügbarkeit Ihrer Systeme Die Effizienz Ihrer Hardware
  25. 25. Nächste Woche Nehmen Sie an unserer Studie Business Code Quality Benchmark teil Sie erhalten einen umfassenden Bericht über eins Ihrer SAP Systeme Nächster Monat Diskutieren Sie die Ergebnisse mit Ihrem Management Optimieren Sie Ihren SAP Entwicklungsprozess Nächstes Jahr Betreiben Sie Ihre SAP Anwendungen sicherer, performanter und robuster Nächste Schritte 24
  26. 26. Vielen Dank für Ihre Aufmerksamkeit Fragen ?Jetzt oder später @codeprofiler #ThingsWeFoundWhenPentestingSAP andreas.wiegenstein@virtualforge.de
  27. 27. Haftungsausschluss © 2015 Virtual Forge GmbH. Alle Rechte vorbehalten. In dieser Publikation enthaltene Informationen können ohne vorherige Ankündigung geändert werden. Die vorliegenden Angaben werden von der Virtual Forge GmbH bereitgestellt und dienen ausschließlich Informationszwecken. SAP, ABAP und weitere im Text erwähnte SAP-Produkte und –Dienstleistungen sowie die entsprechenden Logos sind Marken oder eingetragene Marken der SAP SE in Deutschland und anderen Ländern weltweit. Alle anderen Namen von Produkten und Dienstleistungen sind Marken der jeweiligen Firmen. Die Angaben im Text sind unverbindlich und dienen lediglich zu Informationszwecken. Die Virtual Forge GmbH übernimmt keinerlei Haftung oder Garantie für Fehler oder Unvollständigkeiten in dieser Publikation. Aus den in dieser Publikation enthaltenen Informationen ergibt sich keine weiterführende Haftung. Kein Teil dieser Publikation darf in irgendeiner Form oder zu irgendeinem Zweck reproduziert oder übertragen werden ohne die ausdrückliche Einwilligung der Virtual Forge GmbH. Es gelten die Allgemeinen Geschäftsbedingungen der Virtual Forge GmbH. 26

×