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

Gefahren im Foxit PDF-Reader

Check Point warnt vor offener Schwachstelle, die derzeit von Hackern für Phishing ausgenutzt wird.

2 Tagen ago

Bitdefender entdeckt Sicherheitslücken in Überwachungskameras

Video-Babyphones sind ebenfalls betroffen. Cyberkriminelle nehmen vermehrt IoT-Hardware ins Visier.

2 Tagen ago

Top-Malware in Deutschland: CloudEye zurück an der Spitze

Der Downloader hat hierzulande im April einen Anteil von 18,58 Prozent. Im Bereich Ransomware ist…

2 Tagen ago

Podcast: „Die Zero Trust-Architektur ist gekommen, um zu bleiben“

Unternehmen greifen von überall aus auf die Cloud und Applikationen zu. Dementsprechend reicht das Burg-Prinzip…

2 Tagen ago

Google schließt weitere Zero-Day-Lücke in Chrome

Hacker nutzen eine jetzt gepatchte Schwachstelle im Google-Browser bereits aktiv aus. Die neue Chrome-Version stopft…

2 Tagen ago

Hacker greifen Zero-Day-Lücke in Windows mit Banking-Trojaner QakBot an

Microsoft bietet seit Anfang der Woche einen Patch für die Lücke. Kaspersky-Forscher gehen davon aus,…

2 Tagen ago