Comment fonctionne exactement un ver Facebook?

27

Au départ, j'avais supposé qu'une de mes amies FB diffusait un lien malveillant parce qu'elle avait innocemment accepté une application et lui avait accordé des privilèges, mais elle a dit que ce n'était pas le cas. Voir l'échange:

Ami: "Ne cliquez pas sur le lien que vous avez obtenu de moi! Il est infecté! Je l'ai obtenu de (nom expurgé) !!! Je suis désolé! Je dois m'arrêter ******!"
Moi: "Vous avez accepté une application FB. Tout ce que vous avez à faire est d'aller dans Compte -> Paramètres de confidentialité -> Applications et sites Web et de refuser l'application incriminée. C'est pourquoi je ne fais pas d'applications FB, point final."
Ami: ce n'est pas une application. pas sur la liste ... c'est un ver

Comment ça marche? Des manigances JavaScript lorsque la personne clique sur le lien?

JCCyC
la source

Réponses:

31

Oui, exactement JavaScript. Je viens de rencontrer un tel ver et j'ai essayé de le décoder.

Quel est le problème réel:

Le récent ver Facebook fonctionne en amenant les utilisateurs à visiter une page, ce qui les oblige à insérer une chaîne JavaScript dans leur barre d'adresse et donc à l'exécuter.

Donc, ne copiez JAMAIS de code JavaScript dans votre barre d'adresse. Voilà le principal problème. Et ne cliquez sur aucun lien auquel vous ne faites pas confiance. Ou ouvrez au moins ces liens dans une nouvelle fenêtre en utilisant le mode Confidentialité (Firefox) ou le mode navigation privée (Chrome) afin qu'il ne puisse pas accéder à votre session Facebook.


Qu'est-ce que nos pirates ont fait pour que les gens ne réalisent pas ce qu'ils font?

Échapper au script

La chaîne que vous copiez dans la barre d'URL renvoie principalement à un autre JavaScript qui est exécuté. Ce script est en fait décodé en entités. Ainsi, au lieu d'utiliser des caractères de chaîne, le script entier a été placé dans une chaîne et échappé afin qu'aucun humain ne puisse le lire en premier lieu.

Par exemple, si j'avais une fonction très malveillante, j'y échapperais et l'utilisateur ne verrait que:

fonction% 20test% 28% 29% 20% 7B% 20alert% 20% 28% 22LOL% 22% 29% 3B% 20% 7D

et sans échappatoire ce serait

test de fonction () {alert ("LOL"); }

Le script s'échappe donc "lui-même" avant d'être exécuté.

Le brouiller

Maintenant, ça devient laid: avant de lui échapper, le mauvais code JavaScript est obscurci, avec des noms de fonction comme _____xet des variables comme aLDIWEJ. Cela a toujours du sens pour JavaScript, mais il est entièrement illisible pour les humains. Cela est fait, encore une fois, pour masquer les intentions de nos pirates Facebook.

À ce stade, le code aurait pu ressembler à ceci:

entrez la description de l'image ici

Ce que fait le script

Eh bien, ce que ce script fait est de prendre votre session Facebook actuelle. Parce que vous êtes connecté au site, il peut faire n'importe quoi en votre nom. Par exemple, ce qu'il peut faire via l'API de Facebook est:

  • la création d'un événement comme "OMG je peux voir qui m'a traqué!"
  • bavarder avec les gens
  • publier des mises à jour de statut
  • etc.

Tout cela se produit en appelant certaines pages de l'API Facebook (certaines pages PHP, j'ai oublié lesquelles).

slhck
la source
5

Bref ... c'est un virus ... comme les autres. La méthode qu'il utilise pour se répliquer consiste à publier des messages sur votre compte après avoir été exécuté à partir de la page de quelqu'un d'autre. Selon le navigateur et / ou le système d'exploitation que vous utilisez, et les vulnérabilités dont il dispose, tout est possible. Fondamentalement, une fois que le script s'exécute dans votre navigateur (qui peut commencer par un simple clic), il utilise à son tour vos informations d'identification mises en cache pour publier des messages sur votre page ... qui contient le même lien / similaire sur lequel vous avez cliqué initialement.

À moins de désactiver javascript / flash / et un tas d'autres choses (ce qui est requis par Facebook), vous ne pourrez pas vous protéger contre de tels exploits.

Une solution de rechange rapide et sale ... avant de cliquer sur les liens dans les messages des autres ... regardez où cela va. Évitez les liens qui se terminent par une marque de hachage ("#") ou qui ont une sorte de référence javascript ... ou qui n'ont pas de lien réel vers celui-ci. (c.-à-d. ne semble aller à aucune URL)

Ou vous pouvez toujours adopter mon approche ... et éviter complètement facebook / twitter / etc ... Je n'ai encore rien trouvé sur aucun de ces services auquel j'attribuerais une valeur ou des éléments importants. Les amis et la famille savent comment envoyer un e-mail ... ou mieux encore ... décrocher le téléphone. (juste mon avis pour ce que ça vaut)

TheCompWiz
la source
1
pas vraiment précis ... il y a beaucoup de façons de vous protéger contre cela. Vous pouvez utiliser un plugin comme NoScript, par exemple, pour ne pas exécuter le javascript. Vous pouvez ouvrir le lien dans une nouvelle fenêtre en utilisant le mode confidentialité / mode navigation privée et la nouvelle fenêtre n'aura pas accès à votre session facebook. Si votre sécurité repose uniquement sur l’évitement des liens suspects, ce n’est pas très efficace. Si vous utilisez à la place des outils de navigation sécurisés correctement, vous n'aurez pas à vivre dans la peur de ce qui se cache au-delà de chaque clic sur le lien.
Brian Schroth
@Brian Schroth: Comme je l'ai dit dans mon article, "à moins de désactiver javascript / flash / ...." NoScript fait exactement cela. Vous avez raison de dire que le simple fait de regarder la cible du lien ne vous évitera pas de nombreux exploits ... Le mode navigation privée et autres ne vous protégera pas contre les virus ... et causera également des problèmes lorsque vous tenterez de suivre les liens entre les sessions. En vérité ... les gens devraient vivre dans la peur de ce qui se trouve au-delà des liens. Ils devraient prendre un moment pour réfléchir à ce sur quoi ils cliquent.
TheCompWiz
1
NoScript ne désactive pas Javascript. Il offre un contrôle précis sur ce que javascript fait et n'exécute pas. Votre réponse implique que si vous "désactivez Javascript", vous ne pourrez plus utiliser Facebook. Mais si vous utilisez NoScript, vous pouvez autoriser les scripts facebook.com tout en étant protégé contre le Javascript de certains sites de logiciels malveillants aléatoires.
Brian Schroth