Hallo, welchen Einfluss hat fehlender Microcode in QubesOS?. Bei traditionellen monolithischen Systemen sind diese ja anfällig für Spectre, Meltdown, etc. Haben solche Schwachstellen den gleichen schwerwiegenden Einfluss in QubesOS oder ist dieses weniger davon beeinflusst? Ich benutze nämlich das x230 und hat eine 3 Gen CPU.
Wenn keine ausreichenden Mitigationen vorhanden sind, kann das Auswirkungen haben.
Hier z.B. ein Angriffsszenario von einer „Gast“-VM auf die andere, darüber auch ein Beispiel für ein Angriffsszenario auf den Host: https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/spectre.html#a-virtualized-guest-attacking-other-guest
Schlussfolgernd bist du auch bei Qubes entsprechend schwer (zmd. im Fall von Spectre) betroffen, wenn es keine Mitigation gibt.
Logisch: Es ist ja der Prozessor, der eine Sicherheitslücke beinhaltet, und eben dieser führt ja den ganzen Virtualisierungscode, oder den virtualisierten Code (auf die eine oder andere Weise) aus.
Die Hardware selbst ist (mehr oder weniger) monolithisch, und ziemlich zentralistisch.
Nur weil kein Microcode-Update vorhanden ist, ist soweit Ich weiß aber nicht automatisch keine Mitigation für die Lücke möglich.
Dieser Befehl gibt - für gewöhnlich - auf einen Linuxsystem einige Infos über CPU-Lücken und den aktiven Mitigationen aus:
cat /sys/devices/system/cpu/vulnerabilities/*
* wählt automatisch alle Dateien dort aus. Du kannst bei den meisten Systemen auch ab vulnerabilities/ mit Tab vervollständigen (doppelt Tab drücken, um einmalig den Inhalt zu zeigen).
Oder den Ordnerinhalt mit dem Befehl ls
anzeigen lassen, und so mithilfe der Dateinamen die entsprechenden Ergebnisse für die Lücken abzufragen (siehe cat
-Befehl oben).
Wenn ich mir dieses Angebot ansehe
https://shop.nitrokey.com/de/shop/nitropad-x230-67?search=nitropad#attr=26,27,6,28,35,29,30,31,37,297,301,386
dann muss es möglich sein, deinen x230 zu einem Sicherheitsmonster umzurüsten.
Die gehen ja nicht umsonst auf eine mind. 10 Jahre alte CPU.
Es wird wahrscheinlich aber viel Arbeit bedeuten.
Ich hab das schon alles manuell gemacht. Meine Frage war hinsichtlich der Hardware-Schwachstellen der alten CPU.
Ich hab den Befehl mal eingegeben und das war die Ausgabe:
Not affected
KVM: Mitigation: VMX unsupported
Mitigation: PTE Inversion
Mitigation: Clear CPU buffers; SMT Host state unknown
Unknown (XEN PV detected, hypervisor mitigation required)
Unknown: No mitigations
Not affected
Not affected
Mitigation: Speculative Store Bypass disabled via prctl
Mitigation: usercopy/swapgs barriers and __user pointer sanitization
Mitigation: Retpolines, IBPB: conditional, IBRS_FW, STIBP: conditional, RSB filling, PBRSB-eIBRS: Not affected
Not affected
Not affected
Meines Verständnisses nach sollte das relativ gut aussehen. Aber was bedeutet die zweite Zeile genau? Welcher CVE ist das?
In der Reihenfolge wie die Lücken per ls /sys/devices/system/cpu/vulnerabilities/*
ausgegeben werden:
gather_data_sampling: Not affected
itlb_multihit: KVM: Mitigation: VMX unsupported
l1tf: Mitigation: PTE Inversion
mds: Mitigation: Clear CPU buffers; SMT Host state unknown
meltdown: Unknown (XEN PV detected, hypervisor mitigation required)
mmio_stale_data: Unknown: No mitigations
retbleed: Not affected
spec_rstack_overflow: Not affected
spec_store_bypass: Mitigation: Speculative Store Bypass disabled via prctl
spectre_v1: Mitigation: usercopy/swapgs barriers and __user pointer sanitization
spectre_v2: Mitigation: Retpolines, IBPB: conditional, IBRS_FW, STIBP: conditional, RSB filling, PBRSB-eIBRS: Not affected
srbds: Not affected
tsx_async_abort: Not affected
Leider bin Ich nicht sonderlich tief in Qubes und Xen drin, deshalb kann Ich keine Tipps geben, wie man dort „überprüft“.
Jedenfalls müsste dort für die Einträge mit „Unknown“ (mds, meltdown, mmio_stale_data) nachgesehen werden, falls man den Status wissen möchte.
Wahrscheinlich wird dort alles Verfügbare umgesetzt sein, wenn es offiziell für Qubes zertifizierte x230 Notebooks gibt.