IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

À partir de quel instant peut-on déclarer qu'une application est un malware ?
Talos tente de donner une réponse à cette question

Le , par Olivier Famien

61PARTAGES

0  0 
Les logiciels malveillants, tout le monde les fuit comme la peste. En général, lorsqu’un logiciel malveillant s’attaque à des fichiers, ou installe par exemple des portes dérobées sur un système, il est facile de l’identifier comme tel.

Toutefois, l’identification devient beaucoup plus difficile lorsqu’on tombe dans le domaine de certains logiciels qui s’invitent sur les systèmes afin d’afficher des messages persistants comme de la publicité. Pourrait-on parler de logiciels malveillants dans un pareil cas ?

Si un logiciel s’exécute sans le consentement d’un utilisateur ou utilise des techniques furtives pour contourner la sécurité d’un navigateur pourrait-on le classer dans la catégorie d’un logiciel malveillant ?

Encore mieux, si un logiciel cache la détection d’une portion de son code interne en chiffrant les parties de sa charge utile, ou plus basiquement collecte et envoie des données à un tiers sans le consentement de l’utilisateur, pourrait-on parler de malwares ?

Pour les chercheurs en sécurité du groupe Talos Group, « sans une norme claire définissant ce qui est et n’est pas acceptable, identifier des logiciels malveillants est problématique ». Définir les limites à partir desquelles une application peut être considérée comme un logiciel malveillant serait donc impératif si l’on ne veut pas tomber dans une confusion où tout est permis en raison de l’absence de standard.

Microsoft pour sa part a adopté que, depuis le 1er juin de l’année en cours, les produits de sécurité de la firme détecteront comme malwares les programmes dotés de fonctionnalités de protection de recherche du navigateur. Selon Talos, c’est ce qui a conduit Oracle à supprimer l’option d’installation de la barre d’outils Ask.com qui était intégrée dans son plug-in Java.

Aussi, pour se faire une idée personnelle du problème et présenter des conclusions éprouvées, les chercheurs de Talos ont analysé le comportement d’un générateur de pop-up nommé ‟Infinity Pop-up Toolkit”. C’est une partie d’un logiciel qui contourne les mécanismes de blocage des pop-up dans Google Chrome afin d’afficher des annonces publicitaires dans des fenêtres pop-up.

Selon Talos, plusieurs annonceurs utilisent cette boite à outils afin de propager leurs offres promotionnelles sur la toile. Pour ce faire, ils intègrent la boite à outils Infinity Pop-up dans un fichier Flash et emmènent les utilisateurs à cliquer sur ce dernier en leur faisant croire qu’ils ont besoin d’exécuter une action nécessitant des privilèges JavaScript.

En fait, le fichier SWF sert d’abri pour cacher le véritable comportement de programme Infinity Pop-up en le chiffrant dans un binaire de type Blob uniquement accessible à partir d’un domaine défini par l’auteur du programme. Lorsqu’il est exécuté, le code ActionScript décompresse et déchiffre le binaire blob présent dans le fichier SWF et qui contient en réalité la fonctionnalité d’affichage du pop-up en utilisant JavaScript dans la page.

Une fois que cela est mis en œuvre, toutes les fois que l’utilisateur visite une page cachant un tel dispositif, celui qui contrôle le programme collecte un nombre important de données personnelles sur l’internaute. Ils comprennent entre autres la version du navigateur, le système d’exploitation, le plug-in supporté, le fuseau horaire de l’utilisateur, etc. Et si vous utilisez un bloqueur de pop-up, une alerte est retournée à l’annonceur afin de l’informer que vous utilisez un tel dispositif.

Ces informations personnelles obtenues sans le consentement de l’utilisateur peuvent être transmises à des tiers malveillants. Pour beaucoup, cela faciliterait une attaque à distance de la machine qui a été espionnée.

Il faut noter également que le programme Flash contenant Infinity popup intègre beaucoup de niveaux de complexité permettant d'interagir avec le DOM, exécuter les annonces en mode plein écran, etc.

Au regard de ce qui précède, Talor Group conclut que « “Infinity Popup Toolkit” affiche un comportement qui traverse clairement la ligne afin d’entrer dans le royaume des logiciels indésirables ». Aussi « compte tenu des caractéristiques de ce fichier Flash, ses fonctionnalités et ses capacités, Talos a pris la décision de classer cette partie du logiciel comme un logiciel malveillant et de le bloquer ».

Source : Blog Cisco

Et vous ?

Que pensez-vous de la conclusion de Talos ?

Concevez-vous également que les générateurs de pop-up exécutés insidieusement sont des malwares ?

Forum sécurité

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Zirak
Inactif https://www.developpez.com
Le 18/09/2015 à 14:58
Je vais peut-être être trop radical, mais pour moi, on pourrait limite classer comme Malware tout logiciel qui effectue une action sans le consentement de / sans avertir l'utilisateur ET/OU qui entreprend une action n'ayant aucun lien avec la tâche qu'il est sensé accomplir.
2  0 
Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 18/09/2015 à 15:51
Citation Envoyé par Zirak Voir le message
on pourrait limite classer comme Malware tout logiciel qui effectue une action sans le consentement de / sans avertir l'utilisateur
Trop radical : il y a plein de tâches de fond exécutées sur un PC. Si on demande la confirmation (l'avertissement) pour tout, on n'a pas fini (de fermer les popups).

Citation Envoyé par Zirak Voir le message
on pourrait limite classer comme Malware tout logiciel [...] qui entreprend une action n'ayant aucun lien avec la tâche qu'il est sensé accomplir.
Trop vague : dans l'absolu, tout est lié d'une manière ou d'une autre. D'ailleurs, les marketeux sont les mieux placés pour mettre en lien des choses qui ne le sont normalement pas. Tout est une question de formulation, et le langage naturel n'étant pas un langage formel il laisse justement la porte ouverte à ce genre de choses au travers des ambiguïtés, métaphores, etc.

NB : censé

Je salue l'idée de définir de manière stricte ce qu'est un malware, mais l'article ne semble pas fournir grand chose pour ce que j'ai pu en lire.
2  0 
Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 18/09/2015 à 17:09
Citation Envoyé par Zirak Voir le message
Exemple bête : le rôle d'un GPS c'est de savoir où je me trouve, et de me dire comment aller à une adresse indiquée.
Partons là-dessus.

Citation Envoyé par Zirak Voir le message
En quoi a-t-il besoin de stocker tous mes déplacements
- Parce que pour éviter de tout retaper à chaque fois, il faut sauvegarder les itinéraires déjà fait pour les reproposer
- Parce qu'il n'a en mémoire que les règles générales, et que pour améliorer les suggestions de routes il peut utiliser un système à apprentissage basé sur tes habitudes
- ...

Citation Envoyé par Zirak Voir le message
ou de les envoyés à un tiers ?
- Parce qu'il n'a pas la puissance de calcul en local et nécessite donc de demander à un serveur de le faire pour lui
- Parce que l'algorithme utilisé est secret et donc seul ce tiers est capable de fournir le résultat
- Parce que l'environnement change et donc il faut faire savoir quand une carte n'est plus à jour en montrant où tu es passé alors qu'il n'y avait pas de route pour le GPS
- Parce que le système peut apprendre plus vite an recevant les données d'autres utilisateurs (et donc ces utilisateurs -toi inclus- doivent les fournir)
- ...

Citation Envoyé par Zirak Voir le message
Qu'il sauvegarde une adresse renseignée oui, qu'il sauvegarde mon point de départ, le jour et l'heure, non.
- Avoir le point de départ te permet de dire "je veux faire le chemin inverse" facilement, sans avoir besoin de re-spécifier l'adresse d'où tu viens.
- Avoir les jours et heures permet de faire des suggestions plus pertinentes (itinéraires que tu fais pendant la semaine vs pendant les vacances, itinéraires persos aux heures de pointes, etc.)
- ...

Tu peux toujours trouver des raisons. Et comme c'est le constructeur qui décide pourquoi il fait un produit, c'est lui qui décide de ce qui a du sens ou pas. Il peut introduire des fonctionnalités pour personnaliser, mais cela implique un coût à l'implémentation (design, compatibilité, etc.) et à l'utilisation (complexité, etc.). Enfin, l'utilité dépendant du contexte, un utilisateur trouveras toujours qu'une fonctionnalité à plus de sens qu'une autre, là ou un autre utilisateur pensera le contraire. Le constructeur quant à lui devra jouer sur une moyenne pour maximiser ses parts de marché (il ne va pas faire un produit différent pour chaque utilisateur).

Donc non, même si ça peut te sembler clair que ton GPS n'a pas besoin de sauvegarder le jour et l'heure, pour d'autres utilisateurs les fonctionnalités s'appuyant dessus seront primordiales. Et c'est le constructeur qui décide des priorités pour ses produits selon le marché qu'il vise.
1  0 
Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 18/09/2015 à 18:45
Le fait est qu'une fonctionnalité n'est pas un objectif. Tu as la fonctionnalité, et tu as l'objectif que tu cherches à satisfaire. La première permettant de satisfaire le second. Tu peux avoir les objectifs que tu veux, et implémenter des fonctionnalités qui y correspondent, puis chercher des objectifs différent qui peuvent aussi être satisfais par ces fonctionnalités (et plus éthique que tes propres objectifs) pour ainsi vendre ta solution à d'autres.

Ce n'est pas la fonctionnalité qui est mauvaise, mais l'utilisation qu'on en fait (ses conséquences). Tu ne peux donc tout simplement pas, de manière générale, juger du bien fondé d'une fonctionnalité. Surtout quand les conséquences à juger sont hors du système qui exécute la fonctionnalité en question (e.g. vie privée). C'est ensuite un travail de marketeux de te trouver un objectif pour la justifier (on appelle ça la création de besoin).

À partir de là tu peux voir le verre à moitié plein (si on veut satisfaire un bon objectif, il faut autoriser la fonctionnalité) ou à moitié vide (si on veut empêcher un mauvais objectif, il faut interdire la fonctionnalité). Un exemple typique bien de chez nous est le P2P : le P2P n'est pas mauvais ni bon en soi, mais soit tu l'utilises pour partager des fichiers légaux, et donc l'interdire serait pris comme un abus de pouvoir bridant la liberté des utilisateurs, soit tu l'utilises pour partager des fichiers illégaux, et donc l'interdire serait prix comme une sécurité pour protéger les droits des éditeurs/producteurs/...

Le problème ne vient pas de la fonctionnalité, qui est du domaine de la technique, mais de l'objectif, qui est du domaine de l'humain. D'où la difficulté d'avoir des solutions purement techniques au problème, comme empêcher des apps de tourner si elles ne satisfont pas certains critères.
1  0 
Avatar de Zirak
Inactif https://www.developpez.com
Le 18/09/2015 à 16:25
Citation Envoyé par Matthieu Vergne Voir le message
Trop radical : il y a plein de tâches de fond exécutées sur un PC. Si on demande la confirmation (l'avertissement) pour tout, on n'a pas fini (de fermer les popups).

Trop vague : dans l'absolu, tout est lié d'une manière ou d'une autre. D'ailleurs, les marketeux sont les mieux placés pour mettre en lien des choses qui ne le sont normalement pas. Tout est une question de formulation, et le langage naturel n'étant pas un langage formel il laisse justement la porte ouverte à ce genre de choses au travers des ambiguïtés, métaphores, etc.

NB : censé

Je salue l'idée de définir de manière stricte ce qu'est un malware, mais l'article ne semble pas fournir grand chose pour ce que j'ai pu en lire.
Vu que dans l'article il était question des applications, je me suis contenté de ça, je n'allais pas jusqu'à parler des OS. Mais j'ai bien dit tout de même "qui n'est pas en lien avec la tâche qu'il est censé accomplir" donc effectivement si l'OS a besoin d'effectuer des actions en tâches de fond pour fonctionner, cela ne me choque pas, maintenant a-t-il besoin de transmettre tout ce qu'il y a d'installer sur ma machine à son éditeur, ou les recherches que je fais dans mon navigateur SANS me le demander ? Non.

Et non, tout n'est pas plus ou moins lié, quand on voit le nombre d'autorisation demandé sur la plupart des applis mobiles ou des applications bureautiques qui envois des renseignements sans consentement, je ne vois pas en quoi c'est lié avec la tâche initiale ?

Exemple bête : le rôle d'un GPS c'est de savoir où je me trouve, et de me dire comment aller à une adresse indiquée. En quoi a-t-il besoin de stocker tous mes déplacements, ou de les envoyés à un tiers ? Qu'il sauvegarde une adresse renseignée oui, qu'il sauvegarde mon point de départ, le jour et l'heure, non.

Idem, pourquoi une application X ou Y sur Smartphone (admettons un jeu) à besoin d'avoir accès à mes photos ou autres ?

Etc etc, c'est plutôt dans ce sens là que je l'entendais.
0  0 
Avatar de Zirak
Inactif https://www.developpez.com
Le 18/09/2015 à 18:24
Citation Envoyé par Matthieu Vergne Voir le message
Snip
Bon ben si tout cela est tout à fait normal, je me demande donc bien pourquoi plein de monde s'inquiète sur ces histoires de droits à la vie privée, ou s'amuse à désactiver les nouvelles fonctionnalités "d'espionnage" de Windows 10 ou autres.

Qu'un constructeur veuille des informations pour améliorer son produit, et me proposer des fonctionnalités supplémentaires, soit, tant qu'il me demande mon avis et si je veux effectivement participer à ce programme d'amélioration, sinon non désolé, mais moi je ne trouve pas cela "normal".
0  0 
Avatar de 23JFK
Membre expert https://www.developpez.com
Le 18/09/2015 à 23:13
Dans les années 1990, il y avait un programme nommé KOH qui utilisait des techniques propres aux virus de l'époque pour pouvoir installer une couche de cryptage à un très bas niveau afin d'être une fonctionnalité transparente pour l'OS. Ce programme était et est encore catégorisé virus du seul fait de son mode de fonctionnement qui dérivait les appels de l'OS et s'installait au niveau du boot alors même que l'utilisateur avait un total contrôle (installation/configuration/désinstallation) du programme.

De nos jours, un logiciel qui induit sciemment en erreur l'utilisateur (et/ou les agents de protections d'un système) quant à sa finalité, à seule fin de provoquer l'acte d'installation sur une machine, est un malware (malicious software).
0  0 
Avatar de
https://www.developpez.com
Le 20/09/2015 à 17:56
memtest n'est pas un, mais peu le devenir si l'exécutable s'adapte au niveau hardware x86, R.I.S.C. (secteur d'amorce d'assembleur proche des heuristiques, chose complètement différent que de proposé des ensembles de "comportement" prédéfini).
La caractéristique d'être codé 4 bits juste à l'amorce mais de pouvoir s'étendre à 4 + x bits adressables n'est pas toujours apprécié.
Un autre cas se rapproche de l'émulation de jeux d'instructions A.R.M. par R.I.S.C. ou vis-versa à la volé.

Mettre un CD d'installation MS Windows dans un PC sans se soucier de si celui est x86 ou x86_64 ou R.I.S.C. ou A.R.M. est encore très loin de FreeDOS compatible IBM PS/1 et les derniers PC grand public vendu par HP ou autre dès que x86 8 ou 16 bits au minimum.

Mais les problèmes sont là et pas toujours évitable, se qui fait qu'ils restent souvant sous contrôles.

Post-scriptum : faut vraiment que je sois plus abstrait. La subtilité entre un .lib et un .dll par exemple n'est pas toujours évident mais pourtant le .lib peut pratiquement être un .jar se servant d'un .jar comme plugin, je l'avoue, si les .dll une fois compilés ne sont pas soumit aux contraintes d'architectures matériels (x86, A.R.M., etc), Microsoft a prix une très petite avance par rapport à Oracle. Les .dll modifiés par correctifs pour système d'exploitation (visual c++ redistrib par exemple) ne le sont peut-être pas dans le dossier de certaines applications qui ainsi garde des failles de sécurités, vaudrait mieux oublier le ".\" avec certaine DLL (sa va pas ennuyer Embarcadero par exemple).
0  0