Sicherheitsmechanismen und -probleme in MS Access PDF Drucken E-Mail
Geschrieben von: Christoph Jüngling   
Freitag, den 21. März 2008 um 21:00 Uhr
Beitragsseiten
Sicherheitsmechanismen und -probleme in MS Access
Datenbankverschlüsselung
Fazit
Alle Seiten

Sicherheitsmechanismen

Microsoft Access bietet einige völlig unterschiedliche Möglichkeiten an, eine Datenbank vor dem Zugriff unauthorisierter Personen zu schützen:

  1. das Datenbankkennwort (ab Version 97 )
    A97: Extras --> Zugriffsrechte --> Datenbankkennwort zuweisen...
    A2k: Extras --> Sicherheit --> Datenbankkennwort zuweisen...
  2. Datenbank verschlüsseln (ab Version 97 )
    A97: Extras --> Zugriffsrechte --> Datenbank verschlüsseln
    A2k: Extras --> Sicherheit --> Datenbank verschlüsseln
  3. MDE-Datei erstellen (ab Version 97 )
    Extras --> Datenbank-Dienstprogramme --> MDE-Datei erstellen
  4. individuelle Benutzerrechte in Verbindung mit einer Arbeitsgruppendatei (ab Version 97: mdw, davor: mda)
    A97: Extras --> Zugriffsrechte --> ... i.V.m. wrkgadm.exe
    A2k: Extras --> Sicherheit --> ...

Diese Konzepte haben alle ihre Vor- und Nachteile und ergänzen sich teilweise gegenseitig.

 

Sicherheitsprobleme

Generell läßt sich mit hinreichendem Aufwand jeder Schutzmechanismus aushebeln. Im Einzelfall stellt sich nur die Frage, welcher Aufwand dazu erforderlich ist. Wenn der Aufwand so hoch ist, daß die erhaltenen Informationen danach für den Datendieb wertlos sind, kann der Schutz sicherlich als ausreichend angesehen werden.

In dieser Hinsicht unterscheiden sich die beiden Schutzmechanismen Datenbankkennwort und Benutzersicherheit sehr stark.

Bei guten Kryptoalgorithmen kann der Zeitaufwand mit einem heute verfügbaren PC u.U. bei einigen 1000 Jahren (oder noch höher) liegen. Ein schlechter Algorithmus oder ein zu kurzer Schlüssel ist dagegen vielleicht in wenigen Minuten oder Stunden geknackt. Und wenn das Kennwort noch dazu in der zu schützenden Datei versteckt ist, dauert es vielleicht nur Sekunden ...

 

Datenbankkennwort

Grundsätzlich weigert sich beim Datenbankkennwort Access lediglich, die Datenbank zu öffnen. Im Zusammenhang mit der nicht dokumentierten Struktur der MDB- resp. MDE-Datei mag dieser Schutz ausreichend gut dastehen, um neugierige Zeitgenossen im Zaum zu halten. In der Praxis sieht das aber leider anders aus.

Techniken

Versetzen wir uns einmal in die Lage eines Programmierers, der seine Daten gegen unbefugten Zugriff mittels eines Kennworts schützen will. Für ihn stellt sich das Problem, die spätere Benutzereingabe mit dem vorgegebenen Kennwort vergleichen zu müssen.

Dazu könnte er das richtige Kennwort (mehr oder weniger gut versteckt und verschlüsselt) in der zu schützenden Datei selbst ablegen. Die Prüfung auf Richtigkeit der Eingabe erfordert dann nur eine Decodierung des gespeicherten Kennwortes und einen anschließenden Vergleich mit der Benutzereingabe.

Eine andere Möglichkeit wäre, aus dem Kennwort zum Zeitpunkt der Festlegung einen sog. Hash-Wert (eine Art Quersumme) zu berechnen und nur diesen (mehr oder weniger gut versteckt und verschlüsselt) in der zu schützenden Datei abzulegen. Wenn der Benutzer Zugriff haben möchte, muß aus seiner Kennworteingabe ebenfalls ein Hash-Wert nach dem gleichen Verfahren berechnet werden. Nun werden die beiden Hash-Werte miteinander verglichen.

Der Trick bei diesem Verfahren besteht nun darin, daß es im Idealfall keine Möglichkeit gibt, aus dem Hash-Wert zurück auf das Passwort zu schließen. Ist das gewährleistet, besteht die einzige Chance im Knacken des Schutzmechanismus' darin, sämtliche möglichen Passwörter durchzugehen und den Hash-Wert zu berechnen, bis der Wert mit dem gespeicherten übereinstimmt (sog. "brute force attack"). Hierbei ist es natürlich ausschließlich von der eingesetzten Rechenleistung abhängig, wann das Passwort ermittelt ist.

Praxis

Offenbar hat man seitens des Herstellers in den Algorithmus, mit dem dieses Kennwort in der Datenbankdatei geschützt wurde, nicht sehr viel Zeit investiert. Daher gibt es im WWW eine relativ leicht auffindbare Codesequenz, mit der das Datenbankkennwort in Sekundenschnelle ermittelt werden kann. (Dieser Absatz gilt für eine ältere Access-Version. Inzwischen hat der Hersteller das Verfahren etwas verbessert.)

Das Datenbankkennwort allein muß daher als unsicher eingestuft werden.

Sicherheitsaspekte und insbesondere Verschlüsselungstechniken sind ein weites und komplexes Feld, das ich auch bei weitem nicht vollständig durchdringe. Daher empfehle ich einen Besuch auf den Web-Seiten des Chaos Computer Clubs, wo zwar nicht unbedingt auf MS Access, dafür aber sehr umfangreich und kompetent auf viele grundsätzliche Dinge im Bezug auf Datensicherheit eingegangen wird.



Zuletzt aktualisiert am Samstag, den 26. April 2008 um 11:34 Uhr
 
Free Joomla Templates