SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
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. April 2015
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 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
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
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
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
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 Statistik, die Du nicht selbst gefälscht hast.”
(Unbekannt)
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
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
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
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
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
Statistiken – Sicherheit und Compliance (3)
14
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.
Statistiken – Performance (2)
16
Analyse von 26 Transaktionen, die in Projekten optimiert wurden
84% der verbrauchten Laufzeit war unnötig
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
#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
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
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
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
Eigenentwicklungen.
Diese Qualitätsmängel haben deutliche Auswirkungen auf
Die Sicherheit Ihres Unternehmens
Die Stabilität / Verfügbarkeit Ihrer Systeme
Die Effizienz Ihrer Hardware
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
Vielen Dank für Ihre Aufmerksamkeit
Fragen ?Jetzt oder
später
@codeprofiler
#ThingsWeFoundWhenPentestingSAP
andreas.wiegenstein@virtualforge.de
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
ABAP Qualitäts-Benchmark: Eine Analyse von über 200 SAP Installationen

Mais conteúdo relacionado

Destaque

Destaque (13)

Analista programador SAP ABAP IV
Analista programador SAP ABAP IVAnalista programador SAP ABAP IV
Analista programador SAP ABAP IV
 
Qué es abap
Qué es abapQué es abap
Qué es abap
 
Abap query
Abap queryAbap query
Abap query
 
Web dynpro for abap
Web dynpro for abapWeb dynpro for abap
Web dynpro for abap
 
Icones - ABAP
Icones - ABAPIcones - ABAP
Icones - ABAP
 
Comandos e funções em abap
Comandos e funções em abapComandos e funções em abap
Comandos e funções em abap
 
Abap 7 02 new features - new string functions
Abap 7 02   new features - new string functionsAbap 7 02   new features - new string functions
Abap 7 02 new features - new string functions
 
View - Tutorial ABAP
View - Tutorial ABAPView - Tutorial ABAP
View - Tutorial ABAP
 
Sap abap Q&A
Sap abap Q&A Sap abap Q&A
Sap abap Q&A
 
Funções - Tutorial ABAP
Funções - Tutorial ABAPFunções - Tutorial ABAP
Funções - Tutorial ABAP
 
Abap coding standards
Abap coding standardsAbap coding standards
Abap coding standards
 
Basic abap oo
Basic abap ooBasic abap oo
Basic abap oo
 
Manikanta Sai Kumar Karri SAP ABAP and OO ABAP 3 Years.doc
Manikanta Sai Kumar Karri SAP ABAP and OO ABAP 3 Years.docManikanta Sai Kumar Karri SAP ABAP and OO ABAP 3 Years.doc
Manikanta Sai Kumar Karri SAP ABAP and OO ABAP 3 Years.doc
 

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

Splunk Webinar: Machine Learning mit Splunk
Splunk Webinar: Machine Learning mit SplunkSplunk Webinar: Machine Learning mit Splunk
Splunk Webinar: Machine Learning mit SplunkSplunk
 
Security Compliance und Sicherheit Sopra Steria Consulting
Security Compliance und Sicherheit Sopra Steria Consulting Security Compliance und Sicherheit Sopra Steria Consulting
Security Compliance und Sicherheit Sopra Steria Consulting Sopra Steria Consulting
 
Machine Learning
Machine LearningMachine Learning
Machine LearningSplunk
 
Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse
Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse
Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse QAware GmbH
 
SplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaSplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaGeorg Knon
 
SplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use CaseSplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use CaseSplunk
 
SplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaSplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaSplunk
 
Einsatzmöglichkeiten der automatisierten Analyse von Artefakten und Metadaten...
Einsatzmöglichkeiten der automatisierten Analyse von Artefakten und Metadaten...Einsatzmöglichkeiten der automatisierten Analyse von Artefakten und Metadaten...
Einsatzmöglichkeiten der automatisierten Analyse von Artefakten und Metadaten...Markus Harrer
 
Wüstenrot Webinar
Wüstenrot Webinar Wüstenrot Webinar
Wüstenrot Webinar Dynatrace
 
Automatisierung von Security Test im Build-Prozess
Automatisierung von Security Test im Build-ProzessAutomatisierung von Security Test im Build-Prozess
Automatisierung von Security Test im Build-Prozessx-celerate
 
Sicherheitsprüfung für HP NonStop Systeme
Sicherheitsprüfung für HP NonStop SystemeSicherheitsprüfung für HP NonStop Systeme
Sicherheitsprüfung für HP NonStop SystemePeter Haase
 
eCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
eCATT & OpenSource - Automatisierter Test in heterogenen SystemlandschafteneCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
eCATT & OpenSource - Automatisierter Test in heterogenen SystemlandschaftenChristoph Menke
 
SAP Bedrohungserkennung als Cloud Lösung - SAP ETD
 SAP Bedrohungserkennung als Cloud Lösung - SAP ETD SAP Bedrohungserkennung als Cloud Lösung - SAP ETD
SAP Bedrohungserkennung als Cloud Lösung - SAP ETDIBsolution GmbH
 
SAP Infotag: Security / Erlebe-Software 07-2014
SAP Infotag: Security / Erlebe-Software 07-2014SAP Infotag: Security / Erlebe-Software 07-2014
SAP Infotag: Security / Erlebe-Software 07-2014Erlebe Software
 
Test-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der Zukunft
Test-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der ZukunftTest-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der Zukunft
Test-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der ZukunftChristian Drumm
 
Open-Source- Sicherheits- und Risikoanalyse 2018
Open-Source- Sicherheits- und Risikoanalyse 2018Open-Source- Sicherheits- und Risikoanalyse 2018
Open-Source- Sicherheits- und Risikoanalyse 2018Black Duck by Synopsys
 
Traceability von Software Anforderungen
Traceability von Software AnforderungenTraceability von Software Anforderungen
Traceability von Software AnforderungenMarkus Unterauer
 
Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungChristian Baranowski
 

Semelhante a ABAP Qualitäts-Benchmark: Eine Analyse von über 200 SAP Installationen (20)

Splunk Webinar: Machine Learning mit Splunk
Splunk Webinar: Machine Learning mit SplunkSplunk Webinar: Machine Learning mit Splunk
Splunk Webinar: Machine Learning mit Splunk
 
Security Compliance und Sicherheit Sopra Steria Consulting
Security Compliance und Sicherheit Sopra Steria Consulting Security Compliance und Sicherheit Sopra Steria Consulting
Security Compliance und Sicherheit Sopra Steria Consulting
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse
Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse
Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse
 
SplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaSplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case Helvetia
 
SplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use CaseSplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use Case
 
SplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaSplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case Helvetia
 
Einsatzmöglichkeiten der automatisierten Analyse von Artefakten und Metadaten...
Einsatzmöglichkeiten der automatisierten Analyse von Artefakten und Metadaten...Einsatzmöglichkeiten der automatisierten Analyse von Artefakten und Metadaten...
Einsatzmöglichkeiten der automatisierten Analyse von Artefakten und Metadaten...
 
Wüstenrot Webinar
Wüstenrot Webinar Wüstenrot Webinar
Wüstenrot Webinar
 
Automatisierung von Security Test im Build-Prozess
Automatisierung von Security Test im Build-ProzessAutomatisierung von Security Test im Build-Prozess
Automatisierung von Security Test im Build-Prozess
 
Sicherheitsprüfung für HP NonStop Systeme
Sicherheitsprüfung für HP NonStop SystemeSicherheitsprüfung für HP NonStop Systeme
Sicherheitsprüfung für HP NonStop Systeme
 
eCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
eCATT & OpenSource - Automatisierter Test in heterogenen SystemlandschafteneCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
eCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
 
SAP Bedrohungserkennung als Cloud Lösung - SAP ETD
 SAP Bedrohungserkennung als Cloud Lösung - SAP ETD SAP Bedrohungserkennung als Cloud Lösung - SAP ETD
SAP Bedrohungserkennung als Cloud Lösung - SAP ETD
 
SAP Infotag: Security / Erlebe-Software 07-2014
SAP Infotag: Security / Erlebe-Software 07-2014SAP Infotag: Security / Erlebe-Software 07-2014
SAP Infotag: Security / Erlebe-Software 07-2014
 
JavaFX Real-World Apps
JavaFX Real-World AppsJavaFX Real-World Apps
JavaFX Real-World Apps
 
Test-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der Zukunft
Test-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der ZukunftTest-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der Zukunft
Test-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der Zukunft
 
Open-Source- Sicherheits- und Risikoanalyse 2018
Open-Source- Sicherheits- und Risikoanalyse 2018Open-Source- Sicherheits- und Risikoanalyse 2018
Open-Source- Sicherheits- und Risikoanalyse 2018
 
Traceability von Software Anforderungen
Traceability von Software AnforderungenTraceability von Software Anforderungen
Traceability von Software Anforderungen
 
SAP Business ByDesign - IBIS AG
SAP Business ByDesign - IBIS AGSAP Business ByDesign - IBIS AG
SAP Business ByDesign - IBIS AG
 
Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-Qualitätssicherung
 

Mais de Virtual Forge

How the U.S. Department of Defense Secures Its Custom ABAP Code
How the U.S. Department of Defense Secures Its Custom ABAP CodeHow the U.S. Department of Defense Secures Its Custom ABAP Code
How the U.S. Department of Defense Secures Its Custom ABAP CodeVirtual Forge
 
How Pratt & Whitney Streamlined Their ABAP Security and Quality Code Review P...
How Pratt & Whitney Streamlined Their ABAP Security and Quality Code Review P...How Pratt & Whitney Streamlined Their ABAP Security and Quality Code Review P...
How Pratt & Whitney Streamlined Their ABAP Security and Quality Code Review P...Virtual Forge
 
SAP HANA Security: New Technology, New Risks
SAP HANA Security: New Technology, New RisksSAP HANA Security: New Technology, New Risks
SAP HANA Security: New Technology, New RisksVirtual Forge
 
Stabile und performante Anwendungen für SAP HANA entwickeln
Stabile und performante Anwendungen für SAP HANA entwickelnStabile und performante Anwendungen für SAP HANA entwickeln
Stabile und performante Anwendungen für SAP HANA entwickelnVirtual Forge
 
Develop Stable, High-Performance Applications for SAP HANA
Develop Stable, High-Performance Applications for SAP HANADevelop Stable, High-Performance Applications for SAP HANA
Develop Stable, High-Performance Applications for SAP HANAVirtual Forge
 
Is your SAP system vulnerable to cyber attacks?
Is your SAP system vulnerable to cyber attacks?Is your SAP system vulnerable to cyber attacks?
Is your SAP system vulnerable to cyber attacks?Virtual Forge
 
How to assess the risks in your SAP systems at the push of a button
How to assess the risks in your SAP systems at the push of a buttonHow to assess the risks in your SAP systems at the push of a button
How to assess the risks in your SAP systems at the push of a buttonVirtual Forge
 
Case Study: Ensuring the Quality and Security of Custom SAP Applications at t...
Case Study: Ensuring the Quality and Security of Custom SAP Applications at t...Case Study: Ensuring the Quality and Security of Custom SAP Applications at t...
Case Study: Ensuring the Quality and Security of Custom SAP Applications at t...Virtual Forge
 
Uninvited Guests: Why do hackers love our SAP landscapes?
Uninvited Guests: Why do hackers love our SAP landscapes?Uninvited Guests: Why do hackers love our SAP landscapes?
Uninvited Guests: Why do hackers love our SAP landscapes?Virtual Forge
 
Ungebetene Gäste: Warum lieben Hacker aus aller Welt unsere SAP Landschaften?
Ungebetene Gäste: Warum lieben Hacker aus aller Welt unsere SAP Landschaften?Ungebetene Gäste: Warum lieben Hacker aus aller Welt unsere SAP Landschaften?
Ungebetene Gäste: Warum lieben Hacker aus aller Welt unsere SAP Landschaften?Virtual Forge
 
Case Study: Automated Code Reviews In A Grown SAP Application Landscape At EW...
Case Study: Automated Code Reviews In A Grown SAP Application Landscape At EW...Case Study: Automated Code Reviews In A Grown SAP Application Landscape At EW...
Case Study: Automated Code Reviews In A Grown SAP Application Landscape At EW...Virtual Forge
 
Case Study: Automatisierte Code Reviews in einer gewachsenen SAP-Applikations...
Case Study: Automatisierte Code Reviews in einer gewachsenen SAP-Applikations...Case Study: Automatisierte Code Reviews in einer gewachsenen SAP-Applikations...
Case Study: Automatisierte Code Reviews in einer gewachsenen SAP-Applikations...Virtual Forge
 
10 GOLDEN RULES FOR CODING AUTHORIZATION CHECKS IN ABAP
10 GOLDEN RULES FOR CODING AUTHORIZATION CHECKS IN ABAP10 GOLDEN RULES FOR CODING AUTHORIZATION CHECKS IN ABAP
10 GOLDEN RULES FOR CODING AUTHORIZATION CHECKS IN ABAPVirtual Forge
 
Risks of Hosted SAP Environments
Risks of Hosted SAP EnvironmentsRisks of Hosted SAP Environments
Risks of Hosted SAP EnvironmentsVirtual Forge
 
Case Study: ABAP Development Life Cycle and Governance at THE GLOBE AND MAIL ...
Case Study: ABAP Development Life Cycle and Governance at THE GLOBE AND MAIL ...Case Study: ABAP Development Life Cycle and Governance at THE GLOBE AND MAIL ...
Case Study: ABAP Development Life Cycle and Governance at THE GLOBE AND MAIL ...Virtual Forge
 
Die Top 5 Mythen der SAP Sicherheit
Die Top 5 Mythen der SAP SicherheitDie Top 5 Mythen der SAP Sicherheit
Die Top 5 Mythen der SAP SicherheitVirtual Forge
 
Mobile Trends And The New Threats - Is Your SAP System Vulnerable to Cyber At...
Mobile Trends And The New Threats - Is Your SAP System Vulnerable to Cyber At...Mobile Trends And The New Threats - Is Your SAP System Vulnerable to Cyber At...
Mobile Trends And The New Threats - Is Your SAP System Vulnerable to Cyber At...Virtual Forge
 
ABAP Code Qualität - Best Practices
ABAP Code Qualität - Best PracticesABAP Code Qualität - Best Practices
ABAP Code Qualität - Best PracticesVirtual Forge
 
Best Practices for Ensuring SAP ABAP Code Quality and Security
Best Practices for Ensuring SAP ABAP Code Quality and SecurityBest Practices for Ensuring SAP ABAP Code Quality and Security
Best Practices for Ensuring SAP ABAP Code Quality and SecurityVirtual Forge
 
Case Study: Automating Code Reviews for Custom SAP ABAP Applications with Vir...
Case Study: Automating Code Reviews for Custom SAP ABAP Applications with Vir...Case Study: Automating Code Reviews for Custom SAP ABAP Applications with Vir...
Case Study: Automating Code Reviews for Custom SAP ABAP Applications with Vir...Virtual Forge
 

Mais de Virtual Forge (20)

How the U.S. Department of Defense Secures Its Custom ABAP Code
How the U.S. Department of Defense Secures Its Custom ABAP CodeHow the U.S. Department of Defense Secures Its Custom ABAP Code
How the U.S. Department of Defense Secures Its Custom ABAP Code
 
How Pratt & Whitney Streamlined Their ABAP Security and Quality Code Review P...
How Pratt & Whitney Streamlined Their ABAP Security and Quality Code Review P...How Pratt & Whitney Streamlined Their ABAP Security and Quality Code Review P...
How Pratt & Whitney Streamlined Their ABAP Security and Quality Code Review P...
 
SAP HANA Security: New Technology, New Risks
SAP HANA Security: New Technology, New RisksSAP HANA Security: New Technology, New Risks
SAP HANA Security: New Technology, New Risks
 
Stabile und performante Anwendungen für SAP HANA entwickeln
Stabile und performante Anwendungen für SAP HANA entwickelnStabile und performante Anwendungen für SAP HANA entwickeln
Stabile und performante Anwendungen für SAP HANA entwickeln
 
Develop Stable, High-Performance Applications for SAP HANA
Develop Stable, High-Performance Applications for SAP HANADevelop Stable, High-Performance Applications for SAP HANA
Develop Stable, High-Performance Applications for SAP HANA
 
Is your SAP system vulnerable to cyber attacks?
Is your SAP system vulnerable to cyber attacks?Is your SAP system vulnerable to cyber attacks?
Is your SAP system vulnerable to cyber attacks?
 
How to assess the risks in your SAP systems at the push of a button
How to assess the risks in your SAP systems at the push of a buttonHow to assess the risks in your SAP systems at the push of a button
How to assess the risks in your SAP systems at the push of a button
 
Case Study: Ensuring the Quality and Security of Custom SAP Applications at t...
Case Study: Ensuring the Quality and Security of Custom SAP Applications at t...Case Study: Ensuring the Quality and Security of Custom SAP Applications at t...
Case Study: Ensuring the Quality and Security of Custom SAP Applications at t...
 
Uninvited Guests: Why do hackers love our SAP landscapes?
Uninvited Guests: Why do hackers love our SAP landscapes?Uninvited Guests: Why do hackers love our SAP landscapes?
Uninvited Guests: Why do hackers love our SAP landscapes?
 
Ungebetene Gäste: Warum lieben Hacker aus aller Welt unsere SAP Landschaften?
Ungebetene Gäste: Warum lieben Hacker aus aller Welt unsere SAP Landschaften?Ungebetene Gäste: Warum lieben Hacker aus aller Welt unsere SAP Landschaften?
Ungebetene Gäste: Warum lieben Hacker aus aller Welt unsere SAP Landschaften?
 
Case Study: Automated Code Reviews In A Grown SAP Application Landscape At EW...
Case Study: Automated Code Reviews In A Grown SAP Application Landscape At EW...Case Study: Automated Code Reviews In A Grown SAP Application Landscape At EW...
Case Study: Automated Code Reviews In A Grown SAP Application Landscape At EW...
 
Case Study: Automatisierte Code Reviews in einer gewachsenen SAP-Applikations...
Case Study: Automatisierte Code Reviews in einer gewachsenen SAP-Applikations...Case Study: Automatisierte Code Reviews in einer gewachsenen SAP-Applikations...
Case Study: Automatisierte Code Reviews in einer gewachsenen SAP-Applikations...
 
10 GOLDEN RULES FOR CODING AUTHORIZATION CHECKS IN ABAP
10 GOLDEN RULES FOR CODING AUTHORIZATION CHECKS IN ABAP10 GOLDEN RULES FOR CODING AUTHORIZATION CHECKS IN ABAP
10 GOLDEN RULES FOR CODING AUTHORIZATION CHECKS IN ABAP
 
Risks of Hosted SAP Environments
Risks of Hosted SAP EnvironmentsRisks of Hosted SAP Environments
Risks of Hosted SAP Environments
 
Case Study: ABAP Development Life Cycle and Governance at THE GLOBE AND MAIL ...
Case Study: ABAP Development Life Cycle and Governance at THE GLOBE AND MAIL ...Case Study: ABAP Development Life Cycle and Governance at THE GLOBE AND MAIL ...
Case Study: ABAP Development Life Cycle and Governance at THE GLOBE AND MAIL ...
 
Die Top 5 Mythen der SAP Sicherheit
Die Top 5 Mythen der SAP SicherheitDie Top 5 Mythen der SAP Sicherheit
Die Top 5 Mythen der SAP Sicherheit
 
Mobile Trends And The New Threats - Is Your SAP System Vulnerable to Cyber At...
Mobile Trends And The New Threats - Is Your SAP System Vulnerable to Cyber At...Mobile Trends And The New Threats - Is Your SAP System Vulnerable to Cyber At...
Mobile Trends And The New Threats - Is Your SAP System Vulnerable to Cyber At...
 
ABAP Code Qualität - Best Practices
ABAP Code Qualität - Best PracticesABAP Code Qualität - Best Practices
ABAP Code Qualität - Best Practices
 
Best Practices for Ensuring SAP ABAP Code Quality and Security
Best Practices for Ensuring SAP ABAP Code Quality and SecurityBest Practices for Ensuring SAP ABAP Code Quality and Security
Best Practices for Ensuring SAP ABAP Code Quality and Security
 
Case Study: Automating Code Reviews for Custom SAP ABAP Applications with Vir...
Case Study: Automating Code Reviews for Custom SAP ABAP Applications with Vir...Case Study: Automating Code Reviews for Custom SAP ABAP Applications with Vir...
Case Study: Automating Code Reviews for Custom SAP ABAP Applications with Vir...
 

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

  • 1. ABAP Qualitäts-Benchmark Eine Analyse von über 200 SAP Installationen iqnite Conference
  • 2. Andreas Wiegenstein Der ABAP Qualitäts-Benchmark Eine Analyse von über 200 SAP Installationen iqnite Konferenz 28. - 30. April 2015
  • 3. Agenda 1. SAP Standard und Eigenentwicklungen durch Kunden 2. Statistiken der Eigenentwicklungen 3. Best Practices 2
  • 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. 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. 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. 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. Was ist das größte Risiko bei einem SAP System? Systemstillstand 7
  • 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. 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. 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. 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. 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. 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. Statistiken – Sicherheit und Compliance (3) 14
  • 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. Statistiken – Performance (2) 16 Analyse von 26 Transaktionen, die in Projekten optimiert wurden 84% der verbrauchten Laufzeit war unnötig
  • 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. #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. 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. 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
  • 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. 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. Vielen Dank für Ihre Aufmerksamkeit Fragen ?Jetzt oder später @codeprofiler #ThingsWeFoundWhenPentestingSAP andreas.wiegenstein@virtualforge.de
  • 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