Simple Science

Hochmoderne Wissenschaft einfach erklärt

# Computerwissenschaften# Maschinelles Lernen# Kryptographie und Sicherheit

Fortschritte beim Erkennen von SQL-Injection-Angriffen

Forschung zeigt, dass maschinelles Lernen die Erkennungsraten von SQL-Injection deutlich verbessert.

― 6 min Lesedauer


Verbesserte Erkennung vonVerbesserte Erkennung vonSQL-Injectiongegen SQL-Injection-Angriffe.Maschinenlernen stärkt die Verteidigung
Inhaltsverzeichnis

In diesem Abschnitt reden wir über drei Experimente, die wir gemacht haben, um die Effektivität unseres Ansatzes zur Erkennung von SQL-Injection-Angriffen zu bewerten. Zuerst haben wir uns angeschaut, wie gut ein einfaches Modell bei der Erkennung dieser Angriffe abgeschnitten hat. Das Grundmodell hat eine einfache Methode verwendet, um Regeln basierend auf festen Gewichten zu kombinieren, ohne den normalen Verkehr zu berücksichtigen. Deswegen hatte es eine niedrige Erkennungsrate für SQL-Injection-Angriffe. Die Erkennungsrate war selbst unter besten Bedingungen nur auf einem bestimmten Niveau.

Dann haben wir durch Tests gezeigt, dass die Verwendung von Machine-Learning-Techniken zur Anpassung der Gewichte dieser Regeln die Erkennungsrate erheblich verbessert hat, mit einer Steigerung von bis zu 21%. In unserem dritten Experiment haben wir eine neue Methode vorgestellt, die das Modell speziell darauf trainiert hat, Angriffe besser zu erkennen, was die Robustheit um 42% verbessert hat. Diese Methode hat sich als 25% stärker erwiesen als das Grundmodell.

Das gesamte Setup für unsere Experimente fand auf einem Ubuntu-Server mit einem leistungsstarken Intel-Prozessor und viel Speicher statt. Wir haben einen Datensatz verwendet, der viele Beispiele sowohl von bösartigen als auch von harmlosen SQL-Abfragen enthielt. Dieser Datensatz wurde ausgewählt, weil er eine der umfassendsten Ressourcen für das Training von Modellen zur Erkennung von SQL-Injection-Angriffen ist.

Um unseren Trainingsdatensatz zu erstellen, haben wir zufällig 20.000 Proben aus dem ursprünglichen Datensatz ausgewählt. Dieser Trainingssatz enthielt eine gleiche Anzahl von harmlosen und bösartigen SQL-Abfragen. Für die Tests haben wir einen separaten Datensatz erstellt, der 4.000 zufällig ausgewählte Proben enthielt. Dieser Testdatensatz wurde entworfen, um die Leistung unserer Erkennungsmodelle zu bewerten, ohne sich mit den Trainingsdaten zu überschneiden.

Ausserdem haben wir einen speziellen Trainingssatz entwickelt, der speziell für adversariales Training gedacht war. Dabei haben wir 5.000 bösartige SQL-Abfragen aus unserem Haupttrainingssatz erstellt und sie mit fortschrittlichen Tools modifiziert. Diese modifizierten Abfragen wurden dann wieder zum Haupttrainingssatz hinzugefügt. Für die Tests haben wir einen separaten adversarialen Testsatz erstellt, indem wir zuvor ausgewählte bösartige Abfragen optimiert haben, während wir die harmlosen Abfragen unverändert gelassen haben. Dieses Setup hat es uns ermöglicht, zu bewerten, wie gut unsere Methoden gegen ausgeklügelte Angriffe widerstehen konnten.

In unseren Experimenten haben wir einen Feature-Extractor implementiert, der eine spezielle Bibliothek verwendet hat, um mit den Erkennungsregeln für SQL-Injections zu arbeiten. Die Regeln, die wir für das Training des Modells verwendet haben, waren speziell darauf ausgelegt, SQL-Injection-Versuche zu erkennen. Wir haben das Erkennungssystem angepasst, um Fehlalarme zu minimieren, während wir gleichzeitig die maximale Anzahl von Abfragen erlaubt haben, die die notwendigen Daten für das Training bereitstellten.

Wir haben auch Machine-Learning-Modelle basierend auf Support Vector Machines (SVM) und Random Forests (RF) eingesetzt. Diese Modelltypen sind bekannt für ihre Effektivität bei Klassifizierungsaufgaben. Wir haben diese Modelle sorgfältig auf Leistung getunt, indem wir deren Parameter angepasst und sie durch einen systematischen Ansatz validiert haben. Diese Methode hat sichergestellt, dass wir die bestmöglichen Versionen dieser Modelle für unsere Aufgabe erhalten haben.

Unser erstes Ziel war es, die Leistung des Grundmodells zu bewerten. Wir haben untersucht, wie gut es zwischen harmlosen und bösartigen SQL-Abfragen in verschiedenen Einstellungen unterscheiden konnte. Wir haben darauf geachtet, wie gut es Angriffe bei bestimmten Fehlalarmraten erkennen konnte. Die Ergebnisse zeigten, dass das Grundmodell erheblich kämpfte, oft harmlose Abfragen fälschlicherweise als bösartig klassifizierend.

Als wir zu den Machine-Learning-Modellen übergingen, verbesserten sich die Ergebnisse deutlich. Sowohl die SVM- als auch die RF-Modelle zeigten eine verbesserte Fähigkeit, SQL-Injection-Versuche in verschiedenen Einstellungen im Vergleich zum Grundmodell zu erkennen. Insbesondere zeigten beide Modelle erhebliche Steigerungen der Erkennungsraten und übertrafen oft den grundlegenden Ansatz.

Als wir die Machine-Learning-Modelle gegen adversariale Angriffe testeten, konnten sie das Grundmodell immer noch übertreffen. Obwohl sie unter Angriffsbedingungen Herausforderungen hatten, haben sie sich als effektiver erwiesen und bessere Ergebnisse bei der Identifizierung bösartiger Abfragen gezeigt. In Bezug auf die allgemeine Robustheit hielten sowohl die SVM- als auch die RF-Modelle eine höhere Erkennungsrate im Vergleich zur Grundversion aufrecht.

Da wir erkannt haben, dass unter schwierigen Bedingungen trainierte Modelle immer noch nützlich sein könnten, haben wir uns entschieden, die Machine-Learning-Modelle mit Fokus auf adversarielle Robustheit neu zu trainieren. Dieses Retraining gab uns die Möglichkeit zu bewerten, wie diese Modelle unter normalen und Angriffsbedingungen abschnitten. Die Ergebnisse zeigten, dass diese adversarial trainierten Modelle nicht nur gegen Angriffe bestehen konnten, sondern auch Leistungsebenen ähnlich wie ihre Vorgänger ohne dieses Training beibehielten.

Als wir uns die Merkmale ansahen, die die Modelle zur Erkennung verwendeten, fanden wir heraus, dass das adversarielle Training dazu beigetragen hat, die Bedeutung verschiedener Regeln zu verbreiten, was es Angreifern erschwert, die Erkennung zu umgehen. Indem wir beobachteten, welche Regeln während der Angriffe aktiviert wurden, bekamen wir Einblicke, wie sowohl das Grundmodell als auch die verbesserten Modelle mit verschiedenen Angriffsarten umgingen.

Insgesamt heben unsere Ergebnisse die Bedeutung der Verwendung von Machine-Learning-Techniken hervor, um die Erkennungsfähigkeiten gegen SQL-Injection-Angriffe zu verbessern. Das Grundmodell, obwohl einfach, erwies sich als unzureichend in realen Szenarien. Im Gegensatz dazu zeigten die Modelle, die Machine Learning einbezogen, signifikante Verbesserungen, insbesondere im Umgang mit ausgeklügelten adversarialen Taktiken.

Zusammenfassend haben wir durch durchdachte Experimente und sorgfältige Überlegung von sowohl harmlosen als auch bösartigen Proben aufgezeigt, wie fortgeschrittene Techniken die Fähigkeit zur Erkennung von SQL-Injection-Angriffen erheblich verbessern können. Die Ergebnisse unserer Experimente zeigen, dass das Training von Modellen speziell für adversariale Bedingungen stärkere Verteidigungen und eine bessere Handhabung verschiedener Angriffsarten ergeben kann.

Die Entwicklungen in dieser Forschung betonen die Notwendigkeit, die Erkennungssysteme kontinuierlich zu verbessern und zeigen das Potenzial von Machine-Learning-Ansätzen auf, um zuverlässigere Sicherheitsmassnahmen gegen SQL-Injection-Bedrohungen zu erreichen. Während sich Angriffsmethoden weiterentwickeln, müssen auch unsere Verteidigungsstrategien angepasst werden, was die Forschung in diesem Bereich entscheidend für zukünftige Sicherheitslösungen macht.

Diese Ergebnisse bilden eine solide Grundlage für weitere Studien, die sich auf die Verbesserung der Erkennung von SQL-Injection-Angriffen konzentrieren und können genutzt werden, um das Design und die Implementierung effektiverer Sicherheitsmassnahmen in realen Anwendungen zu leiten. Die Bedeutung der Anpassung an sich verändernde Angriffsmuster durch kontinuierliche Verfeinerung der Erkennungssysteme kann nicht genug betont werden, angesichts der ständig wachsenden Landschaft von Cyber-Bedrohungen, mit denen Organisationen heute konfrontiert sind.

Originalquelle

Titel: ModSec-AdvLearn: Countering Adversarial SQL Injections with Robust Machine Learning

Zusammenfassung: Many Web Application Firewalls (WAFs) leverage the OWASP Core Rule Set (CRS) to block incoming malicious requests. The CRS consists of different sets of rules designed by domain experts to detect well-known web attack patterns. Both the set of rules to be used and the weights used to combine them are manually defined, yielding four different default configurations of the CRS. In this work, we focus on the detection of SQL injection (SQLi) attacks, and show that the manual configurations of the CRS typically yield a suboptimal trade-off between detection and false alarm rates. Furthermore, we show that these configurations are not robust to adversarial SQLi attacks, i.e., carefully-crafted attacks that iteratively refine the malicious SQLi payload by querying the target WAF to bypass detection. To overcome these limitations, we propose (i) using machine learning to automate the selection of the set of rules to be combined along with their weights, i.e., customizing the CRS configuration based on the monitored web services; and (ii) leveraging adversarial training to significantly improve its robustness to adversarial SQLi manipulations. Our experiments, conducted using the well-known open-source ModSecurity WAF equipped with the CRS rules, show that our approach, named ModSec-AdvLearn, can (i) increase the detection rate up to 30%, while retaining negligible false alarm rates and discarding up to 50% of the CRS rules; and (ii) improve robustness against adversarial SQLi attacks up to 85%, marking a significant stride toward designing more effective and robust WAFs. We release our open-source code at https://github.com/pralab/modsec-advlearn.

Autoren: Biagio Montaruli, Giuseppe Floris, Christian Scano, Luca Demetrio, Andrea Valenza, Luca Compagna, Davide Ariu, Luca Piras, Davide Balzarotti, Battista Biggio

Letzte Aktualisierung: 2024-11-29 00:00:00

Sprache: English

Quell-URL: https://arxiv.org/abs/2308.04964

Quell-PDF: https://arxiv.org/pdf/2308.04964

Lizenz: https://creativecommons.org/licenses/by-sa/4.0/

Änderungen: Diese Zusammenfassung wurde mit Unterstützung von AI erstellt und kann Ungenauigkeiten enthalten. Genaue Informationen entnehmen Sie bitte den hier verlinkten Originaldokumenten.

Vielen Dank an arxiv für die Nutzung seiner Open-Access-Interoperabilität.

Mehr von den Autoren

Ähnliche Artikel