Tobias Harmes
3. Mai 2023

SAP Code Vulnerability Analyzer (CVA)

19
SAP Code Vulnerability Analyzer

Der SAP Code Vulnerability Analyzer (CVA) ist der statische Code-Analysator von SAP. Dieses Tool hilft Unternehmen, ihre Sicherheitslücken in der ABAP-Codierung zu identifizieren und zu beheben. Es ist kein Add-On, sondern basiert auf der Infrastruktur des ABAP Test Cockpit (ATC) und ist tief in die SAP Landschaft integriert.

Software ist nahezu überall im Einsatz. Gerade deshalb ist es von großer Bedeutung, dass diese Anwendungen sicher sind. Geschäftsanwendungen sind dabei sehr komplex, über Jahre gewachsen und auf Leistung optimiert. Für die Sicherheit ergeben sich daher große Herausforderungen.

Wenn eine Anwendung gesichert werden soll, müssen ihre Komponenten, Funktionen sowie ihre Infrastruktur und die damit verbundenen Bedrohungen verstanden werden. Um einer Anwendung zu schaden, reicht nur ein einziger Fehler in den Komponenten, den Funktionen oder in der Infrastruktur aus. Durch jede neue Technologie wird das Risiko neuer Schwachstellen weiter erhöht. Um Anwendungen sicher zu gestalten, reichen Firewalls, Intrusion-Detection-Systeme, Signaturen und Verschlüsselungen nicht aus. Gibt es Cyber-Angriffe, können Strafen, verlorene Einnahmen und auch rechtliche Konsequenzen die Folge sein.

CVA und Fortify SSC

SAP liefert zwei Lösungen für Anwendungssicherheitstests.

1) Dynamische Prüfung der Anwendungssicherheit

Zum einen gibt es die dynamische Prüfung der Anwendungssicherheit. Dabei werden die Schwachstellen in der laufenden Anwendung gefunden. Dies gelingt mithilfe von manuellen Penetration Tests und automatisiertem Scannen von Schwachstellen in Anwendungen.

Im Webinar erfahren Sie, wie genau ein Pentest durchgeführt wird, welche (Angriffs-) Möglichkeiten es gibt und was unsere Best-Practices in diesem Bereich sind.

2) Statische Prüfung der Anwendungssicherheit

Zum anderen gibt es die statische Prüfung der Anwendungssicherheit. Hierbei werden die Schwachstellen bei der Analyse der Quellen durch manuelle Überprüfung und automatisierte Analyse der Quellen gefunden. In Nicht-ABAP-Systemen funktioniert dies mithilfe von Micro Focus Fortify Software Security Center (SSC). In ABAP-Systemen geschieht dies durch das Add-On für CVA auf dem SAP NetWeaver Application Server. Fortify SSC Metric ist abhängig von der Anzahl der Anwendungen, bei denen der Kunde statische oder dynamische Sicherheitstests durchführen möchte. Jede Anwendung, die einen Teil der Funktionalität der Anwendung liefert und separat eingesetzt werden kann, muss als eine Installation gezählt werden.

Seit 2018 sind die CVA-Prüfungen in Fortify sichtbar und es gibt einen zentralen Sicherheitsscan. Fehlermeldungen aus altem Coding können unterdrückt werden und Unternehmen erhalten die Möglichkeit, Modifikationen, Erweiterungen und Customer Exits sowie Smart Forms zu prüfen. Des Weiteren gibt es eine öffentliche API, sodass eigene Berichte erstellt werden können. Zudem wird erkannt, wenn es einen Direktzugriff auf sensible DB-Tabellen oder einen potenziellen Missbrauch der URL-Umleitung gibt. CVA wurde von dem gleichen Team entwickelt, das die ABAP-Sprache erstellt hat. Es gibt eine enge Integration in die Standard-ABAP-Entwicklungs- und Testinfrastruktur.

Wie sind statische und dynamische Prüfung miteinander verbunden?

Die Sicherheit von Anwendungen ist von entscheidender Bedeutung für Unternehmen und Nutzer. Eine statische Schwachstelle kann jedoch auch als dynamische Schwachstelle auftreten und unter Umständen sogar schwerwiegender sein. Daher ist es wichtig, sowohl statische als auch dynamische Tests durchzuführen, um ein umfassendes Verteidigungssystem zu schaffen.

Die Kombination von statischen und dynamischen Tests ermöglicht eine “Defense in Depth” Strategie, die eine bessere Abdeckung der Schwachstellen gewährleistet. Hierbei wird die statische Analyse genutzt, um potenzielle Schwachstellen frühzeitig zu erkennen. Die dynamische Analyse hingegen sorgt dafür, dass die Anwendung im laufenden Betrieb sicher bleibt.

Um eine sichere und zuverlässige Anwendung zu gewährleisten, ist es unerlässlich, sowohl statische als auch dynamische Tests durchzuführen. Die Kombination beider Testarten sorgt für eine umfassendere und effektivere Verteidigung gegen Angriffe von außen und minimiert das Risiko von Sicherheitslücken. Mit diesem umfassenden Verteidigungssystem können Unternehmen und Nutzer darauf vertrauen, dass ihre Anwendungen sicher und geschützt sind.

Funktionsumfang

Der CVA sucht nach potenziell anfälligen Aussagen, bei denen der Input aus nicht vertrauenswürdigen Quellen stammt und meldet diese. Im Anschluss können alle Befunde unterdrückt werden, die Ergebnisse als freigestellt gekennzeichnet oder Ergebnissen eine niedrige Priorität zugewiesen haben. Die Baseline ist wirksam, solange die zugehörigen Codeabschnitte unverändert bleiben. Zu den grundlegenden Aktivitäten gehören das Hinzufügen und Entfernen von einzelnen Prüfergebnissen sowie das Löschen der Baseline.

Durch die Integration in das ABAP-Testcockpit können die Code-Prüfungen von den meisten Entwicklerwerkzeugen wie ADT, SE80 und SE38 einfach gestartet werden. Zusätzlich zum Scannen einzelner Objekte können auch Gruppen von Objekten gescannt werden. Die Priorität jedes Checks kann an die Anforderungen angepasst werden. Den Unternehmen wird durch SAP CVA ermöglicht, die Priorität jedes einzelnen Befundes zu kontrollieren. Dabei können sie auch die eigenen Risiko- und Sicherheitsanforderungen berücksichtigen. Ebenfalls erhalten Unternehmen die Möglichkeit eines abgestuften Ansatzes, sodass Sicherheitsprüfungen im Laufe der Zeit eine höhere Akzeptanz bei den Entwicklern haben.

SAP Code Vulnerability Analyzer

Der SAP CVA als Bestandteil des ATC – Quelle: SAP SE

Durch CVA können zudem die Entwickler eines Unternehmens bei der Korrektur eines Codes unterstützt werden. So erhalten sie eine detaillierte Dokumentation der festgestellten Probleme und eine Erklärung über die Art der Schwäche. Weiterhin bekommen Entwickler Informationen zur Vermeidung und Behebung der Feststellungen. Außerdem können sie direkt zu der Stelle in den Quellen, der zugehörigen Dokumentation und dem Workflow zur Erstellung einer Ausnahme navigieren. Mithilfe von CVA wird Unternehmen eine Datenflussanalyse ermöglicht, was für eine reduzierte False-Positive-Rate sorgen kann. Durch Freistellungs-Workflows wird zudem die Handhabung von falsch-positiven Daten erleichtert.

Unternehmen können mit dem ABAP Test Cockpit eine Remote-Code-Analyse durchführen. Somit haben sie ein zentrales ATC-System für alle Sicherheitsprüfungen in ihrer Systemlandschaft. Dann geben Remote Stubs ein Modell aus einem benutzerdefinierten Code zurück. Auf dem zentralen System wird eine Prüflogik ausgeführt und eine Prüfvariante gepflegt. Ebenso werden neue Prüfungen installiert und Ausnahmen gespeichert. Zudem ist es in das Entwicklungssystem integriert. Diese Eigenschaften reduzieren insgesamt den Verwaltungsaufwand und legen einen Qualitätsstandard für die gesamte Systemlandschaft fest.

Konfiguration und Verwaltung

CVA ist in den folgenden SAP_BASIS-Releases verfügbar:

  • SAP NetWeaver AS ABAP 7.0 EhP2 Support Package 14
  • SAP NetWeaver AS ABAP 7.0 EhP3 Support Package 09
  • SAP NetWeaver AS ABAP 7.3 EhP1 Support Package 09
  • SAP NetWeaver AS ABAP 7.4 Support Package 05 und spätere Versionen

Die Konfiguration und Verwaltung von CVA (und ATC) kann in vielen Systemen kostspielig sein. Neue CVA-Prüfungen und Erweiterungen bestehender Prüfungen werden in Upgrades und/oder Support-Paketen geliefert. Das Upgrade eines Systems für Nutzung der Vorteile neuester Prüfungen kann andere Softwarekomponenten im System beeinträchtigen, die ein niedrigeres Release benötigen.

Damit Unternehmen das CVA-Tool nutzen können, muss mit dem Report RSLIN_SEC_LICENSE_SETUP die Ausführung von systemweiten Sicherheitskontrollen aktiviert werden. Im Anschluss sind die Sicherheitskontrollen in Standard-APAB-Code-Checking-Tools wie ABAP Test Cockpit (ATC) oder Code Inspector (SCI) verfügbar. Diese Option dieser Prüfungen nennt man üblicherweise „Sicherheitsanalyse im erweiterten Programmcheck“.

SAP CVA vs. Drittanbieter-Lösungen

CVA ist ein ABAP-Produkt und Teil des ABAP Test Cockpit, das wiederum Teil von NetWeaver ist. Es ist keine Erweiterung, sondern in ABAP geschrieben und tief in die SAP-Landschaft integriert. Anders als bei alternativen Produkten wird CVA von SAP selbst genutzt, um den eigenen ABAP-Code zu scannen. Die ABAP-Entwickler arbeiten eng mit den CVA-Entwicklern zusammen. Für ein Update von CVA muss lediglich die neueste Support Package auf dem zentralen System installiert werden (siehe unten für Informationen zu einem zentralen Scansystem). Lange und fehleranfällige Update-Prozeduren wie bei alternativen Produkten entfallen somit.

Fazit

Um Bedrohungen umgehen zu können oder zumindest erkennen zu können, woher sie stammen, reichen die Sicherheitsmaßnahmen, die vor Jahren galten, heutzutage nicht mehr aus. Wer das alles ohne Hilfe bewerkstelligen will, wird schnell an Grenzen stoßen. Mit dem Tool CVA können Unternehmen ihre Sicherheitslücken einfach in der ABAP-Codierung identifizieren und beheben.

FAQ

Was ist SAP Code Vulnerability Analyzer?

Der SAP Code Vulnerability Analyzer (CVA) ist der statische Code-Analysator von SAP. Dieses Tool hilft Unternehmen dabei, ihre Sicherheitslücken in der ABAP-Codierung zu identifizieren und zu beheben. Es ist kein Add-On, sondern basiert auf der Infrastruktur des ABAP Test Cockpit (ATC) und tief in die SAP Landschaft integriert.

Was versteht sich unter statischer und dynamischer Prüfung?

Statische und dynamische Prüfungen dienen der Sicherheitsüberprüfung von Anwendungen. Die statische Analyse findet bei der Analyse der Quellen statt, während die dynamische Analyse Schwachstellen in der laufenden Anwendung findet. Beide Tests sollten durchgeführt werden, um ein umfassendes Verteidigungssystem gegen Angriffe zu schaffen. Die Kombination beider Testarten minimiert das Risiko von Sicherheitslücken und sorgt für eine sichere Anwendung.

Welche Funktionen bietet SAP Code Vulnerability Analyzer?

Der CVA sucht nach potenziell anfälligen Aussagen, bei denen der Input aus nicht vertrauenswürdigen Quellen stammt und meldet diese. Die einzelnen ATC-Ergebnisse werden dann in die Baseline übernommen. Danach können alle Befunde unterdrückt werden, die Ergebnisse als freigestellt gekennzeichnet oder Ergebnissen eine niedrige Priorität zugewiesen werden.


Artikel war hilfreichArtikel empfehlen


Dieser Beitrag ist auch als Download verfügbar:

Kommentar verfassen


Unsere Top-Downloads

Kontaktieren Sie uns!
Renate Burg Kundenservice