/me

2008-04-23 07:15:22 (UTC)

Javascript == really evil

Javascript, diesmal Cross-Site-Scripting (CSS)

Normalerweise, wenn man eine URL tippt und sich dabei
vertippt, statt z.B google.de, goggle.de eingibt, sollte
eine Meldung im Browser erscheinen, die besagt, daß die
Seite nicht existiert. Nun gibt es
sogenannte "Domaingrabber", die sich URLs auf Vorrat
sichern weil sie den Verdacht haben, daß sie diese URL
später mal für viel Geld verkaufen können. Diese
Domaingrabber stellen oftmals irgendwelche Werbung auf die
so geparkten Domains. Statt der Meldung "Seite existiert
nicht" sieht der User dann $Werbung.
Spiegel Online berichtet
(www.spiegel.de/netzwelt/web/0,1518,548869,00.html), daß
ein findiger Geschäftsmann diese Idee verfeinert hat und
Werbung einblendet, wenn man nichtexistente Subdomains
aufruft. Dazu bedient er sich der Firma BAREFRUIT, an die
er die fehlerhaften Aufrufe weiterleitet. Barefriut
blendet nun Werbung ein. Barefruit ist eine Firma
[Zitat:] deren Websites anfällig für Cross-Site-Scripting
sind.[/Zitat]

Da fängst du dir irgeneinen Schaden ein, nur weil du dich
in der Adresse vertippt hast.Ganz toll.

[Zitat:]Für Website-Betreiber bedeutet das, dass sie noch
so viel für die Sicherheit auf ihrem Internetangebot tun
können; wenn ein Internetanbieter ihre unbesetzten
Subdomains an fragwürdige Web-Firmen verkauft, sind alle
Sicherheitsmechanismen für die Online-Katz.[/Zitat]

Zu CSS sagt die Wikipedia:
[Zitat:] Diese Daten sind oft Code einer clientseitigen
Skriptsprache (meist JavaScript), die als Parameter an
eine Website übergeben werden.
(...) Der Schadcode kann dann in Abhängigkeit von der
Mächtigkeit der Skriptsprache verschiedene Dinge tun, die
mit den Rechten des lokalen Benutzers möglich sind.
Da aus Bequemlichkeitsgründen auf
Microsoft-Windows-Systemen der lokale Benutzer häufig mit
Administrator-Rechten ausgestattet ist, ist dies bereits
eine potenziell sehr gefährliche Konstellation. [/Zitat]

Und was sagt uns das? Javascript ist böse. Und eigentlich
hilft nur, Javascript völlig abzuschalten. Einzelne
Scripte, einzelne Zeilen Code zu verbieten, bringt nichts,
weil man nicht im voraus wissen kann, wie der böse Cracker
den Code gestaltet. Mna kann schließlich , um Schaden
anzurichten einen BEfehl der FOrm [code] rm -rf /[/code]
nutzen. Man kann dafür auch auch [code] dd[/code] nutzen,
das den Inhalt der Festplatte nach [code]dev/null[/code],
also in den Papierkorb verschiebt, sprich, löscht. Woher
soll
man wissen, welchen Weg der Cracker beschreitet? Und bei
diesem Subdomaindings nützt es auch nichts, Javascript nur
für vertrauenswürdige Siten zuzulassen, denn man weiß ja
nicht, ob es zu dieser vertrauenswürdigen Seite gecrackte
Subdomains gibt.

Auch unter benutzerfreundlichen Linuxen wie meinem stellt
das ein Problem dar. Denn es gibt verschiedene,
vordefnierte Sicherheitsstufen: "Leicht", "Mittelschwer"
und "Paranoid". Paranoid heißt, ich müsste mich jedesmal
extra als root einloggen, wenn ich ein Programm updaten
will, weil [code]su[/code] außer Kraft gesetzt ist. Das
ist umständlich. "Leicht" heißt, der User kann alles
mögliche machen. Und weil die Suse-Hacker hier Scheiße
gebaut haben, funktioniert das automatische Updatedings
nur, wenn man die Sicherheitsvorkehrungen auf
Stufe "Leicht" betreibt. "Leicht" ist aber inakzeptabel,
weil unsicher. "Paranoid" ist nur schwer hinzunehmen, weil
umständlich. Bleibt "Mittelschwer", doch gibt es einfach
keinen guten Kompromiß aus Sicherheit und Bequemlichkeit.
Könnte man noch [code]sudo[/code] versuchen, um einzelnen
unprivilegierten Usern das ausführen von eigentlich root
vorbehaltenen Befehlen zu erlauben. Doch das ist, als
würde root höchstselbst ins Internet gehen. Folglich ist
[code]sudo[/code] auch keine Lösung. Außerdem vergrößert
es den Administrationsaufwand.

Bleibt am Ende nur, Javascript am eigenen Rechner
konsequent abzuschalten. Alternativ könnten
Websitebetreiber aufhören, die Sicherheit der Rechner
ihrer Besucher zu gefährden.

Übrigens verwendet auch my-diary.org Javascript. Der
Quellcode der Seite sagt u.a.:
[code]
script src="http://www.google-analytics.com/urchin.js"
type="text/javascript"
/script
script type="text/javascript"
_uacct = "UA-178721-1";
urchinTracker();
/script
[/code]

Und schon weiß Google, daß du einen Account hier hast. Und
wenn du dann zu, sagen wir, Youporn surfst und danach die
Homepage deines Hautarztes aufrufst, dann weiß Google noch
viel mehr und kann sich sonstwas denken.
Also: Abschalten. Für die SEitenbetreiber bedeutet das
Abschalten von Javascript zwar, daß sie weniger Geld mit
ihrer Seite verdienen, doch das könnten die User ja mit
ein paar Spenden leicht wieder wett machen.




Ad: