Linux 6.6 kommt mit Shadow Stac, FS-Verbesserungen, Optimierungen und mehr

Linux Kernel

Linux ist ein weitgehend freier Kernel ähnlich dem Unix-Kernel und eines der wichtigsten Beispiele für freie und Open-Source-Software.

Kürzlich hat Linus Torvalds, der Schöpfer und Betreuer des Linux-Kernels, kündigte die Veröffentlichung von Version 6.6 an, nachdem alle Ausreden ausgeschöpft wurden, um die Arbeit zu verzögern. Diese neue Version bringt mehrere neue Funktionen und Verbesserungen, insbesondere in Bezug auf Sicherheit, Hardware-Unterstützung und Leistung. Eine der bemerkenswertesten neuen Funktionen in Linux 6.6 ist der EEVDF-Scheduler, der den CFS-Scheduler ersetzt.

Zu den Hauptfunktionen von Linux 6.6 gehört die Implementierung des Intel Shadow Stack (der trotz seines Namens auch bestimmten AMD-Chips zugute kommt), einer Hardware-Sicherheitstechnologie, die Anwendungen vor ROP-Angriffen (Return-Oriented Programming) schützt. (für sein Akronym auf Englisch) auf Intel Tiger Lake-Prozessoren und höher.

Die wichtigsten neuen Funktionen von Linux 6.6

In dieser neuen Version von Linux 6.6, die vorgestellt wird, sWir haben zusätzliche Konfigurationen für unabhängige Arbeitswarteschlangen hinzugefügt um die Effizienz der Prozessor-Cache-Wiederverwendung in großen Systemen mit mehreren Caches der dritten Ebene (L3) zu verbessern. Der Kernel Enthält außerdem ein Dienstprogramm tools/workqueue/wq_dump.py um die aktuelle Konfiguration der Arbeitswarteschlangen zu überprüfen.

Eine weitere Veränderung, die auffällt, ist die folgende Unterstützung für numerische Parameter zu den Einstellungen hinzugefügt /sys/devices/system/cpu/smt/ Steuerelemente, die die Anzahl der für jeden CPU-Kern verfügbaren Threads bestimmen (zuvor wurden nur „Ein“- und „Aus“-Werte unterstützt, um die symmetrische Multithreading-Unterstützung zu aktivieren oder zu deaktivieren). Der Die neue Funktion kann auf einigen PowerPC-Prozessoren verwendet werden die Hotplug-symmetrisches Multithreading („SMT-Hotplug“) unterstützen, um SMT auf bestimmten Kernen während des Betriebs selektiv zu aktivieren.

Auf der Seite des Dateisystems Linux 6.6 bringt Verbesserungen bei der Unterstützung zonaler Geräte und der Komprimierung für F2FS, Unterstützung für gemeinsam genutzte mmaps im Nicht-Cache-Modus für FUSE, Korrekturen für Netfilter und BPF, Zahlreiche Korrekturen für den AMDGPU-Treiber, Regressionskorrekturen für MIDI 2.0-Unterstützung und besseres Intel RAPL-Energiemanagement.

Linux 6.6 fügt außerdem pünktlich zur PA-RISC-Architektur einen BPF-Compiler hinzu, SMT-Hot-Plug-Unterstützung für die PowerPC-Architektur, ein neues Flag für die Mount-API, das verhindert, dass ein Mount Superblöcke im Speicher mit anderen Mounts teilt, Unterstützung für SEV-Guests SNP und TDX in Hyper-V und Betriebsunterstützung für anfängliche Netzwerkwerte für das io_uring-Subsystem. Dem BPF-Subsystem wurde Unterstützung für die Defragmentierung von IPv4- und IPv6-Paketen sowie die Möglichkeit zum Filtern fragmentierter Pakete hinzugefügt. Ein neuer Handler, update_socket_protocol, wurde zu BPF hinzugefügt, damit BPF-Programme das angeforderte Protokoll für neue Sockets ändern können.

Außerdem, Informationen wurden zur Datei /proc/pid/smaps hinzugefügt um die Wirksamkeit des Mechanismus zum Zusammenführen identischer Speicherseiten (KSM: Kernel Samepage Merging) zu diagnostizieren.

Die Frontswap-API wurde entfernt, wodurch die Swap-Partition in einem Speicher platziert werden kann, der nicht direkt angesprochen werden kann und keine Betriebsinformationen über die Verfügbarkeit von freiem Speicherplatz liefert. Diese API wurde nur in zswap verwendet, daher wurde beschlossen, diese Funktionalität direkt in zswap zu verwenden und unnötige Ebenen zu eliminieren.

XFS wurde auf die Möglichkeit vorbereitet, das Dienstprogramm fsck zu verwenden um erkannte Probleme online zu überprüfen und zu beheben, ohne das Dateisystem auszuhängen. Darüber hinaus hat XFS die Möglichkeit implementiert, große Beiträge im Seitencache zu verwenden, und einige damit verbundene Optimierungen hinzugefügt, die die Leistung für einige Workload-Typen erheblich verbesserten.

Das Dateisystem tmpfs hat Unterstützung für erweiterte Benutzerattribute hinzugefügt (Benutzer-Xattrs), direkte E/A sowie Benutzer- und Gruppenkontingente. Stabilisierte Verzeichnis-Offsets, wodurch Probleme beim Exportieren von tmpfs über NFS behoben wurden.

Darüber hinaus wurde es hinzugefügt eine Implementierung des Shadow Stack-Mechanismus, so den Betrieb vieler Exploits blockieren, Nutzung der Hardwarefunktionen von Intel-Prozessoren zum Schutz vor dem Überschreiben der Rücksprungadresse einer Funktion im Falle eines Pufferüberlaufs auf dem Stapel.

Die Essenz des Schutzes ist das Nach der Übergabe der Kontrolle an eine Funktion speichert der Prozessor die Rücksprungadressen nicht nur auf dem normalen Stack, sondern auch auf einem separaten „Shadow“-Stack. was nicht direkt geändert werden kann. Bevor die Funktion beendet wird, wird die Rücksprungadresse aus dem verborgenen Stapel entnommen und mit der Rücksprungadresse auf dem Hauptstapel verglichen. Nicht übereinstimmende Adressen führen dazu, dass eine Ausnahme ausgelöst wird, die Situationen blockiert, in denen es dem Exploit gelungen ist, eine Adresse im Hauptstapel zu überschreiben. Der Hardware-Shadow-Stack wird nur in 64-Bit-Builds unterstützt und die Softwareemulation wird in 32-Bit-Builds verwendet.

Der andere Änderungen, die auffallen dieser neuen Version:

  • Erste Unterstützung für ARM SME-Anweisungen (Scalable Matrix Extension) hinzugefügt.
  • Die Fähigkeiten des Perf-Dienstprogramms wurden erweitert.
  • Dem VFIO-Subsystem zur Verwaltung von VFIO-Geräten wurde eine neue Zeichenschnittstelle (/dev/vfio/devices/vfioX) hinzugefügt, die es dem Benutzer ermöglicht, eine Gerätedatei direkt zu öffnen, ohne auf die alte /dev/vfio/$-Gruppenschnittstelle groupID zuzugreifen.
  • Der NFS-Server unterstützt keine älteren Kerberos-Verschlüsselungstypen mehr, die die DES- und 3DES-Algorithmen verwenden.
  • Die Implementierung der AF_XDP-Adressfamilie (eXpress Data Path) wurde erweitert, um mit Paketen zu arbeiten, die in mehreren Puffern gespeichert sind.
  • Programme, die AF_XDP-Sockets verwenden, können jetzt Pakete von mehreren Puffern gleichzeitig empfangen und übertragen.
  • Das Flag für die experimentelle Entwicklung wurde aus dem ksmbd-Modul entfernt, das eine Implementierung eines Dateiservers auf Kernelebene basierend auf dem SMB3-Protokoll bereitstellt.
  • Unterstützung für das Kombinieren von Lesevorgängen („zusammengesetzte Leseabfragen“) hinzugefügt.

Wenn Sie daran interessiert sind, mehr darüber zu erfahren, können Sie die Details im folgenden Link


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.