|
Comme nous vous l'indiquions dans un récent article, LordGregGreg a quitté l'équipe de développement de Emerald arguant d'une mésentente.
Voici, selon les déclarations de l'intéressé, les raisons exactes de son départ.
Note importante : les utilisateurs réguliers de Emerald trouveront, en fin d'article, un conseil que leur donne LGG.
Emerald n'est plus ce qu'il était
Tout avait commencé comme un grand effort à la fois pour réunir des développeurs talentueux et pour en tirer quelque chose que les utilisateurs puissent vraiment apprécier. Il y a eu beaucoup de collaborateurs, certains étant de confiance et d'autres du tout venant, mais tous apparemment avec l'intention d'être productifs et de faire un viewer utile et étonnant. La confiance, dans ce projet, n'était pas un point déterminant car chacun pouvait modifier le programme ; mais le code étant accessible par tous les autres, développeurs et public, ces changements ne pouvaient contenir quelque chose de méchant.
Apparemment cette confiance a été si importante que LGG n'a pas vu venir à temps ce qui était caché dans le code depuis des mois et qui a fait de Emerald un produit non fiable d'une manière telle que cela a échappé même au filtrage de Linden Lab.
Une histoire de Kakadu
Second Life utilise pour tout ce qui est texture une norme appelée JPEG2000 ; à l'origine, les bibliothèques de programmes capables de coder, décoder et de gérer ces textures étaient du domaine public ; mais elles ont un grand défaut : elles sont super lentes.
Une entreprise du nom de Kakadu Software a édité une librairie particulièrement performante, ce qui arrange bien les affaires de Second Life, mais cette librairie est sous licence payante et Linden Lab l'a intégrée dans le package Second Life – sous le nom de llkdu.dll dans le répertoire d'installation. Les éditeurs de viewers alternatifs n'ont pas le droit d'utiliser la librairie livrée avec SL (llkdu.dll) et doivent acquérir leur propre licence si ils ne veulent pas que leur viewer utilise les anciennes librairies.
L'un des développeurs de Emerald a donc dû acquérir une licence (une pas chère pour un développement sans but lucratif, c'est pour cela que Emerald ne peut être vendu) et l'intégrer à Emerald Viewer sous le nom de emkdu.dll. Cette licence donne bien sûr droit aux sources de Kakadu pour que la librairie puisse-t'être adaptée au programme,
Et c'est par là que cela a péché! Les modifications apportées à Kakadu ne peuvent être visibles par tous puisque les sources ne font pas partie de la livraison ; et LGG ne pouvait plus vérifier la sécurité du contenu de Emerald.
Cassage de code et textures piégées
Mais le cryptage utilisé pour éviter le désassemblage de la librairie Kakadu devait être plutôt faiblard car quelques personnes, selon Hazim Gazov, ont réussi a comprendre son contenu et à mettre en évidence que du code avait été rajouté.
Chaque avatar est constitué par un assemblage de textures superposées, les layers, textures bien sûr en JPEG2000 ; lors du décodage de la texture, des informations y sont ajoutées ce qui fait que les avatars sous Emerald se balade avec au moins l'adresse du répertoire où est installé Emerald Viewer sur le disque. Un radar bidouillé permet alors d'afficher ces informations à côté du nom de l'avatar (voir l'image de cette page)
LGG, averti, demanda à la personne concernée pourquoi ce code avait été rajouté et le résultat fût que le codage a été immédiatement renforcé en utilisant un cryptage AES ; cryptage néanmoins tout aussi bien cassé ce qui laissait apparaître que rien n'avait changé.
LGG : "Comme je l'ai déjà dit, les sources fermés, les développements cachés et les licences pour un unique développeur n'ont pas leur place dans Emerald. Les gens peuvent faire des erreurs, alors il est important que les autres puissent exercer un double contrôle sans avoir à casser un cryptage (…) Je considère que les questions de confiance pour n'importe quel morceau de programme sont de la plus haute importance car même une petite bibliothèque de ce genre peut avoir accès à chaque fichier ou mémoire sur l'ordinateur."
Même cette petite modification des textures peut avoir des conséquences graves car le "chemin" affiché pour désigner un répertoire contient le nom de l'utilisateur (sous Windows par exemple) et que beaucoup d'utilisateurs y mettent leur vrai nom, ce qui peut amener des atteintes à la vie privée.
Un seul développeur est réellement mis en cause mais les autres évidemment n'ont rien avoir avec emkdu ; néanmoins l'affaire a été portée à la connaissance de Linden Lab et Soft Linden aurait été chargé de l'enquête.
Le point de vue de l'équipe de développeurs de Emerald :
D'après plusieurs intervenants de Modular System (éditeur de Emerald Viewer) sur les blogs et forums, il n'y a pas de quoi faire un drame de toute cette histoire. Le dispositif inclus dans emkdu.dll n'aurait pas comme but d'espionner et de nuire aux utilisateurs. En fait, ce moyen caché et incontournable permet de répondre à deux exigences :
- d'abord d'utiliser Emerald Viewer pour se protéger des agressions multiples contre les installations de Modular System à l'intérieur de Second Life car, une fois un agresseur repéré, il est ainsi facile de le suivre au fil de ses multiples ALT ;
- ensuite, la librairie emkdu.dll ne peut être utilisée par un autre produit que Emerald, tout comme llkdu.dll ne peut pas être utilisée hors de linden Lab ; c'est ainsi un moyen de voir si un auteur de viewer alternatif n'a pas eu la bonne idée de piquer emkdu.dll et de la réutiliser en changeant juste le nom.
De tout cela qu'en conclure? Que les viewers alternatifs ont souvent de bons côtés mais qu'ils en auront forcément aussi de mauvais ; il est absolument très difficile voire impossible pour un simple utilisateur de savoir si le programme qu'il a choisi pour ses performances ne recèlent rien de vicieux et de dangereux. N'importe qui peut ajouter des choses cachées et encryptées.
Autre chose encore : peu après que LordGregGreg ait quitté Modular System, l'ex-Qarl Linden a annoncé qu'il intégrait l'équipe de développeur de Emerald Viewer ; il n'y a pas bien sûr de cause à effet! Mais il se dit que Qarl en fait ne peut être employé de Modular System (qui n'en n'a pas les moyens) mais qu'il profiterait de son temps libre actuel pour regarder ce qui se fait chez les créateurs de viewers alternatifs ; il aurait juste demandé un accès au code. Simple manière de tuer le temps ou réelle recherche d'un "à côté" de Second Life pour y exercer ses talents? L'avenir nous le dira.
Garmin Kawaguichi, Nouvelle-Galles-du-Sud (comprenne qui pourra!)
Complément
LordGregGreg conseille aux utilisateurs de Emerald Viewer qui n'aiment pas les petits espions de supprimer la librairie emkdu.dll
Instructions Windows pour ne pas utiliser emkdu 1)Déplacez-vous sur votre disque dur pour trouver le répertoire d'installation de Emerald (ce répertoire est donné dans les propriétés de l'icône)
2)Regardez dans le répertoire pour trouver un fichier emkdu ou emkdu.dll 3)Effacez ce fichier quand Emerald n'est pas activé ; vous saurez si cela a marché après vous être connecté à SL et dans Aide avoir choisi A propos de Emerald Viewer : vous y trouverez cette ligne : J2C Decoder Version: OpenJPEG: 1.3.0, Runtime: 1.3.0 4)Vous pouvez optionnellement recopier le fichier llkdu.dll du répertoire d'installation du Viewer de Linden Lab J'ai fait cette manipulation qui marche ; j'ai recopier la librairie de Linden Lab, ça va avec la version 1636 de Emerald mais ça plante la version 2439 (que personne ne devrait utiliser d'ailleurs). Vous pouvez vous y essayer vous aussi mais c'est à vos risques et périls.
Instructions Mac pour ne pas utiliser emkdu 1)Cliquez droit sur votre application Emerald et choisissez Voir le contenu 2)Déplacez-vous jusqu'au répertoire Contents/Resources 3)trouvez le fichier libemkdu ou libemkdu.dylib et effacez le ; vous saurez si cela a marché après vous être connecté à SL et dans Aide avoir choisi A propos de Emerald Viewer : vous y trouverez cette ligne : J2C Decoder Version: OpenJPEG: 1.3.0, Runtime: 1.3.0
Garmin
|