Angriff auf die Eingabeüberprüfung (input validation attack)
Angriffe auf die Eingabeüberprüfung (input validation attack) finden satt, wenn Angreifer absichtlich Informationen in ein System oder eine Anwendung eingeben, um die Funktionalität des Systems zu beeinträchtigen.
In bestimmten Fällen kann eine Webanwendung einen bösartigen Angriff auf die Eingabevalidierung verursachen, wenn sie im Hintergrund läuft. In vielen Fällen ist es jedoch eine Einzelperson, die gezielt Daten in das System eingibt, um eine Beeinträchtigung oder eine bestimmte Wirkung zu erzielen.
Wenn Informationen von einer Anwendung oder einem Anwender als Teil eines Angriffs auf die Benutzereingabe eingegeben werden, kann dies ein System für unbefugte Änderungen oder andere Befehle anfällig machen. Die Art der Daten, die hierfür in ein System eingegeben werden können, reichen von einfachen Wörtern über Schadcode bis hin zu groß angelegten Informationsangriffen. Die beste Form der Verteidigung gegen diese Angriffe besteht darin, vor der Bereitstellung einer Anwendung eine solide Eingabevalidierung durchzuführen.
Verschiedene Angriffe auf die Eingabeüberprüfung
Gängige Arten von Angriffen über die Eingabevalidierung sind:
Buffer Overflow oder Pufferüberlauf. Bei dieser Art von Angriff werden zu viele Informationen gesendet, die ein System nicht verarbeiten kann, so dass ein Computer beispielsweise nicht mehr reagiert. Ein Pufferüberlauf kann dazu führen, dass überschüssige Informationen Speicher belegen, der nicht dafür vorgesehen war und manchmal auch Speicher überschreiben. Derartige Attacken können Angreifer in die Lage versetzen, auf dem System Schadcode auszuführen.
Canonicalization Attack. Bei diesem Angriff, wird ein Dateiverzeichnispfad geändert beziehungsweise manipuliert, der über bestimmte Zugriffsrechte auf Teile eines Computers verfügt, um dem Angreifer Zugriff zu gewähren. Diese nutzen den unbefugten Zugang, um sensible Informationen zu stehen oder nicht genehmigte Änderungen vorzunehmen.
XSS-Angriffe (Cross Site Scripting). Bei diesen Cross-Site-Scripting-Angriffen wird beispielsweise ein bösartiger Link an einer harmlosen Stelle platziert. Dies kann zum Beispiel ein Forum sein. Dieser Link scheint augenscheinlich eine gültige URL zu enthalten, in der aber ein gefährliches Skript eingebettet sein kann. Ein ahnungsloser Besucher der Website würde dieser vertrauen, und sich keine Sorgen machen, dass der Link eine schädliche Aktion auslöst.
SQL Injection. Bei SQL-Injection-Angriffen wird beispielweise eine öffentliche URL verwendet und am Ende ein SQL-Code (Structured Query Language, SQL) hinzugefügt, um Zugang zu sensiblen Informationen zu erhalten. Ein Angreifer könnte Code in ein Feld eingeben, der einen Computer anweist, beispielsweise den gesamten Inhalt einer Datenbank an den Hacker zu kopieren. Oder es könnte veranlasst werden manipulierte Informationen zu authentifizieren, versteckte Einträge in einer Datenbank aufzudecken oder Informationen ohne Zustimmung zu löschen.