SAP-Systeme richtig absichern

Im eigenen ABAP-Code lauern die SAP-Risiken

Andreas Wiegenstein ist seit 2003 als Berater im Bereich SAP-Sicherheit tätig. Er hat zahllose SAP Security-Audits durchgeführt und erhielt mehrfach die Anerkennung für das Auffinden von Schwachstellen in verschiedenen SAP-Produkten.
Die meisten SAP-Systeme enthalten Millionen selbst geschrieben Code-Zeilen. Doch darin lauern etliche Sicherheitsrisiken, wie der ABAP-Quality-Benchmark aufzeigt.

IT-Angriffe zählen zu den größten Sicherheitsrisiken für Unternehmen und Organisationen. Bislang noch wenig bekannt ist über die Gefahren, die von fehlerhaftem Kundencode in SAP-Systemen ausgehen. Ein aktueller ABAP Quality Benchmark schafft Transparenz.

Zahlreiche Studien belegen: Die Gefahr durch Hacker wächst. Nach einer jüngsten Umfrage der Prüfungs- und Beratungsgesellschaft Ernst & Young wurde in den vergangenen drei Jahren schon jede siebte Firma in Deutschland Opfer von Spionage und Datenklau. Während die meisten Unternehmen meinen, die Bedrohung durch Firewalls, Antiviren-Software und gute Passwörter abwehren zu können, zeigt der ABAP Quality Benchmark, dass diese Maßnahmen gerade bei SAP-Anwendern nicht ausreichend sind. Gegen die gravierenden Risiken, die durch Fehler im eigenentwickelten ABAP-Code entstehen, hilft nur eines: die konsequente Sicherstellung hochwertiger Code-Qualität.

Über 300 SAP-Kundensysteme auf dem Prüfstand

Der Benchmark liefert Ergebnisse und Erkenntnisse aus anonymisierten Scans bei 306 SAP-Anwenderunternehmen aller Größen und Branchen, mit Schwerpunkt auf Deutschland und den USA. Demnach umfasst jedes SAP-Produktivsystem im Durchschnitt rund zwei Millionen Zeilen selbstgeschriebenen ABAP-Code, mit dem die Kunden die SAP-Standardfunktionen an ihre individuellen Geschäftsprozesse anpassen. Höchst alarmierend ist das Ergebnis, dass jeder Kundencode zahlreiche Fehler enthält, die die Sicherheit und Stabilität eines SAP-Systems gefährden können. So ist pro Anwendung von rund 2000 kritischen Sicherheitsfehlern auszugehen, die ein Unternehmen für Attacken verwundbar machen und auch Probleme beim Compliance-Audit verursachen.

Der ABAP-Benchmark enthüllt die Schwachstellen im selbstgestrickten ABAP-Code.
Der ABAP-Benchmark enthüllt die Schwachstellen im selbstgestrickten ABAP-Code.
Foto: Virtual Forge

Passend zum Thema: Office 365 und die hybride Cloud

Office 365 und die hybride Cloud - Foto: g-stockstudio - shutterstock.com

Rein zahlenmäßig angeführt wird die Liste der Sicherheitsfehler zwar von mangelhaft programmierten oder fehlenden Berechtigungsprüfungen. Diese können dazu führen, dass Mitarbeiter Zugriff auf bestimmte Daten erhalten, ohne vom Unternehmen dafür autorisiert worden zu sein. Weitaus folgenreicher jedoch ist das Benchmark-Ergebnis, dass im Kundencode eines jeden SAP-Systems durchschnittlich 16 gravierende Sicherheitsfehler zu finden sind, von denen jeder einzelne ausreicht, um das System komplett zu übernehmen. Diese "Killerfehler" im kundeneigenen Code bieten potenziellen Angreifern das Einfallstor, um ganze Datenbestände zu kopieren, zu ändern oder zu löschen und damit das Bilanzergebnis zu verfälschen oder das System vollständig abzuschalten. Der wirtschaftliche Schaden, der dadurch für ein Unternehmen entstehen kann, ist enorm, zudem leidet seine Reputation.

IT-Angriffe durch die "Hintertür"

Wie viele SAP-Sicherheitsvorfälle tatsächlich auf fehlerhaftem Kundencode basieren, ist nicht zu beziffern. Das liegt daran, dass meist nicht lückenlos nachgewiesen werden kann, wie ein Angreifer überhaupt in ein SAP-System eindringen konnte. Eventuell kommt dafür auch ein Fehler im SAP-Standardcode oder bei der System- oder Firewall-Installation in Frage. Zudem merken viele Unternehmen erst nach geraumer Zeit, etwa bei Routineprüfungen oder rein zufällig, dass ihre SAP-Anwendungen gehackt wurden. Ein spektakuläres Beispiel aus jüngster Vergangenheit sind die Cyber-Angriffe auf die US-Bundespersonalbehörde OPM, die schon 2014 stattfanden, aber erst in diesem Frühjahr entdeckt wurden. Erfolgt sind sie unter anderem über die SAP-Systeme externer Dienstleister der OPM. Dabei verschafften sich die Hacker neben anderen persönlichen Daten von 22 Millionen Regierungsangestellten auch die Fingerabdrücke von 5,6 Millionen Beschäftigten.

Angriffe wie dieser widerlegen das Argument vieler SAP-Administratoren, dass SAP-Systeme prinzipiell nur über das interne Netzwerk zugänglich sind. Zwar führte auch der ABAP Quality Benchmark zum Ergebnis, dass nur 0,3 Prozent des selbstgeschriebenen ABAP-Codes in einem Unternehmen über das Internet erreicht werden können. Dies lässt den Schluss zu, dass rein statistisch gesehen mehr Angriffe auf ABAP-Code durch "Innentäter" zustande kommen. Doch sind auch Fälle bekannt, in denen von Fremdfirmen zugelieferter Code bestimmte "Hintertüren" - Trojaner also - enthielt, durch die Daten aus dem SAP-System herausgeholt und nach außen versendet wurden. Eine Firma beispielsweise hatte ABAP-Code eingekauft, der einmal monatlich die Ergebnisse der Buchungsläufe aggregierte und an eine externe E-Mail-Adresse versandte. Das Beispiel zeigt, dass ein SAP-System aufgrund fehlerhaften Kundencodes auch dann gehackt werden kann, wenn vom Internet aus kein direkter Zugriff besteht.

Langfristige Sicherheitsstrategie erforderlich

Der aktuelle ABAP Quality Benchmark ist die weltweit umfassendste Untersuchung zu Anteil und Qualität von Kundencode in SAP-Systemen. Da dieser Code entweder von unternehmenseigenen Entwicklern oder externen Beratungshäusern geschrieben wird, können beide Gruppen die Verursacher fehlerhafter Programmierungen sein - vorsätzlich, aber auch unbewusst. So dürfte schon mancher Programmierer beim Übergang vom Entwicklungs- ins Qualitätssicherungssystem vergessen haben, die erforderlichen Berechtigungsprüfungen einzubauen.

Doch was können SAP-Kunden tun, um ihren selbstgeschriebenen Code von Fehlern zu bereinigen und künftige Risiken zu vermeiden? Ein Fahrplan nennt die wichtigsten Stationen:

1. Scannen Sie Ihre SAP-Produktivsysteme auf schadhaften Kundencode! Dazu gibt es spezielle Prüf-Tools, die die Fehler und Risiken in Ihrem ABAP-Code automatisch identifizieren und, soweit möglich, korrigieren. Im Durchschnitt dauert es keine zwei Stunden, um Klarheit über die Ist-Situation in einem SAP-System zu gewinnen.

2. Sichern Sie Ihre Code-Qualität durch eine langfristige Strategie und wirksame Maßnahmen, wie

  • ABAP-Sicherheitsschulungen für die Entwickler, um Fehler schon bei der Programmierung auszumerzen. Dazu bieten sich der Prüfleitfaden der Deutschsprachigen SAP-Anwendergruppe e. V. (DSAG) oder die Richtlinien des Bundesamts für Sicherheit in der Informationstechnik (BSI) an;

  • Scan aller neuen ABAP-Erweiterungen, bevor sie produktiv gehen;

  • Aufnahme von Code-Qualitätsstandards in die Verträge mit Zulieferern;

  • Zeitnahes Einspielen von Sicherheitspatches;

  • Monitoring aller SAP-Systeme, um Angriffe möglichst zeitnah zu erkennen;

  • Definition geeigneter Notfallpläne.

HANA bietet Neuanfang

Jeder SAP-Kunde sollte prüfen, ob seine aktuellen Maßnahmen zur Sicherung der Anwendungen tatsächlich sinnvoll und ausreichend sind. In der Praxis ist immer wieder zu beobachten, dass Unternehmen meinen, wenn die Rollen und Berechtigungen für die Mitarbeiter nur richtig konfiguriert sind, stellt ihr SAP-System eine uneinnehmbare Festung dar. Dies ist leider falsch, da solche Maßnahmen durch fehlerhaften Code unterlaufen werden. Besser ist es, auf Management-Ebene ein umfassendes SAP-Sicherheitskonzept zu erstellen und dieses Top-down umzusetzen. Dies bietet gerade aktuell große Vorteile, da viele SAP-Kunden mit der Einführung von SAP HANA und der SAP Business Suite 4 HANA (SAP S/4HANA) Neuland betreten. Eine fundierte Sicherheitsstrategie bietet ihnen die Chance, auf den neuen Technologien von Anfang an fehlerfreien Code zu produzieren.

Ein weiteres wichtiges Argument für mehr Code-Sicherheit ist auch die fortschreitende Digitalisierung der Wirtschaft, Stichwort: Industrie 4.0, durch die sich das IT-Gefährdungspotenzial potenziert. So war im vergangenen Jahr von einem Hacker-Angriff auf den Hochofen eines Stahlwerks zu lesen, der dadurch massiv beschädigt wurde. Die Angreifer hatten sich zunächst mit auf einzelne Mitarbeiter zugeschnittenen Fake-E-Mails Zugriff auf das Büro-Netzwerk der Anlage verschafft und sich von dort bis in die Produktionsnetze vorgearbeitet.

Unternehmen haften für Schäden aus Datenklau

Aus den Beispielen der jüngsten Vergangenheit wird auch deutlich, dass Unternehmen in jedem Fall für entstandene Schäden durch die Entwendung sensibler Mitarbeiter- und Kundendaten haften müssen. Da ist es vernünftiger, potenzielle Einfallstore bei selbstgeschriebenem ABAP-Code zu schließen. Einen ersten Ansatzpunkt bietet SAP-Kunden die Teilnahme am laufenden ABAP Quality Benchmark. Dabei wird der Kundencode eines ausgewählten SAP-Systems mit einer speziellen Prüfsoftware komplett gescannt. Im Ergebnis erhält jeder Teilnehmer einen Prüfbericht, der Auskunft gibt über den Umfang und die Qualität seines eigenentwickelten ABAP-Codes. Er erfährt, welche Risiken mit den vorhandenen Programmierfehlern verbunden sind und warum es sich lohnt, damit schleunigst aufzuräumen. Denn zahlreiche Praxiserfahrungen belegen, dass ein SAP-System danach nicht nur sicherer, sondern auch wesentlich stabiler und schneller läuft.