Pourquoi le player flash n'est pas déjà libre ?
Par jblanche le lundi 21 avril 2008, 23:24 - geeks - Lien permanent
Un sujet récurent sur ce blog et un de mes bouc-émissaire préféré, le player flash...
Ce tout petit logiciel installé sur parait-il, plus de 98.8 % des "Internet-enabled desktops" des "mature markets"[1], n'est pourtant toujours pas libre (Ah croire que les dirigeants d'Adobe ne lisent même pas ce blog :D)
Mais la vraie question, c'est pourquoi ne l'est-il toujours pas ?
Et en discutant avec quelques amis plus flasheurs que moi, eux aussi se posent la question...
Après tout le player ne rapporte pas d'argent à Adobe et en ne le libérant pas, ils se coupent comme je l'ai déjà expliqué d'une partie des utilisateurs supposés de ce player et des architectures matérielles exotiques qui aimeraient en profiter (64bits...).
Pourtant, dernièrement une possible réponse m'est apparue.
En effet le flash player est installé sur un nombre important de machine et même s'il
est régulièrement accusé pour ses failles de sécurité, celles-ci restent bien cachées et peu exposées au grand public.
Pourtant récemment, c'est bien grâce une faille du player Flash qui a permis de faire tomber la machine sous Vista[2]
lors du "PWN to OWN contest" (un concours visant à tester la sécurité des OS Mac OS Leopard, Windows Vista et Linux Ubuntu)[3], et si l'on se rend sur les différents sites (anglophones) traitant de sécurité informatique on peut se rendre compte que flash est souvent décrié sur ce point.
Le problème, c'est que quand un hacker cherche à prendre le contrôle d'une machine distante, il va chercher à exploiter une faille d'un logiciel installé sur celle-ci. Hors Flash est installé à peu près partout (je suppose qu'il y a plus de player Flash installés de part le monde que de Windows), cela en fait une cible idéale.
Le vrai problème est qu'il n'est pas possible à chacun (chaque OS ou chaque navigateur) d'implémenter sa machine virtuelle pour interpreté l'ActionScript.
Il n'existe qu'une (ou presque) machine virtuelle (la machine officielle) et lorsque l'on trouve une faille dans celle-ci on touche donc absolument tous les players flash de la planète( la dernière faille trouvée permettait de prendre le contrôle de la machine distante et était exécutable sur Mac, Linux, Windows et sur toutes les versions de Flash depuis la 7 ! )
Revenons au fait, si Adobe libérait le code de son player immédiatement, il s'en suivrait une période de flottement ou des dizaines et des dizaines de failles seraient surement découvertes en peu de temps.
Ce qui aurait pour effet de ternir l'image de Flash pour pas mal de monde !
Certains en déduirais presque que je viens de donner un argument à Adobe pour garder son code propriétaire.
Mais d'un autre côté, à l'heure ou l'on parle de plus en plus de flash pour faire de l'applicatif(Flex, Air et leurs amis). Peut-on vraiment se permettre d'utiliser dans des secteurs ou la sécurité est souvent très importante un player et une technologie qui eux ne sont pas sécurisés ?
Un jour ou l'autre, Adobe devra libérer son player (à moins qu'une faille plus importante que les autres mette beaucoup de monde sur les genoux et décrédibilise le player face à une concurrence qui pointe le bout de son nez [4]).
Adobe devrait donc le libérer au plus vite d'autant plus qu'ils se sont déjà rapproché du libre avec Flex et Tamarin et qu'ils ont là un vivier de bêta-découvreurs de failles qui pourrait leur permettre de découvrir une grande partie des failles de sécurité avant une réelle libération du player Flash.
De plus certaines société spécialisées seraient surement prête à exécuter cette mission contre quelques euros...
[1] "Internet-enabled desktops" et "mature markets", avec deux trois autres conditions, ils auraient pu nous annoncer 100%
[2] L'an dernier c'est le player quicktime qui avait fait sauter une machine, saloperies de players propriétaires
!
[3] Sachez pour information que le MacBook Air est tombé le premier à cause d'une faille de Safari, suivi de la machine Vista pour la faille Flash, le Ubuntu lui n'est pas tombé bien que la faille Flash aurait pu être exploité sous tous les systèmes sus-cités.
[4] Sylverlight pour la vidéo et l'applicatif même si on peut imaginer qu'à terme, le problème serait le même.
Commentaires
J'attends le commentaire de nerik.
Je suis tout à fait d'accord avec toi. Sauf sur le point parlant de Silverlight. Qui selon moi est encore pire que Flash, vu qu'il n'est pas supporté officiellement sous Linux. En effet, La version qui peux être utilisé sous Linux est une implémentation lié au Reverse Engineering, donc exactement comme le player flash libre qui est loin d'être aussi bon que l'original.
Entièrement d'accord sur la sécurité approximative du player Flash.
Pour autant, lorsque tu dis "il n'est pas possible à chacun d'implémenter sa machine virtuelle pour interpréter l'ActionScript", je me pose des questions et je peux pas m'empêcher de faire le parallèle avec les moteurs de rendu HTML.
Je n'ai pas du tout mais alors pas du tout envie faire un swf pour l'AVM d'Adobe, un pour Gnash, un pour Mozilla Flash Player, un pour [insérer le nom d'un player flash hypothétique ici]...
La grande force du player Flash est aussi son côté universel; une appli Flash se comporte de la même manière partout et a exactement la même apparence, quel que soit l'OS et le navigateur (si le player existe sur la plate-forme évidemment). Peut-on en dire autant du trio infernal HTML/CSS/Javascript?
En même temps les devs Java ont à leur disposition une tetrachiée de compilos et de machines virtuelles, pourtant les applis Java ont l'air relativement cohérentes entre deux plate-formes.
Donc voilà, je sais pas. C'est pas si évident.
Prout.
Yop,
C'est vrai mais ce qui fait sa "force" fait aussi sa plus grande faiblesse.
Pour ce qui est des multiples Machines Virtuelles, logiquement si elle sont elles bien codées, elle devraient toutes rendre la même chose.
Pour ce qui est du HTML/CSS/Javascript, il y a certes un "vrai" problème mais finalement il y a surtout un mauvais élève, qui ne peut s'empêcher de faire les différentes implémentations à sa sauce (IE pour ne pas le citer) !
Malheureusement, celui-ci est installé sur 95% des PC du monde !
Pour des "virtuelles" Machines Virtuelles Flash, aucune n'étant installée par défaut, on peut imaginée que les mauvaises ne s'imposeraient pas vraiment sur le marché => pas à les prendre en compte pour les développeurs.
)
La preuve, la Machine Virtuelle Java est libre et pourtant, on a pas vu 12000 autres JVM sortir et je n'ai pas entendu parler de code qui s'adapte a la JVM (en même temps je code pas souvent en Java
@shingara : Alors on est entièrement d'accord :D
Je n'ai pas dis que Sylverlight était mieux, car c'est qu'il y a un peu d'eau à couler sous les ponts avant que j'ai un plugin pour ma distrib Linux préférée.
Maintenant il y a fort à parier qu'il va prendre pas mal d'importance sur le web dans les mois à venir (notemment avec les J.O.), malheureusement...
nerik, je ne suis pas tout à fait d'accord avec le fait que : "Flash se comporte de la même manière partout et a exactement la même apparence, quel que soit l'OS et le navigateur (si le player existe sur la plate-forme évidemment). Peut-on en dire autant du trio infernal HTML/CSS/Javascript ?"
Effectivement il y a un seul lecteur Flash et pleins de "lecteurs" HTML/CSS/JS. Personne n'aurait de problème si tout le monde avait Internet Explorer... ou Firefox. D'ailleurs si on considère Glash comme un logiciel alternatif... on a aussi pas mal de problèmes de compatibilités.
Tout est finalement une question de conventions pour l'interopérabilité, et si ça marche pour les navigateurs Webs, j'espère que Adobe aura la bonne idée de se dire que ça peut aussi marcher pour les lecteurs Flash... et fournir des specs.
"Pour ce qui est du HTML/CSS/Javascript, il y a certes un "vrai" problème mais finalement il y a surtout un mauvais élève, qui ne peut s'empêcher de faire les différentes implémentations à sa sauce (IE pour ne pas le citer) !"
Le problème n'est pas là. Tout le monde est d'accord pour dire que IE a implémenté les technos web à sa sauce, mais il en exactement de même pour Firefox, Safari, Opera, dans une moindre mesure. Le résultat est là : une page/appli web n'a jamais le même comportement d'un navigateur et d'un OS à l'autre.
"Pour des "virtuelles" Machines Virtuelles Flash, aucune n'étant installée par défaut, on peut imaginée que les mauvaises ne s'imposeraient pas vraiment sur le marché"
J'ai juste envie de te répondre par ce que tu as écrit juste au dessus : "Malheureusement, IE est installé sur 95% des PC du monde !". Malheureusement, il est évident que ce ne sont pas toujours les meilleurs logiciels/technos qui s'imposent, ça c'est vieux comme le monde. Exemples : Windows, IE, Office, le format MP3, la Star Academy... Je sais, c'est triste.
@djib
"Tout est finalement une question de conventions pour l'interopérabilité, et si ça marche pour les navigateurs Webs, j'espère que Adobe aura la bonne idée de se dire que ça peut aussi marcher pour les lecteurs Flash... et fournir des specs."
Justement, ça ne marche pas (du tout) pour les navigateurs web. Malgré le W3C, puissant consortium de régulation qui fournit des specs en veux tu en voilà. Quel contrôle aurait Adobe, isolé, sur sa VM?
Pour revenir sur le problème d'origine - la sécurité du player Flash -, peut-on avancer qu'elle est la seule raison pour laquelle Adobe ne libère pas son code, comme tu le fais John?
Je ne pense pas. D'une manière ou d'un autre, Flash fait son beurre avec sa techno Flash. Je suppose qu'ils ont de bonnes raisons économiques de ne pas le faire (pour le moment).
Avec l'arrivée de Silverlight, m'est avis qu'ils feraient mieux de se pencher sérieusement sur la question. Car Adobe n'est pas historiquement une boite qui s'adresse aux développeurs. Microsoft si. L'Open Source pourrait sans doute être une bonne stratégie pour eux.
Reste plus qu'a voir ce qui va se passer. Prout.
Je persiste et je signe :D
Les différences de rendu entre naviguateurs (hors IE) sont ultra-minimes depuis qu'ils implemente tous pratiquement entièrement CSS2.
Pour ce qui est des mauvais softs qui s'imposent, leur particularité est qu'ils ne se sont pas imposés mais ont été imposés par MS (sauf pour le MP3, plus compliqué)
Si dans les sites web développés, l'absence du plugin flash amenait vers la page Adobe, les gens n'iraient pas chercher ailleurs !
D'autant plus que s'il est libre il pourrait être pré installé dans les navigateurs !!
Pour la stratégie commerciale, sauf erreur de ma part, Adobe ne vend son player à personne ?
Fil des commentaires de ce billet