SQL Server-Sicherheit: Verschlüsselung und SQL Injection

SQL Server verfügt über eingebaute Verschlüsselungsmechanismen zum Schutz unterschiedlicher Arten vertraulicher Daten. In einigen Fällen ist die Verschlüsselung für den Anwender vollständig transparent: Daten werden beim Speichern verschlüsselt und beim Zugriff automatisch wieder entschlüsselt. In anderen Fällen kann man selbst entscheiden, ob die Daten verschlüsselt werden sollen oder nicht. SQL Server kann die folgenden Komponenten verschlüsseln:

  • Passwörter
  • Definitionen gespeicherter Prozeduren, Ansichten, Trigger, benutzerdefinierte Funktionen, Defaultwerte und Regeln
  • Daten, die zwischen Server und Client ausgetauscht werden

Passwort-Verschlüsselung

SQL Server verschlüsselt automatisch alle Passwörter, die man für Logins und Anwendungsrollen festlegt. Selbst der direkte Blick in die Systemtabellen der Master-Datenbank enthüllt keine Passwörter. Diese Funktion muss man nicht erst aktivieren – im Gegenteil, man kann sie nicht deaktivieren.

Definitions-Verschlüsselung

In einigen Fällen enthalten die Definitionen von Objekten Informationen, die man nicht unbedingt mit anderen Anwendern teilen möchte. So könnte eine gespeicherte Prozedur z. B. vertrauliche Geschäftslogik enthalten, die nicht für alle Benutzer zugänglich sein sollte, selbst wenn diese die Systemtabellen öffnen und die Objekt-Definitionen anschauen können. Aus diesem Grund ermöglicht SQL Server die Verschlüsselung von Objekt-Definitionen, wenn man ein Objekt erstellt. Zur Verschlüsselung einer gespeicherten Prozedur verwendet man die Anweisung CREATE PROCEDURE wie folgt:

Interessant ist hier nur das optionale WITH-Argument: Man kann entweder RECOMPILE oder ENCRYPTION oder beide gemeinsam verwenden. Das Schlüsselwort ENCRYPTION verhindert, dass SQL Server die Prozedur öffentlich zugänglich macht. Daher wird die gespeicherte Systemprozedur sp_helptext ignoriert, wenn ENCRYPTION aktiviert ist. Diese spezielle gespeicherte Prozedur zeigt den zur Erstellung der Prozedur verwendeten Text an. Falls man die Verschlüsselung einmal deaktivieren will, kann man ALTER PROCEDURE zur Neuerstellung der gespeicherten Prozedur verwenden, wobei man die WITH ENCRYPTION-Klausel weglässt.

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Ermittlern gelingt weiterer Schlag gegen Ransomware-Gruppe LockBit

Sie decken die Identität des Kopfs der Gruppe auf. Britische Behörden fahnden mit einem Foto…

6 Stunden ago

Apple stellt neuen Mobilprozessor M4 vor

Er treibt das neue iPad Pro mit OLED-Display an. Apple verspricht eine deutliche Leistungssteigerung gegenüber…

20 Stunden ago

Cyberabwehr: Mindestens zwei kritische Vorfälle pro Tag

Davon entfällt ein Viertel auf staatliche Einrichtungen und 12 Prozent auf Industrieunternehmen.

20 Stunden ago

Tunnelvision: Exploit umgeht VPN-Verschlüsselung

Forscher umgehen die Verschlüsselung und erhalten Zugriff auf VPN-Datenverkehr im Klartext. Für ihren Angriff benötigen…

21 Stunden ago

Online-Banking: 42 Prozent kehren Filialen den Rücken

Weitere 40 Prozent der Deutschen erledigen ihre Geldgeschäfte überwiegend online und gehen nur noch selten…

22 Stunden ago

Google veröffentlicht neues Sicherheitsupdate für Chrome

Zwei Schwachstellen in Chrome gehören nun der Vergangenheit an. Von ihnen geht ein hohes Risiko…

1 Tag ago