Was ist ein SQL-Injection-Angriff?
Vielleicht wissen Sie nicht, was ein SQL-Injection (SQLI)-Angriff ist oder wie er funktioniert, aber Sie kennen mit Sicherheit die Opfer. Ziel, Yahoo, Zappos, Equifax, Epic Games, TalkTalk, LinkedIn und Sony Pictures – all diese Unternehmen wurden von Cyberkriminellen mit SQL-Injections gehackt.
Ein SQLI ist eine Art von Angriff, bei dem Cyberkriminelle Software-Schwachstellen in Webanwendungen ausnutzen, um Daten zu stehlen, zu löschen oder zu verändern oder um die Kontrolle über die Systeme zu erlangen, auf denen die betroffenen Anwendungen laufen.
Cybersecurity-Forscher betrachten SQLI als eine der am wenigsten anspruchsvollen, einfach zu verteidigenden Cyberbedrohungen. Malwarebytes Labs stufte SQLI auf Platz drei in Die 5 dümmsten Cyberbedrohungen, die trotzdem funktionieren ein, da SQLI ein bekannter, vorhersehbarer Angriff ist, gegen den sich leicht Gegenmaßnahmen ergreifen lassen.
SQLI-Angriffe sind so einfach, dass Angreifer anfällige Websites mithilfe von Google-Suchen, sogenannten Google Dorking, finden können. Sobald sie ein geeignetes Ziel gefunden haben, können SQLI-Angreifer automatisierte Programme verwenden, um den Angriff effektiv für sie durchzuführen. Alles, was sie tun müssen, ist die URL der Zielseite einzugeben und den gestohlenen Daten zuzusehen.
Und dennoch sind SQLI-Angriffe alltäglich und passieren jeden Tag. Tatsächlich haben Cyberkriminelle, wenn Sie eine Website oder ein Online-Geschäft betreiben, wahrscheinlich bereits versucht, mit SQLI in Ihre Website einzubrechen. Eine Studie des Ponemon Institute zur SQL-Injection-Bedrohung und kürzlichen Einzelhandelsangriffen ergab, dass 65 % der befragten Unternehmen Opfer eines SQLI-basierten Angriffs waren.
Häufig angegriffene Webanwendungen sind: soziale Netzwerke, Onlinehändler und Universitäten. Kleine und mittelgroße Unternehmen sind besonders anfällig, da sie oft nicht mit den Techniken vertraut sind, die Cyberkriminelle bei einem SQLI-Angriff verwenden, und daher nicht wissen, wie sie sich gegen einen solchen Angriff verteidigen können.
Lassen Sie uns also den ersten Schritt zur Verteidigung gegen eine SQL-Injection machen, indem wir uns über das Thema informieren. Hier ist Ihre Einführung in SQL-Injections.
Wie funktioniert eine SQL-Injection?
SQL (kurz für Structured Query Language) wurde in den frühen 70er Jahren entwickelt und ist eine der ältesten Programmiersprachen, die noch heute zur Verwaltung von Online-Datenbanken eingesetzt wird. Diese Datenbanken enthalten Dinge wie Preise und Bestandsmengen für Online-Einkaufsseiten. Wenn ein Benutzer auf Datenbankinformationen zugreifen muss, wird SQL verwendet, um diese Daten an den Benutzer zu übermitteln. Doch diese Datenbanken können auch sensiblere und wertvollere Daten wie Benutzernamen und Passwörter, Kreditkartendaten und Sozialversicherungsnummern enthalten. Hier kommen SQL-Injections ins Spiel.
Vereinfacht ausgedrückt, ist eine SQL-Injection, wenn kriminelle Hacker bösartige Befehle in Webformulare, wie das Suchfeld, Anmeldefeld oder die URL, einer ungesicherten Website eingeben, um unautorisierte Zugriffe auf sensible und wertvolle Daten zu erhalten.
Hier ist ein Beispiel. Stellen Sie sich vor, Sie besuchen Ihre Lieblings-Online-Kleidungsseite. Sie kaufen Socken und sehen sich eine Technicolor-Welt bunter Socken an, die alle mit einem Mausklick erhältlich sind. Die Wunder der Technik! Jede Socke, die Sie sehen, befindet sich in einer Datenbank auf einem Server irgendwo. Wenn Sie eine Socke finden, die Ihnen gefällt, und auf diese Socke klicken, senden Sie eine Anfrage an die Socken-Datenbank, und die Einkaufsseite antwortet mit den Informationen zu der Socke, die Sie angeklickt haben. Stellen Sie sich jetzt vor, Ihre Lieblings-Online-Einkaufsseite ist schlampig aufgebaut, voller ausnutzbarer SQL-Schwachstellen.
Ein Cyberkrimineller kann Datenbankabfragen so manipulieren, dass eine Anfrage nach Informationen über ein Paar Socken die Kreditkartennummer eines unglücklichen Kunden liefert. Indem er diesen Vorgang immer wieder wiederholt, kann ein Cyberkrimineller die Tiefen der Datenbank ausloten und sensible Informationen über jeden Kunden stehlen, der jemals bei Ihrer Lieblings-Online-Kleidungsseite eingekauft hat – einschließlich Ihnen. Wenn man das Gedankenexperiment noch weiter treibt, stellen Sie sich vor, Sie sind der Besitzer dieser Einkaufsseite. Sie haben einen riesigen Datenverstoß an der Hand.
Ein SQLI-Angriff kann Cyberkriminellen persönliche Informationen, E-Mails, Anmeldungen, Kreditkartennummern und Sozialversicherungsnummern von Millionen Verbrauchern einbringen. Cyberkriminelle können diese persönlichen Informationen dann in den düstersten Ecken des Dark Web verkaufen, um sie für alle möglichen illegalen Zwecke zu verwenden.
Gestohlene E-Mails können für Phishing und Malspam-Angriffe verwendet werden. Malspam-Angriffe können wiederum verwendet werden, um Opfer mit verschiedenen zerstörerischen Malware zu infizieren, wie Ransomware, Adware, Cryptojackers und Trojans (z.B. Emotet), um nur einige zu nennen. Gestohlene Telefonnummern für Android- und iOS-Mobilgeräte können mit Robocalls und Textnachricht-Spam angegriffen werden.
Gestohlene Anmeldungen von sozialen Netzwerken können sogar verwendet werden, um Nachrichtenspam zu senden und noch mehr Anmeldungen für zusätzliche Seiten zu stehlen. Malwarebytes Labs berichtete zuvor über gehackte LinkedIn-Konten, die verwendet wurden, um andere Nutzer mit InMail-Nachrichten zu spammern, die schlechte URLs enthalten, die vorgetäuscht wurden, um wie eine Google Docs-Anmeldeseite auszusehen, bei der Cyberkriminelle Google-Benutzernamen und -Passwörter ernten konnten.
Wie sieht die Geschichte der SQL-Injections aus?
Das SQL-Injection-Exploit wurde erstmals 1998 vom Cybersicherheitsforscher und Hacker Jeff Forristal dokumentiert. Seine Ergebnisse wurden im langjährigen Hacker-Magazin Phrack veröffentlicht. Unter dem Pseudonym Rain Forest Puppy beschrieb Forristal, wie jemand mit grundlegenden Programmierkenntnissen unautorisierte SQL-Befehle den legitimen SQL-Befehlen anhängen und sensible Informationen aus der Datenbank einer unsicheren Website ziehen kann.
Als Forristal Microsoft darüber informierte, wie die Schwachstelle ihr beliebtes SQL Server-Produkt beeinflusste, sahen sie es nicht als Problem. Wie Forristal es ausdrückte „Laut ihnen [Microsoft] ist das, was Sie gleich lesen werden, kein Problem, also brauchen Sie sich nicht darum zu kümmern, es zu stoppen.“
Bemerkenswert an Microsofts laxem Verhalten ist, dass viele Branchen und Institutionen ernsthaft auf die Datenbankverwaltungstechnologie des Unternehmens angewiesen sind, um ihre Abläufe aufrechtzuerhalten, darunter der Einzelhandel, das Bildungswesen, das Gesundheitswesen, das Bankwesen und das Personalwesen.
Im Jahr 2007 fiel die größte Einzelhandelskette in den USA, 7-Eleven, einem SQLI-Angriff zum Opfer. Russische Hacker nutzten SQL-Injections, um in die 7-Eleven-Website einzudringen und diese als Sprungbrett in die Datenbank der Kunden-Debitkarten der Kette zu nutzen. Damit konnten die Hacker dann in Russland Bargeld abheben. Insgesamt erbeuteten die Täter zwei Millionen Dollar, berichtete das Wired-Magazin.
Nicht alle SQLI-Angriffe sind durch Gier motiviert. In einem anderen bemerkenswerten Beispiel aus dem Jahr 2007 nutzten Cyberkriminelle SQLI, um administrative Kontrolle über zwei mit der US-Armee verbundene Websites zu erlangen und Besucher auf Websites mit anti-amerikanischer und anti-israelischer Propaganda umzuleiten.
Der MySpace-Datenbruch von 2008 gehört zu den größten Angriffen auf eine Verbraucherwebsite. Cyberkriminelle stahlen E-Mails, Namen und teilweise Passwörter von fast 360 Millionen Konten. Und das ist der Grund, warum man nicht dieselben Passwörter auf verschiedenen Websites verwenden sollte.
Den Titel für die gravierendste Sicherheitsnachlässigkeit bekommt Equifax. Der Datenbruch von Equifax 2017 führte dazu, dass extrem persönliche Informationen (d.h. Namen, Sozialversicherungsnummern, Geburtsdaten und Adressen) von 143 Millionen Verbrauchern verschafft wurden. Für eine Organisation, die als Torwächter von Informationen für jeden einzelnen Amerikaner fungiert, außer denen, die vom Netz leben, könnte man meinen, sie würden Vorkehrungen gegen einen grundlegenden SQLI-Angriff treffen. Bevor der Datenbruch stattfand, warnte sogar eine Cybersicherheitsforschungseinrichtung Equifax, dass sie anfällig für einen SQLI-Angriff seien, aber das Kreditbüro unternahm keine Maßnahmen, bis es zu spät war.
In dem, was als der unheimlichste Hack der Geschichte eingestuft wird, führte ein SQLI-Angriff auf den Spielzeughersteller Vtech im Jahr 2015 zu einem Datenbruch von fast fünf Millionen Eltern und 200.000 Kindern. Im Gespräch mit Motherboard, der Online-Multimedia-Veröffentlichung, behauptete der Verantwortliche Hacker, er habe keine Pläne für die Daten und sie nirgendwo online veröffentlicht. Andererseits erklärte der Hacker auch, dass die Daten sehr leicht zu stehlen waren und jemand anderes zuerst dran hätte kommen können. Kalter Trost in der Tat.
Gehen wir zurück in die heutige Zeit, der SQLI-Angriff ist immer noch ein Thema. Alle drei Jahre bewertet das Open Web Application Security Project (OWASP) die Top 10 der kritischsten Sicherheitsrisiken für Webanwendungen. In der jüngsten Ausgabe von 2017 rangierte der SQLI-Angriff auf Platz eins.
Neben der Langlebigkeit des SQLI-Angriffs ist interessant, dass SQLI-Angriffe sich in keiner Weise verändert oder weiterentwickelt haben. SQLI-Angriffe funktionieren und werden weiterhin erfolgreich sein, bis die Menschen ihre Einstellung zur Cybersicherheit ändern. Seien Sie diese Veränderung.
Neuigkeiten zu SQL-Injections
- Was ist ein Honeypot? Wie sie in der Cybersicherheit eingesetzt werden
- Interview mit einem Wanzen-Kopfgeldjäger: Youssef Sammouda
- Ein Zero-Day-Leitfaden für 2020: Aktuelle Angriffe und fortschrittliche Präventivtechniken
- Schwachstellen in mobilen Finanzanwendungen gefährden Verbraucher und Unternehmen
- Wie Sie Ihr Content-Management-System sichern
- Erklärt: SQL-Einschleusung
- OWASP Top Ten - Langweilige Sicherheit, die sich auszahlt
- Die 5 dümmsten Cyber-Bedrohungen, die trotzdem funktionieren
Wie wirken sich SQL-Injections auf mein Unternehmen aus?
Wie in unserem Bericht zu Cybercrime-Taktiken und -Techniken berichtet, stiegen die Cyberangriffe (aller Art) auf Unternehmen im zweiten Halbjahr 2018 um 55 %, während die Angriffe auf einzelne Verbraucher nur um 4 % zunahmen. Die Statistiken sind nicht überraschend. Unternehmen mit mäßiger Sicherheit bieten Kriminellen ein einfaches Ziel, das eine Schatzkammer wertvoller Daten im Wert von Millionen hält.
Umgekehrt kann ein Unternehmen im Zentrum eines Datenbruchs damit rechnen, Millionen zu zahlen. Eine IBM-Studie fand heraus, dass die durchschnittlichen Kosten eines Datenbruchs, einschließlich Behebung und Strafen, 3,86 Millionen Dollar betragen. Der zuvor erwähnte LinkedIn-Datenbruch kostete die Business-Networking-Website $1,25 Millionen in einer außergerichtlichen Einigung.
Nach ihrem Datenbruch war Target gezwungen, die größte jemals verzeichnete Summe von 18,5 Millionen Dollar zu zahlen, um Untersuchungen mehrerer Staaten zu beilegen. Dies kam zusätzlich zu den 10 Millionen Dollar, die Target zahlte, um eine Sammelklage zu beenden, die von Verbrauchern angestrebt wurde.
Zugegeben, dies sind riesige Datenbrüche, die Millionen von Verbrauchern betreffen. Dennoch können kleine und mittelgroße Unternehmen immer noch erwarten, 148 Dollar pro gestohlenen Datensatz eines Verbrauchers zu zahlen.
Die Moral von der Geschichte? Nehmen Sie Ihre Sicherheit ernst und vermeiden Sie es, ein "Ziel" für Cyberkriminelle zu werden.
Wie kann ich mich gegen SQL-Injections schützen?
Abgesehen von dieser ganzen Aufregung sind Sie hier, weil Sie wissen, dass SQL-Injections eine ernsthafte Bedrohung darstellen. Lassen Sie uns jetzt etwas dagegen tun. Hier sind einige Tipps, wie Sie Ihr Unternehmen vor SQL-Injection-Angriffen schützen können.
Aktualisieren Sie Ihre Datenbankverwaltung-Software. Ihre Software hat bereits Schwachstellen, wenn sie vom Hersteller kommt. Dies ist eine Tatsache. Es gibt keine fehlerfreie Software. Cyberkriminelle können diese Software-Schwachstellen, oder Exploits, mit einer SQLI ausnutzen. Sie können sich schützen, indem Sie einfach Ihre Datenbankverwaltung-Software patchen und aktualisieren.
Erzwingen Sie das Prinzip der minimalen Privilegien (PoLP). PoLP bedeutet, dass jedes Konto nur so viel Zugriff hat, wie es für seine Aufgabe benötigt und nichts mehr. Zum Beispiel sollte ein Webkonto, das nur Lesezugriff auf eine bestimmte Datenbank benötigt, keine Möglichkeit haben, Daten zu schreiben, zu bearbeiten oder in irgendeiner Weise zu ändern.
Verwenden Sie vorbereitete Anweisungen oder gespeicherte Prozeduren. Im Gegensatz zu dynamischem SQL begrenzen vorbereitete Anweisungen Variablen in eingehenden SQL-Befehlen. Auf diese Weise können Cyberkriminelle keine bösartigen SQL-Injections an legitime SQL-Anweisungen anhängen. Gespeicherte Prozeduren begrenzen ähnlich, was Cyberkriminelle tun können, indem SQL-Anweisungen in der Datenbank gespeichert werden, die von der Webanwendung durch den Benutzer ausgeführt werden.
Stellen Sie kompetente, erfahrene Entwickler ein. SQL-Injektionen entstehen oft durch unsauberes Programmieren. Lassen Sie Ihre Softwareentwickler im Voraus wissen, welche Sicherheitsanforderungen Sie erwarten.
Was tun, wenn meine persönlichen Daten bei einem Datenleck gestohlen wurden? Werfen Sie einen Blick auf unsere Checkliste bei Datenlecks. Dort erfahren Sie, wie Sie nach einer von SQLI-Angriffen verursachten Datenpanne aufräumen und sicher bleiben.
Besuchen Sie OWASP. Das Open Web Application Security Project, kurz OWASP, ist die führende Autorität für Webanwendungen und hat viele weiterführende Informationen zur Verhinderung von SQL-Injektionen.
Und wenn Sie nicht genug von SQL-Injektionen bekommen können, besuchen Sie den Malwarebytes Labs Blog, um alles über die neuesten Entwicklungen in der Welt der Cyberbedrohungen und der Cybersicherheit zu erfahren.