Sicherheitsforscher haben im Projekt Zero eine neue Sicherheitslücke namens Spectre and Meltdown veröffentlicht, mit der ein Programm Informationen aus einem Speicher anderer Programme stehlen kann. Es betrifft Intel-, AMD- und ARM-Architekturen.
Dieser Fehler kann aus der Ferne ausgenutzt werden, indem Sie eine JavaScript-Website besuchen. Technische Details finden Sie unter Red Hat Website , Ubuntu Security - Team .
Informationsleck durch spekulative Hinrichtungsseitenkanalangriffe (CVE-2017-5715, CVE-2017-5753, CVE-2017-5754 aka Spectre and Meltdown)
Es wurde festgestellt, dass eine neue Klasse von Seitenkanalangriffen die meisten Prozessoren betrifft, einschließlich Prozessoren von Intel, AMD und ARM. Durch den Angriff können böswillige Userspace-Prozesse den Kernel-Speicher und böswilligen Code in den Gastsystemen den Hypervisor-Speicher lesen. Um das Problem zu beheben, sind Updates für den Ubuntu-Kernel und den Prozessor-Mikrocode erforderlich. Diese Updates werden in zukünftigen Ubuntu-Sicherheitsmitteilungen angekündigt, sobald sie verfügbar sind.
Beispielimplementierung in JavaScript
Als Proof-of-Concept wurde JavaScript-Code geschrieben, der es JavaScript ermöglicht, privaten Speicher von dem Prozess zu lesen, in dem es ausgeführt wird, wenn es im Google Chrome-Browser ausgeführt wird.
Mein System scheint von der Spectre-Schwachstelle betroffen zu sein. Ich habe diesen Proof-of-Concept zusammengestellt und ausgeführt ( spectre.c
).
System Information:
$ uname -a
4.13.0-0.bpo.1-amd64 #1 SMP Debian 4.13.13-1~bpo9+1 (2017-11-22) x86_64 GNU/Linux
$ cat /proc/cpuinfo
model name : Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz
$gcc --version
gcc (Debian 6.3.0-18) 6.3.0 20170516
Wie können die Schwachstellen in Spectre und Meldown auf Linux-Systemen gemindert werden?
Lesen Sie weiter: Verwenden von Meltdown zum Stehlen von Passwörtern in Echtzeit .
Aktualisieren
Verwenden Sie Spectre & Meltdown Checker
nach dem Umstieg auf die 4.9.0-5
Kernel-Version die folgende Antwort von @Carlos Pasqualini, da ein Sicherheitsupdate verfügbar ist, um die cve-2017-5754 unter Debian Stretch zu verringern:
CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
* Checking count of LFENCE opcodes in kernel: NO (only 31 opcodes found, should be >= 70)
> STATUS: VULNERABLE (heuristic to be improved when official patches become available)
CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
* Mitigation 1
* Hardware (CPU microcode) support for mitigation: NO
* Kernel support for IBRS: NO
* IBRS enabled for Kernel space: NO
* IBRS enabled for User space: NO
* Mitigation 2
* Kernel compiled with retpoline option: NO
* Kernel compiled with a retpoline-aware compiler: NO
> STATUS: VULNERABLE (IBRS hardware + kernel support OR kernel with retpoline are needed to mitigate the vulnerability)
CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Kernel supports Page Table Isolation (PTI): YES
* PTI enabled and active: YES
> STATUS: NOT VULNERABLE (PTI mitigates the vulnerability)
Update 25. Januar 2018
Das spectre-meltdown-checker
Skript wird offiziell von Debian gepackt und ist für Debian Stretch über das Backports-Repository, Buster und Sid verfügbar .
Speculative Store Bypass (SSB) - auch als Variante 4 bekannt
Systeme mit Mikroprozessoren, die eine spekulative Ausführung und eine spekulative Ausführung von Speicherlesevorgängen verwenden, bevor die Adressen aller früheren Speicherschreibvorgänge bekannt sind, können die unbefugte Weitergabe von Informationen an einen Angreifer mit lokalem Benutzerzugriff über eine Seitenkanalanalyse ermöglichen.
Rogue System Register Read (RSRE) - auch als Variante 3a bekannt
Systeme mit Mikroprozessoren, die eine spekulative Ausführung verwenden und spekulative Lesevorgänge von Systemregistern durchführen, können einem Angreifer mit lokalem Benutzerzugriff über eine Seitenkanalanalyse die unbefugte Offenlegung von Systemparametern ermöglichen.
Bearbeiten 27. Juli 2018
NetSpectre: Beliebigen Speicher über das Netzwerk lesen
In diesem Artikel stellen wir NetSpectre vor, einen neuen Angriff, der auf Spectre-Variante 1 basiert und keinen vom Angreifer gesteuerten Code auf dem Zielgerät erfordert. Dies wirkt sich auf Milliarden von Geräten aus. Ähnlich wie bei einem lokalen Spectre-Angriff erfordert unser Remote-Angriff das Vorhandensein eines Spectre-Gadgets im Code des Ziels. Wir zeigen, dass Systeme, die die erforderlichen Spectre-Gadgets in einer exponierten Netzwerkschnittstelle oder -API enthalten, mit unserem generischen Spectre-Remoteangriff angegriffen werden können, sodass beliebiger Speicher über das Netzwerk gelesen werden kann. Der Angreifer sendet nur eine Reihe von gestalteten Anforderungen an das Opfer und misst die Antwortzeit, um einen geheimen Wert aus dem Speicher des Opfers zu entfernen.
quelle
Antworten:
Alan Cox hat einen Link von AMDs Blog geteilt: https://www.amd.com/en/corporate/speculative-execution
Variante Eins: Bounds Check Bypass Variante Zwei: Branch Target Injection Variante Drei: Laden des Rogue-DatencachesEine Bestätigung dieser Äußerungen von AMD durch Dritte wäre jedoch gut.
Die "Minderung" der Auswirkungen auf betroffene Systeme würde einen neuen Kernel und einen Neustart erfordern. Bei vielen Distributionen sind jedoch noch keine Pakete mit den folgenden Korrekturen veröffentlicht worden:
Debian:
Andere Informationsquellen, die ich gefunden habe:
quelle
27. Januar 2018 Intel Microcode bricht einige Systeme
Das Intel Microcode Update 2018-01-08 zur spekulativer Sicherheitslücken bei der Ausführungsverzweigung hat einige Systeme . Dies betraf viele Ubuntu-Systeme vom 8. bis 21. Januar. Am 22. Januar 2018 veröffentlichte Ubuntu ein Update, das älteren Microcode vom 07.07.2017 zurückbringt.
Wenn Sie Probleme mit Updates hatten, Ubuntu neu installiert und die Updates zwischen dem 08.01.2018 und dem 22.01.2018 deaktiviert haben, möchten Sie möglicherweise die automatischen Updates von Ubuntu erneut versuchen.
16. Januar 2018 Update Spectre in 4.14.14 und 4.9.77
Wenn Sie bereits Kernel-Versionen 4.14.13 oder 4.9.76 verwenden, ist die Installation ein Kinderspiel
4.14.14
und4.9.77
wenn sie in ein paar Tagen herauskommen, um die Spectre-Sicherheitslücke zu schließen. Der Name dieses Fixes ist Retpoline und hat nicht die zuvor spekulierten schwerwiegenden Leistungseinbußen:Ohne auf Details von JavaScript eingehen zu müssen, erfahren Sie hier, wie Sie das Meltdown-Loch sofort umgehen (und ab 10. Januar 2018 Spectre-Schutz).
Update vom 12. Januar 2018
Anfänglicher Schutz vor Spectre ist da und wird in den kommenden Wochen und Monaten verbessert.
Linux-Kernel 4.14.13, 4.9.76 LTS und 4.4.111 LTS
Aus diesem Softpedia-Artikel :
Viele Benutzer hatten Probleme mit Ubuntu LTS-Updates am 4. Januar 2018 und 10. Januar 2018. Ich benutze
4.14.13
seit ein paar Tagen ohne Probleme jedoch YMMV .Update vom 7. Januar 2018
Greg Kroah-Hartman hat gestern ein Status-Update zu den Sicherheitslücken im Meltdown- und Spectre Linux-Kernel geschrieben. Einige nennen ihn vielleicht den zweitmächtigsten Mann in der Linux-Welt direkt neben Linus. Der Artikel befasst sich mit stabilen Kerneln (siehe unten) und LTS-Kerneln, über die die Mehrheit der Ubuntu-Benutzer verfügt.
Linux-Kernel 4.14.11, 4.9.74, 4.4.109, 3.16.52 und 3.2.97 Fehler beim Zusammenschmelzen von Patches
Aus diesem Artikel :
Benutzer werden aufgefordert, ihre Systeme sofort zu aktualisieren
4. Januar 2018 01:42 GMT · Von Marius Nestor
Die Linux-Kernel-Betreuer Greg Kroah-Hartman und Ben Hutchings haben neue Versionen der Linux-Kernel-Serien 4.14, 4.9, 4.4, 3.16, 3.18 und 3.12 LTS (Long Term Support) veröffentlicht, die anscheinend eine der beiden kritischen Sicherheitslücken der neuesten Generation beheben Prozessoren.
Die Linux-Kernel 4.14.11, 4.9.74, 4.4.109, 3.16.52, 3.18.91 und 3.2.97 können jetzt von der kernel.org-Website heruntergeladen werden. Benutzer werden aufgefordert, ihre GNU / Linux-Distributionen zu aktualisieren auf diese neuen Versionen, wenn sie eine dieser Kernel-Serien sofort ausführen. Warum aktualisieren? Weil sie offenbar eine kritische Schwachstelle namens Meltdown ausbessern.
Wie bereits erwähnt, sind Meltdown und Spectre zwei Exploits, die nahezu alle Geräte betreffen, die mit modernen Prozessoren (CPUs) betrieben werden, die in den letzten 25 Jahren auf den Markt gebracht wurden. Ja, das bedeutet fast alle Handys und PCs. Meltdown kann von einem nicht privilegierten Angreifer ausgenutzt werden, um in böswilliger Absicht vertrauliche Informationen aus dem Kernelspeicher abzurufen.
Patch für Spectre-Schwachstelle ist noch in Arbeit
Während Meltdown eine schwerwiegende Sicherheitsanfälligkeit ist, die Ihre geheimen Daten, einschließlich Kennwörter und Verschlüsselungsschlüssel, offenlegen kann, ist Spectre noch schlimmer und nicht einfach zu beheben. Sicherheitsforscher sagen, es wird uns noch einige Zeit verfolgen. Spectre nutzt bekanntermaßen die spekulative Ausführungstechnik moderner CPUs, um die Leistung zu optimieren.
Bis der Spectre-Fehler ebenfalls behoben ist, wird dringend empfohlen, mindestens Ihre GNU / Linux-Distributionen auf eine der neu veröffentlichten Linux-Kernel-Versionen zu aktualisieren. Durchsuchen Sie also die Software-Repositorys Ihrer Lieblingsdistribution nach dem neuen Kernel-Update und installieren Sie es so bald wie möglich. Warten Sie nicht bis es zu spät ist, machen Sie es jetzt!
Ich hatte Kernel 4.14.10 für eine Woche benutzt, also Ubuntu Mainline Kernel Version 4.14.11 heruntergeladen und gebootet für mich kein großes .
Benutzer von Ubuntu 16.04 sind möglicherweise mit Kernel-Versionen 4.4.109 oder 4.9.74, die zur gleichen Zeit wie 4.14.11 veröffentlicht wurden, zufriedener.
Wenn Ihre regulären Updates die gewünschte Kernel-Version nicht installieren, können Sie dies manuell tun. Befolgen Sie dazu die folgende Frage an Ubuntu: https://askubuntu.com/questions/879888/how-do-i-update-kernel-to-the-latest -mainline-version / 879920 # 879920
4.14.12 - Was für einen Unterschied macht ein Tag
Weniger als 24 Stunden nach meiner ersten Antwort wurde ein Patch veröffentlicht, um die Kernel-Version 4.14.11 zu reparieren, die sie möglicherweise herausgebracht haben. Ein Upgrade auf 4.14.12 wird für alle 4.14.11-Benutzer empfohlen. Greg-KH sagt :
Mit Blick auf dieses Update wurden nicht sehr viele Quellcodezeilen geändert.
quelle
apt-get dist-upgrade
.Tatsächlich. Eine sinnvolle Lösung besteht darin, JavaScript in Ihren Webbrowsern zu deaktivieren oder Webbrowser zu verwenden, die kein JavaScript unterstützen.
Die meisten Browser, die JavaScript unterstützen, haben eine Einstellung zum Deaktivieren. Wenn Sie alternativ eine Whitelist mit Websites oder Domänen verwalten möchten, für die JavaScript zulässig ist, stehen verschiedene Add-Ons zur Verfügung, z. B. uBlock Origin und NoScript .
NB Es sollte selbstverständlich sein, dass das Deaktivieren / Einschränken von JavaScript nicht Ihre einzige Minderung sein sollte. Sie sollten außerdem alle relevanten Kernel-Fixes und andere Sicherheitsupdates überprüfen (und möglicherweise anwenden), sobald sie geschrieben, getestet und veröffentlicht wurden. Auf Debian abgeleitete Verteilungen Verwendung Befehle wie
sudo apt update
,sudo apt list-upgradable
undsudo apt upgrade
.Update: Nimm nicht mein Wort dafür. Alan Cox sagt ähnlich:
quelle
Die Tatsache, dass dies mithilfe von JavaScript ausgenutzt werden kann, ist nicht das Hauptanliegen und sollte auch nicht das Hauptanliegen sein (obwohl dies ein wichtiges Anliegen ist, da auf diese Weise Remotecode leicht auf Ihrem System ausgeführt werden kann, aber dies ist nicht das einzige wie das passieren kann).
Ihr Fokus sollte nicht auf Javascript und / oder Ihrem Browser liegen. Idealerweise sollte Ihre CPU gepatcht sein. Leider scheint dies für die meisten der aktuellen Fehlerwellen nicht möglich zu sein. Zusammen mit Debian werden alle anderen Betriebssystemanbieter also den einzig möglichen Weg gehen, um eine CPU zu empfehlen, die nicht fehlerhaft ist: Sie zwingen das System, den Fehler in der CPU zu umgehen. Diese Patches beheben die Probleme nicht. Stattdessen verbirgt das Betriebssystem sie so gut es geht vor jedem Programm, das ein Benutzer auf dem Computer ausführt (und damit auch vor Ihrem Browser).
Dieses Verstecken ist eine zusätzliche Rechenarbeit und daher ist Ihre Gesamtsystemleistung geringer als ohne. Wie viel niedriger hängt wahrscheinlich stark davon ab, was genau diese Programme tun.
Zurück zu Ihrer Frage: Was Sie tun können, um Ihr Debian-System zu schützen, ist die Installation von Sicherheitsupdates. Ich vertraue darauf, dass Debian angesichts dieser Fehler alles in seiner Macht Stehende tun wird, um Debian trotz der inhärenten CPU-Mängel so sicher wie möglich laufen zu lassen.
Alle möglichen großen Unternehmen arbeiten bereits an diesem Problem, ebenso zahlreiche Hardware- und Linux-Gurus. Ich möchte Sie nicht unbedingt davon abhalten, etwas selbst auszuprobieren oder der allgemeinen Anstrengung zu helfen. Wenn Sie sich jedoch nur für Ihre eigene Sicherheit und eine zeitnahe Fehlerbehebung interessieren, werden sie höchstwahrscheinlich in kürzerer Zeit eine bessere Lösung finden als Sie.
quelle