Skip to content

Instantly share code, notes, and snippets.

@DavidBruant
Last active January 3, 2016 18:59
Show Gist options
  • Save DavidBruant/8505428 to your computer and use it in GitHub Desktop.
Save DavidBruant/8505428 to your computer and use it in GitHub Desktop.
Comment éviter que ce genre d'aventure nous arrive dans les futures épiceries décentralisées de Mozilla ? (après https://twitter.com/clochix/status/424824354124230657 )

Clochix

Comment éviter que ce genre d'aventure nous arrive dans les futures épiceries décentralisées de Mozilla ?

n1k0

apprendre aux gens à ne pas installer n'importe quoi me semble un premier combat de premier plan :) après, qu'ils comprennent ce que ça induit d'installer quelque chose, de se responsabiliser vis à vis de ça

C'est important, mais pas suffisant.

L'article fait une très bonne analyse des points qui mènent à l'abus d'extensions.

Ownership of a Chrome extension can be transferred to another party, and users are never informed when an ownership change happens

Zéro excuse pour Chrome. Chrome peut informer l'utilisateur de qui a donné l'ownership et qui l'a récupérer. Chrome peut tenter de fournir des indicateurs qui aideront l'utilisateur à décider s'il continue à faire confiance ou pas (par exemple, moyenne des notes des autres extensions créées par le nouveau possesseur. Ce n'est qu'un exemple, aux ingés de Google trouver de meilleurs idées).

there is currently no way to disable extension auto-updating

Zéro excuses là non plus, il faut donner l'option à l'utilsateur. Les utilisateurs peuvent avoir des niveaux de confiance différents, il faut les laisser l'exprimer, mais si par défaut l'auto-update est activé.

Even when you have it narrowed down to Chrome, since nothing detects a malicious Chrome extension, the best course of action is to meticulously check the latest reviews of every extension and hope that someone else has figured out where the ads are coming from. What can users do to protect themselves? It's very hard to keep yourself in the loop with Chrome extension updates. Extensions usually don't have changelogs

Les extensions qui seront victimes de ce genre de problèmes auront une bonne user base, donc dans le lot, il y a des gens qui vont désinstaller l'extension et/ou envoyer des revues avec des notes "0 étoile". Il est possible pour Chrome de constater des effets de masse brutaux et de prévenir tout le monde. Par exemple, si en 2 jours, 5% des utilisateurs ont désinstallé l'extension ou si sur la dernière semaine, la moyenne des notation est bien plus faible que la moyenne totale, prévenir tous les utilisateurs que telle extension a une grosse baisse de popularité. Chaque utilisateur pourra faire le choix d'ignorer ou de se renseigner plus sur le problème. Là encore, je donne un exemple pensé en 5 mins ; je laisse aux ingés de Google le soin de penser à qqch de plus intelligent et robuste.

Extensions are synced to your Google account, which means that even wiping out a computer and reinstalling the OS will not remove the malware—signing-in to Chrome will just download it again.

En théorie, si les 3 points plus haut sont réglés, celui-là n'est plus un problème.

En conclusion, éduquer les utilisateurs sur les conséquences du choix d'installer des extensions, c'est bien, mais leur donner plus de choix (désactiver auto-update) et les informer suffisamment pour savoir s'ils continuent à faire confiance (changement d'ownership, baisse soudaine de popularité), c'est aussi un pas dans le bon sens. Et ce pas est à la portée à court terme de Google. Alors qu'éduquer deux milliards d'internautes sur le fait qu'une update, c'est une injection de code potentiellement malicieux que les antivirus ne détectent pas, c'est un travail de titan même pas à la portée de Google à mon avis...

@clochix
Copy link

clochix commented Jan 19, 2014

Éduquer est nécessaire mais malheureusement pas suffisant. Parce qu’on n’a matériellement pas le temps de tout contrôler, et qu’il faut pouvoir déléguer ce contrôle à des gens potentiellement de confiance. En matière de logiciel, je délègue ma confiance à deux organisations : Debian et Mozilla. J’installe et met à jour des logiciels depuis leurs sites les yeux fermés. Malheureusement, il y a des cas où le logiciel dont j’ai besoin n’est pas disponible sous Debian, et où je l’installe depuis une source de confiance moindre. C’est typiquement le cas pour toutes les dépendances de paquets Ruby ou Node.js que j’installe les yeux fermés, en priant simplement que si l’un d’eux pose problème, quelqu’un sur les Internet finira bien par s’en rendre compte et que l’information finira par arriver devant mes yeux. Mais je suis conscient que c’est de la pensée magique à la fiabilité toute aléatoire.

Je pense que des autorités de délégation de confiance sont indispensables à la vie en société. L’important n’est pas tant de déléguer que de pouvoir choisir à qui on délègue. Je n’ai personnellement aucune confiance en Apple, mais je comprend que d’autres puissent leur faire confiance. Dans ce cas, le modèle de vérification draconienne des applications sur l’App Store est une bonne chose. Le souci est qu’il mélange vérification technique et validation morale, donc qu’en acceptant l’une je sois forcé d’accepter l’autre. Je ne jette pas la pierre à Apple, Mozilla, pour des raisons respectables, interdit également certains contenus dans son épicerie.

Donc l’enjeu c’est de créer des épiceries auxquelles on puisse déléguer la vérification des logiciels et auxquelles on fasse confiance, tant d’un point de vue technique que moral. Mais la validation de logiciels est un gros travail, et il ne devrait pas forcément être effectué gratuitement par des bénévoles. Il faut donc également réfléchir au moyen de rémunérer ce travail.

Quant à mieux informer les utilisateurs pour leur permettre de faire des choix éclairés, c’est indispensable, mais là encore je crains que ça ne soit pas suffisant. Nous sommes confrontés à des choix toute la journée, qui nous bouffent du temps de cerveau disponible. Je ne crois pas que, aussi conscient soit-on de l’importance de chacun de ces choix, on les fasse tous de manière raisonnable. Lorsque je met à jour ma machine tous les matins en me brossant les dents, j’ai rarement le temps de lire les notes de révision et les avertissements sur les modifications de comportement de paquets. Je sais que c’est important, je sais que j’ai déjà payé mon manque d’attention. Malgré tout, je continue à agir ainsi en dilettante, parce que sinon je vais encore être en retard.

Par ailleurs, j’accorde ma confiance à Mozilla, pas à tel ou tel développeur d’application. Je me fous de savoir si le propriétaire a changé. J’ai installé l’extension parce qu’elle était sur le site de Mozilla, je la met à jour pour la même raison, en me disant que si elle devient frauduleuse, Mozilla cessera de la diffuser. Mais si le développeur de l’extension change juste sa politique, met en place un pistage des utilisateurs, ou de la réclame au sein de son application… je me ferai avoir. Parce que ça n’empêchera pas l’application d’être encore distribuée, et parce que je n’aurai pas lu les notes de version qui l’annoncent.

Je ne sais pas quoi faire :(

@damusnet
Copy link

Après avoir tout lu je crois, je m'étonne de ne voir apparaître à aucun moment le terme "argent", ou la notion d'économie. Car c'est probablement ce qui oppose les trois protagonistes - Apple, Google, Mozilla - dans leur approche du problème, et le nerf de la guerre. Et donc guide leur stratégie. Apple vend cher ses appareils, qui eux même génèrent un revenu par utilisateur supérieur, et a donc un intérêt fort à verrouiller son écosystème, à surveiller les soumissions de développeurs, et à censurer ce qui nuirait à leur image. Et aussi à faire payer l'accès à son cheptel. Google au contraire joue depuis toujours sur la gratuité ou le plus bas prix de chaque chose pour derrière faire sa marge sur la publicité (entre autres). Donc encourage la prolifération de contenus. Mozilla tient la position la plus difficile qui consiste à faire mieux que tout le monde avec encore moins de revenus. Tout cela ne donne évidemment pas de réponse, mais permet d'apprécier différemment la position de chacun. Apple est confortablement installé, et Google fera les modifications nécessaires (si / ) quand cela commencera à avoir un impact trop négatif sur son image (ou si cela peut augmenter les inscriptions sur Google+). Eux, contrairement à vous, d'après tout ce qui se trouve plus haut, ce soucient assez peu de l'éducation des utilisateurs...

Je crois que là où je veux en venir, c'est qu'aujourd'hui, tout le monde (?) a déjà entendu au moins une fois la phrase "si c'est gratuit, c'est vous le produit", et que pourtant rien ne change. Plus encore, j'ai l'impression qu'on assiste à une sorte de résignation (mal) ou de sentiment de maîtrise à la "je me sers de tel réseau social, mais je mets rien dessus, hein !" (pire ?). Du coup, la partie éducation n'est vraiment pas gagnée de ce côté là.

Et donc, puisque la sensibilisation à la technique montre ses limites (j'entends par là le travail d'explication de ce que peut faire un navigateur, un site, une extension en matière de collecte des données, de fichage, de ciblage, etc.), peut-être que l'on aurait plus de succès à expliquer aux gens le côté économique des choses (ce qu'une entreprise qui exploite ces données en tire). On pourrait aussi mettre l'accent sur la transparence économique, comme on le fait déjà avec le code open source ? Imaginer des labels "code bio, écrit par des développeurs élevés en plein air".

En ce qui concerne Mozilla, pour peu que la question soit posée, il doit être possible d'y répondre. On pourrait imaginer un système double qui emprunterait à tous les autres. Par exemple la libre diffusion gratuite sur la plateforme de téléchargement à tous les projets dont le code est public (avec l'espoir que la communauté veillera), et l'obligation à ceux qui souhaitent diffuser leur projet avec un code fermé de se soumettre à une revue de code payante. Non ?

Sinon, plus simplement, @DavidBruant, vous avez besoin de bénévoles pour vous aider à organiser les Coding Goûters ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment