SAP ABAP Code Security : Neue Serie

Ein wichtiger Bereich der SAP-Sicherheit, der erst in den letzten Jahren aktuell wurde, ist die Analyse der kundeneigenen SAP-Programme, die klassisch in der proprietären SAP-Sprache ABAP geschrieben werden.
Auch hier können, wie in jeder Programmiersprache, klassische Sicherheitslücken programmiert werden – sei es nun bewusst oder unbewusst.
Allerdings sind die Muster selbst deutlich anders gelagert als in einem Java-Stack oder einem Windows-Programm. Ziel bei diesen herkömmlichen Programmen ist es meistens, durch gezielte Falscheingaben das Programm entweder zum Absturz zu bringen (Buffer Overflow) oder künstlich eigenen Code zur Ausführung
zu bringen (Code Injection).

Beides ist in einem ABAP-System nicht möglich, da ein Absturz eines Prozesses nichts anderes bewirkt als das Erzeugen eines Eintrags in der Log-Datenbank (Dump ST22) und ein Beenden des Programms mit Rückkehr an den Menü-Startpunkt.

Eine direkte Manipulation wie in anderen Hochsprachen oder Servern ist so also nicht möglich. Allerdings gibt es andere Manipulationsmöglichkeiten.

Immer mehr Angriffsvektoren auf SAP-Systeme haben mit ABAP Code zu tun, der als Trojaner benutzt wird oder der schon für sich eine Gefahr darstellt. Bei einem meiner letzten Untersuchungen bei einem SAP Kunden habe ich einen ABAP-Report in der Produktionsumgebung gefunden, der kommentarlos alle FI-Tabellen löschte (DROP Table Statements), ohne Warnung Ein unbeabsichtigtes Ausführen hätte desaströse Folgen gehabt. Es stellte sich heraus, das dieser ABAP bei der Ersteinführung in den 90ern benutzt wurde, um bei Fehlern in der initialen Beladung das System wieder zurück zu setzen. Der ABAP wurde vergessen und nie gelöscht.

Es gibt Werkzeuge, mit denen sich die kundeneigenen Programme in einem Massenverfahren analysieren lassen. Die daraus gewonnen Ergebnisse und Erkenntnisse müssen dann in ein Projekt zur Schwachstellen-Behebung („Get Clean“) und dann in ein Projekt „Sichere ABAP-Programmierung“ („Stay Clean“) überführen.

Diese Serie will sich in loser Folge den Mustern („Evildoer ABAPS“ ), deren Behebung („GoodDoers“) und den damit verbunden Werkzeugen widmen.

Hier sind besonders der CodeProfiler von Virtual Forge und der Code Vulnerability Analyzer der SAP zu nennen.

Dies wird kein A/B Vergleich werden, sondern zeigen, das jedes Werkzeug in bestimmten Situationen VOrteile und Nachteile hat. Da wir mit unserer Firma log2 sehr umfangreiche Projekte mit beiden Werkzeugen gemacht haben, sind hier mit Sicherheit Erkenntnisse aus der Praxis großer ABAP-Projekte zu gewinnen.

Den Angang macht ein Beitrag über SAP ABAP und Command Execution:

https://www.counterblog.org/2017/03/04/sap-abap-code-security/

 

1 Kommentar zu SAP ABAP Code Security : Neue Serie

Kommentar hinterlassen