DataSunrise sponsert AWS re:Invent 2024 in Las Vegas, bitte besuchen Sie uns am Stand #2158 von DataSunrise

Methoden zur Erkennung von SQL-Injektionen

Methoden zur Erkennung von SQL-Injektionen

Die Erkennung von SQL-Injektionen ähnelt in gewisser Weise der E-Mail-Spam-Filterung. Die Probleme, die Entwickler solcher Systeme lösen müssen, sind ebenfalls ähnlich.

Werfen wir also einen Blick auf die Methoden der Spam-Filterung, die von E-Mail-Servern verwendet werden:

  • Analyse des Textes von Nachrichten mit verschiedenen Algorithmen (z.B. Bayesianische Filterung).
  • Inhaltsfilterung. Dazu gehört das Suchen nach Spam-Anzeichen wie Links, Produktangeboten, Schlüsselwörtern usw. im Text der Nachrichten.
  • Filterung basierend auf statistischen Informationen über Entscheidungen, die von anderen Benutzern des E-Mail-Servers getroffen wurden (zu prüfen, ob sie ähnliche Nachrichten als Spam markiert haben).
  • Verwendung von Informationen über die Glaubwürdigkeit des Mail-Servers, die von anderen Diensten erhalten wurden.

Jeder dieser Tests ist in Untertests unterteilt. Jeder Untertest wird mit einem bestimmten „Kostenpunkt“ (in Punkten) bewertet. Wenn die eingehende Nachricht den Untertest besteht, werden ihre Punkte dem Gesamttestergebnis hinzugefügt. Der Punktwert kann sowohl positiv als auch negativ sein. Wenn die Testung einer Nachricht abgeschlossen ist, summiert das Anti-Spam-System das Gesamtergebnis. Je höher die Punktzahl, desto größer ist die Wahrscheinlichkeit, dass die getestete Nachricht Spam enthält.

Beispielsweise verfügt der Spam-Filter Spam Assassin über eine konfigurierbare Schwelle. Wenn das Gesamtergebnis des Tests die Schwelle überschreitet, wird die Nachricht als Spam betrachtet. Normalerweise wird die Schwelle so konfiguriert, dass es nicht ausreicht, wenn eine Nachricht einen Test besteht, um den Schwellenwert zu überschreiten (um als Spam markiert zu werden). Die Funktionsprinzipien anderer Filter ähneln denen von Spam Assassin.

Keine einzige Spam-Filtermethode garantiert allein vollständigen Schutz vor unerwünschten Nachrichten sowie vor Fehlalarmen. Deshalb wird in der Praxis eine Kombination verschiedener Methoden verwendet. Die Konfigurierung der Gesamtschwelle und der „Kosten“ der Untertests bestimmt das „Verdachtsniveau“ des Filters.

Die Filterung von SQL-Injektionen funktioniert fast ähnlich wie Spam-Filter. Auf der DAF-Ebene trifft man in den meisten Fällen auf gültigen SQL-Code, weshalb es notwendig ist, indirekte Anzeichen zu verwenden, um festzustellen, ob die Abfrage SQL-injiziert ist.

DataSunrise kann SQL-Injektionen anhand der folgenden Zeichen erkennen.

  • Anzahl ungültiger Abfragen, die von einem bestimmten Host kommen oder von einem bestimmten Client gestellt werden.
  • Vorhandensein von konstanten Bedingungen in der Abfrage, die immer TRUE oder FALSE zurückgeben.
  • Ob Kommentare im Abfragekörper vorhanden sind und ob diese Kommentare Teile von SQL-Abfragen enthalten.
  • OR- und UNION-Blöcke im Abfragecode.
  • Andere Bedingungen.

Die Fähigkeit, jedes Zeichen allein zu erkennen, reicht nicht aus, um einen SQL-Injektionsangriff zu erkennen, aber die Fähigkeit, all diese Zeichen in einer Abfrage zu erkennen, ermöglicht es DataSunrise, essentiellen Schutz zu bieten, wie im demonstrativen Beispiel von wie DataSunrise vor SQL-Injektionen schützt gezeigt wird.

Abschließend sei erwähnt, dass vollständiger Schutz vor SQL-Injektionsangriffen nur durch die Verwendung eines hochwertigen und ordnungsgemäß getesteten Anwendungsservers erreicht werden kann.

Nächste

Datenbanksicherheitsbedrohungen und Gegenmaßnahmen

Datenbanksicherheitsbedrohungen und Gegenmaßnahmen

Erfahren Sie mehr

Benötigen Sie die Hilfe unseres Support-Teams?

Unsere Experten beantworten gerne Ihre Fragen.

Allgemeine Informationen:
[email protected]
Kundenservice und technischer Support:
support.datasunrise.com
Partnerschafts- und Allianz-Anfragen:
[email protected]