Die häufigsten Fehler beim Programmieren von Datenbanken
Die Idee hinter Datenbanken ist zunächst die, dass Daten einfach und sicher gespeichert und anschließend ebenso einfach und sicher verwaltet werden sollen.
Programmierfehler in Datenbanken können jedoch dazu führen, dass sich genau das Gegenteil davon einstellt und es Angreifern möglich wird, in das System einzudringen und Daten zu manipulieren.
Hier eine Übersicht über häufige und dabei teils sehr gefährliche Fehler in Datenbanken:
• Validierung und Kodierung
Mangelhafte Validierung der Eingabedaten und unzureichende Kodierung der Ausgabedaten. Ein sehr häufiger Fehler, der in Datenbanken auftritt, ist, dass der User die Möglichkeit hat, falsche Daten einzugeben, beispielsweise Buchstaben anstelle von Zahlen, und diese fehlerhaften Daten nicht abgefangen werden.
Ratsam ist, Anweisungen und Metainformationen von den eigentlichen Daten zu trennen, wenn Ausgabedaten erzeugt werden, die zeitgleich als Input dienen.
• Fehlermeldungen
Fehlermeldungen enthalten zu viele Informationen. Es ist völlig ausreichend, den User darüber zu informieren, dass es zu einem Fehler kam. Persönliche Daten, Authentifizierungsbestätigungen, Serverkonfigurationen oder Installationspfade der Software gehören nicht in eine Fehlermeldung, denn sie geben zu viele Informationen bekannt, die sich Angreifer zunutze machen könnten.
• Buffer Overflows.
Überall dort, wo Daten, die aus nicht vertrauenswürdigen Quellen wie beispielsweise Benutzerdateien oder Netzwerken stammen, in einen Speicherbereich mit statistischer Größe geschrieben werden, ohne dass eine Längenprüfung stattfindet, können Speicherüberläufe entstehen. Diese führen nicht nur zu Sicherheitsproblemen, sondern können Programmabstürze hervorrufen.
• Zu viele Rechte.
Wichtig ist darauf zu achten, dass Zugriffsmöglichkeiten nicht zu großzügig gestaltet werden, denn ansonsten droht die Gefahr, dass Nutzer auf Ressourcen zugreifen können, die eigentlich nicht für sie bestimmt sind. Eine Zugriffsbeschränkung sollte sich daher vor allem auf kritische Programme, Konfigurations-Files und die Ressourcen von Betriebssystemen konzentrieren, um auf diese Weise zu verhindern, dass User durch eine Software weitere Programme starten können und dadurch geschützte Daten lesbar werden.
• Passwörter.
Passwörter, die fest programmiert sind, sind zwar eine sehr bequeme Lösung im Hinblick auf Testroutinen, werden jedoch umso gefährlicher, wenn sie öffentlich werden. Sind sie zudem im Binärcode eingebettet, besteht kaum die Möglichkeit, Rettungsmaßnahmen zu ergreifen.
Mehr Tipps und Ratgeber:
- Anleitung – Erstellen einer Access-Datenbank
- Grundwissen zu Standby-Datenbanken
- Vor- und Nachteile von Objektdatenbanken
- Vorteile von XSLT
- UML Unified Modeling Language
- SQL im Portrait
Thema: Die häufigsten Fehler beim Programmieren von Datenbanken
Übersicht:
Fachartikel
Verzeichnis
Über uns
- Wie entstehen Deepfakes? - 20. November 2024
- Woran erkenne ich einen Fake-Shop? - 8. Oktober 2024
- Was bedeutet das neue KI-Gesetz in der Praxis? - 10. September 2024