Note : Les conseils de sécurité donnés dans cette réponse sont (intentionnellement) simplifiés et ne reflètent pas entièrement le fonctionnement réel de certains composants de la sécurité informatique. L'objectif de cette réponse est de montrer que la sécurité est un sujet complexe et à multiples facettes, et que la modélisation des menaces est très importante. Quelqu'un trouvera toujours un moyen de contourner les choses ; il n'existe pas de "système parfaitement sécurisé". Aucun système de sécurité n'empêchera définitivement un attaquant déterminé d'entrer. Ceci étant dit, passons à la réponse !
En quoi la capacité d'une personne qui a obtenu un accès physique à votre ordinateur à obtenir la racine [en utilisant Grub/Bash] est-elle sûre ?
Parce que si Linux décidait de commencer à faire ça, les hackers n'auraient qu'à exploiter d'autres failles de sécurité. La première règle de sécurité est que si j'ai un accès physique à votre système, la partie est terminée. J'ai gagné.
De plus, imaginez que votre serveur X soit cassé et que vous n'ayez plus d'interface graphique. Vous devez démarrer dans une console de récupération pour réparer les choses, mais vous ne pouvez pas le faire car ce n'est pas sécurisé. Dans ce cas, vous vous retrouvez avec un système totalement cassé, mais au moins, il est "sécurisé" !
Mais Kaz, comment est-ce possible ? J'ai mis un mot de passe sur mon Grub afin que tu ne puisses pas changer mon init
à Bash !
Oh, tu l'as fait, n'est-ce pas ? Intéressant, parce que ça ressemble à ton album photo. Grub n'a pas du tout de facteur de sécurité inhérent. C'est juste un chargeur de démarrage pas une étape dans une chaîne de démarrage et d'authentification sécurisée. Le "mot de passe" que vous avez mis en place est, en fait, assez facile à contourner.
Ça, et ce que les administrateurs système n'a pas avoir un disque de démarrage sur eux pour les urgences ?
Mais comment ? ! Tu ne connais pas mon mot de passe (qui n'est pas du tout P@ssw0rd
btw)
Oui, mais ça ne m'empêche pas d'ouvrir votre ordinateur et de sortir votre disque dur. A partir de là, il suffit de quelques étapes simples pour monter votre disque sur mon ordinateur, me donnant accès à tout votre système. Cela a aussi l'avantage de contourner le mot de passe de votre BIOS. Ça, ou j'aurais pu simplement réinitialiser votre CMOS. L'un ou l'autre.
Alors... comment je fais pour ne pas te laisser accéder à mes données ?
Simple. Garde ton ordinateur loin de moi. Si je peux le toucher, accéder à un clavier, insérer mes propres clés USB ou le démonter, je peux gagner.
Alors, est-ce que je peux juste mettre mon ordinateur dans un centre de données ou autre ? C'est plutôt sécurisé, non ?
Oui, ils le sont. Mais vous oubliez que les humains sont aussi piratables, et qu'avec suffisamment de temps et de préparation, je pourrais probablement m'introduire dans ce centre de données et siphonner toutes ces douces données de votre ordinateur. Mais je m'égare. Nous avons affaire à réel solutions ici.
Ok, donc tu as appelé mon bluff. Je ne peux pas le mettre dans un centre de données. Je peux juste crypter mon dossier personnel ou autre ?
Bien sûr, vous pouvez ! C'est ton ordinateur ! Ça va m'aider à m'arrêter ? Pas le moins du monde. Je peux juste remplacer quelque chose d'important, comme /usr/bin/firefox
avec mon propre programme malveillant. N /usr/share/nonsecrets/home/
ou tout autre emplacement similaire (non crypté).
Ok, qu'en est-il du cryptage complet du disque ?
C'est... en fait plutôt bien. Cependant, ce n'est pas encore parfait ! Je peux toujours effectuer un Attaque de la botte froide en utilisant ma fidèle bombe d'air comprimé. Ou, je peux juste brancher un keylogger matériel sur votre ordinateur. L'un est évidemment plus facile que l'autre, mais la manière n'a pas vraiment d'importance.
Dans le vaste site Dans la majorité des cas, il s'agit d'un bon point d'arrêt. Vous pouvez l'associer à TPM (voir ci-dessous), et vous aurez tout ce qu'il vous faut. A moins que vous n'ayez provoqué la colère d'une agence de trois lettres ou un sehr un pirate motivé, personne ne va faire l'effort nécessaire pour passer ce stade.
Bien sûr, je peux toujours vous inciter à installer des logiciels malveillants ou des portes dérobées en vous proposant un PPA ou autre, mais on entre alors dans le domaine très obscur de la confiance des utilisateurs.
Alors... comment les iPhones sont-ils si sûrs ? Même avec un accès physique, il n'y a pas grand chose à faire.
Eh bien, oui et non. Je veux dire, si j'étais assez motivé, je pourrais lire la puce flash et obtenir tout ce dont j'ai besoin. Mais les iPhones sont fondamentalement différents dans la mesure où ils constituent une plate-forme entièrement verrouillée dès le début du processus de démarrage. Cependant, cela vous amène à sacrifier la convivialité et la capacité à récupérer des défaillances catastrophiques. Grub (sauf quand il est très spécifiquement conçu) est no destiné à être une chaîne dans un système de sécurité. En fait, la plupart des systèmes Linux ont leurs chaînes de sécurité qui commencent après le démarrage, donc après que Grub ait fini de faire son truc.
Les iPhones sont en outre dotés d'un système de signature cryptographique (voir ci-dessous), ce qui permet à l'utilisateur d'accéder à l'ensemble des données. sehr difficile pour les logiciels malveillants de s'introduire dans votre téléphone.
Mais qu'en est-il de TPM/SmartCards/[insérer une technologie cryptographique ici] ?
Eh bien, maintenant que vous associez la sécurité physique dans l'équation, cela devient encore plus compliqué. Mais ce n'est pas vraiment une solution car les MTP sont relativement faibles en termes de calcul et le cryptage réel du disque n'a pas lieu sur la puce. Si votre MTP est (d'une manière ou d'une autre) assez puissant pour effectuer le cryptage sur la puce elle-même (certains disques durs très sophistiqués ont quelque chose de ce genre), la clé ne sera jamais révélée et des choses comme les attaques de démarrage à froid sont impossibles. Cependant, les clés (ou les données brutes) peuvent toujours être présentes dans le bus système, ce qui signifie qu'elles peuvent être interceptées.
Même ainsi, mon enregistreur de frappe peut toujours obtenir votre mot de passe et je peux facilement charger un logiciel malveillant sur votre machine, comme l'exploit Firefox dont j'ai parlé plus haut. Tout ce dont j'ai besoin, c'est que vous quittiez votre maison/ordinateur pendant peut-être une heure.
Maintenant, si vous emportez votre TPM/smartcard/quelque chose, et que tout le cryptage est effectué sur la puce (ce qui signifie que votre clé n'est pas du tout stockée dans la RAM), alors il est pratiquement impossible pour moi d'entrer. Cela suppose, bien sûr, qu'il n'existe aucune faille de sécurité connue que je puisse exploiter et que vous respectiez les bonnes pratiques de sécurité.
Mais que se passe-t-il si je dispose d'une forme de cryptographie/de signature numérique sur tous mes programmes pour m'assurer qu'ils sont légitimes ?
Comme l'ont démontré plusieurs fabricants de smartphones, il s'agit d'une sehr une bonne façon de gérer la sécurité. Vous avez maintenant annulé ma capacité à injecter du code sur votre machine pour faire des choses infâmes. En fait, vous avez désactivé ma capacité à conserver un accès permanent à votre machine à distance.
Toutefois, cette méthode n'est pas encore parfaite ! L'application de la signature numérique n'arrêtera pas un keylogger matériel, par exemple. Elle doit également être totalement exempte de bogues, ce qui signifie qu'il n'y a aucune chance que je puisse trouver un exploit me permettant de charger mon propre certificat dans le magasin de certificats de votre machine. En outre, cela signifie chaque exécutable sur votre système doit être signé . À moins de vouloir faire tout cela manuellement, il sera très difficile de trouver des paquets Apt et autres qui ont des signatures numériques sur tout. Dans le même ordre d'idées, cela bloque les utilisations légitimes des exécutables non signés, à savoir la récupération. Que se passe-t-il si vous cassez quelque chose d'important et que vous n'avez pas l'exécutable (signé) pour le réparer ?
Quoi qu'il en soit, un effort pour le faire sur Linux a été pratiquement abandonné et ne fonctionne plus pour les nouveaux noyaux, vous devrez donc créer le vôtre.
Donc, c'est impossible de te garder hors de mon ordinateur ?
Effectivement, oui, désolé. Si j'ai un accès physique et assez de temps et de motivation, c'est toujours possible d'entrer dans un système. Aucune exception.
En réalité, la plupart des personnes malveillantes n'essaieront pas d'aller aussi loin juste pour des photos de chats. En général, le cryptage complet du disque (ou même le simple fait d'utiliser Linux !) suffit à dissuader la plupart des script d'avoir leurs deux secondes de gloire.
TL;DR : Ne laissez pas les personnes en qui vous n'avez pas confiance s'approcher de votre ordinateur et utilisez LUKS. C'est généralement suffisant.