Von den Gefahren des Surfens

von Herbert Stappler (Ausgabe 98/3, Oktober 1998)

 

Mit dem zunehmenden Leistungsvermögen der WWW-Browser, deren Fähigkeiten mittlerweile weit über die Darstellung einfacher HTML-Seiten hinausgehen, wächst bei vielen Internet-Teilnehmern das Unbehagen. Sind all die neuen, komplexen Technologien wirklich unbedenklich? Was sich beim Laden gewisser Seiten zwischen Server und Browser abspielt, läßt sich immer schwerer überblicken - und eine gewisse Bedrohung für Rechner und Privatsphäre durch Attacken aus dem Internet ist schließlich nicht von der Hand zu weisen.

Gefahren für den Rechner

Hierbei ist das Ausmaß der Kontrolle eines "Eindringlings" über den PC entscheidend:

  • Im schlimmsten Fall schafft es ein bösartiges Programm, die volle Kontrolle über Ihren Rechner zu erlangen. Es ist nun Glückssache, ob sich dessen Autor gnädig zeigt und sich mit ein paar hämischen Bemerkungen begnügt, oder ob er die ihm schutzlos ausgelieferten Daten tatsächlich zerstört.
  • Manche Attacken erreichen zwar nicht die vollständige Kontrolle über den PC; es gelingt ihnen aber, bestimmte Angaben wie die eMail-Adresse des Benutzers oder den Inhalt von Dateien (z.B. solche mit verschlüsselten Paßwörtern) ohne Kenntnis und Einwilligung des Besitzers zu einem anderen Rechner im Netzwerk zu übertragen.
  • Eher lästig als gefährlich sind jene Angriffe, die Fehler im WWW-Browser oder im Betriebssystem ausnutzen, um Endlosschleifen oder speicherfüllende Vorgänge zu veranlassen. Nach einiger Zeit kann mit dem völlig überlasteten Rechner nicht mehr vernünftig gearbeitet werden. Abhilfe schafft dann meist nur noch ein Neustart des WWW-Browsers oder - schlimmer - das unsanfte Abschalten des Rechners, wobei unter Umständen ungesicherte Daten aus anderen aktiven Anwendungen verlorengehen können.

Gefahren für die Privatsphäre

  • Vertrauliche Informationen können nicht nur vom Rechner des Benutzers entwendet werden, sie können auch durch "Lauschen" am Netz oder durch die Kommunikation mit unseriösen Servern (z.B. solchen, die eine andere Identität vortäuschen) in die falschen Hände geraten.
  • Viele Internet-Teilnehmer möchten auf ihren Reisen durch das Netz anonym bleiben. Ihnen ist die Vorstellung ein Greuel, daß verschiedene Institutionen eifrig die Netzwerkaktivitäten möglichst vieler Benutzer beobachten, um daraus (häufig recht vorschnell) Schlüsse über deren Vorlieben und Interessen zu ziehen. Sichtbar wird dies oft nur, wenn man von irgendwelchen Firmen unfreiwillig auf die Liste potentieller Kunden gesetzt und dann jahrelang mit unerwünschter Werbung per eMail versorgt wird.

Trotz allem gibt es keinen Grund zur Hysterie. Es ist ein wenig wie im realen Leben: Wer sich aus lauter Furcht nicht aus dem Haus wagt, wird wenig von der Welt sehen. Etwas Vorsicht und das Vermeiden von Leichtsinnigkeiten sind allerdings durchaus angebracht.

Gefahrenzonen

Konventionelle HTML-Seiten

Das Laden einer statischen HTML-Seite (d.h. die Seite enthält keine aktiven Komponenten wie JavaScript, Java oder ActiveX) ist unbedenklich. Bei der Übermittlung sensitiver Informationen - etwa Kreditkartennummern in Online-Bestellformularen - sollte man jedoch darauf achten, daß die Kommunikation auf sichere Weise erfolgt (z.B. mittels SSL = Secure Socket Layer; siehe Comment 97/2). Dabei wird zuerst die Identität des Servers überprüft; dann werden die Daten verschlüsselt und übertragen.

Dateiübertragung & Externe Viewer

Zumindest für PCs gilt, daß der Großteil der sicherheitsrelevanten Probleme auf von außen kommende Dateien und ungeeignete Softwareprodukte zurückzuführen ist. Bevor man eine Datei auf den lokalen Rechner übernimmt, sollte man daher stets überlegen, wie vertrauenswürdig die Bezugsquelle ist. (Auf welchem Weg die Daten zu Ihnen gelangen - ob über WWW, als eMail-Attachment, von Diskette oder CD - ist dabei sekundär.) Dateien mit Text- oder Bilddaten sind in der Regel harmlos; bei ausführbaren Programmen ist jedoch Vorsicht geboten. Auch sollte man sich vor Augen halten, daß Dokumente für Textverarbeitungs-, Tabellenkalkulations- oder Datenbankprogramme oft Makros enthalten, die beim Laden der Dateien ausgeführt werden und so den Rechner mit Makroviren infizieren können.

Es empfiehlt sich daher, folgende Vorsichtsmaßnahmen einzuhalten:

  • Ausführbare Programme nur von seriösen Quellen beziehen (renommierte Programmarchive, namhafte Hersteller);
  • Dateien erst übertragen und dann mit einem entsprechenden Antivirenprogramm überprüfen;
  • Programme, die die Ausführung von Makros gestatten, nicht als externe Viewer ("Helper Applications") im Browser definieren, da das direkte Öffnen der Datei einen vorherigen Virencheck verhindert;
  • Vorsicht beim Ersetzen bestehender Dateien - unter Umständen können dabei auch Systemprogramme oder -bibliotheken ausgetauscht werden.

Cookies & Log-Dateien

Cookies (mit vollem Namen "Persistent Client State HTTP Cookies"; die Bezeichnung als "Kekse" hat keinen tieferen Sinn) sind Datenstücke, die ein Server mit Hilfe des Web-Browsers am PC des Benutzers abspeichern kann. Bei der nächsten Verbindung zwischen PC und Server wird das Cookie wieder zurückgeschickt, wobei jeder Server nur seine eigenen Cookies (oder die eines anderen Servers derselben Domäne) erhält. Der Sinn der Sache ist, mit Hilfe dieser Daten das Informationsangebot für den Benutzer zu optimieren.

Die etwas umständliche Vorgangsweise ergibt sich aus einem Manko des WWW: Es hat kein "Gedächtnis" - d.h. der Server kann nicht feststellen, ob eine Seite gerade von einem Stammkunden oder von einem neuen Benutzer aufgerufen wird. Daher können in der Regel auch Informationen aus früheren Besuchen nicht verwendet werden. Hat ein Benutzer beispielsweise irgendwann seine bevorzugten Interessensgebiete angegeben, stehen diese Daten beim nächsten Aufruf nicht mehr zur Gestaltung des Informationsangebots zur Verfügung.

Auch wenn Cookies meist nur zu banalen Zwecken eingesetzt werden (z.B. um sicherzustellen, daß kein Benutzer eine Werbeeinschaltung zweimal sieht) und von ihnen keine direkten Gefahren für den PC ausgehen, sind sie bei vielen Internet-Teilnehmern unbeliebt. Der Umstand, daß ein Server irgendwelche - oft nicht identifizierbare - Daten auf dem PC speichern kann, trifft bis heute auf viel Mißtrauen. Die modernen Browser bieten daher die Möglichkeit, die Annahme von Cookies entweder generell zu verbieten oder nur mit ausdrücklicher Einwilligung des Benutzers zuzulassen (siehe Abb. 1).

Weit weniger Aufsehen erregt die Tatsache, daß fast alle Web-Server in Log-Dateien aufzeichnen, welcher Rechner welche Seiten aufgerufen hat. Oft ist mit der Adresse eines Rechners auch der jeweilige Benutzer bekannt (die meisten Rechner im Internet sind Arbeitsplatzrechner). Die Log-Dateien großer Server mit Millionen von Zugriffen pro Tag sind unhandlich groß und werden meist nur für Nutzungsstatistiken und Kapazitätsplanungen herangezogen. Dennoch muß man als Internet-Teilnehmer wohl oder übel akzeptieren, daß in den diversen Log-Dateien grundsätzlich viele Informationen über das eigene Verhalten im Netzwerk vorhanden sind.

JavaScript

JavaScript ist eine von der Firma Netscape entwickelte Skriptsprache. Die Anweisungen werden mit dem <SCRIPT>-Tag direkt in die HTML-Seite eingebettet und vom Browser interpretiert und ausgeführt. JavaScript ermöglicht eine bessere und effizientere Benutzerführung als herkömmliche CGI-Skripts, die am Server ablaufen. Aus Sicherheitsgründen enthält JavaScript keine Anweisungen, mit denen auf die Festplatte des PCs geschrieben oder ein anderer Rechner über das Netz kontaktiert werden kann. Trotzdem sind im Laufe der Zeit etliche Sicherheitslücken bekanntgeworden, die jedoch in den neuesten Browser-Versionen alle behoben wurden. In den meisten Fällen bestand keine Gefahr für den Rechner; es gelang aber, Daten (z.B. in eine Formularmaske eingetragene Angaben oder die Liste der während der Session besuchten URLs) an einen Server zu übertragen. Das Ausführen von JavaScript-Programmen kann - wie die Annahme von Cookies - durch entsprechende Konfiguration des Browsers unterbunden werden.

Java-Applets

Die Programmiersprache Java (mit JavaScript hat sie nur den Namen gemeinsam) wurde von der Firma Sun Microsystems entwickelt, um plattformunabhängige Programme für eine heterogene Rechnerumgebung erstellen zu können. Der Einsatzbereich von Java beschränkt sich allerdings nicht nur auf herkömmliche Applikationen - man kann damit auch spezielle WWW-Anwendungen schreiben. Diese sogenannten ?Applets? sind vorkompilierte Programme, die in Form eines rechnerunabhängigen Bytecodes auf dem Server bereitstehen. Sobald ein Benutzer eine Webseite mit Applet (dazu verwendet man den <APPLET>-Tag) anfordert, wird der entsprechende Bytecode übertragen und vom Browser interpretiert und ausgeführt. ?

Applets unterliegen aus Gründen der Sicherheit zahlreichen Einschränkungen: Sie dürfen beispielsweise keine Systemfunktionen aufrufen und nur einige wenige, genau definierte Systeminformationen verwenden. Applets dürfen keine Dateien schreiben oder lesen, keine Programme aufrufen, keine zusätzlichen Programmbibliotheken verwenden und keine Netzwerkverbindungen aufbauen (einzige Ausnahme: der Rechner, von dem das Applet stammt). Da diese Restriktionen die Brauchbarkeit von Applets sehr einschränken, gehen neuere Entwicklungen dahin, die Herkunft und die Unverfälschtheit von aus dem Internet geladenen Applets mit digitalen Unterschriften abzusichern. Je nachdem, in welchem Ausmaß man seiner Bezugsquelle traut, kann man dann die obigen Beschränkungen teilweise oder ganz aufheben.

Trotz aller Bemühungen, bei der Verwendung von Java-Applets jedes Sicherheitsrisiko auszuschalten, sind besonders anfangs etliche gravierende Probleme bekanntgeworden: Mit einigen technisch sehr komplizierten Tricks gelang es, die oben angeführten Sicherheitsbeschränkungen zu durchbrechen. Die neueren Browser-Versionen sind gegen diese bekannten Attacken immun; zusätzlich kann man bei der Browser-Konfiguration festlegen, ob Java-Applets zugelassen (meist Standardeinstellung) oder untersagt werden sollen.

ActiveX

Unter diesem Begriff ist ein Bündel von verschiedenen, zum Teil noch in Entwicklung befindlichen Technologien für den MS-Internet Explorer zusammengefaßt. Die Firma Microsoft forciert ActiveX, um einerseits die Funktionalität von Webseiten (vor allem im Hinblick auf Interaktivität und Multimedia-Anwendungen) zu verbessern und andererseits das Laden von Applikationen über das Netzwerk zu ermöglichen.

Die wichtigsten Bausteine von ActiveX sind:

  • ActiveX-Controls sind kleine ausführbare Programme, die (im Gegensatz zu Java-Applets) für jeden Rechnertyp und jedes Betriebssystem separat übersetzt werden müssen. Sie werden mit Hilfe des <OBJECT>-Tags in die Webseite eingebettet.
  • ActiveX-Documents sollen die Darstellung von Dokumenten ermöglichen, die nicht in HTML vorliegen (z.B. Word- oder Excel-Dateien).
  • ActiveX-Scripting erlaubt eine bessere Interaktion mit dem Benutzer durch in die Webseite eingebundene Skripts. Als Sprachen können VisualBasic Script und JavaScript (von Microsoft als Jscript bezeichnet) verwendet werden.

Im Gegensatz zu JavaScript und Java unterliegen ActiveX-Komponenten keinerlei Einschränkungen. Man erhält aber zu jedem ActiveX-Control ein digitales Zertifikat mit dem Namen des jeweiligen Autors, der gegebenenfalls auf dem Rechtsweg belangt werden kann. Mittlerweile sind bereits Ansätze entwickelt worden, die die Herkunft von ActiveX-Controls verschleiern sollen. Will man jedes Risiko ausschalten, kann man bei der Konfiguration des Internet Explorer die ActiveX-Funktionalität deaktivieren.

Abb. 2: Konfigurationsmöglichkeiten bei Netscape

Resümee

Es wäre eine Illusion zu glauben, daß derartig komplexe Technologien wie Java oder ActiveX je hundertprozentig sicher sein werden. Selbst sehr ausgefeilte und überzeugende Sicherheitskonzepte werden immer wieder durch Implementierungsfehler oder andere Schwächen (teilweise auch von Komponenten außerhalb des Browsers, z.B. Betriebssystem oder Netzwerksoftware) unterlaufen. Sind Sicherheitsprobleme einmal bekannt, werden sie von den Browser-Herstellern meist umgehend behoben. Allerdings kann jeden Augenblick eine neue Schwachstelle entdeckt werden ? und es ist leider relativ zeitaufwendig, permanent zu verfolgen, welche Sicherheitslücken gerade publiziert werden, und die entsprechenden Korrekturen einzubauen.

Jeder Benutzer muß selbst entscheiden, mit wieviel Restrisiko er leben will. Man kann zwar seinen Browser so konfigurieren, daß er JavaScript-, Java- und ActiveX-Komponenten ignoriert und die Annahme von Cookies verweigert; allerdings muß man dann mit verstümmelten oder gar unlesbaren Dokumenten rechnen. Vorsichtige Benutzer verwenden standardmäßig restriktive Browser-Konfigurationen und lockern diese nur selektiv, wenn sie einem bestimmten Server vertrauen.

Webseiten, die die neuen Technologien massiv einsetzen, sind jedenfalls mit Vorsicht zu genießen: Immer wieder kommt es vor, daß der Browser damit überfordert ist und abstürzt. Da unter Umständen auch die Systemsoftware ?mitgerissen? werden kann, ist man gut beraten, vor dem Aufruf solcher Seiten alle anderen Anwendungen zu schließen und so zumindest dem Verlust ungesicherter Daten vorzubeugen. Rechner, die sensitive Daten enthalten, sollten generell nicht zum Surfen im Internet verwendet werden. Und nicht zuletzt gilt: Eine der effektivsten Maßnahmen gegen Hardwareschäden und Softwarekatastrophen ist ein regelmäßiges Backup!