Schützen Sie Linux oder Windows vor Spectre- und Meltdown-Schwachstellen

Eine der grundlegenden Komponenten in jedem Computer, der für die Verwendung eines Betriebssystems entwickelt wurde, unabhängig von seinem Entwickler, ist die CPU oder der Prozessor, die bzw. der in riesigen Schritten Fortschritte gemacht hat und uns neue Verarbeitungsgeschwindigkeiten , neue Technologien, mehr Kerne und all dies in der richtigen Reihenfolge bietet den Systemstart und die Ausführung der dort installierten Programme zu optimieren und zu verbessern.

All dies ist innovativ und erfüllt uns mit Spannung, wenn wir einen Computer mit einem hervorragenden Prozessor kaufen, da wir sicher sind, dass es sich um eine gute Investition handelt. Was passiert jedoch, wenn der Prozessor, sei es Intel, AMD oder ein anderer, Sicherheitslücken in seinem Design aufweist. Sie gefährden unsere Informationen und unsere Vertraulichkeit, ändern dort den Kurs und lassen uns darüber nachdenken, wie es möglich ist, dass diese Art von Situation bei renommierten Verarbeitern und großen Unternehmen weltweit auftritt.

Nun, diese Sicherheitsanfälligkeit wurde vor einigen Tagen entdeckt, am 4. Januar, als die Sicherheitsanfälligkeiten Spectre und Meltdown entdeckt wurden, die mit dem Design des Prozessors zusammenhängen, auf den ein Angreifer Zugriff auf Systeminformationen hat des Speichers, in dem wichtige Elemente als Verschlüsselungsschlüssel oder Kennwörter gespeichert sind.

Das Schlimmste daran ist, dass diese Sicherheitsanfälligkeiten die Prozessoren von Intel, ARM und AMD betreffen. Daher sind wir alle offen für Opfer dieser Sicherheitsanfälligkeiten. Aus diesem Grund werden wir eingehend analysieren, was diese Sicherheitsanfälligkeiten sind, wie sie angreifen und wie wir sie angreifen können Schützen Sie unsere Server und Geräte vor ihnen.

Wir möchten Sie daran erinnern, dass diese Sicherheitsanfälligkeiten alle Arten von Geräten sowohl zu Hause als auch im Geschäftsleben angreifen. Derzeit werden von den Entwicklern von Betriebssystemen und Anwendungen Patches zum Schutz vor Spectre und Meltdown veröffentlicht.

Was ist Spectre?

1-Spectre-linux.png

Spectre ist eine Sicherheitsanfälligkeit, die den Prozessor zur Initiierung des spekulativen Ausführungsprozesses verleiten kann, da moderne Prozessoren die Verzweigungsvorhersage (Branch Prediction) verwenden und die spekulative Ausführung die Maximierung der Prozessorleistung ermöglicht .

Mit Spectre-Angriffen kann ein Opfer veranlasst werden, bestimmte Vorgänge spekulativ auszuführen, die während der korrekten Ausführung des Programms nicht ausgeführt würden. Auf diese Weise können vertrauliche Informationen auf sehr einfache Weise über einen Seitenkanal für den Angreifer gefiltert werden.

Bei den Bekanntmachungen dieser Sicherheitsanfälligkeiten wurden zwei Varianten mit unterschiedlicher Komplexität und Auswirkung von Spectre auf den Prozessor und damit auf die Sicherheit des Benutzers entdeckt.

Diese Varianten sind:

Variante 1 (CVE-2017-5753)
Diese Sicherheitsanfälligkeit betrifft die Prozessoren Intel, AMD und ARM, sodass der Angreifer die Programme nach den bewährten Methoden fehlerfrei austricksen und alle auf dem Computer gespeicherten Benutzerinformationen filtern kann.

Dies wurde am 3. Januar dieses Jahres vom Google Project Zero-Team entdeckt. Diese Variante nutzt die spekulative Ausführung übermäßig, um Aufgaben zur Umgehung der Grenzwertprüfung auszuführen, wodurch der Kernel-Code umgeleitet wird mit der Kontrolle des Angreifers auf spekulative Weise.

Eine Liste der Systeme, die von dieser Variante angegriffen werden können, sind:

  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • RHEV-M 4.0
  • RHEV-M für Server
  • Red Hat Enterprise Linux OpenStack-Plattform 7.0 (Kilo) für RHEL 7
  • Red Hat Enterprise Linux OpenStack-Plattform 6.0 (Juno) für RHEL 7
  • Red Hat Enterprise MRG 2
  • Red Hat OpenStack Platform v 8/9/10/11/12
  • Debian Linux ist verrückt
  • Debian Linux jessie
  • Debian Linux strecken
  • Debian Linux Buster, sid
  • SUSE Linux Enterprise Server für Raspberry Pi 12 SP2
  • SUSE OpenStack Cloud 6
  • Openstack Cloud Magnum Orchestration 7
  • SUSE Container als Serviceplattform ALL
  • SUSE Linux Enterprise Hochverfügbarkeit 12 SP2 / SP3
  • SUSE Linux Enterprise Live Patching 12
  • SUSE Linux Enterprise-Modul für Public Cloud 12
  • SUSE Linux Enterprise Server 11 SP3-LTSS
  • SUSE Linux Enterprise Server 11 SP4
  • SUSE Linux Enterprise-Software-Entwicklungskit 11/12 SP3 / SP4
  • SUSE Linux Enterprise für SAP 12 SP1
  • SUSE Linux Enterprise 11
  • SUSE Linux Enterprise 12
  • OpenSuse Linux basiert auf SUSE 12/11
  • Fedora Linux 26
  • Fedora Linux 27
  • Amazon Linux AMI
See also  MySQL-Datenbanksicherheit - Verschlüsselungsmethoden

Variante 2 (CVE-2017-5715)
Diese Variante ist dafür verantwortlich, die spekulative Ausführung unter Verwendung der Branch Target Injection auszulösen. Es basiert auf dem Vorhandensein einer bestimmten Folge von Anweisungen, die im privilegierten Code genau definiert sind, sowie auf der Situation, dass Speicherzugriffe den Cache von Mikroprozessordaten einschließlich spekulativ ausgeführter Anweisungen verursachen können, die niemals ausgeführt werden Sie werden kompromittiert.

Dank dieser Variante hätte ein Angreifer ohne Berechtigungen die Möglichkeit, die Grenzen des Systems und der Ausrüstung zu überschreiten, um den privilegierten Speicher durch gezielte Lateral-Channel-Cache-Angriffe auszulesen und so die Sicherheit des Benutzers zu durchdringen.

Die betroffenen Systeme sind die gleichen wie oben angegeben.

Um diese Varianten unter Linux zu verhindern, können wir den folgenden Prozess ausführen.

In CentOS- oder RedHat-Umgebungen führen wir zuerst die folgenden Zeilen aus:

 uname -r sudo yum update 

2-Variante-2- (CVE-2017-5715) .png

Sobald das System aktualisiert ist, starten wir das System neu, indem wir die folgende Zeile ausführen:

 sudo neu starten 

Dann bestätigen wir, dass der Kernel mit dem Befehl erneut aktualisiert wurde:

 uname -r 

Abschließend überprüfen wir, ob die Varianten im System angewendet werden, indem wir Folgendes ausführen:

 rpm -q --changelog Kernel | Beispiel 'CVE-2017-5715 | CVE-2017-5753 | CVE-2017-5754' 

3-'CVE-2017-5715.png

Im Falle der Verwendung von Ubuntu oder Debian können wir folgende Zeilen ausführen:

 sudo apt-get update sudo apt-get upgrade sudo shutdown -r 0 

Es bildet sich ein Specter-Angriff
Spectre verwendet einige Angriffstechniken wie:

  • Spekulative Hinrichtung ausnutzen. Mit dieser Technik greift Spectre die Aufgabe des Prozessors auf der Ebene von Anweisungen zur spekulativen Ausführung mit Sequenzen an, die während der korrekten Ausführung des Programms nicht ausgeführt werden sollten, und diese Sequenzen werden zurückgesetzt, um schließlich vorübergehende Anweisungen zu erzeugen, mit denen der Angreifer die Informationen des Benutzers filtert betroffen
  • Angriffe mit nativem Code:. Dieser Angriff erstellt ein Programm, das geheime Daten in seinem Zugriffsspeicher enthält. Sobald dieses Programm kompiliert ist, werden die im System freigegebenen Binärdateien und Bibliotheken analysiert, um die Informationen des Benutzers zu filtern.

Schließlich wird ein anderes Angriffsprogramm geschrieben, das die spekulative Ausführungsfunktion der CPU ausnutzt, um die Sequenzen auszuführen, die zuvor als vorübergehende Anweisungen gefunden wurden.

  • Angriffe mit JavaScript. Dieser Angriff wird verwendet, um den Testbereich des Browsers zu verletzen, indem ein portabler JavaScript-Code eingebunden wird.

Von Spectre betroffene Hardware
Es wurde nun herausgefunden, dass Spectre in der Lage ist, Hardware zu kompromittieren, wie zum Beispiel:

  • Prozessoren basierend auf Ivy Bridge
  • AMD Ryzen
  • Intel Prozessoren
  • Qualcomm Prozessoren

Zusammenfassend besteht der Spectre-Angriff aus den folgenden Phasen:

  • Phase 1. Zunächst beginnt der Angriff mit einer Konfigurationsphase, in der der Angreifer Vorgänge ausführt, die zu Prozessorausfällen führen, sodass dann die irrtümliche spekulative Ausbeutung stattfinden kann.

In dieser Phase kann der Angreifer den Seitenkanal vorbereiten, über den die Informationen aus dem Opfer extrahiert werden.

  • Phase 2. In dieser Phase führt der Prozessor spekulativ eine oder mehrere Anweisungen aus, die vertrauliche Informationen aus dem Kontext des Opfers in einer Seitenkanal-Mikroarchitektur übertragen.

Auf diese Weise kann der Angreifer eine Aktion wie Syscall oder Socket ausführen. In anderen Fällen kann der Angreifer die spekulative Ausführung seines eigenen Codes nutzen, um vom Benutzer vertrauliche Informationen aus demselben Prozess abzurufen.

  • Phase 3. In dieser Phase werden die vertraulichen Daten mithilfe von Techniken wie Flush + Reload oder Evict + Reload von Specter wiederhergestellt. Dieser Wiederherstellungsprozess besteht darin, zu messen, wie lange die Lesevorgänge der Speicheradressen in den Cache-Zeilen dauern, die regelmäßig überwacht werden.

Was ist Meltdown?

4-What-is-Meltdown.png

Der andere Angriff, der die Sicherheit der Benutzer beeinträchtigt, ist Meltdown, bei dem ein Angreifer über das installierte Betriebssystem wie Microsoft Windows oder High Sierra auf die privaten Informationen des Benutzers zugreifen kann.

Sein Name wurde aufgrund der Möglichkeit vergeben, die normalerweise von der Systemhardware auferlegten Sicherheitsbeschränkungen zu verletzen.

Die Meltdown-Sicherheitsanfälligkeit wurde als CVE-2017-5754 katalogisiert, in der darauf hingewiesen wird, dass Meltdown die grundlegende Isolation zwischen Benutzeranwendungen und dem Betriebssystem unabhängig von der jeweiligen Situation durchdringen kann. Dieser Angriff ermöglicht es einem Programm, auf den Speicher und damit auch auf die vertraulichen Informationen anderer Programme und des Betriebssystems selbst zuzugreifen.

See also  So entfernen Sie die Altersbeschränkung auf YouTube 2020

Diese Entscheidung wurde auch am 3. Januar vom Google Project Zero-Team und anderen zusätzlichen Geräten entdeckt.
Diese Sicherheitsanfälligkeit betrifft die Intel x86-64-Prozessoren, jedoch nicht die AMD x86-64-Prozessoren.

Einschmelzen kann das System beeinflussen wie:

  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux
  • Debian Linux ist verrückt
  • Debian Linux jessie
  • Debian Linux strecken
  • Deiban Linux Buster, sid
  • SUSE Linux Enterprise 11
  • SUSE Linux Enterprise 12
  • OpenSuse Linux basiert auf SUSE 12/11
  • Fedora Linux 26
  • Fedora Linux 27
  • Amazon Linux AMI
  • Windows

Gegenwärtig haben wir die Lösung für diese Sicherheitsanfälligkeit für die folgenden Linux-Distributionen mit der folgenden Kernel-Version:

  • RHEL 6.x [2.6.32-696.18.7] /7.x [3.10.0-693.11.6]
  • CentOS 6.x [2.6.32-696.18.7] /7.x [3.10.0-693.11.6]
  • Fedora 26 [4.14.11-200] / 27 [4.14.11-300]
  • Debian-Stretch [4.9.0-5-amd64] / Jessie [3.16.0-5-amd6] / Wheezy [3.2.0-5-amd64]
  • CoreOS [4.14.11-Chöre]
  • Arch Linux [Update auf aktuelles Rolling]
  • Gentoo Linux [Update auf aktuelles Rolling]
  • Ubuntu Linux v16.04 [4.4.0-109-generic oder 4.13.0-26-generic] /v17.10 [4.13.0-25-generic] /14.04 [3.13.0-139-generic]
  • SUSE – SLES 12 SP3 [4.4.103-6.38.1] / SLES 12 SP2 [4.4.103-92.59.1] / SLES 11 SP4 [3.0.101-108.21.1] / SLES 11 SP3-LTSS [3.0.101] -0.47.106.11.1]

Zum Schutz vor dieser Sicherheitsanfälligkeit CVE-2017-5754 können wir Folgendes ausführen:

  • In CentOS und RedHat:
 uname -r sudo yum update sudo neu starten 
  • In Fedora:
 sudo dnf - Kernel aktualisieren 
  • Unter Debian und Ubuntu:
 uname -r sudo apt-get update sudo apt-get dist-upgrade sudo shutdown -r 0 

Wie funktioniert Meltdown?
Erinnern Sie sich, dass eines der zentralen Sicherheitsmerkmale auf Betriebsebene in modernen Betriebssystemen die Isolierung des Speichers ist, die sicherstellt, dass Benutzeranwendungen keinen Zugriff auf die Speicher anderer Benutzer und Programme haben und somit Anwendungen verhindern der Benutzer können im Kernel-Speicher lesen oder schreiben.

In modernen Prozessoren wird die Isolation zwischen dem Kernel- und dem Benutzerprozess normalerweise von einem Prozessorbit-Supervisor ausgeführt, der definiert, ob ein Speicher auf die Kernelseite zugreifen kann oder nicht.
Meltdown wurde als neuer Angriff entwickelt, mit dem die Speicherisolation vollständig überwunden werden kann, indem jedem Benutzerprozess, der den Kernel – Speicher des laufenden Computers lesen kann, eine einfache Form zur Verfügung gestellt wird, einschließlich des gesamten physischen Speichers, der im System zugeordnet ist Kernel-Region.

Meltdown funktioniert heute auf allen wichtigen Betriebssystemen, und diese Sicherheitsanfälligkeit nutzt die Seitenkanalinformationen, die auf den meisten modernen Prozessoren wie Intel oder AMD verfügbar sind.

Meltdown gibt einem Angreifer die Möglichkeit, Code in einem anfälligen Prozessor auszuführen, um einen Speicherauszug des gesamten Kernels im Adressraum einschließlich des zugewiesenen physischen Speichers zu erhalten.

Die Ursache für die Einfachheit und den Umfang von Meltdown sind Nebenwirkungen, die durch die nicht ordnungsgemäße Ausführung verursacht werden. Dies ist eine Eigenschaft der aktuellen Prozessoren, die entwickelt wurden, um die Latenzen der belegten Ausführungseinheiten zu überwinden.

Die Arbeitsphasen von Meltdown sind:

  • Phase 1. In dieser Phase wird ein ungültiger Speicherplatz im Prozessorkern angefordert.
  • Phase 2. In dieser Phase wird eine zweite Anforderung ausgeführt, um einen gültigen Speicherort nur dann bedingt auszulesen, wenn die erste Anforderung einen bestimmten aktiven Wert enthält.
  • Phase 3. In dieser Phase wird die spekulative Ausführungsaufgabe ausgeführt, bei der der Prozessor die Arbeit für die beiden vorherigen Anforderungen im Hintergrund abschließt, bevor überprüft wird, ob die ursprüngliche Anforderung ungültig ist. Sobald der Prozessor versteht, dass die Anforderungen einen Speicher außerhalb der Grenzen beinhalten, lehnt er beide Anforderungen ab.
  • Phase 4. Es liegt eine neue Anforderung für den gültigen Speicherort vor.

Daher können wir mit der Meltdown-Sicherheitsanfälligkeit Folgendes definieren:

Der Inhalt eines vom Angreifer ausgewählten Speicherorts, auf den der Angreifer nicht zugreifen kann, wird in eine Systemregistrierung geladen.

Ein vorübergehender Befehl greift auf eine Cache-Zeile zu, die auf dem geheimen Inhalt der Registrierung basiert.

See also  Debian - Kompilieren und Installieren eines neuen Kernels

Der Angreifer ermittelt mit Flush + Reload den Zugriff auf die Cache-Zeile und greift daher auf die Informationen zu, die am ausgewählten Speicherort gespeichert sind.

Sobald wir verstanden haben, wie diese Sicherheitsanfälligkeiten funktionieren, werden wir sehen, wie wir unsere Teams vor ihnen schützen können. Wir müssen jedoch klarstellen, dass bisher keine Angriffe gemeldet wurden, die sowohl Benutzer als auch Administratoren betreffen.

Um auf dem Laufenden zu bleiben, sollten Sie unseren YouTube-Kanal abonnieren. ABONNIEREN

1. So schützen Sie sich auf Linux-Systemen vor Spectre und Meltdown

Im Falle von Linux verwenden wir spectre-meltdown-checker.sh, ein Shell-Skript, um festzustellen, ob der Linux-Kernel für die drei CVEs anfällig ist, die wir für diese Sicherheitsanfälligkeiten erwähnt haben.

Hinweis
Dieses Skript muss als Root ausgeführt werden.

Schritt 1

Um dieses Skript zuerst zu installieren, gehen wir in das Verzeichnis / tmp:

 cd / tmp / 
Schritt 2

Sobald wir uns in diesem Verzeichnis befinden, rufen wir das Skript auf, das die folgende Zeile ausführt:

 wget https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh 

5-Schutz-vor-Spectre-and-Meltdown.png

Hinweis
Eine andere Möglichkeit, es zu erhalten, besteht darin, die folgende Zeile auszuführen:

 Git-Klon https://github.com/speed47/spectre-meltdown-checker.git 

So überprüfen Sie, ob wir für Spectre oder Meltdown anfällig sind
Um die Sicherheit unserer Distribution zu überprüfen, können wir folgende Zeile ausführen:

 sudo sh spectre-meltdown-checker.sh 

6-anfällig-für-Spectre-o-Meltdown'.png

So einfach ist das Wir können überprüfen, ob unser System für diese neuen Bedrohungen anfällig ist oder nicht.

2. So schützen Sie sich auf Windows-Systemen vor Spectre und Meltdown

In diesem Fall verwenden wir Windows 10 und müssen als Administratoren auf Windows PowerShell zugreifen, indem Sie mit der rechten Maustaste auf die Anwendung klicken und die Option “Als Administrator ausführen” auswählen.

Schritt 1

Sobald das PowerShell-Terminal geöffnet ist, führen wir die folgende Zeile aus:

 Install-Module SpeculationControl 
Schritt 2

In den angezeigten Fragen geben wir den Buchstaben S ein, um zu bestätigen: 7-schützen-vor-Spectre-and-Meltdown - linux.png

Schritt 3

Die standardmäßige Windows-Ausführungsrichtlinie erlaubt es uns nicht, dieses Skript auszuführen. Um das Skript auszuführen, müssen wir die aktuelle Konfiguration speichern, damit sie später wiederhergestellt werden kann, und dann die Ausführungsrichtlinie so ändern, dass sie ausgeführt werden kann Führen Sie das Skript aus Dazu führen wir die folgenden zwei Befehle aus:

 $ SaveExecutionPolicy = Get-ExecutionPolicy Set-ExecutionPolicy RemoteSigned -Scope Aktueller Benutzer 

8-schützen-vor-Spectre-and-Meltdown-linux.png

Schritt 4

Jetzt können wir das Skript ausführen, indem wir Folgendes ausführen:

 Import-Module SpeculationControl Get-SpeculationControlSettings 

9-SpeculationControlSettings.png

Schritt 5

Wir können detaillierte Informationen über das System sehen und sollten uns insbesondere zwei Zeilen ansehen:

Windows-Betriebssystemunterstützung für die Abschwächung der Zweigzielinjektion
Diese Zeile gibt das Microsoft-Softwareupdate an. Wenn der Wert true ist, bedeutet dies, dass der Computer vor Meltdown- und Spectre-Angriffen geschützt ist.

Hardware-Unterstützung für die Abschwächung der Branch Target Injection
Diese Zeile bezieht sich auf das Firmware-Update oder BIOS / UEFI, das vom Computerhersteller benötigt wird. Wenn der Wert true ist , bedeutet dies, dass wir vor der Spectre-Sicherheitsanfälligkeit geschützt sind.

Schritt 6

Um die ursprüngliche Konfiguration der Ausführungsrichtlinie wiederherzustellen, nachdem die Sicherheit des Systems überprüft wurde, können Sie die folgende Zeile ausführen:

 Set-ExecutionPolicy $ SaveExecutionPolicy -Scope Aktueller Benutzer 

10-Scope-Currentuser.png

Schritt 7

Es ist auch wichtig, sich daran zu erinnern, wie wichtig es ist, das Betriebssystem auf dem neuesten Stand zu halten, da Entwickler Sicherheitspatches veröffentlichen, um diese Sicherheitslücken zu schließen:

11-spectre-maltdown-prevent.jpg

3. Offizielle Informationen zu Spectre und Meltdown durch die Hersteller

Unter den folgenden Links finden Sie Informationen zu diesen Sicherheitsanfälligkeiten auf den Websites der Hauptentwickler. Auf diese Weise erhalten Sie detailliertere Informationen dazu, wie Sie dem Problem vorbeugen und ihm einen Schritt voraus sein können:

  • Intel
  • ARM
  • AMD
  • NVIDIA
  • Microsoft Windows
  • Windows Server
  • Amazon
  • Google
  • Android
  • Apple
  • Lenovo
  • HP
  • Huawei
  • Cisco
  • Mozilla
  • RedHat
  • Debian
  • Ubuntu
  • Fedora
  • VMWare

Wie wir sehen, sind die Sicherheitslücken zwar immer vorhanden, wir können jedoch die erforderlichen Maßnahmen ergreifen, um auf Fehler aufmerksam zu machen und zu verhindern, dass unsere Informationen beeinträchtigt werden.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *