Datenbanktests - Sicherheit
Datenbanksicherheitstests werden durchgeführt, um die Lücken in den Sicherheitsmechanismen zu ermitteln und um die Schwachstellen oder Schwachstellen des Datenbanksystems zu ermitteln.
Das Hauptziel von Datenbanksicherheitstests besteht darin, Schwachstellen in einem System herauszufinden und festzustellen, ob seine Daten und Ressourcen vor potenziellen Eindringlingen geschützt sind. Sicherheitstests definieren eine Möglichkeit, potenzielle Schwachstellen bei regelmäßiger Durchführung effektiv zu identifizieren.
Nachstehend sind die Hauptziele der Durchführung von Datenbanksicherheitstests aufgeführt:
- Authentication
- Authorization
- Confidentiality
- Availability
- Integrity
- Resilience
Arten von Bedrohungen auf einem Datenbanksystem
SQL-Injektion
Dies ist die häufigste Art von Angriff in einem Datenbanksystem, bei dem schädliche SQL-Anweisungen in das Datenbanksystem eingefügt und ausgeführt werden, um wichtige Informationen vom Datenbanksystem abzurufen. Dieser Angriff nutzt Lücken bei der Implementierung von Benutzeranwendungen. Um dies zu verhindern, sollten Benutzereingabefelder sorgfältig behandelt werden.
Berechtigungserhöhung in der Datenbank
Bei diesem Angriff hat ein Benutzer bereits Zugriff auf das Datenbanksystem und versucht nur, diesen Zugriff auf eine höhere Ebene zu erhöhen, damit er einige nicht autorisierte Aktivitäten im Datenbanksystem ausführen kann.
Denial of Service
Bei dieser Art von Angriff macht ein Angreifer ein Datenbanksystem oder eine Anwendungsressource für seine legitimen Benutzer nicht verfügbar. Anwendungen können auch auf eine Weise angegriffen werden, die die Anwendung und manchmal den gesamten Computer unbrauchbar macht.
Nicht autorisierter Zugriff auf Daten
Eine andere Art von Angriff besteht darin, unbefugten Zugriff auf Daten innerhalb einer Anwendung oder eines Datenbanksystems zu erhalten. Nicht autorisierter Zugriff umfasst -
- Nicht autorisierter Zugriff auf Daten über benutzerbasierte Anwendungen
- Nicht autorisierter Zugriff durch Überwachung des Zugriffs anderer
- Nicht autorisierter Zugriff auf wiederverwendbare Clientauthentifizierungsinformationen
Identitäts-Spoofing
Beim Identity Spoofing verwendet ein Hacker die Anmeldeinformationen eines Benutzers oder Geräts, um Angriffe auf Netzwerkhosts zu starten, Daten zu stehlen oder Zugriffskontrollen auf das Datenbanksystem zu umgehen. Um diesen Angriff zu verhindern, sind Maßnahmen auf IT-Infrastruktur- und Netzwerkebene erforderlich.
Datenmanipulation
Bei einem Datenmanipulationsangriff ändert ein Hacker Daten, um einen Vorteil zu erzielen oder das Image von Datenbankbesitzern zu beschädigen.
Testtechniken für die Datenbanksicherheit
Penetrationstests
Ein Penetrationstest ist ein Angriff auf ein Computersystem mit der Absicht, Sicherheitslücken zu finden und möglicherweise Zugriff auf dieses System, seine Funktionalität und Daten zu erhalten.
Risikofindung
Die Risikofindung ist ein Prozess zur Bewertung und Entscheidung des mit der Art des Verlusts und der Möglichkeit des Auftretens von Sicherheitslücken verbundenen Risikos. Dies wird innerhalb der Organisation durch verschiedene Interviews, Diskussionen und Analysen bestimmt.
SQL Injection Test
Dabei werden die Benutzereingaben in Anwendungsfeldern überprüft. Geben Sie beispielsweise ein Sonderzeichen wie ',' oder ';' ein. in einem Textfeld in einer Benutzeranwendung sollte nicht erlaubt sein. Wenn ein Datenbankfehler auftritt, bedeutet dies, dass die Benutzereingabe in eine Abfrage eingefügt wird, die dann von der Anwendung ausgeführt wird. In einem solchen Fall ist die Anwendung für SQL-Injection anfällig.
Diese Angriffe stellen eine große Bedrohung für Daten dar, da die Angreifer auf wichtige Informationen aus der Serverdatenbank zugreifen können. Um SQL-Injection-Einstiegspunkte in Ihre Webanwendung zu überprüfen, ermitteln Sie Code aus Ihrer Codebasis, in dem direkte MySQL-Abfragen in der Datenbank ausgeführt werden, indem Sie einige Benutzereingaben akzeptieren.
SQL Injection Testing kann für Klammern, Kommas und Anführungszeichen durchgeführt werden.
Passwort knacken
Dies ist die wichtigste Überprüfung beim Durchführen von Datenbanksystemtests. Um auf wichtige Informationen zuzugreifen, können Hacker ein Tool zum Knacken von Passwörtern verwenden oder einen gemeinsamen Benutzernamen / ein gemeinsames Passwort erraten. Diese gebräuchlichen Passwörter sind im Internet leicht verfügbar und auch Tools zum Knacken von Passwörtern sind frei verfügbar.
Daher muss zum Zeitpunkt des Tests überprüft werden, ob die Kennwortrichtlinie im System beibehalten wird. Bei Bank- und Finanzanwendungen müssen für alle kritischen Informationsdatenbanksysteme strenge Kennwortrichtlinien festgelegt werden.
Sicherheitsüberprüfung des Datenbanksystems
Bei einem Sicherheitsaudit werden die Sicherheitsrichtlinien des Unternehmens in regelmäßigen Abständen bewertet, um festzustellen, ob die erforderlichen Standards eingehalten werden oder nicht. Je nach Geschäftsanforderung können verschiedene Sicherheitsstandards befolgt werden, um die Sicherheitsrichtlinie zu definieren, und anschließend kann eine Bewertung der festgelegten Richtlinien anhand dieser Standards durchgeführt werden.
Beispiele für die gängigsten Sicherheitsstandards sind ISO 27001, BS15999 usw.
Tools zum Testen der Datenbanksicherheit
Auf dem Markt sind verschiedene Systemtest-Tools erhältlich, mit denen das Betriebssystem und die Anwendungsprüfung getestet werden können. Einige der gebräuchlichsten Tools werden unten erläutert.
Zed Attack Proxy
Es ist ein Penetrationstest-Tool zum Auffinden von Schwachstellen in Webanwendungen. Es wurde für Personen mit einem breiten Spektrum an Sicherheitserfahrungen entwickelt und ist daher ideal für Entwickler und Funktionstester, die noch keine Erfahrung mit Penetrationstests haben. Es wird häufig für Windows, Linux und Mac OS verwendet.
Paros
Alle HTTP- und HTTPS-Daten zwischen Server und Client, einschließlich Cookies und Formularfelder, können mit diesen Scannern abgefangen und geändert werden. Es wird für plattformübergreifendes Java JRE / JDK 1.4.2 oder höher verwendet.
Social Engineer Toolkit
Es ist ein Open-Source-Tool und menschliche Elemente werden eher angegriffen als das Systemelement. Sie können damit E-Mails, Java-Applets usw. senden, die den Angriffscode enthalten. Es wird für Linux, Apple Mac OS X und Microsoft Windows bevorzugt.
Skipfish
Dieses Tool wird verwendet, um ihre Websites auf Schwachstellen zu scannen. Mit dem Tool erstellte Berichte sollen als Grundlage für professionelle Sicherheitsbewertungen von Webanwendungen dienen. Es wird für Linux, FreeBSD, MacOS X und Windows bevorzugt.
Vega
Es handelt sich um ein Open Source-Tool für die plattformübergreifende Web-Sicherheit, mit dem Instanzen von SQL-Injection, Cross-Site-Scripting (XSS) und anderen Schwachstellen in Webanwendungen gefunden werden. Es wird für Java, Linux und Windows bevorzugt.
Wapiti
Wapiti ist ein Open Source- und webbasiertes Tool, das die Webseiten der Webanwendung durchsucht und nach Skripten und Formularen sucht, in die Daten eingefügt werden können. Es wurde mit Python erstellt und kann Fehler bei der Dateiverwaltung, Datenbank-, XSS-, LDAP- und CRLF-Injektionen sowie die Erkennung der Befehlsausführung erkennen.
Web-Skarabäus
Es ist in Java geschrieben und wird zur Analyse der Anwendungen verwendet, die über HTTP / HTTPS-Protokolle kommunizieren. Dieses Tool richtet sich in erster Linie an Entwickler, die selbst Code schreiben können. Dieses Tool ist nicht vom Betriebssystem abhängig.