Ayez confiance, mais vérifiez

Traduction (Framalang & MozFr) : lamessen, Asta, goofy, Penguin

Contexte

Il devient de plus en plus difficile de faire confiance au respect de la vie privée de logiciels et de services sur lesquels nous comptons pour utiliser Internet. Des gouvernements, des entreprises, des institutions et des individus peuvent nous surveiller à notre insu. C’est particulièrement dérangeant quand cette surveillance est pratiquée par les gouvernements en vertu de lois qui prévoient une supervision limitée par la Justice et pratiquement aucun contrôle exercé par le public.

À cause de lois en vigueur aux États-Unis et ailleurs, les utilisateurs prudents doivent interagir avec les services Internet en ayant bien conscience que toute entreprise qui fournit des services dans le nuage veut protéger la vie privée, mais en fin de compte la plupart des grandes entreprises doivent se conformer à la loi. Le gouvernement peut légalement accéder aux données de l’utilisateur d’une manière qui pourrait violer les droits légitimes à la confidentialité des utilisateurs respectueux des lois. Pire encore, le gouvernement peut obliger les opérateurs à activer le service de surveillance (ce qui semble s’être produit dans le cas de Lavabit).

Et le comble c’est que le gouvernement peut faire tout cela sans que les utilisateurs puissent s’en douter, en raison des lois qui imposent le silence aux entreprises.

Conséquences pour les navigateurs

Cela met la vie privée et la sécurité sur le Web ouvert dans une situation vraiment critique. Tous les principaux navigateurs d’aujourd’hui sont distribués par des organisations soumises aux lois sur la surveillance. Comme le suggère le cas Lavabit, le gouvernement peut demander aux éditeurs de navigateurs d’injecter secrètement du code espion dans les navigateurs qu’ils distribuent aux utilisateurs. Nous n’avons aucune preuve à ce jour qu’un quelconque éditeur de navigateur ait reçu de telles injonctions. Toutefois, si cela devait se produire, le public ne serait pas en mesure de le savoir en raison de la loi qui impose le silence.

La triste conséquence de tout cela, c’est qu’il ne faut pas avoir une confiance aveugle envers les éditeurs de logiciels, y compris les éditeurs de navigateurs. Non pas parce que certains éditeurs ne veulent pas protéger la vie privée des utilisateurs, mais plutôt parce que la loi peut les contraindre à violer secrètement leurs propres principes et faire des choses qu’ils ne veulent pas faire.

4146023669_29dae2f065.jpg

Pourquoi Mozilla est différent

Mozilla a un avantage décisif sur tous les autres éditeurs de navigateur. Nos produits sont vraiment open source. Le code source d’Internet Explorer est complétement fermé, et bien que les moteurs de rendu WebKit et Blink (chromium) soient open source, les navigateurs Safari et Chrome qui les utilisent ne sont pas totalement open source. Ils contiennent tous les deux des portions significatives de code source fermé.

Mozilla au contraire est 100 % open source [1]. Comme l’a souligné Anthony Jones (de notre bureau de Nouvelle-Zélande) le mois dernier, les experts en sécurité peuvent utiliser cette particularité pour vérifier les éléments exécutables contenus dans les navigateurs que Mozilla distribue, en compilant Firefox à partir des sources et en comparant les éléments ainsi produits avec notre distribution officielle.

Ceci sera le plus efficace pour les plateformes sur lesquelles nous utilisons déjà des compilateurs open source pour créer les exécutables. De cette façon, il est possible d’éviter les attaques au niveau du compilateur, comme cela a été démontré en 1984 par Ken Thompson.

Appel à l’action

Pour s’assurer que personne ne pourra injecter de code espion non détecté dans Firefox, les chercheurs et organismes de sécurité doivent :

  • auditer régulièrement les sources de Mozilla et contrôler les compilations par tous les moyens possibles ;
  • élaborer des systèmes automatisés pour vérifier les compilations officielles de Mozilla à partir des sources ;
  • lancer l’alerte si les éléments vérifiés différent des éléments officiels.

Dans le meilleur des cas, nous allons mettre en place un tel système de vérification à l’échelle mondiale, avec des participants venant de nombreuses régions géographiques, d’options politiques, d’affiliations et d’intérêts stratégiques différents.

La sécurité n’est jamais « finie ». C’est un processus, pas un état définitivement stable. Il n’y a pas de recette miracle. Toutes les méthodes ont leurs limites. Toutefois, la possibilité d’auditer de l’open source vaut beaucoup mieux que l’impossibilité de contrôler les sources par rapport aux fichiers binaires.

Grâce à une collaboration internationale d’entités indépendantes, nous pouvons donner aux utilisateurs l’assurance que Firefox ne peut pas être détourné sans que le monde en soit informé, et nous pouvons offrir un navigateur qui répond de façon vérifiable aux attentes de respect de la vie privée des utilisateurs.

Regardez le bug 885 777 pour suivre notre travail sur les compilations que l’on peut vérifier.

La confiance du début à la fin

Au-delà de cette première étape, pouvons-nous utiliser de tels navigateurs audités comme point d’ancrage auquel nous pouvons faire confiance, pour authentifier des services internet ”open source” ayant été audités ? Cela semble possible en théorie. Personne n’a construit un tel système à notre connaissance, mais nous accueillons volontiers des exemples existants et des retours d’expérience. Nous encourageons les chercheurs à collaborer avec nous.

Brendan Eich, Directeur technique et vice-président de la Fondation Mozilla, il est aussi l’inventeur des langages JavaScript et Rust Andreas Gal, Vice-Président des unités Mobile et Recherche et développement, Mozilla

Crédit photo Jeff Golden (CC BY-SA 2.0)

Lire aussi :

Note

[1] Firefox sur GNU/Linux en est le meilleur exemple, puisque le compilateur C/C++, les bibliothèques d’exécution et le kernel de l’OS sont tous libres. Notez toutefois que même sous Linux, certains logiciels fournis par les distributeur de matériels, comme les drivers OpenGL, peuvent contenir du code propriétaire.