Datenbank-Link Passwörter sind jetzt noch unsicherer

, ,

Die Passwörter von Oracle Datenbank Links waren Thema des diesjährigen Vortrags “Best of Oracle Security 2017” von Alexander Kornbrust auf der diesjährigen DOAG Konferenz in Nürnberg.

Es ist dank der Arbeit von Mahmoud Hatem mittlerweile möglich, die verschlüsselt abgelegten Passwörter der Datenbank-Links relativ aufwandslos mit Hilfe eines kleinen PL/SQL-Skriptes zu entschlüsseln. Das Skript selbst lässt sich bei  GitHub herunterladen. Das ist ein bisschen schade, aber auch fast vorhersehbar, denn wie auch bei Wallets ist es sehr schwierig, ein symmetrisches Passwort geheim zu halten. Zumal, wenn es automatisch, also ohne Interaktion mit dem Benutzer, verwendet werden soll. In einer ausgelieferten Software finden sich selten sichere “Verstecke” für ein hart-kodiertes Passwort.

Oracle hat offensichtlich versucht, das verwendete Passwort an zwei Stellen zu verbergen – in der Data Dictionary View SYS.PROP$ und im oracle-Binary selbst als Variable “ztcshpl_v6”. Diese ist dort natürlich immer gleich belegt. Vielleicht wäre es besser gewesen, saubere Hash-Werte der Passwörter zu verwenden, als einen solchen “Security through obscurity”-Weg zu gehen.

Jedenfalls ist es nun, Zugriff auf die Data Dictionary Views SYS.LINK$ und SYS.PROPS$ vorausgesetzt, möglich, die Klartext-Passwörter der Datenbank-Links einfach zu ermitteln.

Die Datenbank-Link-Passwörter und deren Geschichte in den Oracle Versionen waren auch hier im Blog bereits Thema, wenn auch fälschlicherweise von Hashes statt verschlüsselten Werten die Rede war. Dennoch hat unser Blog Post es als Quelle auf die Vortragsfolien geschafft, worüber ich mich sehr freue, denn dieser Vortrag von Alexander Kornbrust gehört traditionell zu den Highlights der DOAG Konferenz.

Oracle Security 2017 Slides

(c) Red-Database-Security GmbH