So beheben Sie SQL-Injection in Checkmarx CxSAST Berichten

Viele Organisationen verwenden statische Code-Analysatoren wie Checkmarx CxSAST, um Sicherheitslücken in Anwendungen zu finden. Für viele Entwickler werden Berichte von Checkmarx CxSAST 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 ähnlich wie Checkmarx CxSAST und kann die genaue Position einer Sicherheitslücke bestimmen. Im Gegensatz zu SAST-Tools kann Lucent Sky AVM jedoch auch die gefundenen Schwachstellen beheben. Es generiert "Instant Fixes" - codebasierte Behebungen, die direkt in den Quellcode eingefügt werden können, um häufige Schwachstellen wie Cross-Site Scripting (XSS), SQL-Injection und Pfadmanipulation zu beheben.

Entwickler können Instant Fixes überprüfen und einzeln oder massenhaft anwenden oder Lucent Sky AVM in eine CI-Pipeline integrieren, sodass Schwachstellen automatisch überprüft, behoben und getestet werden, wenn neuer Code eingeführt wird.


Gemeinsame Verwendung von Checkmarx CxSAST und Lucent Sky AVM

Während SAST-Tools wie Checkmarx CxSAST 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). Die meisten SAST-Tools wurden für die Verwendung durch Sicherheitsexperten entwickelt und kalibriert, um eine große Anzahl von Ergebnissen zu finden, und verlassen sich dann auf Sicherheitsexperten, um sie fein abzustimmen, 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.


Lucent Sky AVM + Checkmarx CxSAST = mühelose Einhaltung

Wenn die Compliance Ihres Unternehmens die Behebung aller von Checkmarx CxSAST 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, Checkmarx CxSAST-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 Korrigieren von SQL-Injection in Ihrem Checkmarx CxSAST-Bericht kann schnell und effizient erfolgen

96% der Anwendungen weisen Schwachstellen auf – bekannte Sicherheitsrisiken, die Kriminelle ausnutzen können. Die größte Hürde bei der Implementierung eines Sicherheitsprozesses ist die tatsächliche Behebung der gefundenen Schwachstellen. Entwickler Und Sicherheitsingenieure verfügen einfach nicht über die Kapazitäten, Schwachstellen effizient zu beheben. Aus diesem Grund haben sich Hunderte von Unternehmen und Organisationen für Lucent Sky AVM entschieden, um bestehende SAST-Tools zu ersetzen oder zu ergänzen und Entwicklungsteams dabei zu helfen, Schwachstellen tatsächlich zu beheben und ihren Anwendungssicherheitsprozess zu beschleunigen.

Kontaktiere uns
Try Lucent Sky AVM