Directives PUP pour la détection dans les produits G DATA

Cet article explique selon quelles règles nous générons des détections PUP (Possibly Unwanted Program)

Nous publions ces directives afin de donner à nos clients et partenaires la possibilité de déterminer si un logiciel doit être classé comme PUP (Possibly Unwanted Program). Les analystes G DATA respectent strictement ces directives lorsqu’ils classent comme PUP un logiciel que nous analysons chez G DATA.

Toutefois, la détection ne se limite pas à des instances individuelles du logiciel lui-même, mais inclut également le comportement de l’entreprise qui se trouve derrière le logiciel. L’utilisation d’un logiciel revient à un contrat entre deux parties, l’utilisateur et le développeur/fournisseur/distributeur du logiciel, désigné ci-après dans ce document comme le distributeur.

Toutes les fonctionnalités d’un logiciel coûtent du temps et de l’argent en développement, tests et maintenance.

Il est donc hautement improbable qu’un logiciel commercial contienne des fonctionnalités inutiles.

Il faut donc partir du principe que toutes les fonctionnalités constatées ont été ajoutées à des fins déterminées.

Néanmoins, des erreurs peuvent se produire, mais il est attendu qu’elles soient corrigées, en particulier lorsqu’elles sont au détriment de l’utilisateur. Des « erreurs » répétées au détriment des utilisateurs sont hautement irréalistes.

Si un logiciel enfreint une ou plusieurs des règles suivantes, un classement par G DATA comme « potentiellement indésirable » est très probable. Les clients qui souhaitent néanmoins continuer à utiliser un tel logiciel peuvent le faire à tout moment en désactivant la détection des « programmes potentiellement indésirables » dans les suites antivirus de G DATA.

Fraude

Définie ici comme une « tromperie illicite ou criminelle dans le but d’un gain financier ou personnel ». La fraude est toujours intentionnelle ; toute forme de fraude conduit à une classification PUP ou pire.

Exemples de comportements logiciels frauduleux :

  • Prétendre qu’il s’agit d’un logiciel ou d’un service de Microsoft ou d’un autre fournisseur légitime, alors que ce n’est pas le cas.

  • Affichage d’un compte à rebours falsifié pour une fausse offre limitée dans le temps.

  • Inscription qui se révèle être un achat ou un abonnement.

  • Affichage d’un comportement différent dans des environnements virtuels que sur du matériel réel.

  • Fausses alertes ou pop-ups qui ne reposent pas sur des faits.

Induction en erreur

Définie ici comme « créer une représentation erronée ou donner une fausse impression ». Le fait d’induire l’utilisateur en erreur ne doit pas nécessairement être intentionnel, mais peut également résulter d’un mauvais choix de termes, par exemple en raison d’une mauvaise traduction. Toutefois, si nous constatons que des informations trompeuses sont intentionnelles, nous classons le logiciel comme potentiellement indésirable.

L’intention peut être difficile à prouver, mais voici quelques exemples d’endroits où des informations visant à induire les utilisateurs en erreur peuvent être trouvées :

  • Le comportement du logiciel (il prétend optimiser votre PC, mais ne le fait pas)

  • Les dialogues et textes dans l’interface utilisateur graphique (GUI) de l’application, qui, par exemple, dissimulent le fait que le logiciel collecte à grande échelle des données à caractère personnel

  • Historique du distributeur ou du logiciel

  • Autres logiciels du même fabricant et site web/boutique en ligne

  • Campagnes limitées, par exemple, à :

    • Temps

    • Région

    • Environnement logiciel/matériel

Objet et utilité

Les objectifs d’un logiciel peuvent être répartis en 2 catégories : objectif au bénéfice des utilisateurs et objectif au bénéfice du distributeur.

Pour qu’un logiciel soit viable, il doit offrir un bénéfice à l’utilisateur ; sinon, personne n’est prêt à l’utiliser. D’un autre côté, le logiciel doit apporter un certain bénéfice au distributeur, sinon le développement du logiciel a été un gaspillage de temps et d’argent. Dans la plupart des cas, le logiciel est destiné à générer une forme de revenu.

Pour un contrat équitable, les avantages pour les deux parties doivent être équilibrés.

Cependant, si l’équilibre penche trop fortement en faveur du distributeur, la probabilité est plus grande que ce logiciel soit potentiellement indésirable.

  • Le logiciel doit présenter un bénéfice pour l’utilisateur.

  • Chaque fonction devrait présenter un bénéfice pour l’utilisateur.

  • Si une fonction ne profite pas directement à l’utilisateur, elle doit être justifiée par écrit.

  • Le prix payé par l’utilisateur doit être clair et ne doit pas désavantager l’utilisateur.

Publicité

Les offres que le logiciel propose pendant/après l’installation, l’exécution ou la désinstallation sont également considérées comme de la publicité.

La publicité peut être divisée en 2 catégories :

Publicité qui promeut le logiciel/service

  • Le marketing d’affiliation fait généralement la promotion du logiciel.

    • Il incombe au partenaire de distribution d’aligner les affiliés ; les violations de ces directives par des affiliés conduisent également à un jugement « potentiellement indésirable » pour le développeur et le distributeur du logiciel.

    • Les affiliés ne peuvent pas être utilisés comme excuse pour des installations indésirables.

    • Les affiliés ne doivent enfreindre aucune des règles publicitaires indiquées dans la section ci-dessous pour la publicité via le logiciel/service :

  • Autopromotion dans d’autres logiciels du même fournisseur.

Publicité via le logiciel/le service

  • Le partenaire de distribution assume l’entière responsabilité de la publicité affichée à l’utilisateur.

  • La publicité doit être conforme à la législation de la région de l’utilisateur.

  • Les annonces ne doivent pas être frauduleuses ni trompeuses.

  • Les annonces ne doivent pas être offensantes.

  • Les annonces ne doivent pas être menaçantes.

  • Les annonces ne doivent pas promouvoir des applications potentiellement indésirables connues.

  • Les annonces ne doivent pas entraver ni perturber le fonctionnement de l’ordinateur et/ou d’autres logiciels.

  • Le logiciel promu ne doit pouvoir être installé qu’avec le consentement explicite de l’utilisateur.

Surveillance de l’environnement système

La détection de l’environnement peut être utilisée de manière légitime afin de fournir la langue et les fichiers appropriés pour le système d’exploitation.

Cependant, elle est souvent utilisée par des logiciels potentiellement indésirables pour déterminer quel comportement répréhensible peut être exécuté sans être détecté. Cela revient à l’utilisation d’un dispositif de désactivation, comme dans le Dieselgate de Volkswagen. Si le logiciel détecte qu’il s’exécute dans un environnement de test, il se comporte différemment que sur les PC de clients potentiels.

Exemples d’environnements détectés :

  • Machine virtuelle (VMWare, VirtualBox, …​)

  • Logiciel antivirus

  • Anti-spyware

  • Région (geo IP, langue, heure de la journée, …​)

Exemples d’actions divergentes

  • Installation d’une version d’essai uniquement sur du matériel réel, installation de la version complète sur des machines virtuelles.

  • Affichage de publicité uniquement sur du matériel réel, aucun affichage sur des ordinateurs virtuels.

  • Installation d’extensions de navigateur intrusives ou d’autres modules logiciels uniquement sur du matériel réel, pas sur des machines virtuelles

Installation

Il n’existe que très peu de cas d’usage légitimes pour les fonctions d’installation silencieuse des programmes d’installation courants tels qu’Innosetup. Le cas légitime le plus fréquent est le déploiement par un administrateur réseau. Dans ce cas, les EULA du logiciel concerné doivent toutefois identifier explicitement le logiciel comme destiné à un usage professionnel.

Le plus souvent, des fonctions d’installation silencieuse sont utilisées afin de permettre à des entreprises associées d’installer le logiciel sans le consentement de l’utilisateur.

  • Pour les versions d’essai, il n’existe aucun cas d’usage légitime pour une installation silencieuse.

  • Pour les logiciels destinés aux consommateurs, il n’existe généralement aucun cas d’usage légitime pour l’installation silencieuse.

  • L’installation silencieuse annule le consentement à tous les dialogues d’installation, à l’EULA et aux politiques de Confidentialité. Comme ceux-ci sont nuls, il n’existe aucun contrat juridiquement valide entre l’utilisateur et le distributeur.

EULA (End User License Agreement)

L’EULA (contrat de licence utilisateur final) ne doit contenir rien de surprenant ni rien qui enfreigne la loi du pays dans lequel le logiciel est censé être utilisé. Tous les points surprenants ou inappropriés sont inadmissibles. Exemples de tels points :

  • Utilisation de malware falsifié pour démontrer la détection de malware.

  • Utilisation de mineurs de cryptomonnaies.

  • Collecte et/ou commerce de données à caractère personnel

Tout ce qui procure des avantages supplémentaires à la partie distributrice doit être déclaré explicitement pendant le processus d’installation en dehors de l’EULA ; voir les exemples ci-dessus

Politiques de confidentialité

Certaines règles de base doivent être respectées concernant les politiques de confidentialité.

La politique de confidentialité

  • Doit être conforme au RGPD (GDPR) et/ou à la DSGVO si le logiciel doit être utilisé en Europe.

  • Ne doit contenir rien de surprenant.

  • Ne doit pas déclarer des informations permettant d’identifier une personne comme « pseudonymes » ou « anonymes ». L’utilisation d’informations permettant d’identifier une personne ne doit pas être dissimulée.

Tous les contenus inadmissibles doivent être explicitement indiqués dans les dialogues d’installation. Cela signifie que toute collecte de données supplémentaire qui n’est pas nécessaire au fonctionnement de l’application doit être soumise à un opt-in (l’utilisateur doit l’activer activement) et doit être expliquée dans le dialogue d’installation de manière à ce que chacun puisse la comprendre ainsi que les conséquences qui en résultent. Exemples de collectes de données qui, en cas d’utilisation, devraient être expliquées correctement :

  • Collecte et/ou commerce de PII (informations personnellement identifiables).

  • Collecte et/ou transmission d’informations matérielles.

  • Collecte et/ou commerce d’informations sur l’utilisation/l’installation de logiciels tiers.

  • Collecte et/ou commerce des sites web consultés.

  • Collecte et/ou commerce d’informations d’authentification pour des services de fournisseurs tiers

Versions d’essai/versions complètes

La nature du logiciel doit être clairement indiquée lors de l’installation. Cela signifie qu’il doit être explicitement clarifié s’il s’agit d’une version complète ou d’une version d’essai, quelles caractéristiques et fonctions sont disponibles et quelles limitations existent.

Les versions d’essai n’ont droit à aucune forme de compensation de la part de l’utilisateur, à l’exception des informations de contact, et elles ne doivent en aucun cas être monétisées tant que l’utilisateur n’a pas décidé d’effectuer une mise à niveau vers la version complète.

Démarrage automatique

Les entrées de démarrage automatique doivent être justifiées et nécessaires au fonctionnement de l’application.

Exemples d’entrées de démarrage automatique possibles :

  • Démarrage automatique

  • Service

  • Tâche planifiée

Exemples d’entrées de démarrage automatique légitimes :

  • Exécution d’un service antivirus

  • Vérification des mises à jour du logiciel

Exemples d’entrées de démarrage automatique non légitimes :

  • Analyse de mise à jour des pilotes à chaque démarrage du système.

  • Plusieurs tâches planifiées pour vérifier le nettoyeur de registre.

  • Service installé pour un téléchargeur de logiciels.

Exécution

Pendant l’exécution, un logiciel doit fonctionner comme promis afin de répondre aux attentes de l’utilisateur et de lui apporter un bénéfice. Toute fonctionnalité qui ne répond pas à ces objectifs doit être justifiée.

Exemples de bénéfices du distributeur justifiés :

  • Rappel occasionnel que le logiciel est en phase d’essai.

  • Avantage promotionnel de la version complète.

  • Affichage approprié de publicité dans un logiciel financé par la publicité.

Exemples de bénéfices du distributeur non justifiés :

  • Vérification de logiciels concurrents.

  • Affichage de publicité pour des fournisseurs tiers ou d’autres logiciels du même fournisseur dans la version d’essai.

  • Promotion d’autres logiciels du même fournisseur, déguisée en fonctionnalité.

Désinstallation

La désinstallation doit être facile à trouver et à exécuter.

  • Elle doit être complète et ne doit laisser aucun fichier, aucune entrée de démarrage automatique ni aucune modification du Registre Windows sur le système.

  • L’action par défaut pour la désinstallation doit être la désinstallation.

  • Elle ne doit pas être plus difficile que l’installation

Site web/boutique en ligne

Le site web et/ou la boutique en ligne représentent l’entreprise et le logiciel. Ils doivent être véridiques et clairs et ne doivent pas obscurcir/dissimuler des informations.

Exemples de pratiques de site web/boutique en ligne inadmissibles :

  • Affichage d’une matrice de produits, mais tous les liens vers les différents produits mènent au même produit.

  • Utilisation de comptes à rebours rapides pour mettre le client sous pression.

  • Utilisation de comptes à rebours falsifiés.

  • Le nombre d’unités restantes est inventé (il n’existe pas de « stock limité » pour les téléchargements de logiciels).

  • Le compte à rebours s’arrête sans que la période d’offre ne prenne fin.

  • L’application est toujours en promotion ou les « événements » de vente sont obsolètes.

  • Ajout par défaut d’autres produits au panier.

Réputation

L’historique et la réputation d’une entreprise de distribution et de son logiciel peuvent fournir des indications sur l’attitude actuelle de l’entreprise de distribution et le comportement du logiciel.

Selon l’historique, un distributeur présente un niveau de crédibilité différent.

Un fournisseur acquiert une faible crédibilité par :

  • Être un récidiviste PUP.

  • Simuler l’ignorance des critères PUP.

  • « Tester » de nouvelles violations.

  • Mettre en place des programmes partenaires agressifs.

  • Donner la priorité au profit plutôt qu’à la valeur d’usage.

  • Utiliser des noms de produits très génériques qui ne contiennent éventuellement même pas de nom d’entreprise durable, ou faire la promotion du nom de l’entreprise avec le produit, voire pas du tout.

  • Être qualifié de trompeur, voire de frauduleux, par les utilisateurs.

  • Communiquer de manière rude, menaçante ou offensante.

  • Tenter de contourner la détection.

  • Feindre l’ignorance des technologies fondamentales.

Les fournisseurs sont en mesure d’acquérir une forte crédibilité au sein du secteur s’ils …​

  • ont corrigé toutes les violations PUP dans le passé ou n’ont jamais eu de violations PUP

  • mettent en avant le bénéfice pour l’utilisateur.

  • respectent des normes de l’industrie logicielle telles que la CSA