Was ist Fortify SCA und wie wird es installiert?

Der Fortify Static Code Analyzer (SCA) untersucht den Quellcode auf Schwachstellen und identifiziert deren Ursprung.

Durch die Priorisierung kritischer Sicherheitsmängel unterstützt Fortify SCA Entwickler bei der Behebung dieser Probleme.

Der statische Code-Analysator im Fokus

Der Fortify Static Code Analyzer integriert unterschiedliche Analysatoren für Sicherheitslücken, darunter solche für Puffer, Inhalt, Kontrollfluss, Datenfluss, Semantik, Konfiguration und Struktur. Jeder dieser Analysatoren arbeitet mit spezifischen Regeln, die auf die jeweilige Art der durchgeführten Analyse zugeschnitten sind.

Der Fortify Static Code Analyzer besteht aus folgenden Komponenten:

  • Fortify Scan Assistent: Ein Werkzeug zur Ausführung von Skripten vor oder nach der Analyse.
  • Audit Workbench: Eine GUI-basierte Anwendung zur Organisation und Verwaltung von Analyseergebnissen.
  • Editor für benutzerdefinierte Regeln: Ein Tool für Entwickler, um eigene Regeln für die Analyse zu erstellen und zu bearbeiten.
  • Plugin für IntelliJ und Android Studio: Zeigt Analyseergebnisse direkt in der IDE an.
  • Plugin für Eclipse: Integriert sich in Eclipse und präsentiert Ergebnisse in der Entwicklungsumgebung.
  • Bamboo Plugin: Erfasst die Resultate von Bamboo-Jobs, die eine Analyse durchführen.
  • Jenkins Plugin: Sammelt Analyseergebnisse aus Jenkins-Jobs.

Eigenschaften von Fortify SCA

#1. Unterstützung verschiedener Programmiersprachen

Fortify SCA unterstützt eine Vielzahl von Sprachen, darunter ABAP/BSP, ActionScript, ASP (mit VBScript), COBOL, ColdFusion, Apex, ASP.NET, C# (.NET), C/C++, Classic, VB.NET, VBScript, CFML, Go, HTML, Java (einschließlich Android), JavaScript/AJAX, JSP, Kotlin, Visual Basic, MXML (Flex), Objective C/C++, PHP, PL/SQL, Python, Ruby, Swift, T-SQL und XML.

#2. Flexible Einsatzmöglichkeiten

  • Fortify On-Prem ermöglicht Organisationen die volle Kontrolle über alle Aspekte von Fortify SCA.
  • Fortify On Demand bietet Entwicklern eine Software-as-a-Service-Umgebung.
  • Fortify Hosted vereint die Vorteile beider Welten (On Demand und On-Prem) in einer isolierten virtuellen Umgebung mit vollständiger Datenkontrolle.

#3. Einfache Integration mit CI/CD-Werkzeugen

  • Fortify SCA lässt sich problemlos in wichtige IDEs wie Visual Studio und Eclipse integrieren.
  • Durch die Integration in Open-Source-Tools wie Sonatype, WhiteSource, Snyk und BlackDuck haben Entwickler erweiterte Kontrolle.
  • Die Integration mit Remote-Code-Repositories wie Bitbucket und GitHub ermöglicht die Analyse von Code, der auf diese Plattformen hochgeladen wird, und die Übermittlung von Berichten.

#4. Echtzeit-Warnmeldungen

Dank Echtzeit-Updates während des Codierens ist es nicht notwendig, bis zum Ende der Entwicklung mit dem Testen zu warten. Die integrierten Konfigurations- und Strukturanalysatoren sorgen für Schnelligkeit und Effizienz und unterstützen die Entwicklung sicherer Anwendungen.

#5. Audit-Assistent mit Machine Learning

Der Prüfprozess wird durch den Audit-Assistenten beschleunigt, der Algorithmen des maschinellen Lernens verwendet. Er identifiziert und priorisiert Schwachstellen basierend auf ihrem Konfidenzniveau. Organisationen profitieren von reduzierten Auditkosten durch automatisch generierte Berichte.

#6. Flexibilität

Anwender können die Art des Scans entsprechend ihren spezifischen Anforderungen wählen. Für genaue und detaillierte Analysen steht die umfassende Scanoption zur Verfügung, während der Schnellscan größere Bedrohungen effizienter identifiziert.

Was bewirkt Fortify SCA?

Fortify SCA spielt eine zentrale Rolle in typischen Entwicklungsumgebungen. Hier sind einige seiner Funktionen:

Statisches Testen fördert besseren Code

Das statische Testen von Anwendungen (SAST) hilft, Sicherheitslücken bereits in frühen Entwicklungsstadien aufzudecken, was die Kosten für deren Behebung erheblich reduziert.

Dieser Ansatz minimiert Sicherheitsrisiken, da Tests unmittelbares Feedback zu im Code eingeführten Problemen liefern.

Darüber hinaus vermittelt SAST Entwicklern wertvolles Wissen über Sicherheit, was sie in die Lage versetzt, von Anfang an sicherere Software zu erstellen.

Fortify SCA analysiert den Quellcode auf Sicherheitslücken mithilfe einer umfangreichen Wissensbasis mit sicheren Codierungsregeln und fortschrittlichen Algorithmen. Es untersucht jeden möglichen Pfad, den Daten und Ausführung nehmen können, um Schwachstellen zu finden und geeignete Maßnahmen vorzuschlagen.

Frühe Erkennung von Sicherheitslücken

Fortify SCA arbeitet ähnlich wie ein Compiler. Nach einem Scan liest es die Quellcodedateien und konvertiert sie in eine erweiterte Zwischenstruktur, die für die Sicherheitsanalyse optimiert ist.

In diesem Zwischenformat sind Sicherheitslücken leicht zu identifizieren. Das Tool verwendet eine Analyse-Engine mit spezialisierten Analysatoren und sicheren Codierungsregeln, um zu überprüfen, ob der Code gegen bewährte Sicherheitspraktiken verstößt.

Der Rules Builder ermöglicht die Erweiterung der statischen Analysefunktionen und das Hinzufügen benutzerdefinierter Regeln. Die Ergebnisse können je nach Aufgabe und Zielgruppe in verschiedenen Formaten angezeigt werden.

Fortify Software Security Center (SSC) für das Ergebnismanagement

Das Fortify Software Security Center (SSC) dient als zentrales Management-Repository, das einen umfassenden Einblick in das gesamte Anwendungssicherheitsprogramm eines Unternehmens bietet. Über SSC können Benutzer Sicherheitsbedrohungen bewerten, priorisieren, beheben und verwalten.

Fortify SSC bietet eine genaue Übersicht über den Sicherheitsstatus von Anwendungen in einer Organisation. Es empfängt Ergebnisse von verschiedenen Anwendungssicherheitstestaktivitäten, darunter Echtzeit-, dynamische und statische Analysen.

Welche Arten von Codeanalysen führt Fortify SCA durch?

Bei der Codeanalyse orientiert sich Fortify SCA an der Struktur von „bösartigen Königreichen“. Im Folgenden sind die Arten von Analysen aufgeführt, die Fortify SCA durchführt:

  • Eingabevalidierung und -darstellung: Probleme, die durch alternative Kodierungen, numerische Darstellungen und Metazeichen entstehen. Beispiele sind Pufferüberläufe, Cross-Site-Scripting-Angriffe und SQL-Injection, die auftreten, wenn Benutzereingaben nicht ausreichend geprüft werden.
  • API-Missbrauch: Meist verursacht durch Anrufer, die sich nicht an die Vertragsbedingungen halten.
  • Sicherheitsfunktionen: Trennt Softwaresicherheit von Sicherheitssoftware und konzentriert sich auf Authentifizierung, Berechtigungsverwaltung, Zugriffskontrolle, Vertraulichkeit und Kryptografie.
  • Zeit und Zustand: Analysiert Fehler, die durch unerwartete Interaktionen zwischen Threads, Informationen, Prozessen und Zeit entstehen, da Computer sehr schnell zwischen Aufgaben wechseln können.
  • Fehler: Überprüft, ob Fehler potenziellen Angreifern zu viele Informationen liefern.
  • Codequalität: Schlechte Codequalität führt oft zu unvorhersehbarem Verhalten. Angreifer können schlecht geschriebenen Code ausnutzen.
  • Verkapselung: Setzt klare Grenzen, beispielsweise zwischen validierten und nicht validierten Daten.

Download und Installation von Fortify SCA

Vor der Installation ist Folgendes zu beachten:

  • Überprüfen Sie die Systemanforderungen in der offiziellen Dokumentation.
  • Fordern Sie die Fortify-Lizenzdatei an. Wählen Sie Ihr Paket auf der Microfocus-Downloadseite, erstellen Sie ein Konto und erhalten Sie Ihre Lizenzdatei.

  • Stellen Sie sicher, dass Sie Visual Studio Code oder einen anderen unterstützten Code-Editor installiert haben.

Installation unter Windows

Fortify_SCA_and_Apps_<version>_windows_x64.exe

Hinweis: <version> ist die jeweilige Software-Release-Version.

  • Akzeptieren Sie die Lizenzvereinbarung und klicken Sie auf Weiter.
  • Wählen Sie den Installationspfad für den Fortify Static Code Analyzer und klicken Sie auf Weiter.
  • Wählen Sie die zu installierenden Komponenten aus und klicken Sie auf Weiter.
  • Geben Sie Benutzer an, wenn Sie eine Erweiterung für Visual Studio 2015 oder 2017 installieren.
  • Klicken Sie nach der Angabe des Pfades für die Datei fortify.license auf Weiter.
  • Geben Sie die erforderlichen Einstellungen für die Aktualisierung der Sicherheitsinhalte an. Sie können den Fortify Rulepack-Aktualisierungsserver mit der URL https://update.fortify.com verwenden. Klicken Sie auf Weiter.
  • Wählen Sie aus, ob Sie einen Beispielquellcode installieren möchten und klicken Sie auf Weiter.
  • Klicken Sie auf Weiter, um Fortify SCA und zugehörige Anwendungen zu installieren.
  • Nach der Installation klicken Sie auf „Sicherheitsinhalt aktualisieren“ und dann auf Fertigstellen.

Installation unter Linux

Die Installation von Fortify SCA auf einem Linux-basierten System erfolgt mit ähnlichen Schritten. Im ersten Schritt verwenden Sie die ausführbare Installationsdatei:

Fortify_SCA_and_Apps__linux_x64.run

Alternativ können Sie Fortify SCA über die Kommandozeile installieren:

Öffnen Sie das Terminal und führen Sie folgenden Befehl aus:

./Fortify_SCA_and_Apps__linux_x64.run --mode text

Befolgen Sie die Anweisungen in der Kommandozeile, bis die Installation abgeschlossen ist.

So führen Sie einen Fortify-Scan durch

Nach der Installation ist es an der Zeit, das Tool für die Sicherheitsanalyse zu konfigurieren.

  • Navigieren Sie über die Eingabeaufforderung zum bin-Ordner im Installationsverzeichnis.
  • Geben Sie `scapostinstall` ein und dann `s`, um die Einstellungen anzuzeigen.
  • Richten Sie das Gebietsschema mit den folgenden Befehlen ein:

Geben Sie 2 ein, um Einstellungen auszuwählen.

Geben Sie 1 ein, um Allgemein auszuwählen.

Geben Sie 1 ein, um Gebietsschema auszuwählen.

Geben Sie `English: en` als Sprache ein, um die Sprache auf Englisch zu setzen.

  • Konfigurieren Sie Updates für Sicherheitsinhalte. Geben Sie 2 ein, um Einstellungen auszuwählen, und dann erneut 2, um Fortify Update auszuwählen. Verwenden Sie den Fortify Rulepack-Aktualisierungsserver mit der URL https://update.fortify.com.
  • Geben Sie `sourceanalyzer` ein, um zu überprüfen, ob das Tool vollständig installiert ist.

Fortify SCA arbeitet nun im Hintergrund und analysiert Ihren Code auf Sicherheitslücken.

Zusammenfassung

In der heutigen Zeit sind Cyberangriffe und Datenlecks weit verbreitet. Tools wie der Fortify Static Code Analyzer bieten eine wichtige Unterstützung, da sie Sicherheitsbedrohungen während des Codierens erkennen, Warnmeldungen senden und Empfehlungen zur Behebung von Problemen geben. Die Kombination von Fortify SCA mit anderen Werkzeugen kann die Produktivität steigern und Betriebskosten senken.

Es lohnt sich auch, die Software Composition Analysis (SCA) zu untersuchen, um die Sicherheit Ihrer Anwendung weiter zu verbessern.