Risiko Rechtemanagement
Betreiben Sie einen Webshop mit Datenbanken im Hintergrund, so legen Sie üblicherweise per Rechtemanagement fest, welche Daten Ihre Kund:innen in Ihren Datenbanken aus dem Internet einsehen können und welche nicht.
So dürfen Besucher:innen Ihres Shops beispielsweise die Lieferzeit oder die Verfügbarkeit Ihrer eigenen Bestellungen abrufen, aber schon aus Gründen des Datenschutzes nicht die Namen und Adressen anderer Kund:innen, die die gleichen Produkte ebenfalls gekauft haben.
Außerdem dürfen Ihre Kundinnen und Kunden beispielsweise die eigenen Adressdaten aktualisieren oder ihre Bankverbindung ändern. Das Rechtemanagement regelt somit, welche Datenbank-Abfragen überhaupt zulässig sind und welche Daten von welchen Benutzer:innen jeweils verändert werden dürfen.
Eine Injection-Attacke umgeht dieses Rechtemanagement.
Aushebeln von Benutzerrechten per Injection
Als Injection bezeichnen Expert:innen das Ausnutzen von Sicherheitslücken oder Programmfehlern, um einzelne Befehle oder komplette Programme in fremde Systeme einzuschleusen. Solche Injections werden häufig genutzt, um Datenbankbefehle an Ihrem Rechtemanagement vorbeizusenden und diese dann in Ihren Systemen auszuführen (Command Injection).
Die Angreifer:innen geben beispielsweise in ungeschützte Web-Eingabefelder bestimmte Wörter und Sätze ein, die vom jeweiligen Datenbankmanagementsystem als Datenbank-Befehle erkannt und ausgeführt werden. Solche eingeschleusten Befehle werden auch als „Payload“ (auf Englisch: Nutzlast) bezeichnet.
Gelingt es Kriminellen auf diesem Weg, in einer scheinbar harmlosen Suchanfrage zum Beispiel den Datenbank-Befehl zum Auslesen Ihrer kompletten Datenbestände zu verstecken, so können die Angreifer:innen damit Ihre vollständigen Kundendaten und weitere vertrauliche Informationen stehlen.
Andere versteckte Befehle wiederum erlauben das Abändern geschützter Inhalte in Ihren Datenbanken. So könnten Angreifer:innen beispielsweise aus der Ferne alle Preise in Ihrem Webshop auf Cent-Beträge heruntersetzen und dann Ihren Shop leerkaufen.
Je nach Umfang der vorhandenen Sicherheitslücken können Kriminelle per Injection sogar Zugriff auf Ihr dahinterliegendes Betriebssystem erlangen und dann Schadprogramme wie Viren oder Ransomware in Ihre Systeme oder Ihre Cloud einschleusen. Ein solcher Angriff wird auch als Code-Injection bezeichnet. Auch das Cross-Site-Scripting (XSS), bei dem Angreifer Schadcode in Ihren Webseiten verstecken, der dann von anderen Besucher:innen dieser Webseiten unbemerkt heruntergeladen wird, gehört zu den Injection-Angriffen. SQL-Injection als verbreitete Form der Injection-Angriffe
Die SQL-Injection ist eine Unterart der Injection-Attacken, bei der Kriminelle SQL-Abfragen verwenden, um SQL-Datenbanken zu hacken. Es handelt sich hierbei also um eine Form von Command Injection, aber speziell auf SQL-Systemen.
Da SQL weit verbreitet ist, ist die SQL-Injection die häufigste Form von Injection-Angriffen auf Datenbanken und macht nach Schätzungen von Expert:innen mehr als die Hälfte aller derartigen Attacken aus. Oft wird die SQL-Injection auch als SQLi abgekürzt.