web-dev-qa-db-fra.com

Comment protéger des attaques de type CIA # Vault7 contre Linux à partir de Windows

Linux est compilé à partir d’open-source et des milliers de développeurs détectent tout code source malveillant. Cependant, de nombreux utilisateurs de Linux double amorçage Windows et des logiciels malveillants/espions/logiciels "spook" (CIA) pourraient pirater les fichiers binaires compilés de Linux après une version propre a été installée.

La solution que j pense consiste à exécuter un total de hachage sur les fichiers binaires du noyau Linux immédiatement après l’installation d’une mise à jour, c’est-à-dire sur 4.4.0-63 -générique.

La question est de savoir quels fichiers doivent être inclus? c'est-à-dire /boot/4.4.0-63-generic ou plus que cela?

Une fois le total de hachage généré, une tâche cron peut être exécutée tous les mois, toutes les semaines ou tous les jours pour régénérer le total de hachage et le comparer à la version d'origine pour s'assurer qu'il n'a pas changé. Si les totaux de hachage ne correspondent pas, une infection est survenue et un noyau propre doit être réinstallé.


Edit 1 Jusqu'à présent, les réponses ressemblent davantage à des commentaires. Ces réponses et les commentaires ci-dessous semblent indiquer "La CIA est trop intelligente et trop riche pour se protéger, alors ne vous fatiguez pas à essayer" . Si je le lis bien, toutes les réponses pourraient aussi bien être écrites par un troll de la CIA, de la NSA, du MI6 ou du Mossad ou par une personne sur la liste des employés fantômes. Une analogie serait "Les criminels de votre quartier sont trop intelligents et sophistiqués. Ils surveillent votre maison et apprennent vos habitudes. Cela ne sert à rien de verrouiller vos portes ou d'installer un système d'alarme."

Quelqu'un d'autre dit qu'une fois que vous redémarrez avec Windows, le mot de passe que vous avez utilisé pour chiffrer vos totaux de hachage peut être lu par un logiciel espion. Je doute que, du fait que l'empreinte Windows RAM _ soit supérieure à l'empreinte RAM de Linux, le chargement des fenêtres effacerait toute possibilité de recherche précieuse RAM que Linux aurait pu laisser. En outre, une simple mise hors tension de 10 secondes effacerait toute la mémoire vive.

À l'opposé, quelqu'un a suggéré "Ne pas utiliser Windows" . Euh ... non, je ne vais pas me cacher de peur et éviter les plateformes dont j'ai besoin quand je dois les utiliser. C'est un ordinateur portable super rapide avec un graphisme hybride nVidia et quand il sera temps de jouer à Windows, il sera utilisé comme tel.

  1. Voici comment procéder, mais avec la mise à jour du noyau, vous devrez évidemment réexécuter le hachage pour en créer un nouveau. Mais que se passe-t-il si vous oubliez de le réexécuter?

Avec une mise à jour du noyau, un noyau entièrement nouveau est installé sur /boot. Si vous oubliez d'exécuter le travail pour créer de nouveaux totaux de hachage, le travail cron qui compare les totaux vous donnera une erreur de la même manière que si quelqu'un avait modifié les fichiers binaires du noyau dans votre dos.

La conception même des scripts et le chiffrement des totaux de hachage interviennent plus tard. Nous mettons la charrue devant le cheval. La première étape consiste à identifier ce qui doit être protégé. C'est NAA (Not An Answer) de poser des questions sur "comment le feriez-vous?" intégré dans une réponse.

Répondant en partie à ma question, en plus d'exécuter des totaux de hachage sur les images du noyau, des pilotes sélectionnés doivent être inclus. Plus précisément, je songe à celui où ils peuvent couper l’alimentation des caméras Web en donnant l’illusion qu’elles sont éteintes, puis en activant l’appareil photo. Quelque chose de similaire avec des micros peut-être?

Suppression de toute spéculation sur le point de savoir si vous devez ou non surveiller les modifications non autorisées de votre espace noyau --quels fichiers binaires doivent être protégés contre les tentatives de modification externes?

7
WinEunuuchs2Unix

Apprenez comment faire fonctionner grub pour vous et configurez-le afin de démarrer les distributions Linux conservées dans les archives .iso chaque fois que vous démarrez. Gardez votre machine Windoze à la maison et ne lui permettez que de parler via une connexion directe par liaison fixe, à la boîte Linux que vous autorisez à parler à Internet à chaque démarrage, et configurez toute l'activité Internet à distance, via le système Linux initialisé à chaque démarrage. temps il est démarré. Pour ceux qui sont hyper-paranoïaques, créez des lecteurs flash amorçables, que vous gardez dans votre poche, et désactivez le démarrage à partir de l'USB lorsque vous quittez la maison, sur le périphérique Linux. Toutes les boîtes concernées seraient protégées par un mot de passe, au niveau du BIOS, bien sûr! ; ^)

1
odoncaoa

La seule façon pour moi d'éviter ce scénario consiste à éviter le double amorçage: se débarrasser de Windows. Bien sûr, si vous pensez que la CIA ne peut pas installer de malware qui se cacherait dans un système Linux de bureau/portable, vous n'êtes pas assez paranoïaque ...

1
Zeiss Ikon

Voici un échantillon d'autres fichiers binaires du noyau à protéger, outre ceux contenus dans /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:~$ 

Un algorithme récursif est nécessaire pour prendre un instantané md5sum (ou la valeur de hachage de sécurité que vous préférez) de tous les sous-répertoires et fichiers du répertoire /lib/modules/kernel_version/*

Il existe probablement d'autres fichiers binaires, mais je voulais publier une réponse à ce qui a été découvert jusqu'à présent.

0
WinEunuuchs2Unix