SQL-Injection: Was sich dahinter verbirgt und wie Sie sich schützen

Datenbanken sind unverzichtbar für Websites, Programme und Apps. Sie speichern alle wichtigen Betriebsdaten. Um die Informationen aus einer Datenbank abzurufen, wird eine standardisierte Abfragesprache benötigt. SQL ist solch eine Abfragesprache, die Webanwendungen verwenden, um bei jedem Aufruf einer Website große Mengen an Informationen aus einer Datenbank abzurufen. Mithilfe der sogenannten SQL-Injection (zu Deutsch: SQL-Einschleusung), um Zugriff auf Datenbanken zu bekommen. Erfahren Sie, was bei einer SQL-Injection passiert und wie Sie sich davor schützen. Entdecken Sie außerdem, wie Avira Free Security Ihre Online-Sicherheit und Anonymität unterstützt.  

Definition: Was ist eine SQL-Injection? 

SQL ist eine Sprache, die verwendet wird, um mit Datenbanken zu kommunizieren. Mit SQL kann man Daten in einer Datenbank lesen, abrufen und bearbeiten. Das bedeutet, dass man Informationen, die in einer Datenbank gespeichert sind, anzeigen, ändern oder löschen kann. Die Abkürzung SQL steht dabei für „Structured Query Language“ (deutsch: Strukturierte An- und Abfragesprache). 

Aufgrund der Vielzahl an gespeicherten Informationen sind Datenbanken ein sehr attraktives Ziel für Hacker. Cyberkriminelle richten durch einen gezielten Datenklau oder die Manipulation von Datensätzen jährlich immense Schäden an. Mithilfe von SQL-Injection (kurz: SQLi) können Cyberkriminelle relativ einfach unautorisierten Zugang zu Datenbanken erhalten. Dabei handelt es sich nicht um kompliziertes Hacking, sondern um einfache Codebefehle, die in vorhandene Eingabefelder eingegeben werden.  

Zur Erklärung: Bei einer SQLi hinterlegen Hacker einen betrügerischen Code in einem Eingabefeld, wie beispielsweise einer Suchfunktion oder einem Anmeldeformular. Die Website erkennt diesen Befehl irrtümlich als eine gültige Datenbankabfrage und erlaubt den Zugriff auf sämtliche Daten, Informationen sowie die Möglichkeit, diese zu manipulieren. 

Wie genau funktioniert eine SQL-Injection? 

Das Ziel einer SQL-Injection ist, schädlichen Code in eine Website, App oder ein Programm einzuschleusen. Dieser betrügerische SQL-Befehl wird in ein normales Eingabefeld eingefügt, die Datenbank führt den jeweiligen Befehl aus und der Angreifer erhält unautorisierten Zugriff. 

Möglich sind SQL-Injections dabei nur aufgrund von Fehlern oder Ungenauigkeiten in den Skripten und Quellcodes der SQL-Datenbanken. Diese Sicherheitslücken entstehen häufig, wenn die Verbindung zwischen einer Webanwendung und der jeweiligen Datenbank fehlerhaft konfiguriert wurde. 

Wichtig: Nicht jede Seite, die auf SQL als Datenbanksprache zurückgreift, stellt automatisch ein Sicherheitsrisiko dar. Allerdings sind Hacker in der Lage, die besagten Sicherheitslücken in Apps, Websites und Programmen auszuspähen und für ihre Zwecke auszunutzen. 

Wie nutzen Cyberkriminelle eine SQL-Injection? 

Eine SQL-Injection richtet sich in erster Linie an Banken, Behörden, Forschungseinrichtungen und (mittel-)große Unternehmen. Die möglichen Schäden eines derartigen Angriffs sind oft sehr weitreichend. Geschäftsrelevante Interna, Strategien, Pläne und Dokumentationen: Datenbanken beherbergen eine Vielzahl an sensiblen Dokumenten. 

Doch auch Privatpersonen sind Betroffene von SQL-Injection-Angriffen. Angreifer können Ihre persönlichen Daten (E-Mail-Adresse, Passwörter, Kontodaten etc.) missbrauchen oder im Darknet weiterverkaufen. Man spricht bei dieser Form der Cyberkriminalität von Identitätsdiebstahl.  

Mit dem Avira Identity Assistant können Sie überprüfen, ob von Ihnen sensible, personenbezogenen Daten bereits den Weg ins Darknet gefunden haben. 

Sind SQL-Injections illegal? 

Die Antwort lautet: Ja, SQL-Injections sind illegal, wenn Sie unberechtigten Zugang zu Daten erhalten. Das heißt, wenn Sie ohne Erlaubnis auf fremde Daten zugreifen, ist dies nach §202a des Strafgesetzbuches in Deutschland strafbar. Der Tatbestand bezieht sich in diesem Fall auf das Ausspähen von Daten. 

Konkret heißt es im Gesetz: „Wer unbefugt sich oder einem anderen Zugang zu Daten, die nicht für ihn bestimmt und die gegen unberechtigten Zugang besonders gesichert sind, unter Überwindung der Zugangssicherung verschafft, wird mit Freiheitsstrafe bis zu drei Jahren oder mit Geldstrafe bestraft.“ 

Welche Arten von SQL-Injection gibt es? 

Je nach Systemverhalten gibt es unterschiedliche Angriffsmethoden. Grundsätzlich beobachten und analysieren die Hacker ihr Ziel und entscheiden sich dann für eine Vorgehensweise. Zu den drei geläufigsten Arten der SQL-Injection zählen die unbereinigte Eingabe, die blinde SQL-Injection sowie die Out-of-Band-Injection. 

Unbereinigte Eingabe  

Benutzereingaben werden weder gefiltert noch bereinigt. Das heißt, die Eingaben der Nutzer werden nicht validiert oder gegengecheckt. Hacker geben ihren Code in das Eingabefeld ein. Die Datenbank führt diesen Code ohne Überprüfung aus. Diese Art von unbereinigter Eingabe macht SQL-Injections einfach, da die Datenbank alle Befehle direkt und ohne Hinterfragen ausführt.  

Blinde SQL-Injection 

Wenn Datenbanken keine Fehlermeldung bei ungültigen Eingaben ausspielen, greifen Cyberkriminelle auf die blinde SQL-Injection zurück. Diese Methode basiert auf dem Prinzip von „Trial & Error“. So testen die Hacker verschiedene SQL-Abfragen und analysieren die indirekten Antworten der Website, zum Beispiel die Reaktionszeit. Über diese besondere Form des Ausschlussverfahrens ziehen sie Rückschlüsse auf die Struktur einer Datenbank sowie ihre Inhalte. 

Out-of-Band-SQL-Injection 

Bei dieser Form der SQL-Injection senden Hacker Daten über andere Kommunikationswege, die nicht für die Anwendung gedacht sind. Diese Methode wird für Kriminelle dann attraktiv, wenn die Datenbank eine direkte Rückmeldung gibt. Hacker nutzen dann spezielle Internetanfragen, um die Anwendung dazu zu bringen, die gewünschten Informationen preiszugeben. 

Was sind die Auswirkungen von SQL-Injection-Angriffen? 

Erfolgreiche SQLi-Angriffe haben oft schwerwiegende Folgen für Unternehmen und Privatpersonen. Zu den häufigsten Risiken gehören: 

Wie erkennt man eine SQL-Injection? 

Eine SQL-Injection ist im Gegensatz zu vielen anderen Hacking-Methoden schwer nachzuvollziehen, da sie kaum Spuren hinterlässt. Denn es handelt sich im Prinzip um ganz reguläre Datenbankabfragen, wobei der Inhalt der Abfrage das Problem ist. Trotzdem gibt es einige Hinweise, die auf eine SQL-Injection deuten: 

Wie können Sie eine SQL-Injection verhindern? 

Als Privatperson sind Sie selten Ziel einer SQL-Injection und müssen daher wenig aktiv werden. Dennoch gibt es einige Wege, wie Sie sich sicherer im Internet bewegen und die Risiken von einem Identitätsdiebstahl minimieren können. 

Zusätzlicher Schutz dank Avira Free Security 

Ein aufmerksames Auge und ein behutsamer Umgang mit den eigenen Daten helfen Ihnen dabei, sich sicher im Internet zu bewegen und Angriffe besser zu verhindern. Für noch mehr Sicherheit empfehlen wir Ihnen Avira Free Security. 

Die All-in-One-Lösung bietet Ihnen zusätzlichen Echtzeit-Schutz vor Schadsoftware und macht Ihre Geräte und Daten im Netzwerk sicherer. Zudem haben Sie die Möglichkeit, mit dem integrierten VPN Ihre Aktivitäten und Ihren Standort im Internet zu verschleiern. So surfen Sie nicht nur in öffentlichen Netzwerken sicherer, sondern können auch von überall auf der Welt auf länderspezifische Multimedia-Inhalte zurückgreifen. 

 

Dieser Artikel ist auch verfügbar in: EnglischFranzösischItalienisch

Die mobile Version verlassen