Über uns
Die 10 wichtigsten vermeidbaren Probleme mit der Datenbanksicherheit
Top 10 Datenbanksicherheitsprobleme
- Unbereinigte Abfragen: Besonders bei SQL-Datenbanken ist ein häufiges, jedoch oft übersehenes Sicherheitsrisiko das Versäumnis, SQL-Abfragen vor dem Einfügen in die Datenbank zu bereinigen. Dieses Problem führt zu sogenannten SQL-Injection-Angriffen, bei denen selbst unerfahrene Hacker durch das Einsenden von fehlerhaften Abfragen erheblichen Schaden anrichten können. Eine einfache Lösung ist das Einfügen einer Logikschicht, die eingehende Abfragen überprüft und ungültige Anfragen wie „;DROP TABLE wichtige_tabelle;“ herausfiltert.
- Informationsinferenz. Ein schwieriges und oft übersehenes Sicherheitsproblem ist die Möglichkeit, auf vertrauliche Informationen durch Abfragen zu unsensiblen Daten zu schließen. Wenn beispielsweise eine Datenbank die Anzahl an Konten mit bestimmten Berechtigungen verschleiern will, jedem Konto aber eine aufeinander folgende ID zuweist, können Nutzer durch Lücken in den ID-Nummern Rückschlüsse auf gesperrte Konten und deren IDs ziehen.
- PEBKAC (Problem Exists Between Keyboard and Chair) Dieser Punkt ist möglicherweise besser für Rang eins geeignet, da es die größte Bedrohung für die Datenbanksicherheit darstellt. Ein autorisierter Benutzer mit kritischen Zugriffsrechten, aber einem schlechten Verständnis von Passwortsicherheit, kann die gesamte Datenbank gefährden. Diese Sicherheitslücke ist schwer zu erkennen und zu regulieren, da auch erfahrene Benutzer Fehler machen können – ein einzelner Fehler reicht aus, um die Sicherheit der Datenbank zu gefährden.
- Unnötige Berechtigungen. Ähnlich wie bei PEBKAC stellt das Zuweisen von Berechtigungen, die Nutzer nicht benötigen, ein erhebliches Sicherheitsrisiko dar. Benutzerberechtigungen sollten streng reguliert werden, um die Sicherheit der Datenbank zu gewährleisten.
- Unnötig aktivierte Funktionen. Viele Datenbanken sind flexibel ausgelegt, jedoch kann diese Flexibilität auch eine Schwachstelle sein, wenn Funktionen aktiviert bleiben, die für die jeweilige Anwendung nicht erforderlich sind. Durch das Deaktivieren aller nicht benötigten Funktionen kann die Datenbanksicherheit erheblich verbessert werden.
- Trennung von Web- und Datenbank-Server. Wenn Ihr Webserver kompromittiert wird, ist es vorteilhaft, wenn die Datenbank auf einem separaten Server liegt. Durch die Trennung der Web- und Datenbank-Server können Angriffe weiter eingeschränkt, zusätzliche Sicherheitsmaßnahmen angewendet und Datenlecks isoliert werden. Diese Aufteilung schützt die Daten besser und erlaubt spezifische Sicherheitsmaßnahmen für die Anwendung und die Datenbank.
- Unverschlüsselte Daten. Sensible Daten sollten verschlüsselt, gehasht und gesalzen sein. Falls eine Sicherheitslücke zum Eindringen führt, können die Daten so nicht direkt verwendet werden.
- Pufferüberläufe. Diese Art von Angriff schickt mehr Daten an die Datenbank, als diese verarbeiten kann, sodass die überschüssigen Daten „überlaufen“ und Zugänge zu anderen Funktionen schaffen.
- Privilegienerweiterung. Diese Angriffsart erfordert detailliertes Wissen über die Datenbankarchitektur. Durch spezifische Schwachstellen kann ein Angreifer höhere Rechte erlangen und auf Funktionen zugreifen, die nur für vertrauenswürdige Benutzer oder Administratoren vorgesehen sind. Regelmäßige Software-Updates sind der effektivste Schutz gegen solche Angriffe.
- Übermäßiges Vertrauen. Die Merheit in Datenbanken erfordert eine gesunde Portion Paranoia. Keine Sicherheitsmaßnahme ist völlig wasserdicht und Administratoren sollten alles stets kritisch hinterfragen. Datenbanken jeglicher Größe und Bedeutung werden früher oder später Angriffen ausgesetzt. Nur durch konsequente Vorsicht und Misstrauen gegenüber bestehenden Sicherheitsmaßnahmen kann eine Datenbank sicher bleiben.
Jede dieser Sicherheitsmaßnahmen ist notwendig, um eine Datenbank vor den vielseitigen Bedrohungen zu schützen, denen sie ausgesetzt ist.