COMPAREX AG
So schützen Sie Ihren SQL Server vor Meltdown und Spectre (Header)

So schützen Sie Ihren SQL Server vor Meltdown und Spectre

Seit Anfang des Jahres vergeht kaum ein Tag ohne neue Meldungen über die Sicherheitslücken Meltdown und Spectre. Auch und gerade für SQL Server Administratoren werden jetzt einige Fragen aufgeworfen. Welche Gefahren gibt es aktuell für die Sicherheit der gespeicherten Daten und was sollte unternommen werden, um diese Daten zu schützen? Dieser Beitrag gibt Antworten.

Ein Blogbeitrag von Jens Hocker, Senior Consultant MS SQL Server

Was sind Meltdown und Spectre?

Bei Meltdown (CVE-2017-5754 [Rogue Data Cache Load]) und Spectre (CVE-2017-5715 [Branch Target Injection] und CVE-2017-5753 [Bounds Check Bypass]) handelt es sich um Hardware-Sicherheitslücken, welche nach aktuellem Kenntnisstand moderne CPUs der Hersteller Intel, ARM und zum Teil auch AMD unabhängig vom verwendeten Betriebssystem angreifbar machen.

Dabei wird ein Mechanismus ausgenutzt, der vorläufig Speicherzellen ausliest und weiterverarbeitet. Diese spekulative Ausführung erfolgt für den Fall, dass die im Voraus berechneten Ergebnisse zukünftig benötigt werden und dann direkt zur Verfügung stehen. Somit handelt es sich um einen wichtigen Mechanismus für die Performance moderner Prozessoren. Es wird bei der Vorabberechnung jedoch nicht zwischen Speicherbereichen der Anwendungen von Benutzern und des Betriebssystems unterschieden. Meltdown und Spectre ermöglichen es, Speicherbereiche anderer Anwendungen oder des Betriebssystems auszulesen, für die der angreifende Prozess eigentlich keine Berechtigung hat. Auf diese Weise ist es möglich, unter anderem an Passwörter, Verschlüsselungsschlüssel oder eben in Datenbanken gespeicherte sensitive Daten zu gelangen.

Besonders schwerwiegend sind die Auswirkungen für virtuelle Umgebungen und Server in der Cloud, da hier auch Daten über VM-Grenzen hinweg ausgelesen werden können, sofern sich die virtuellen Server auf einem gemeinsamen Host befinden.

Detailliertere Informationen zu Meltdown und Spectre finden Sie auf meltdownattack.com.

Welche Maßnahmen sollte ich ergreifen?

Microsoft hat Handlungsempfehlungen für SQL Server auf  der Microsoft Support-Seite für SQL Server veröffentlicht.

Hier werden insgesamt fünf verschiedene Szenarien unterschieden. Angesichts der Tatsache, dass heutzutage sehr viele SQL Server auf virtuellen Systemen betrieben werden und, wie oben bereits beschrieben, durch Meltdown und Spectre alle VMs eines Hosts angegriffen werden können, gehe ich davon aus, dass die allermeisten SQL Server Installationen dem Szenario 3 zuzurechnen sind. Im Folgenden möchte ich die konkrete Vorgehensweise für diesen Fall beschreiben.

1. Installation Firmware-/BIOS-Update

Einige Geräte-Hersteller bieten bereits Firmware-Updates für ihre Geräte an. Diese sind zu installieren, um einen Schutz auch gegen Spectre-Attacken zu erhalten.

2. Installation Betriebssystemupdate

Microsoft stellt für den Großteil seiner unterstützten Betriebssysteme Patches bereit, die unbedingt installiert werden sollen. Folgende Updates sind zum aktuellen Zeitpunkt verfügbar:

Betriebssystemversion

Update KB

Windows Server, version 1709 (Server Core Installation)

4056892

Windows Server 2016

4056890

Windows Server 2012 R2

4056898

Windows Server 2012

Not available

Windows Server 2008 R2

4056897

Windows Server 2008

Not available

Quelle: support.microsoft.com 

Zur Aktivierung des Betriebssystemupdates sind folgende Registry Einträge hinzuzufügen:

  • reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0 /f
  • reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f
  • reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization" /v MinVmVersionForCpuBasedMitigations /t REG_SZ /d "1.0" /f

Im Folgenden muss der Server neu gestartet werden.

3. SQL Server Update

Für die meisten SQL Server Versionen sind inzwischen Sicherheitsupdates erschienen. Die jeweils passenden sind anzuwenden. Aktuell gibt es die folgenden Patches:

SQL Server Version

Update KB

SQL Server 2017

4057122

SQL Server 2017 CUx

4058562

SQL Server 2016

4058560

SQL Server 2016 CUx

4058559

SQL Server 2016 SP1

4057118

SQL Server 2016 SP1 CUx

4058561

SQL Server 2014 SP2

4057120

SQL Server 2014 SP2 CUx

4057117

SQL Server 2012 SP3

4057115

SQL Server 2012 SP3 CUx

4057121

SQL Server 2012 SP4

4057116

SQL Server 2008 R2 SP3

4057113

SQL Server 2008 SP4

4057114

Eine ständig aktualisierte Liste der verfügbaren SQL Server Patches ist hier zu finden:
Nach der Installation des SQL Updates muss der Server neu gestartet werden.

4. Schutzstatus überprüfen

Der aktuelle Schutzstatus des Systems kann per PowerShell überprüft werden. Dazu ist wie folgt vorzugehen:

Windows Server 2016:

-> Installation PowerShell Modul:

PS> Install-Module SpeculationControl

-> Ausführen des PowerShell Moduls:

PS> $SaveExecutionPolicy = Get-ExecutionPolicy

PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser

PS> Import-Module SpeculationControl

PS> Get-SpeculationControlSettings

PS> Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser

 

Betriebssystemversionen vor Windows Server 2016:
-> Installation des PowerShell Moduls:

-> PowerShell Modul ausführen:

PS> $SaveExecutionPolicy = Get-ExecutionPolicy

PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser

PS> CD C:\ADV180002\SpeculationControl

PS> Import-Module .\SpeculationControl.psd1

PS> Get-SpeculationControlSettings

PS> Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser

Welche Performanceauswirkungen sind zu erwarten?

Microsoft rät grundsätzlich allen Kunden zur Installation der Betriebssystem- und SQL Server Updates. Die Auswirkungen auf die Systemperformance sind laut Microsoft „unerheblich bis minimal“. Dennoch wird empfohlen, die Auswirkungen auf Testsystemen auszuwerten, bevor die Updates in der Produktionsumgebung installiert werden.

Aus meiner Sicht dürfte das Thema Performanceverschlechterung im SQL Server Bereich nicht ganz so kritisch sein wie auf anderen Systemen. Je nach verwendeter CPU und Arbeitsauslastung wird von 5% bis 30% Verschlechterung berichtet. Im Normalfall werden moderne CPUs von normalen OLTP Workloads nicht sonderlich stark ausgelastet. Eine Verschlechterung um maximal 30% sollte da nicht sonderlich stark ins Gewicht fallen. Trotzdem ist natürlich, wie bei jedem anderen Patch auch, das vorherige Testen auf einem dedizierten System dringend zu empfehlen.

Wie gefährdet sind meine Daten?

Aktuell gibt es nach meinem Wissensstand noch keinen Schadcode, der die Sicherheitslücken durch Meltdown/Spectre ausnutzt. Nichtsdestotrotz ist es wahrscheinlich nur eine Frage der Zeit bis hier erste Schädlinge gefunden werden.

Es ist wichtig, die Lücken möglichst schnell zu schließen. Dennoch sollte man dabei nicht in blinde Panik verfallen und zum Beispiel ungetestete Patches in Produktionsumgebungen installieren. Grundsätzlich gilt es, die normalen Vorsichtsmaßnahmen zu wahren. Der Schadcode, der auf Meltdown bzw. Spectre basiert, muss genau so in den Server eingeschleppt werden, wie andere Viren und Trojaner auch. Wer also keinen unbekannten Code ausführt und dessen Server nicht vom Internet aus erreichbar ist, der ist auch jetzt noch relativ sicher.

Sie wünschen sich Informationen zum SQL Database Service?

Was sind die Vorteile eines SQL Database Services? Wir haben alles Wissenswerte für Sie zusammengefasst. Sie wünschen sich eine persönliche Beratung? Kontaktieren Sie unsere Experten.

SQL Database Services im Überblick

Diesen Artikel teilen

Artikel vom:
24.01.2018

geschrieben von:

TAGS:
Meltdown, Spectre, SQL Server

Thema:

Kommentieren sie diesen Artikel...

© COMPAREX AG
Zurück nach oben