it-swarm.com.de

Hat jemand unabhängig das Shell-Skript von Speed ​​47 (spectre-meltdown-checker.sh) überprüft, das nach Meltdown- und Spectre-Patches sucht?

Es gibt diesen Code, der überprüft, ob Ihr Kernel für Spectre und Meltdown gepatcht wurde. Es ist bei: https://github.com/speed47/spectre-meltdown-checker

Andere Kommentatoren haben über die Einschränkungen der Methode gesprochen, aber ich habe niemanden gefunden, der etwas darüber sagt, ob es sicher ist, als root zu laufen.

Kann jemand den Sicherheitsaspekt dieses Skripts abwägen?

Geht es darum, diese Sicherheitsanfälligkeiten zu überprüfen, z. B. die Systemkonfiguration zu ändern oder Änderungen vorzunehmen, die nach einem Neustart überleben könnten?

Danke

4
Grunt Smash

Das Skript überprüft derzeit die Schadensbegrenzungen im Kernel auf alle drei Sicherheitsanfälligkeiten. Inzwischen verfügen die LTS-Systeme und Ubuntu 17.10 über Maßnahmen zur Minderung der Meltdown-Sicherheitsanfälligkeit.

Es gibt ein C-Programm, um eine der Spectre-Schwachstellen zu ermitteln. Sie können überprüfen, ob Ihr Prozessor anfällig ist für:

wget https://Gist.githubusercontent.com/ErikAugust/724d4a969fb2c6ae1bbd7b2a9e3d4bb6/raw/41bf9bd0e7577fe3d7b822bbae1fec2e818dcdd6/spectre.c

gcc spectre.c -o spectre -std=c99 -w -O0

./spectre

Wenn Sie Linien sehen können mit:

Reading at malicious_x = 0xffffffffffdfebb8... Success: 0x54=’T’ score=7

Dann ist Ihr Prozessor für die Spectre-Verzweigungsvorhersage anfällig.

Ich habe Intel Atom der ersten Generation, Core 2 Duo E8400, Core 2 Duo 4300 als nicht anfällig und Core i5 3230M, AMD Turion TL-56 als anfällig getestet, basierend auf der Ausführung dieses Programms.

2
kukulo

Zunächst ein paar Fakten von der Github-Seite des Projekts. Zum Zeitpunkt des Schreibens hat es 48 Mitwirkende und 355 Gabeln. Ein Mitwirkender könnte jemand sein, der nur einen Teil des Skripts gesehen und einen für ihn interessanten Bereich geändert hat, aber höchstwahrscheinlich haben sie das Ganze durchgelesen, um den Code-Beitrag zu leisten. Das ist also schon ein bedeutender Grad an Überprüfung. Es gibt auch 355 Gabeln, aber wenn Sie sehen, wie Sie nur einen Knopf drücken müssen, um eine zu machen, machen Sie daraus, was Sie wollen.

Als nächstes sollte man sich beim Überprüfen von Skripten oder Quellcode niemals auf Virus Total verlassen. Vielleicht wird eines Tages eine KI geschrieben, die Skripte/Quellcode lesen kann, um nach schädlichen Inhalten zu suchen, aber im Moment hat niemand wirklich eine Möglichkeit gefunden, diese automatisch zu überprüfen. Antivirenprogramme suchen nach binären Signaturen und verwenden manchmal einen heuristischen Ansatz, um binäre Dateien zu analysieren. Wenn Sie einem Anti-Virus einen Quellcode oder ein Skript zuweisen, wird es als Textdatei interpretiert und Ihnen mitgeteilt, dass es sauber ist (wodurch ein falsches Sicherheitsgefühl entsteht).

Schließlich habe ich gerade alle 4500 Zeilen durchgelesen und nichts gefunden, was mir Sorgen machte.

Vollständige Offenlegung, ich betrachte mich nur als ein Intermediate-Bash-Drehbuchautor und dies war ein ziemlich fortgeschrittenes Drehbuch, das ich wahrscheinlich in den kommenden Jahren für Tipps und Tricks ausschlachten werde. Obwohl ich damit Schritt halten konnte, ist es möglich, dass ich etwas verpasst habe, weil darin viel passiert ist.

Die meisten Operationen beinhalten das Lesen des Kernels, der CPU-ID, der Kernel-Konfiguration, des fs (der Teile, die mit Patch- und Kernel-Informationen zusammenhängen, die für den Job benötigt werden) und der msr von CPU. Es werden einige Schreibvorgänge, Extraktionen, Speicherauszüge und Dekompilierungen vorgenommen, die im temporären Ordner stattfinden und bei der Exit-Bereinigung gelöscht werden. Das einzige Mal, dass es das Internet nutzt, ist wget, um eine MCExtractor-Datenbank von seiner Github-Seite herunterzuladen. Es wird in keiner Weise versucht, nach Hause zu wählen.

Beim Lesen habe ich nur zwei wichtige Dinge festgestellt: Zum einen werden zwei Schreibvorgänge in die modellspezifischen Register (msr) der CPU ausgeführt (dort werden unter anderem die CPU-Einstellungen gespeichert). Anfangs war es alarmierend, aber ich habe diese Schreibvorgänge mit von Intel herausgegebene Richtlinien überprüft, und die Schreibvorgänge fallen unter die empfohlenen Parameter.

Die zweite Bemerkung war, dass das Skript eine SQLite3-Datenbank aus einem Projekt namens MCExtractor herunterladen muss. Ich kenne das MCExtractor-Projekt nicht und habe seinen Quellcode nicht gesehen. Nachdem ich nicht wirklich Lust hatte, ein weiteres Projekt zu überprüfen, um dieses Skript auszuführen, suchte ich im Internet, ob der Zugriff auf sqlite3 dbs von einer unbekannten Quelle aus gefährlich ist. Es gibt in der Tat ein Exploit, der mit sqlite3 namens Magellan ausgeführt werden kann , aber er scheint eher mit dem Aspekt der Ausführung des Abfragecodes von sqlite3 als mit dem Aspekt der Datenbank verknüpft zu sein. Ich persönlich mache mir darüber keine allzu großen Sorgen, aber ich dachte, ich würde auf die Möglichkeit hinweisen und Sie daraus machen lassen, was Sie wollen. Der Exploit wurde aus SQL 3.26 heraus gepatcht, das sich noch nicht in Ubuntu Bionic oder Cosmic Repos befindet. Wenn Sie sich Sorgen machen, können Sie die 3.26 libsqlite3-Version direkt von http://us.archive.ubuntu.com/ubuntu/pool/main/s/sqlite3/ als Deb-Datei herunterladen und installiere es mit Sudo dpkg -i name-of-deb-here.deb. Ich würde empfehlen, ein Downgrade direkt nach (erneut unter Verwendung einer Deb-Datei von derselben Stelle) als 3.26 durchzuführen, die derzeit in den Änderungsprotokollen als instabil eingestuft sind.

Diese Information bezieht sich auf Commit d7d2e69 des Projekts, das Sie in diesem Link finden .

Es wurde am 11. Dezember 2018 erstellt und die sha256sum des Skripts dieser Version lautet: b0f884be51f0eb49ed61854f0e011a2f89f44c35699e07a705b0ec6f98fa29b5

Und du benutzt wahrscheinlich Githubs

1
thebunnyrules