Login
Newsletter
Werbung

Mo, 23. März 2009, 18:02

Software::Entwicklung

Richard Stallman warnt vor der JavaScript-Falle

FSF-Präsident Richard Stallman sucht nach Möglichkeiten, die Ausführung von unfreiem Code in Webseiten zu verhindern.

Ein halbes Jahr nach seinem letzten Essay, der vor möglichen proprietären Fallen im Cloud Computing warnte, hat Richard Stallman, Präsident der Free Software Foundation, sich das nicht neue Phänomen der Ausführung von fremdem Code in Webbrowsern vorgenommen.

Im ersten Teil seines Essays beschreibt er die möglichen Varianten, wie unfreie Software im Browser abläuft: als JavaScript, als Flash mit dem auf JavaScript beruhenden ActionScript, also Silverlight oder Java. Das alles ist nichts Neues, neu ist laut Stallman höchstens, dass diese Programme zunehmend komplexer werden und mitunter erst zusammen mit einer Server-Komponente das vollständige Programm ergeben. Client- und Serverseite werfen jedoch nach Stallmans Ansicht unterschiedliche ethische Fragen auf, die Serverseite soll daher erst in einem späteren Artikel behandelt werden.

Stallman geht von Benutzern aus, die keinerlei proprietäre Software auf ihren Rechnern ablaufen lassen wollen. Der in HTML-Seiten eingebettete Code läuft jedoch normalerweise ohne Wissen des Benutzers ab. Es gibt keine einfache Möglichkeit, bei diesem zwischen freier und unfreier Software zu unterscheiden, und selbst wenn es die Lizenz erlaubt, ist es schwierig, den modifizierten Code im Browser zur Ausführung zu bringen. Das ist eine Art Tivoisierung des Codes, die aber leichter zu umgehen ist als bei Hardware, die nur mit einem geheimen Schlüssel signierte Software akzeptiert.

Kleine (JavaScript-)Programme, die nur eine Hilfe bei der Navigation oder der Arbeit mit Webseiten sind, stellen für Stallman nach wie vor kein Problem dar. Sie seien im Prinzip Teil des HTML-Codes. Doch es gibt zunehmend nichttriviale Skripte. So bringt Google Docs nach Stallmans Angaben ein halbes Megabyte JavaScript-Code auf den Client, der durch Verkürzung vollkommen unverständlich und damit kaum änderbar gemacht wurde.

Richard Stallman will eine Möglichkeit, die Ausführung von nichttrivialem Code zu erkennen und gegebenenfalls zu blockieren, sowie die Möglichkeit, den Code durch eine geänderte Version oder ganz anderen Code zu ersetzen. Dazu ist es zunächst einmal notwendig, zu erkennen, wann ein JavaScript-Programm nichttrivial ist. Sein Vorschlag ist, dass ein JavaScript-Programm nichttrivial ist, wenn es Methoden definiert und entweder ein externes Skript lädt oder selbst als externes Skript geladen wird, oder wenn es AJAX-Anfragen macht.

Stallman wünscht, dass der Code mittels Tags seine Lizenz bekannt geben und, falls es sich um eine freie Lizenz handelt, den URL des Quellcodes angeben sollte. Freie Browser könnten so modifiziert werden, dass sie diese Tags auswerten und den Benutzer warnen, noch bevor der Code ausgeführt wird. Außerdem sollte es eine einfache Möglichkeit geben, den Code durch eigenen Code zu ersetzen. Firefox-Plugins wie NoScript und Greasefire besitzen Ansätze hierzu und könnten entsprechend erweitert werden.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung