So schützen Sie sich unter Windows vor CIA # Vault7-ähnlichen Angriffen auf Linux


7

Linux wird aus Open Source kompiliert und Tausende von Entwicklern würden jeden schädlichen Quellcode erkennen. Viele Linux-Benutzer, die Windows und Malware / Spyware / "Spook" -Ware-Software (CIA) dual booten, könnten jedoch die kompilierten Binärdateien von Linux hacken, nachdem eine saubere Version installiert wurde.

Ich denke, die Lösung besteht darin, unmittelbar nach der Installation eines Updates, dh unter 4.4.0-63-generic, eine Hash-Summe auf Linux-Kernel-Binärdateien auszuführen .

Die Frage ist, welche Dateien enthalten sein müssen? dh / boot / 4.4.0-63-generic oder mehr?

Nachdem die Hash-Summe generiert wurde, kann ein cronJob monatlich, wöchentlich oder täglich ausgeführt werden, um die Hash-Summe neu zu generieren und mit der Originalversion zu vergleichen, um sicherzustellen, dass sie sich nicht geändert hat. Wenn die Hash-Summen nicht übereinstimmen, ist eine Infektion aufgetreten und ein sauberer Kernel muss neu installiert werden.


Bearbeiten 1 Die bisherigen Antworten ähneln eher Kommentaren. Diese Antworten und Kommentare unten scheinen zu sagen , „Die CIA ist zu klug und zu reich , sich zu schützen , damit nicht die Mühe versuchen“ . Wenn ich das richtig lese, könnten alle Antworten genauso gut von einem der CIA-, NSA-, MI6- oder Mossad-bezahlten Trolle oder von jemandem auf der Spook-Gehaltsliste geschrieben werden. Eine Analogie wäre: "Ihre Verbrecher in der Nachbarschaft sind zu klug und raffiniert. Sie beobachten Ihr Haus und lernen Ihre Gewohnheiten. Es macht keinen Sinn, Ihre Türen zu verschließen oder ein Alarmsystem zu installieren."

Jemand anderes sagt, dass nach dem Neustart mit Windows das Kennwort, mit dem Sie Ihre Hash-Summen verschlüsselt haben, von Spyware gelesen werden kann. Ich bezweifle, dass der Windows-RAM-Footprint größer als der Linux-RAM-Footprint ist und das Laden von Fenstern jeden wertvollen durchsuchbaren RAM auslöschen würde, den Linux möglicherweise hinterlassen hat. Außerdem würde ein einfaches Ausschalten von 10 Sekunden den gesamten RAM löschen.

Am anderen Ende des Spektrums schlug jemand vor, "Windows nicht verwenden" . Ähm ... nein, ich werde mich nicht in Angst verstecken und die Plattformen meiden, die ich benutzen muss, wenn ich sie benutzen muss. Es ist ein superschneller Laptop mit einer hybriden nVidia-Grafik und wenn es Zeit für Windows-Spiele ist, wird er als solcher verwendet.

  1. Dies ist eher eine Vorgehensweise, aber mit dem Kernel-Update müssten Sie den Hash offensichtlich erneut ausführen, um einen neuen zu erstellen. Aber was würde dann passieren, wenn Sie vergessen hätten, es erneut auszuführen?

Mit einem Kernel-Update wird ein völlig neuer Kernel installiert /boot. Wenn Sie vergessen, den Job auszuführen, um neue Hash-Summen zu erstellen, gibt Ihnen der Cron-Job, der die Summen vergleicht, einen Fehler auf die gleiche Weise, als hätte jemand die Kernel-Binärdateien hinter Ihrem Rücken geändert.

Das eigentliche Design von Skripten und die Verschlüsselung von Hash-Summen erfolgt später. Wir stellen den Wagen vor das Pferd. Der erste Schritt besteht darin, zu identifizieren, was geschützt werden muss. Es ist NAA (Not An Answer), Fragen zu "Wie würden Sie das machen?" Zu posten. eingebettet in eine Antwort.

Bei der teilweisen Beantwortung meiner Frage und der Ausführung von Hash-Summen für Kernel-Images sollten ausgewählte Treiber enthalten sein. Insbesondere denke ich an die, bei der sie die Stromversorgung der Webcam-LEDs ausschalten können, was die Illusion vermittelt, dass sie ausgeschaltet sind, und dann die Kamera aktiviert. Ähnliches vielleicht mit Mikrofonen?

Entfernen Sie alle Spekulationen darüber, ob Sie nicht autorisierte Änderungen an Ihrem Kernel-Space überwachen sollten oder nicht - welche Binärdateien sollten vor externen Manipulationen geschützt werden?


"Linux wird aus Open Source kompiliert und Tausende von Entwicklern würden jeden schädlichen Quellcode erkennen." Wie bei Heartbleed, meinst du? Wo würde der Hashwert gespeichert? Würde Malware das nicht manipulieren oder die Überprüfung deaktivieren? Schließlich können sie den Kernel ändern (in Ihrem Szenario).

2
@ThomasWard Wenn CIA Windows-Malware erstellen kann, die den Linux-Kernel verändert (Dutzende verschiedener Versionen werden derzeit verwendet), warum können sie dann kein Lese- / Schreibmodul ohne DLL ext-4 und / oder btrfs enthalten? Schließlich muss Malware nicht mehr in die Header einer E-Mail passen ...
Zeiss Ikon

2
@ WinEunuuchs2Unix Unter Windows können Sie das Passwort sehen, das Skript entschlüsseln und bearbeiten oder die Hash-Summen erhöhen. Wir könnten dies für eine Weile fortsetzen, aber vielleicht können Sie untersuchen, wie Software (insbesondere Spiele) "geknackt" wird (deren Schutz entfernt wird). Was Sie vorschlagen - Schutz vor einem Gegner, der physischen Zugriff auf Ihr Gerät hat - ist unmöglich.

1
@Serg Ich denke, Russia Today hat eine Geschichte darüber veröffentlicht, wie die CIA Computer infiziert, die vor einigen Tagen nicht mit dem Internet verbunden waren, basierend auf Wikileaks # Vault7. Ich habe es aber nicht gelesen. In den 90er Jahren unterhielt ich stolz einen kleinen Heimnetzwerkserver, der nicht mit dem Internet verbunden war, und einen separaten isolierten Laptop für den Internetzugang, aber jetzt nicht. Außerdem würden Sie und ich ohne Internetzugang verrückt werden, um unsere Programme zu lernen und zu veröffentlichen: D
WinEunuuchs2Unix

1
-1 -> zu breit. Ich habe einige paranoide Freunde, die mich zuerst fragen, was sie tun sollen. Welches ist dann der Beginn eines endlosen lästigen Kreises von "Aber" und "Wenn". Mein Fazit lautet: "Fragen Sie sich, was Sie schützen möchten und worauf Sie vertrauen, und stützen Sie Ihre Entscheidungen darauf." und "Wenn du nicht vertraust, was ich vertraue, dann frag mich nicht, was ich tun soll."
MadMike

Antworten:


1

Die einzige Möglichkeit, dieses Szenario zu vermeiden, besteht darin, Dual-Boot zu vermeiden: Windows entfernen. Wenn Sie der Meinung sind, dass die CIA keine Malware installieren kann, die sich in einem Desktop- / Laptop-Linux-System versteckt, sind Sie natürlich nicht paranoid genug ...


Genau. Die einzige sichere Möglichkeit, Windows auszuführen, besteht in einer virtuellen Maschine.

Diese erste Version konzentriert sich auf den Kernel Space und nicht auf den User Space.
WinEunuuchs2Unix

@ WinEunuuchs2Unix Was meinst du? Windows (läuft auf Bare Metal) kann auf der lokalen Festplatte tun, was es will. Es muss nicht die Unterscheidung zwischen Kernel und Benutzerbereich anderer Betriebssysteme berücksichtigen.

1

Erfahren Sie, wie Grub für Sie funktioniert, und richten Sie es ein, um Linux-Distributionen zu booten, die bei jedem Start in .iso-Archiven gespeichert werden. Lassen Sie Ihren Windoze-Computer zu Hause und lassen Sie ihn nur über eine direkte, fest verbundene Verbindung mit der Linux-Box kommunizieren, mit der Sie bei jedem Start mit dem Internet kommunizieren können, und konfigurieren Sie alle Internetaktivitäten remote über das jeweils initialisierte Linux-System Mal wird es gebootet. Für diejenigen, die hyperparanoid sind, machen Sie bootfähige Flash-Laufwerke, die Sie in Ihrer Tasche aufbewahren, und deaktivieren Sie das Booten von USB, wenn Sie das Haus verlassen, auf dem Linux-Gerät. Alle beteiligten Boxen wären passwortgeschützt, natürlich auf BIOS-Ebene! ; ^)


0

Hier finden Sie eine Auswahl anderer Kernel-Binärdateien, die neben den folgenden geschützt werden sollen /boot:

$ ls /lib/modules/4.9.13-040913-generic/
build          modules.alias.bin    modules.dep.bin  modules.symbols
initrd         modules.builtin      modules.devname  modules.symbols.bin
kernel         modules.builtin.bin  modules.order    updates
modules.alias  modules.dep          modules.softdep  vdso
───────────────────────────────────────────────────────────────────────────────
rick@dell:~$ ls /lib/modules/4.9.13-040913-generic/kernel
arch  crypto  drivers  fs  kernel  lib  mm  net  sound  virt
───────────────────────────────────────────────────────────────────────────────
rick@dell:~$ ls /lib/modules/4.9.13-040913-generic/kernel/drivers
acpi        dca       hwmon       mcb       nvme      rapidio      uio
ata         dma       hwtracing   md        nvmem     regulator    usb
atm         edac      i2c         media     parport   reset        uwb
auxdisplay  extcon    iio         memstick  pci       rtc          vfio
base        firewire  infiniband  message   pcmcia    scsi         vhost
bcma        firmware  input       mfd       phy       spi          video
block       fmc       iommu       misc      pinctrl   spmi         virtio
bluetooth   fpga      ipack       mmc       platform  ssb          vme
char        gpio      isdn        mtd       power     staging      w1
clk         gpu       leds        net       powercap  target       watchdog
cpufreq     hid       lightnvm    nfc       pps       thermal      xen
crypto      hsi       macintosh   ntb       ptp       thunderbolt
dax         hv        mailbox     nvdimm    pwm       tty
───────────────────────────────────────────────────────────────────────────────
rick@dell:~$ ls /lib/modules/4.9.13-040913-generic/kernel/drivers/net/ethernet/realtek/
8139cp.ko  8139too.ko  atp.ko  r8169.ko
───────────────────────────────────────────────────────────────────────────────
rick@dell:~$ 

Ein rekursiver Algorithmus ist erforderlich, um einen md5sum-Snapshot (oder einen von Ihnen bevorzugten Sicherheits-Hashsum) aller Unterverzeichnisse und Dateien im Verzeichnis zu erstellen /lib/modules/kernel_version/*

Es gibt wahrscheinlich andere Binärdateien, aber ich wollte eine Antwort auf das veröffentlichen, was bisher entdeckt wurde.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.