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.
- 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?
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! ; ^)
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 ...
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.