So beheben Sie SQL-Injection in Fortify Source Code Analyzer Berichten

Viele Organisationen verwenden statische Code-Analysatoren wie Fortify Source Code Analyzer, um Sicherheitslücken in Anwendungen zu finden. Für viele Entwickler werden Berichte von Fortify Source Code Analyzer jedoch als zusätzlicher Arbeitsaufwand angesehen, da sie Schwachstellen (sowohl echte als auch falsch positive) aufdecken, während sie keine Lösung bieten, um deren Behebung voranzutreiben. Wer behebt die Schwachstellen im Bericht?

SQL-Injection ist eine ernsthafte Sicherheitsbedrohung, die die Daten und Funktionalität Ihrer Webanwendungen gefährden kann. Sie tritt auf, wenn ein Angreifer bösartige SQL-Anweisungen in Benutzereingabefelder, wie z.B. Formulare oder URLs, einschleust, die dann von der zugrunde liegenden Datenbank ausgeführt werden. SQL-Injection kann es einem Angreifer ermöglichen, auf sensible Daten zuzugreifen, zu ändern oder zu löschen, Befehle auf dem Server auszuführen oder sogar die Datenbank zu übernehmen.

Wie die SQL-Injection behoben wird, hängt von der Programmiersprache und der Datenbank ab, aber hier sind einige allgemeine Richtlinien:

  • Verwenden Sie vorbereitete Anweisungen mit parametrisierten Abfragen. Das bedeutet, dass Sie den SQL-Code zuerst definieren und dann die Benutzereingabe als Parameter später übergeben. Auf diese Weise kann die Datenbank zwischen Code und Daten unterscheiden und verhindern, dass bösartiger SQL die Abfrage-Logik beeinflusst.
  • Verwenden Sie gespeicherte Prozeduren. Dies sind vordefinierte SQL-Abfragen, die in der Datenbank gespeichert sind und von der Anwendung aufgerufen werden können. Gespeicherte Prozeduren können auch Parameter verwenden, um Benutzereingaben anzunehmen, und können Eingabevalidierung und Fehlerbehandlung durchführen.
  • Verwenden Sie eine Zulassungsliste für die Eingabevalidierung. Das bedeutet, dass Sie die Benutzereingabe gegen eine Liste von erlaubten Werten oder Mustern prüfen und jede Eingabe ablehnen, die nicht übereinstimmt. Dies kann helfen, bösartige SQL-Zeichen oder Schlüsselwörter aus der Benutzereingabe herauszufiltern.
  • Escapen Sie alle vom Benutzer gelieferten Eingaben. Das bedeutet, dass Sie Escape-Zeichen vor jedem Sonderzeichen in der Benutzereingabe hinzufügen, wie z.B. Anführungszeichen, Semikolons oder Kommentare. Dies kann verhindern, dass die Benutzereingabe aus dem vorgesehenen SQL-Kontext ausbricht und bösartige SQL-Anweisungen bildet.

Hier sind einige Beispiele für das Beheben von SQL-Injection-Schwachstellen:


var username = Request.Form["username"];
var password = Request.Form["password"];
var sql = "SELECT * FROM Users WHERE Username = @username AND Password = @password";
var command = new SqlCommand(sql, connection);
command.Parameters.Add(new SqlParameter("@username", username));
command.Parameters.Add(new SqlParameter("@password", password));
command.ExecuteNonQuery();
                    

String username = request.getParameter("username");
String password = request.getParameter("password");
String query = "SELECT * FROM Users WHERE Username = ? AND Password = ?";
PreparedStatement statement = connection.prepareStatement(query);
statement.setString(1, username);
statement.setString(2, password);
statement.execute();
                    

Welche Möglichkeit gibt es, SQL-Injection automatisch zu beheben?

Lucent Sky AVM funktioniert wie ein statischer Code-Analysator, um Schwachstellen zu lokalisieren, und bietet dann Instant Fixes – codebasierte Behebung, die sofort in den Quellcode eingefügt werden kann, um häufige Schwachstellen wie Cross-Site-Scripting (XSS), SQL-Injection und Pfad zu beheben Manipulation.

Für .NET- (C# und VB.NET) und Java-Anwendungen kann Lucent Sky AVM bis zu 90 % der gefundenen Schwachstellen beheben.


Gemeinsame Verwendung von Fortify Source Code Analyzer und Lucent Sky AVM

Während SAST-Tools wie Fortify Source Code Analyzer Ihnen nur sagen, wo Schwachstellen sind, sagt Ihnen Lucent Sky AVM, wo sie sind und wie Sie sie beheben können (und erledigen das sogar für Sie, wenn Sie möchten). SAST-Tools wie Fortify Source Code Analyzer wurden für die Verwendung durch Sicherheitsexperten entwickelt und darauf kalibriert, eine große Anzahl von Ergebnissen zu finden. Anschließend wurde die Feinabstimmung von Sicherheitsexperten vorgenommen, um Fehlalarme auszusortieren. Lucent Sky AVM konzentriert sich auf die Suche nach Schwachstellen, die echte Auswirkungen auf die Sicherheit der Anwendung haben, und behebt nur das, was mit Zuversicht behoben werden kann, basierend auf den von Ihnen sowie Ihren Entwicklungs- und Sicherheitsteams festgelegten Einstellungen. Erfahren Sie mehr über den Korrekturprozess von Lucent Sky AVM.


Fortify Source Code Analyzer, Lucent Sky AVM und Compliance

Wenn die Compliance Ihres Unternehmens die Behebung aller von Fortify Source Code Analyzer gefundenen Ergebnisse erfordert (oder Ergebnisse, die bestimmte Kriterien erfüllen, z. B. kritisch und hoch), kann Lucent Sky AVM so angepasst werden, dass dieselben Ergebnisse gefunden werden und gleichzeitig zusätzlicher funktionaler Wert bereitgestellt wird – automatisch Behebung dieser Schwachstellen.


Umsetzbare Berichterstellung

Viele statische Code-Analysatoren sind für Sicherheitsexperten konzipiert und sollen von diesen verwendet werden. Das bedeutet, dass sie erfahrene Benutzer erfordern und ihre Bewertungen und Ausgaben nicht entwicklerfreundlich sind. Lucent Sky AVM bietet klare Berichte, die sich sowohl an Sicherheitsexperten als auch an Entwickler richten und sowohl Analyseergebnisse als auch Sofortkorrekturen (codebasierte Behebung häufiger Schwachstellen wie Cross-Site-Scripting und SQL-Injection) bereitstellen, die auch Nicht-Experten zur Sicherung ihres Codes verwenden können.

Für Unternehmen, die Compliance-Berichte benötigen, kann Lucent Sky Teams dabei helfen, Fortify Source Code Analyzer-Scans zu bestehen und den Lärm falsch positiver Ergebnisse zu reduzieren, während gleichzeitig der Zeit- und Arbeitsaufwand für die Sicherung einer Anwendung drastisch reduziert wird.

Laden Sie einen Vergleichsbericht zwischen Lucent Sky AVM- und SAST-Tools herunter, um den Unterschied zu erkennen.


Das Beheben von Schwachstellen in Ihrem Fortify Source Code Analyzer-Bericht kann schnell und effizient erfolgen

Fordern Sie eine Demo an und erleben Sie Lucent Sky AVM selbst in Aktion. Um mehr darüber zu erfahren, wie Lucent Sky AVM in Kombination mit Fortify Source Code Analyzer in Ihrer Umgebung verwendet werden kann, nehmen Sie Kontakt mit uns auf!

Kontaktiere uns
Try Lucent Sky AVM