Warum noch ein Access-Buch?
Für wen ist das Buch?
Jetzt bestellen
+ direkter Download des eBooks!
Nur EUR 59,95!
Fehler gefunden?
Bitte melden!
Wünsche an das Buch?
Her damit!
Was denken die Leser über dieses Buch?
Lesen Sie aktuelle Rezensionen!
Kapitel des noch nicht veröffentlichten Buchs zum Downloaden, Probelesen und Kommentieren
Beispieldatenbanken
Zusätzliches Material

Das Buch im HTML-Format

Für unbestimmte Zeit bieten Addison-Wesley und André Minhorst den kompletten Inhalt des Buchs als Download an. Schauen Sie rein und informieren Sie sich über den Inhalt! Und wenn Ihnen das Buch nützlich erscheint und Sie glauben, dass Sie etwas gelernt haben oder durch das Gelesene sogar etwas Zeit und somit Geld bei Ihrer Arbeit einsparen konnten, können Sie sich ja beim Autor und beim Verlag revanchieren - beispielsweise durch den Kauf dieses Buchs.

Am schönsten wäre es natürlich, wenn Sie das Buch direkt hier bestellen - Sie erhalten das Buch dann direkt vom Verlag, und der Autor und Verlag haben dann noch mehr davon, als wenn Sie es anderswo kaufen.

Danke für Ihr Interesse!

18.5 Digitale Signaturen

18.6 Schutz vor bösartigen SQL-Statements

Eine weitere Maßnahme ist der Sandbox-Modus des ACE Expression Service. Unter Access bietet die ACE die Möglichkeit, VBA-Funktionen in SQL-Ausdrücke einzubinden. Das kann sehr hilfreich sein, bietet aber auch jede Menge Möglichkeiten für Angreifer, ungewünschte Aktionen auf einem Rechner auszuführen.

So lässt sich in einer SELECT-Anweisung die Shell-Funktion aktivieren, die bekanntermaßen alle möglichen Anwendungen aufrufen und über die Anwendung cmd.exe auch DOS-Befehle absetzen kann. Mit folgender SQL-Anweisung können Sie etwa bei deaktiviertem Sandbox-Modus leicht eine Datei löschen (hier die Datei c:\test.txt):

SELECT (Shell("cmd.exe /c del c:\test.txt"));

Da ist es leicht zu erahnen, dass sich auch umfangreichere Datenbestände mit einer solchen oder ähnlichen Anweisung entfernen lassen. Welche VBA-Anweisungen genau von einer Sperrung im Sandbox-Modus betroffen sind, erfahren Sie unter [2].

Wenn der Sandbox-Modus aktiviert ist und Sie versuchen, eine nicht zulässige Funktion via ACE aufzurufen, erscheint eine Meldung wie in Abbildung 18.9. Das Gleiche passiert, wenn die Makro-Einstellungen die Ausführung von VBA-Code verhindern - auch die betroffenen Anweisungen im SQL-Code werden dann nicht ausgeführt.

Abbildung 18.9: Diese Meldung erscheint beim Einsatz nicht erlaubter VBA-Anweisungen in SQL-Befehlen

Ob Sie den Sandbox-Modus beim Benutzer Ihrer Datenbankanwendung aktivieren müssen oder nicht, hängt davon ab, ob die enthaltenen Abfragen Funktionen beinhalten, die im Sandbox-Modus gesperrt sind, die aber für die Benutzung der Anwendung Voraussetzung sind. In diesem Fall bleibt Ihnen nicht viel anderes übrig, als den Sandbox-Modus zu deaktivieren - und auch die Makro-Sicherheit muss natürlich zumindest für diese Datenbank deaktiviert sein.

Den Sandbox-Modus können Sie über die Registry von Windows einstellen. Er erfordert eine computerweite Einstellung. Dementsprechend ist der passende Registry-Schlüssel im Pfad HKEY_LOCAL_MACHINE zu finden, und zwar unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines (siehe Abbildung 18.10). Folgende Einstellungen sind möglich:

  • 0: Der Sandbox-Modus ist für alle Anwendungen, die auf die ACE zugreifen, deaktiviert.
  • 1: Der Sandbox-Modus ist nur für Access-Anwendungen aktiviert.
  • 2: Der Sandbox-Modus ist nur für Nicht-Access-Anwendungen aktiviert.
  • 3: Der Sandbox-Modus ist immer aktiviert.
  • Abbildung 18.10: Registry-Einstellung für den Sandbox-Modus

    Nächster Abschnitt:

    18.7 Kein Sicherheitssystem - was nun?

    © 2006-2008 André Minhorst Alle Rechte vorbehalten.