Sicherer Codein ABAP und Netweaver Java

 

Nachhaltige Sicherheit und Qualität in kundeneigenen SAP ABAP Programmen

Ein wichtiger Bereich, der erst in den letzten Jahren in den Fokus der Unternehmen kam, 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, drastische 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.

Klassischer Buffer Overflow

Ziel bei diesen herkömmlichen Programmen wie Java ist es meistens, durch Code-Hacks 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.

Die ABAP Angriffsvektoren

Allerdings gibt es andere Manipulationsmöglichkeiten. Um nur ein Beispiel heraus zu greifen, arbeiten viele kundeneigene ABAP-Programme mit dem Hochladen oder Herunterladen von Daten. Hier sind möglicherweise große Lücken vorhanden, die Zugriff auf Serverdaten ermöglichen. Darüber hinaus ist der weitverbreitete direkte Aufruf von Betriebssystemkommandos, die nicht durch eine selbst programmierte Berechtigungsprüfung abgedeckt sind, ein großes Problem.

Dynamischer ABAP-Code

Auch wenn die klassische SQL Injection, also die Eingabe erweiterter SQL-Befehle, eine mögliche Sicherheitslücke ist, ist sie in SAP-Systemen eher ein Exot. Weiter verbreitet ist die ungewollte Dynamisierung von SQL-Aufrufen, weil man Eingangsparameter nicht deutlich genug prüft.

SAP Code Vulnerability Analysis

Die Notwendigkeit, alle Eigenentwicklungen auch intern auf solche Sicherheitslücken zu überprüfen, bevor sie in den SAP-eigenen Code zur Auslieferung kommen, hat zur Entwicklung des Werkzeugs SAP Code Vulnerabilty Analysis geführt.

Virtual Forge

Auch hat unser Partnerunternehmen Virtual Forge ein entsprechendes Produkt, das sehr viel länger als SAP am Markt und einen deutlich erweiterten Funktionsumfang hat.

Projekte für sicheren kundeneigenen ABAP-Code

Um die große Menge kundeneigenen Programme zu analysieren und, vor allem, im Nachgang zur Analyse auch nachhaltig zu verbessern, ist ein Projekt, das über einen längeren Zeitraum läuft. Solch ein Projekt muss immer wieder begleitet und gecoacht werden, aber vor allem, durch dauerende Schulung aber auch Kontrolle der Entwickler im Bewußtsein der Beteiligten und der Entwicklungs-Infrastruktur gehalten werden.

Gerne stellen wir Ihnen mehr Information zur Verfügung

Interessiert an einem Termin?

EVIL CODE
in kundeneigenen Programmen

Sicherheit für ABAP-Code

"Drei Zeilen ABAP-Code mit kriminellen Absichten langen, Ihr gesamtes System zu kompromittieren"

Holger Stumm, Geschäftsführer

Gerne zeigen wir Ihnen dieses Beispiel in einem Workshop vor Ort