web-dev-qa-db-fra.com

Blobs binaires de source fermée dans les chipsets - menace pour la vie privée?

Je voulais acheter un Librem Purism 1 parce que je me soucie de ma vie privée et que je voulais généralement un ordinateur portable pour tester Linux.

Cependant, on m'a déconseillé car il utilise des processeurs Intel i5 qui contiennent blobs binaires . D'après ce que je comprends, les blobs binaires sont des parties de code qui ne peuvent pas être lues, et vous n'êtes pas vraiment sûr de ce qu'ils font. Ils pourraient par exemple extraire ce que vous faites sur votre ordinateur et envoyer ces informations quelque part.

Est-ce possible et si oui, quel est le risque? La plupart des ordinateurs récents ne seraient-ils pas compromis? Existe-t-il un ordinateur portable entièrement open source sans aucun objet binaire?

60
user113581

Sommaire:

Il y a probablement un certain marketing BS en cours, mais dans l'ensemble, ils fabriquent probablement l'ordinateur portable le plus respectueux de la vie privée possible. D'autres réponses mentionnent d'autres marques d'ordinateurs portables axés sur la confidentialité qui évitent les puces Intel au profit d'un matériel 100% libre, mais vous en tirez une grosse performance et un coût élevé, car, bien, Intel est le leader du marché pour une raison.


À qui faites-vous confiance?

À moins que vous ne sortiez dans les bois avec une hache de guerre et que vous vous construisiez une vie, vous devez faire confiance à quelqu'un . Sur la base des descriptions sur leur page, la société Purism semble être un groupe assez bon pour faire confiance (avec lequel vous semblez à l'aise si vous envisagez déjà d'acheter leur ordinateur portable). Ils ont clairement mis beaucoup d'attention sur leurs fournisseurs de composants en ce qui concerne la confidentialité. En supposant bien sûr que ce n'est pas tout du marketing B *** S *** t, que je n'ai aucun moyen de savoir avec certitude. (Voir la "Pensée supplémentaire" en bas pour en savoir plus à ce sujet.)

Intel

En ce qui concerne les blobs binaires et Intel, c'est en fait une question plus profonde que vous ne le pensez. "Objets binaires" fait référence aux logiciels qui vous sont fournis sous forme binaire (exécutable), mais vous n'avez pas accès au code source, ni à aucun bon moyen de l'inspecter. Intel est un fabricant de matériel, alors même s'ils peuvent avoir des taches de logiciel binaires, qu'en est-il du matériel qui vous est fourni sous forme de puce sans accès aux conceptions? Pensez-vous qu'Intel a autorisé Purism à inspecter les plans de toutes les puces d'une carte i5? Bien sûr que non, cela représente des milliards de dollars de propriété intellectuelle!

Ce débat autour d'Intel, de la confidentialité et du matériel de boîte noire est actuellement un sujet brûlant avec l'instruction RdRand d'Intel - une instruction d'assemblage pour récupérer un nombre aléatoire à partir d'une puce matérielle-RNG Intel sur la carte mère. J'étais récemment à une conférence sur la cryptographie et j'ai entendu l'un des concepteurs de la puce RdRand avoir une discussion avec un autre participant qui ressemblait à ceci:

Participant : "RdRand est une puce blackbox. Allez-vous publier les conceptions source pour l'audit de sécurité?"

Ingénieur Intel : "Non, bien sûr que non, c'est la propriété intellectuelle protégée."

Participant : "Intel est en entreprise américaine, comment savons-nous que le gouvernement américain ne vous a pas forcé à inclure des portes dérobées?"

Ingénieur Intel : "Eh bien, je suppose que je ne peux pas vous le prouver, mais je l'ai conçu et je peux vous assurer qu'il n'y en a pas . "

Participant : "Pardonnez-moi si cela ne suffit pas. Je vais continuer à faire des nombres aléatoires dans le logiciel."

Ingénieur Intel : "Votre perte, je suppose."

Alors, devons-nous leur faire confiance?

À la fin de la journée, à moins que vous ne viviez dans les bois, vous devez faire confiance à quelqu'un. Personnellement, je pense que la société Intel est très sensible à la sécurité - ayant participé à plusieurs conférences de cryptographie avec eux, et bien qu'ils soient soumis à la loi américaine (je ne suis pas américain BTW), je pense qu'ils sont au moins aussi fiables que n'importe quelle autre source fermée fournisseur de matériel. l'article de 1984 de Ken Thompson "Reflections on Trusting Trust" a montré que les chevaux de Troie peuvent être injectés au niveau du compilateur d'une manière qui est presque impossible à détecter, donc même le code open source inspecté n'est pas garanti sans cheval de Troie .

À la fin de la journée, vous devez faire confiance aux gens, pas au code. Faites-vous confiance à Intel? Faites-vous confiance à Purism pour contrôler ses fournisseurs aussi bien qu'ils le peuvent? Rien ne sera jamais sûr à 100%, mais les produits Purism sont certainement meilleurs que votre ordinateur portable standard de Best Buy.

Pensée supplémentaire:

Les pages de produits Purism Librem disent:

Bienvenue sur le magnifique ordinateur portable conçu puce par puce, ligne par ligne, pour respecter vos droits à la vie privée, à la sécurité et à la liberté.

"Ligne par ligne" .... à droite, bien sûr. Le noyau Linux lui-même est d'environ 16 millions de lignes . Le Librem est livré avec leur système d'exploitation PureOS basé sur Debian ou Qubes, qui contiendront tous les deux des dizaines de millions de lignes supplémentaires, plus des chargeurs de démarrage et du micrologiciel, ainsi que toutes les applications dans les référentiels Debian. Vous voulez que je croie que les 6 développeurs de Purism ont personnellement inspecté chaque ligne de code pour portes dérobées insidieuses et difficiles à attraper ? Et ont également inspecté tous les compilateurs utilisés à la recherche de chevaux de Troie auto-réplicatifs ? S'il vous plaît. Marketing trop zélé.

Cela dit, si vous prenez la philosophie de "Faire confiance aux auteurs, pas le code" de Ken Thompson, et nous décidons que nous faisons confiance aux développeurs Debian et aux ingénieurs Intel (j'ai décidé de leur faire confiance par commodité), et nous faisons confiance à Purism pour appliquer la philosophie "Faites confiance aux gens, pas au code" de manière appropriée, alors nous sommes probablement OK.

86
Mike Ounsworth

Oui, les blobs binaires sont un risque pour la sécurité, comme tout autre logiciel propriétaire que vous ne pouvez pas auditer. Je n'appellerais pas tous les systèmes utilisant des logiciels propriétaires "compromis", mais vous ne pouvez faire confiance à de tels systèmes que vous faites confiance aux gens qui les vendent.

En ce qui concerne ce truc de purisme, je ne leur ferais pas plus confiance que je ne le ferais pour tout autre ordinateur portable. Leur FAQ indique:

Purism fournit le code source à TOUS les logiciels du chargeur de démarrage, du noyau, du système d'exploitation et des logiciels, et n'inclut aucun blob binaire dans aucun d'entre eux. Les gens peuvent vérifier en toute sécurité chaque ligne de code.

Pourtant, il semble utiliser des blobs binaires, contrairement à la déclaration ci-dessus. Le projet libreboot qui cible spécifiquement le matériel qui peut être utilisé sans blobs binaires écrit :

Les ordinateurs portables Purism Librem seront-ils pris en charge? #librem

Probablement pas. Il y a plusieurs problèmes de confidentialité, de sécurité et de liberté avec ces ordinateurs portables, en raison des chipsets Intel qu'ils utilisent. Voir #intel. Il existe des blobs propriétaires signés qui ne peuvent pas être remplacés (par exemple, Intel Management Engine et les mises à jour du microcode du processeur). Il utilise le blob Intel FSP propriétaire pour toute l'initialisation matérielle, pour laquelle Intel ne fournira pas le code source. Le BIOS vidéo (firmware d'initialisation pour le matériel graphique) est également propriétaire. Le projet libreboot recommande d'éviter complètement ce matériel.

Je m'attendrais clairement à plus de transparence du projet qui demande de l'argent supplémentaire pour protéger ma vie privée.

25
Dmitry Grigoryev

Les blobs binaires constituent-ils une menace potentielle pour la sécurité?

En bref: oui.

Les blobs binaires ne sont par définition pas vérifiables (sauf rétroconception étendue). Vous ne savez pas exactement ce qu'ils font et s'ils ont des portes dérobées.

Un blob binaire particulier que je voudrais souligner est celui du Intel Management Engine (et l'équivalent AMD, le Platform Security Processor). C'est un blob qui s'exécute sur un processeur connecté directement à votre CPU et à votre mémoire principale; il a un accès complet à votre système d'exploitation, à votre matériel et reste allumé lorsque votre ordinateur est éteint mais alimenté .

Il s'agit d'une porte dérobée à distance car son utilisation prévue permet la gestion du BIOS, les mises à jour du microcode, etc. sur Internet, en accédant directement à votre matériel réseau et en communiquant avec les serveurs Intel via des canaux cryptés avec des clés que seul Intel (vraisemblablement) possède. Il ne peut pas être désactivé sur la plupart des processeurs plus récents.

Vous pouvez dire: "Eh bien, si je ne peux pas faire confiance à mon développeur de matériel, je n'ai aucune sécurité physique et je suis foutu de toute façon", mais pourquoi opter pour du matériel que vous connaissez a des portes dérobées qui peuvent être utilisées par Intel et le gouvernement américain, et qui sera potentiellement un jour exploité par d'autres?

Tous les ordinateurs récents sont-ils compromis par cela?

Oui. Tous les processeurs i3, i5 et i7 le sont. Chaque processeur Intel moderne. Chaque processeur AMD moderne. Un calcul au dos d'une enveloppe vous indique qu'il y a au moins 300 millions d'ordinateurs actifs (selon Wikipedia, il y a environ 433 millions d'ordinateurs sur Internet dans le monde développé).

Je ne sais pas pour vous, mais je trouve cela profondément troublant.

La première personne à trouver un exploit dans Intel Management Engine fera de l'ordre de 10 ou 100 millions de millions en vendant l'exploit, ou pourra compromettre 10 ou 100 millions d'ordinateurs en une journée.

Le Librem est-il donc un bon choix pour la confidentialité et la sécurité?

Non. Il est livré avec Intel ME et d'autres trucs pas sympas (le BIOS est un blob, les mises à niveau du microcode sont des blobs signés (vous ne pouvez donc pas utiliser les vôtres), le BIOS vidéo est un blob). Il a ce gentil interrupteur matériel, mais cela peut être remplacé par un dongle réseau externe et un morceau de ruban adhésif sur la caméra.

Le système d'exploitation semble correct, bien que je ne vois pas ce qui le rend meilleur que, disons, Kubuntu ou une autre distribution Ubuntu/Debian/Arch conviviale, et c'est assez facile à installer sur n'importe quel ordinateur portable (bien que le support matériel puisse encore varier un peu; "les meilleurs ordinateurs portables pour Linux" sur Google semblent avoir des guides très accessibles à ce sujet).

Un gars sur Reddit a ne panne complète sur l'ordinateur portable Librem , je pensais que cela donnait un aperçu très clair.

Certains ordinateurs portables sont-ils livrés sans taches binaires?

Oui, tous les ordinateurs portables certifiés FSF. Le Libreboot T400 est celui qui a les meilleures spécifications de tous les 3. Oui, il y a très peu d'ordinateurs portables certifiés FSF, liste complète ici .

Un autre endroit à regarder pourrait être la liste des matériel Libreboot pris en charge , mais vous devrez alors flasher votre propre chargeur de démarrage et gérer vous-même l'autre firmware sur votre ordinateur portable.

Personnellement, je vous recommanderais de considérer le Libreboot X2 ou le Libreboot T4 si vous optez pour un ordinateur portable soucieux de la confidentialité. Ils sont réalisés par The Ministry of Freedom Ltd., qui présente Leah Woods, le principal contributeur de Libreboot.

Ces deux ordinateurs portables exécutent Libreboot qui n'utilise aucun blob binaire (Libreboot est une distribution débloquée de Coreboot). En fait, ces ordinateurs portables ne comportent aucun objet binaire, et sont livrés avec des instructions pour créer et flasher votre propre firmware.

En plus de fournir les sources complètes de tous les micrologiciels et d'avoir des commutateurs matériels pour la mise en réseau et la caméra/le micro, il dispose d'un Intel ME (Management Engine) entièrement désactivé.

Vous obtiendrez beaucoup moins de performances (Intel Core2Duo évolutif vers Core2Quad) pour votre argent, mais c'est l'une des seules options disponibles qui coche toutes les cases de confidentialité et de libre-en-liberté.

16
Willem

Les blobs binaires sont du code que vous devez envoyer à un appareil pour le faire fonctionner, mais que vous ne pouvez pas inspecter ou modifier. Ils constituent plus une menace pour vos libertés légales que votre vie privée. Dans le cas des puces Intel, vous ne pouvez pas écrire un BIOS de logiciel libre, car il doit inclure les blobs binaires non libres.

Les blobs binaires permettent aux puces d'externaliser le stockage de code vers un logiciel. L'alternative serait de mettre ce code (toujours non libre) sur, disons, la mémoire flash intégrée. Bien sûr, une puce CPU coûteuse est un endroit horrible pour mettre de la mémoire flash, donc si vous pouvez la laisser de côté et simplement envoyer les blobs lorsque la puce en a besoin, vous économisez de l'argent.

Notez qu'une puce qui a jailli pour le stockage intégré pourrait toujours faire exactement les mêmes choses potentiellement invasives que la puce avec les blobs. Le problème est plus juridique, dans la mesure où vous êtes obligé de toucher les objets blob pour utiliser la puce, et cela contamine les logiciels libres avec les licences non libres des objets blob.

8
Reid Rankin

Je venais de regarder des conférences 32c3, et bien que je sois loin d'être dans la sécurité matérielle, au moins deux de ces discussions abordent le sujet des blobs binaires du chipset. Les deux pourraient ajouter à une réponse.

Celui-ci de Joanna Rutkowska du projet Qubes OS traite en détail des technologies Intel ME et SMM et des problèmes de sécurité. Elle discute également des moyens possibles d'accéder et d'analyser ce que font réellement les différents chipsets.

https://www.youtube.com/watch?v=H6bJ5b8Dgoc

L'autre concerne en fait la conception du matériel et des puces, par le concepteur de puces AMD David Kaplan, et il aborde la signature du code, et dans la session de questions-réponses vers la fin mentionne quelques points d'intérêt plus larges qui seraient pertinents. Par exemple, il mentionne le fait qu'une clé publique est conçue dans le CPU pour permettre des vérifications de signature. Toute la session est intéressante; Q & A commence vers le dernier trimestre; les pièces programmables de la mémoire sur le processeur sont discutées à 46:42, les mises à jour du microcode sont mentionnées à 48:38.

https://www.youtube.com/watch?v=eDmv0sDB1Ak

3
raddaqii

Supposons que l'i5 contienne des routines d'espionnage, "collectant des informations" sur vous, il lui faudrait quand même extraire les données pour qu'il représente une menace. Le seul moyen pratique de sortir les données serait sur IP, qui est facilement détectable, analysable et bloquable. D'un point de vue plus paranoïaque, il pourrait y avoir RF signaux qui fuient du système, forgés par le blob ou non, qui peuvent être captés par une antenne, mais cela ressemble plus à un James Bond - niveau qu'un facebook - niveau de confidentialité.

1
multia

Puisque je ne peux pas encore commenter, voici une autre réponse sur le sujet à propos de:

Gestion Lights-out avec la technologie Intel Active Management sur les processeurs Intel vPro qui est

capable de contrôler et de modifier à distance pratiquement tous les aspects du système, y compris la possibilité de télécharger et de mettre à jour le logiciel et le micrologiciel quel que soit l'état d'alimentation de l'ordinateur.

Les ordinateurs grand public incluent-ils des composants qui peuvent se connecter à Internet lorsque l'ordinateur est apparemment éteint?

1
Anatol Bran