Mai 3, 2013

Opensim: mit Volldampf in die Vergangenheit!

Opensimulator hat ein schönes Feature namens Hypergrid. Das bedeutet kurz gesagt, dass egal wo man hingeht immer sein eigenes Inventar mitnehmen kann und – mehr noch – externe Sachen im eigenen Inventar landen. Das ist eine nette Sache und funktionierte anfangs recht gut.

Die Implementierung stammt von Diva Canto und die erste Version hieß Hypergrid 1.0. Diese war als Proof of Concept gedacht und lief dafür schon recht gut. Sie hatte allerdings einen konzeptionellen, großen sicherheitstechnischen Fehler: der fremde Simulator sah das komplette Inventar des Besuchers und der Assetserver des Besuchers arbeitete treudoof ohne die Überprüfung der Legitimität jedwede Anweisung des fremden Simulators ab. Das konnte einfach das Einpacken eines neuen Objektes sein, aber auch Löschanweisungen.

Da es keinerlei Sicherheitsüberprüfungen gab, war und ist es mit dem Stand von Hypergrid 1.0 möglich, dass ein fremder, bösartiger Server mein komplettes Inventar mal eben so löscht und ich selber bekomme das gar nicht mit. Nun sagen viele: weit hergeholt und davon habe ich noch nie etwas gehört. Tja, aber Jungs und Mädels, nur weil ihr es noch nicht erleben musstet heißt das noch lange nicht, dass es unmöglich ist. HG 1.0 hat einfach sicherheitstechnisch genau dieses riesengroße Loch in Form eines offenen Scheunentors, und ich bin mir sicher, keiner wird dafür die Hand ins Feuer legen, dass nicht doch irgendwo da draußen solche Simulatoren sein könnten und wenn man die dann besuchen sollte, dann hat man eben Pech gehabt!

Diva Canto sah das Problem und es wurde Hypergrid Version 1.5 geboren. Die wesentliche Neuerung dieser Version (es gab i5 und i7) war, dass es fortan einen recht schlechten und holprig zu bedienenden Ordner namens „My Suitcase“ gibt. Der fremde Simulator sieht fortan nur noch diesen und kann nur noch in diesem wüten, mehr aber auch nicht. Das ist ein erheblicher Zuwachs an Sicherheit, genau dafür ist es gedacht. Das Problem in der Handhabung des Ordners ist aber, dass die normalen Inventarfunktionen wie Objekte ins Inventar rüberziehen oder Zeug aus dem Ordner löschen nicht funktionierten und bockig sind. Ohnehin ist er nur als Übergangslösung für Hypergrid 2.0 gedacht, das inzwischen aktiv ist und alle drei Protokollversionen beherrscht. Man muss sich dabei eben für eine entscheiden.

Nun ist es also so, dass die Handhabung dieses Ordners viele Benutzer überfordert. Also was machen nun einige Grids? Sie steigen wieder auf die veraltete und in dem Punkt sicherheitstechnisch bedenkliche Protokollversion 1.0 für das Inventar des Hypergridprotokolls um und preisen das sogar noch als Fortschritt für die Benutzer an! So geschehen im Osgrid, Metropolis und Dorenas World.

Die genauere technische Erklärung dabei ist diese: Opensimulator verfügt inzwischen standardmäßig über Hypergrid 2.0, aber man kann das Inventarhandling wenn man will auf frühere Versionen „runterfahren“, um mit diesen kompatibel zu sein.

Übrigens hält die Macherin des Hypergrids von solch einem Schritt genau das: nämlich rein gar nichts. Aber lest selbst:

[UPDATE 9/23] I should be more clear. The existing HG1.5 inventory service, which lets users still access their entire inventory abroad, will still be available in the future. Grids can continue to use that. They can even use the normal inventory service (HG1.0 style) on the Hypergrid, which has no restrictions whatsoever about inventory manipulation. Both of these, however, especially the normal inventory service, are horribly insecure and expose users to all sorts of risks regarding their inventory. Unless the networked grids have 100% trust in each other, I don’t recommend using them.

Also ist das Downgrading auf das vrealtete Inventarhandling nun wirklich gut? Nein! Sicher, die Handhabung wird wieder für die Benutzer einfacher, aber wer um das Problem von Hypergrid 1.0 nicht weiß und nicht regelmäßig Backups seines Inventars erstellt, der wird möglicherweise irgendwann wenn er mal wirklich auf einen solchen Simulator treffen sollte nur noch dumm dastehen. Denn es hat schon seine guten Gründe gehabt, wieso Diva Canto „My Suitcase“ als notwendig erachtete und das ist eine Sache, auf die die Benutzer dieser Grids wohl kaum hingewiesen werden.