Sicherheit der Oracle E-Business Suite: Hash-Passwörter

Letzte Woche haben wir eine Blogreihe gestartet, deren Ziel es ist, die Sicherheit der Oracle E-Business Suite zu beleuchten. Im ersten Beitrag wurde erläutert, wie dieServer-Sicherheitsfunktion aktiviert wird, und im heutigen Beitrag konzentrieren wir uns auf die Passwort-Hash-Verarbeitung. Wir werden die verschiedenen Arten der Hash-Verarbeitung analysieren und untersuchen, wie diese in der Oracle E-Business Suite umgesetzt wird.
Hashing für Anfänger
Der Hash ist das Ergebnis eines Algorithmus, der auf bestimmte Texte, Bilder oder Dateien angewendet wird. Es handelt sich um ein festes Ergebnis, das auch als Digest bezeichnet wird. Hash-Algorithmen finden unter anderem bei der Authentifizierung oder bei Integritätsprüfungen von Dateien Anwendung. Diese Analyse im Blogbeitrag konzentriert sich auf Hash-Funktionen, die zu Authentifizierungszwecken verwendet werden.
Es gibt einige Eigenschaften, die Hash-Algorithmen charakterisieren:
- Bei gleicher Eingabe sollte das Hash-Ergebnis immer dasselbe sein.
- Die Eingabelänge kann variieren, die Ausgabelänge bleibt jedoch immer gleich (sofern Sie denselben Hash-Algorithmus verwenden).
- Bei einer minimalen Änderung der Eingabe sollte sich das Hash-Ergebnis um mehr als 50 % ändern, damit der Algorithmus als gut gilt.
Ein Problem bei Hash-Algorithmen ist jedoch, dass bei zwei unterschiedlichen Objekten das Ergebnis dasselbe ist. Dieses Szenario wird als „Kollision“ bezeichnet, und Hash-Algorithmen, bei denen Kollisionen nachgewiesen wurden, werden im Laufe der Zeit meist nicht mehr verwendet.
Beispiele für Hash-Algorithmen sind MD5, SHA-1, SHA-256, SHA-384, SHA-512 und andere. Schauen wir uns einige Beispiele an.
Das Passwort „SYSADMIN“ könnte mit SHA-1 gespeichert werden, und die Ausgabe lautet dann:
„80e93403887682e0b01ec1ac5c4b9f283a502a94“
Bei Verwendung von SHA-256 für dasselbe Passwort „SYSADMIN“ lautet die Ausgabe:
„cde01d2db10b2bc2d81a6dc738ccf16f7b99973a57737486903436a685f0e7fa“
Verwendet man SHA-512 für dasselbe Wort „SYSADMIN“, lautet die Ausgabe:
“443f1f825d72509132b43e921bc6a45f8b9a56443f02f1904b8bb4c44281848d62e8cccae44b00fdfb348334b52e5c98f593fa2f2a9ed323b1c5b5ccb4011aae”
Beachten Sie, dass die Digest-Länge je nach Algorithmus unterschiedlich ist:
- Die Länge von SHA-1 beträgt 160 Bit
- Die Länge von SHA-256 beträgt 256 Bit
- Die Länge von SHA-368 beträgt 256 Bit
- Die Länge von SHA-512 beträgt 512 Bit
Manche Implementierungen kombinieren verschiedene Hash-Algorithmen oder verwenden ein Salt, um die Sicherheit und Komplexität des Verfahrens zu erhöhen. Das Salt ist ein weiterer zufälliger Datenwert, der in den Prozess eingebunden wird, um Wörterbuch- oder Rainbow-Table-Angriffe abzuwehren.
Hash-Funktionen in der Oracle E-Business Suite
Die Oracle E-Business Suite verwendet SHA (Secure Hash Algorithm) in Kombination mit der PBKDF2-Ableitungsfunktion, um die Passwörter in der Datenbank zu verschlüsseln. Ein Administrator kann mit der folgenden Abfrage an die Datenbank überprüfen, ob die Verschlüsselung sicher ist oder nicht:
Wenn das Ergebnis der Abfrage „NO_HASHED“ lautet, bedeutet dies, dass der Verschlüsselungsmodus aufgrund der Verwendung von SHA-1 zur Verschlüsselung des Passworts nicht als sicher gilt. SHA-1 wird aufgrund von Kollisionen nicht mehr als sicherer Hash-Algorithmus angesehen. Aus diesem Grund hat Oracle in neueren Versionen standardmäßig auf SHA-2 umgestellt. Falls Ihr System weiterhin SHA-1 verwendet, wird dringend empfohlen, diese Einstellung zu ändern.
Sie können auch direkt nach verschlüsselten Passwörtern von Benutzern suchen. Die folgende Abfrage zeigt beispielsweise das verschlüsselte Passwort des Benutzers „GUEST“ an:
Falls Ihr System keinen sicheren Hash-Algorithmus verwendet, können Sie mit AFPASSWD die Benutzerkennwörter der Oracle E-Business Suite auf ein neues Kennwort-Hash-Schema umstellen. Durch den Einsatz der Anwendung AFPASSWD wird der in der Tabelle FND_USERS gespeicherte Kennwort-Hash geändert. Als sicher gelten die SHA-2-Algorithmen SHA-256, SHA-384 und SHA-512, die mit der PBKDF2-Ableitungsfunktion kombiniert werden.
Es gibt folgende Möglichkeiten, den Befehl AFPASSWD auszuführen:
- -c Geben Sie die zu verwendende Verbindungszeichenfolge, den Oracle E-Business Suite-Benutzer und/oder den Wert von TWO_TASK an. Diese Option kann in Kombination mit anderen Optionen verwendet werden. Wird sie nicht angegeben, werden die Standardwerte aus der Umgebung verwendet.
- -m – Migriert Datensätze in der Tabelle FND_USER unter Verwendung des angegebenen Algorithmus in den Hash-Modus.
- Geben Sie den zu verwendenden Hash-Modus an. Sie können einen der folgenden erweiterten Hash-Algorithmen auswählen:
- SHA-256
- SHA-384
- SHA-512
- Geben Sie an, welche Art der erweiterten Hash-Migration durchgeführt werden soll.
- VOLLSTÄNDIG – Bei einer vollständigen Migration werden alle Datensätze der Tabelle „FND_USER“ in den ausgewählten Hash-Modus migriert.
- HINTERGRUND – Eine Hintergrundmigration migriert alle Datensätze der Tabelle FND_USER im Hintergrund in den ausgewählten erweiterten Hash-Modus als paralleles Programm mit dem Namen „Advanced Hash Migration“ (AFPASSWD_MIGRATION).
- TEILWEISE – Bei einer teilweisen Migration können Benutzer, die den früheren Verschlüsselungsmodus verwenden, weiterhin neben Benutzern bestehen, die neue Passwörter mit dem ausgewählten erweiterten Hash-Modus erstellen. Benutzer, die den früheren Verschlüsselungsmodus verwenden, können sich weiterhin anmelden, werden jedoch bei späteren Passwortänderungen auf den ausgewählten erweiterten Hash-Modus umgestellt.
Im Folgenden finden Sie ein Beispiel für die Ausführung von AFPASSWD, um den Hash-Algorithmus auf SHA-512 umzustellen:
Nach dem Ausführen der Anwendung AFPASSWD ändert sich der Passwort-Hash. Hier ist beispielsweise die Ausgabe derselben Überprüfung für das verschlüsselte Passwort des Benutzers „GUEST“, und Sie können leicht feststellen, dass es sich geändert hat:
