Developpez.com

Le Club des Développeurs et IT Pro

Le protocole WebSocket doit-il être évincé ?

Mozilla et Opera cessent de le supporter à cause de failles de sécurité

Le 2010-12-10 17:37:31, par Katleen Erna, Expert éminent sénior
Le protocole WebSocket doit-il être évincé ? Mozilla et Opera cessent de le supporter, suite à la découverte de failles de sécurité

WebSocket, à la fois protocole et API, avait dernièrement la cotte du fait de sa position de spécification potentielle du futur standard de l'HTML5. Mais un coup de théâtre vient de frapper son destin : des failles de sécurité ont été découvertes en son sein.

Les vulnérabilités se situent au niveau du canal bidirectionnel et fullduplex que Web Socket ouvre entre le navigateur et le serveur. La négociation qui s'y joue pose problème : quand le browser envoie une requête, cela crée une handshake (poignée de main). Mais cette action ouvre la voie à un empoisonnement du cache, qui peut alors voir un fichier JavaScript être remplacé par un logiciel malveillant.

Et les navigateurs ne peuvent rien faire d'autre pour contrecarrer cette menace, que de cesser de prendre en charge le protocole défectueux. Mozilla et Opera se sont déjà prononcés sur la question : les versions 4 de Firefox et 11 de Opera, ne supporteront pas le WebSocket (le code permettant cette action sera néanmoins présent, mais désactivé).

Microsoft quant à lui, n'aura pas à se poser la question, puisqu'Internet Explorer 9 ne gère pas le protocole.

Source : Mozilla

A votre avis, que vont décider Apple et Google concernant leurs navigateurs respectifs ?

Le WebSocket est-il un danger ? Pourra-t-il être corrigé ?
  Discussion forum
23 commentaires
  • Traroth2
    Membre émérite
    Envoyé par PitMaverick78
    Troll On:
    Ah ben il est beau le HTML5 qui doit tuer Silverlight
    Parce que ça vie encore, Silverlight ?
  • SucreGlace
    Membre confirmé
    Envoyé par singman
    Pour l'article :
    "avait dernièrement la cotte". Si c'était une cotte de maille, c'est bien, mais sinon j'écrirai plutôt côte (voir côt, si j'étais un gallinacé).
    Perdu, c'est cote.
  • Troll On:
    Ah ben il est beau le HTML5 qui doit tuer Silverlight

    Plus serieux:
    C'est dommage, les communications duplex c'est fort pratique!
  • jpvincent
    Membre éclairé
    C'est inquiétant, mais il y a pas lieu de paniquer :
    • pour le moment, c'est une menace théorique avec une attaque à partir d'un proxy qu'il faut donc posséder et placer. Pas sur que ça intéresse des hackers : déploiement minuscule + hack ou possession de matos réseau = pas très rentable
    • il faut fixer le protocole, et pour ça Mozilla, Google et les autres sont au W3C, je pense qu'ils vont faire ça vite
    • Chrome a préparé un patch pour déploiement rapide, mais ils ont dit qu'ils allaient attendre qu'il y ait un vrai problème
    • Flash et java sont aussi touchés. Et heureusement ou malheureusement ils ne vont pas sortir de version pour désactiver websocket
    • une implémentation en prod qui n'a pas comme fallback Flash, c'est suicidaire


    Bref, il ne devrait pas y avoir de perte de fonctionnalité sur les déploiements actuels et c'est un problème temporaire
  • kedare
    Membre chevronné
    Flash lent ? On aura tout entendu...
  • camus3
    Membre éprouvé
    HTML dans son ensemble est plus abordable au néophite car bien plus ouvert
    arrêtons l'hypocrisie 2 secondes la , quand on parle de html5 on parle des apis multimédias et autre dhtml , pas de la balise div ou p.
    C'est une erreur de la part du W3C d'avoir établi ces standards sans revenir sur certains problèmes structurels du nets.
    Enfin le w3c n'a pas à trancher sur les formats. La balise object est bien un standard en lui même , comme la balise img. Le W3C n'a pas à décider qu'il faille afficher du png plutôt que du jpeg.
    Enfin quand on voit la lenteur du dom ( standard ) par rapport au dhtml ( non standard ) , les arguments de rapidité me font bien rigoler.
    Bref on ajoute des étages à un château de cartes qui risque de s'écrouler, tout simplement parce que des gens veulent transformer javascript en flash...
  • Tesing
    Membre confirmé
    Envoyé par kedare
    Vu la vitesse a la quelle ils sortent les versions, à dans 10 ans pour HTML 5.1
    Déjà faut qu'ils sortent la version 5. Ensuite faut que tous les navigateurs soient compatibles. Bref. Ça laisse à penser que c'est pas demain la veille qu'on aura des sites full HTML 5.

    Ensuite, il y a des failles dans les protocoles pas encore implémentés. En même temps, mieux vaut s'en rendre compte maintenant. Comme ça, si un jour une version est implémenté, ça fera toujours une faille de moins.

    On n'arrête pas le progrès.

    Envoyé par abriotde
    Flash est horriblement lent et gourmand.
    Essaye de programmer des animations en Javascript CSS sur un autre navigateur que Chrome et revient en discuter.
  • Flaburgan
    Modérateur
    Envoyé par hivenz
    [Troll]Ah bon, y'a du Silverlight sur le net à part les sites de Microsoft [/Troll]
    France télévision notamment. A mon grand désespoir.
  • Emmanuel Deloget
    Expert confirmé
    Avec un peu de chance, la prochaine version du protocole sera plus correcte.

    J'ai le research paper sur lequel la décision de Mozilla et Opera est basée, et il dit en gros que WebSocket (tel qu'implémenté par Webkit) est grosso-modo aussi sensible que les sockets Java ou les sockets Flash sur des types d'attaque qui sont très particulières (cache poisonning et firewall circumvention). Ces attaques, effectuées au hasard sur les internautes, ont un rendement inférieur à 0,20%.

    Comparé à une faille de sécurité classique (100% des attaqué pendant une période de temps donnée), c'est quand même très pointu.

    C'est très bien que Opera et Mozilla n'acceptent pas un protocole faillible comme base de travail - d'autant plus que si ce protocole est déployé maintenant, il sera difficile de le changer par la suite. Mais il est loin d'être abandonné - il va revenir sous peu (c'est l'idée derrière l'annonce de Mozilla et Opera).
  • Arkal
    Membre régulier
    Google? Facile!
    Un partenariat pour relger le probleme et prendre l'avantage sur les autres qui auront cessé l'utilisation...