Quelle est la bonne marche à suivre pour trouver des projets de logiciels libres dont les exécutables propagent un virus

19
Aujourd'hui, j'ai trouvé un projet sous GPL sur SourceForge dont les exécutables propagent un virus. Ce fait a été souligné à plusieurs reprises dans les revues du projet et l'exécutable infecté est toujours disponible en téléchargement. Apparemment, les anciens exécutables ne sont pas infectés, de sorte que le projet lui-même ne semble pas avoir été conçu à des fins malveillantes. Il n'y a aucun moyen préféré de contacter les développeurs et les forums pour le projet sont morts. Que devrais-je faire?
AndrejaKo
la source
2
Cette question est sur le sujet, mais à l'avenir, si vous voulez demander si une question est sur le sujet, veuillez utiliser le méta site
1
Pourquoi attendre avant de contacter SourceForge directement? Vérifiez s'il s'agit d'un virus, puis contactez-les immédiatement.
Peter Boughton
1
Vos modifications ont rendu cette question hors sujet / trop localisée . Programmers.SE est destiné à une discussion subjective ou approfondie sur des sujets concernant la majorité des programmeurs, et non au diagnostic des analyses antivirus.
@Mark Trapp Oui, je pensais comment diviser cela en deux parties, une pour le cas général et une pour ce cas spécifique. La deuxième partie peut être considérée comme hors sujet.
AndrejaKo

Réponses:

26

Si vous ne pouvez pas entrer en contact avec les développeurs, contactez SourceForge. Signalez le problème, donnez-leur des informations détaillées qu'ils peuvent utiliser pour vérifier le problème et ils le supprimeront (probablement). C'est un site réputé et j'imagine qu'ils ne voudraient pas être associés à des logiciels malveillants.

Mason Wheeler
la source
Hé Mason, que pensez-vous du fait qu'entre la publication de cette question et aujourd'hui, la réputation de SourceForge a chuté et que la propriété a changé de mains (et que SourceForge a potentiellement vu sa réputation remonter lentement)? Si cette réponse reflétait le fait que lorsque les gens demandaient réellement à SourceForge de faire quelque chose, ils ne faisaient rien, et parfois, c'était SourceForge lui-même qui était responsable de la livraison de ces virus, soit par le biais de publicités, soit par sa propre intention. ?
WHN
@opa Wow, ouais, c'est une réponse qui n'a pas bien vieilli ...
Mason Wheeler
11

Je commencerais par envoyer un e-mail au responsable du projet et aux développeurs.

Brian R. Bondy
la source
0

L'état des projets

Les anciens projets populaires, qui ne sont plus maintenus et oubliés peuvent souvent être utilisés comme vecteur pour propager des virus si quelqu'un est en mesure de compromettre le compte et de télécharger une nouvelle version compilée. La même chose a souvent été faite avec les systèmes de mise à jour automatique - pire encore car ils se livrent et installent souvent une mise à jour sur les systèmes des utilisateurs à l'insu de l'utilisateur final.

Actions possibles à entreprendre

Mainteneurs et développeurs

Vous pouvez essayer de contacter les développeurs / mainteneurs, mais s'il s'agit d'un ancien projet, il est peu probable qu'ils répondent. Si leur compte a été compromis, vous leur donnerez une tête haute ou laisserez un cri à un mur.

Plateforme / réseau de livraison

Vous pouvez avoir une meilleure chance de supprimer le code malveillant en contactant la plate-forme qui héberge le logiciel. Je n'ai moi-même pas essayé de contacter directement une plateforme comme Sourceforge ou NPM. La probabilité que vous receviez une réponse est souvent liée à la taille de l'entreprise et si elle a été monétisée - s'il s'agit d'une seule personne, alors bonne chance!

Plus vous avez d'informations pour vérifier votre demande de retrait, plus il est probable et rapide que cela se produise.

La communauté et votre voix

Souvent, vous pouvez essayer les étapes ci-dessus et vous sentir impuissant ici, mais si vous êtes en mesure de laisser un commentaire ou une critique sur le logiciel, cela peut être la meilleure chose que vous puissiez faire. Même si de nombreux utilisateurs finaux téléchargent toujours le logiciel à l'aveugle ou font précédemment confiance au logiciel.


Extra: prévention récente et future

Arrêtez de lire ici ™ ou continuez ¯\_(ツ)_/¯

Il y avait un package NPM très utilisé avec lequel le mainteneur d'origine en avait fini - comme de nombreux projets open source atteignent leur cycle de vie. Quelqu'un a demandé à le maintenir. Cela doit sûrement ressembler à un fardeau tenace soulevé des épaules d'un développeur. Malheureusement, le nouveau responsable a publié des logiciels malveillants pour voler des portefeuilles cryptographiques .

Ironiquement, j'en ai entendu parler par le bouche à oreille et en lisant le problème ouvert sur le référentiel github avant de lire un article à ce sujet ou de le voir apparaître dans le npm audit. Cela montre que votre voix sur une plate-forme publique peut vraiment avoir un impact .

Notre groupe de rencontre a discuté brièvement de ce que la communauté pourrait faire pour empêcher une telle chose, et à qui incombe la responsabilité de l'empêcher.

Plateforme / réseau de livraison

Faire en sorte que la responsabilité de npm exigerait une situation monétarisée en place qui serait nul, ou peut-être ne serait-il disponible que pour les entreprises - mais alors tout le monde en bénéficierait gratuitement?

Mainteneur de source

En tant que mainteneurs open source, nous devons être conscients des conséquences de nos actions. Si vous avez été un mainteneur open source, cela peut devenir une corvée car votre valeur intrinsèque que vous obtenez du projet diminue. Il serait difficile de dire non à quelqu'un qui a apparemment l'énergie dont vous disposiez pour faire avancer votre projet. Une chose à noter est que certaines plateformes permettent un processus de révision avant la publication si les niveaux d'autorisation corrects sont en place. Dans ce cas, la propriété du projet a été entièrement transférée, vous devriez essayer de ne pas le faire à moins de faire entièrement confiance à la personne / l'entité - même si cela ne semble pas être une manière propre de mener à bien la poursuite d'un logiciel qui a été établi et approuvé. Les gens peuvent également créer leurs fourches de code, mais cela peut devenir compliqué.

Communauté et consommateurs

L'infrastructure actuelle pourrait utiliser certaines fonctionnalités pour aider.

Par exemple, les versions peuvent être vérifiées, approuvées ou signalées par la communauté, tout comme la façon dont les torrents peuvent être évalués à la hausse ou à la baisse par la communauté afin que d'autres puissent prendre des décisions rapides avant de franchir le pas. Une note négative élevée pourrait signaler un package et en avertir les consommateurs et les futures installations.

En tant que consommateur qui installe aveuglément des logiciels et des mises à jour, il est de votre responsabilité de surveiller ce que vous consommez. Vous pouvez utiliser des gestionnaires de packages dotés d'un verrouillage de version pour aider à annuler cela. Malheureusement, je doute que beaucoup de gens passent le temps nécessaire pour revoir les centaines de paquets qu'ils installent lorsqu'ils déposent un bon produit npm install. Certaines entreprises passent par un processus de fournisseur lorsque le logiciel change; J'espère qu'aucune entreprise ne le fera pour les packages NPM (cela pourrait sérieusement interrompre le développement), mais c'était une option évoquée.

Argent $$$

Personne ne veut payer pour un logiciel open source gratuit, mais si ceux qui écrivaient du code étaient récompensés pour leurs contributions, ils pourraient être plus motivés à maintenir leur logiciel et leur image communautaire. L'argent pourrait provenir directement des consommateurs ou comme un filet pour la plate-forme sur laquelle il est livré. Autant que je détesterais le voir, je pourrais voir les bibliothèques suivre le même chemin que les plates-formes CI - gratuites pour l'open source mais coût pour le privé / les entreprises - cela pourrait être géré avec des licences, mais les développeurs ne veulent pas perdre de temps à devenir soit autoriser les professions (elles pourraient peut-être être simplifiées et directes).

CTS_AE
la source