Comment la capacité d'une personne ayant obtenu un accès physique à votre ordinateur à accéder à root [à l'aide de Grub / Bash] de manière sécurisée?
Parce que si Linux décidait de commencer à le faire, les pirates informatiques exploiteraient simplement 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 finie. J'ai gagné.
De plus, imaginez que votre serveur X soit en panne et que vous n’ayez plus d’interface graphique. Vous devez démarrer dans une console de récupération pour résoudre le problème, mais vous ne pouvez pas le faire, car cela n’est pas sûr. Dans ce cas, vous vous retrouvez avec un système totalement défectueux, mais bon, au moins, il est "sécurisé!"
Mais Kaz, comment est-ce possible? J'ai défini un mot de passe sur mon Grub afin que vous ne puissiez pas changer mon init
en Bash!
Oh, tu l'as fait? Intéressant, car cela ressemble à votre album photo. GRUB n'a aucun 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 configuré est en fait assez facile à contourner.
Cela, et quel administrateur système ne porte pas un lecteur de démarrage sur eux en cas d'urgence?
Mais comment?! Vous ne connaissez pas mon mot de passe (ce qui n'est absolument pas le cas P@ssw0rd
)
Oui, mais cela ne m'empêche pas d'ouvrir votre ordinateur et d'extraire votre disque dur. À partir de là, quelques étapes simples vous permettront de monter votre lecteur sur mon ordinateur, ce qui me permettra d’accéder à l’ensemble de votre système. Cela a aussi l’avantage de contourner votre mot de passe BIOS. Cela, ou j'aurais pu simplement réinitialiser votre CMOS. Soit / ou.
Alors ... comment ne pas vous laisser accéder à mes données?
Facile. Gardez votre 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, puis-je juste aimer mettre mon ordinateur dans un centre de données ou quelque chose? Ceux-ci sont assez sécurisés, non?
Oui, ils sont. Mais vous oubliez que les humains sont également modifiables et que, avec suffisamment de temps et de préparation, je pourrais probablement entrer dans ce centre de données et siphonner toutes ces données intéressantes de votre ordinateur. Mais je m'égare. Nous avons affaire à de vraies solutions ici.
Ok, alors vous avez appelé mon bluff. Je ne peux pas le mettre dans un centre de données. Puis-je simplement chiffrer mon dossier de départ ou autre chose?
Sûr que vous pouvez! C'est ton ordinateur! Cela m'aidera-t-il à m'arrêter? Pas le moins du monde. Je peux simplement remplacer quelque chose d'important, comme /usr/bin/firefox
avec mon propre programme malveillant. La prochaine fois que vous ouvrirez Firefox, toutes vos données secrètes seront détournées vers un serveur secret situé quelque part dans le secret. Et vous ne saurez même pas. Ou, si j’ai fréquemment accès à votre ordinateur, je peux simplement configurer votre dossier personnel pour qu’il soit copié dans /usr/share/nonsecrets/home/
un autre emplacement similaire (non chiffré).
Ok, qu'en est-il du cryptage intégral du disque?
C'est ... vraiment bien. Cependant, ce n'est pas encore parfait! Je peux toujours effectuer une attaque de démarrage à froid en utilisant mon fidèle bidon d'air comprimé. Ou, je peux simplement brancher un enregistreur de frappe matériel sur votre ordinateur. L'un est évidemment plus facile que l'autre, mais le chemin n'a pas d'importance.
Dans la grande majorité des cas, c'est une bonne halte. Associez-le peut-être à TPM (voir ci-dessous) et vous êtes en or. À moins que vous n'ayez provoqué la colère d'une agence à trois lettres ou d'un pirate informatique très motivé, personne ne passera par les efforts requis au-delà de cette étape.
Bien sûr, je peux toujours vous faire installer des logiciels malveillants / portes dérobées en vous offrant un PPA ou similaire, mais cela rentre dans le domaine très sombre de la confiance des utilisateurs.
Alors ... comment les iPhones sont-ils si sécurisés? Même avec un accès physique, vous ne pouvez pas faire grand chose.
Eh bien oui et non. Je veux dire, si j'étais suffisamment motivé, je pourrais lire la puce flash et obtenir tout ce dont j'avais besoin. Mais les iPhones sont fondamentalement différents dans la mesure où ils constituent une plateforme entièrement verrouillée. Mais, en même temps, vous sacrifiez réellement la convivialité et la capacité de récupérer des défaillances catastrophiques. GRUB (sauf lorsqu'il est très spécifiquement conçu) n'est pas 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 démarrent après le démarrage, donc après que GRUB ait fini de le faire.
De plus, les iPhones ont une application de signature cryptographique (également abordée ci-dessous), ce qui rend très difficile pour les logiciels malveillants de se faufiler sur votre téléphone par des voies légitimes.
Mais qu'en est-il de TPM / SmartCards / [insérer le crypto tech ici]?
Eh bien, maintenant que vous associez la sécurité physique à l'équation, cela devient encore plus compliqué. Cependant, ce n'est pas vraiment une solution car les TPM sont relativement faibles et que tout le cryptage n'a pas lieu sur puce. Si votre TPM est (en quelque sorte) assez fort là où il effectue le cryptage sur la puce elle-même (certains disques durs très sophistiqués ont quelque chose comme cela), la clé ne sera jamais révélée et des attaques de type 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.
Malgré tout, mon enregistreur de frappe matériel peut toujours obtenir votre mot de passe et je peux facilement charger des logiciels malveillants sur votre ordinateur, comme l'exploit de Firefox que j'ai mentionné plus tôt. Tout ce dont j'ai besoin est que vous quittiez votre maison / votre ordinateur pendant peut-être une heure.
Maintenant, si vous prenez votre TPM / carte à puce / quoi que ce soit avec vous et que tout le cryptage est en fait effectué sur la puce (ce qui signifie que votre clé n'est pas stockée dans la RAM), il est pratiquement impossible pour moi d'entrer dans tout, à moins que vous (l'utilisateur) glissiez et oubliez quelque chose. Autrement dit, à moins que je ne trouve un moyen de lire la clé (non chiffrée) à partir du bus système.
Mais que se passe-t-il si j'ai une forme d'application de la signature cryptographique / numérique sur tous mes programmes pour m'assurer de leur légitimité?
Comme l'ont démontré diverses sociétés de smartphones, il s'agit d'un très bon moyen de gérer la sécurité. Vous avez maintenant annulé ma capacité à injecter du code sur votre machine pour faire des choses néfastes, ce qui est un avantage. En effet, vous avez désactivé ma capacité à conserver un accès persistant à distance à votre machine, ce qui est un avantage considérable.
Cependant, ce n'est toujours pas une méthode parfaite! L'application de la signature numérique n'arrêtera pas un enregistreur de frappe matériel, pour un. Il doit également être totalement exempt de bogues, ce qui signifie que je ne peux absolument pas trouver un exploit qui me permette de charger mon propre certificat dans le magasin de certificats de votre machine. De plus, cela signifie que chaque exécutable de votre système doit être signé . À moins que vous ne souhaitiez passer manuellement à travers tout cela, il sera très difficile de trouver les packages Apt et autres qui ont des signatures numériques sur tout. Dans le même esprit, cela bloque les utilisations légitimes des exécutables non signés, à savoir la récupération. Et si vous cassez quelque chose d'important et que vous n'avez pas l'exécutable (signé) pour le réparer? Eh bien, voilà votre système.
Quoi qu'il en soit, un effort pour faire cela sur Linux a été pratiquement abandonné et ne fonctionne plus pour les nouveaux noyaux, vous devez donc créer le vôtre.
Donc, il est impossible de vous garder hors de mon ordinateur?
Effectivement, oui, désolé. Si j'ai un accès physique et suffisamment de motivation, il est toujours possible d'entrer dans un système. Aucune exception.
En réalité, cependant, la plupart des personnes perverses n'essaieront pas d'aller aussi loin pour quelques images de chat. En règle générale, un cryptage sur disque complet (ou même sur Linux!) Suffit à dissuader la plupart des enfants scriptant d’avoir leurs deux secondes de gloire.
TL; DR: Ne laissez pas les gens en qui vous ne faites pas confiance près de votre ordinateur. C'est généralement suffisant.