\documentclass[a4paper]{article}

\usepackage[latin1]{inputenc}
\usepackage[german]{babel}

\title{Sicherheitsrisiko "`ActiveX"'
  \thanks{Dieser Text unterliegt der GNU Public License und kann ab
    Erscheinungsdatum der DOS International 4/97 beliebig weiterverbreitet werden.
    Er ist stets im Original weiterzugeben oder zum Selbstkostenpreis
    über mindestens drei Jahre anzubieten.} }
\author{Steffen.Peter@Jena.Thur.De \\
  Lutz.Donnerhacke@Jena.Thur.De}
\date{8. Feburar 1997}

\begin{document}

\maketitle

\section{Geschichte}

Wer ins World Wide Web geht, will bunte Bildchen sehen. Aber Bilder allein
machen nicht viel her. Bewegung ist \emph{in}. Zappelnde Buchstaben,
splitternde Balken, rollende Farben.

Doch die Pfade im weltumspannenden Netz sind längst zu eng für diesen
Voyourismus. Abhilfe sollte bereits letztes Jahr die plattformunabhängige
Sprache Java schaffen. Java ist neu aufgekochter Sud der Sun-Entwickler.
Java-Programme laufen auf parktisch auf jedem Rechner. Baut man diese
Programme als Applets auf die Webseiten, so kann das Wackeln und Flimmern
ohne teure Bandbreite auf dem heimischen PC erzeugt werden.

Die Entwickler bei Sun sind es gewöhnt, in Netzdimensionen zu denken.
Deshalb gestatten sie Java Programmen nur Bildschirmzugriffe. Tätigt das
Applet Netzzugriffe, dann nur zu dem Rechner, von dem es geladen wurde.
Greift es auf die Festplatte zu, dann nur in einem reservierten Bereich.
Gleichzeitig auf die Festplatte und auf das Netz zuzugreifen, wird dem
Applet verboten. Diese Beschränkungen stellt die Sicherheitsumgebung des
Webbrowsers zur Verfügung.

Mitte 1996 platzte Microsoft der Kragen. Diese Einschränkungen gestatteten
es dem Konzern nicht, das papierlose Büro auch über den Arbeitsplatz hinweg
auszudehnen. Mircosoft wollte auf fremden Rechnern arbeiten lassen. Sofort.
Also wurde ActiveX ins Leben gerufen.

Nocheinmal der Unterschied: Java gestattet es, \emph{meine Software} auf dem
Nutzerrechner zu starten. ActiveX gestattet es, die \emph{fremde
Nutzersoftware} auf Nutzerrechner fernzusteuern.


\section{Fernsteuerung mit OLE}

Mit dieser Fernsteuerung ausgerüstet sind mittlerweile die meisten Programme
von Microsoft. Besonders viel Gebrauch davon macht Microsoft Netmeeting.
In vielen Fällen muß die fremde Software nicht einmal am Bildschirm sichbar
werden. Jedes Produkt mit einer OLE Schnittstelle kann fernbedient werden,
ohne daß die Anwendung auf dem Nutzerrechner voll durchstartet.

Damit kann ein ActiveX Applet alles das tuen, was auch der Nutzer kann.
Jedoch sieht der Nutzer in den meisten Fällen nichts von der ungewollten
Aktion. Der Industriespionage ist Tür und Tor geöffnet.

Jeder Angestellte, der die Kundendateien mit allen Umsätzen und
Vertragsangeboten der Konkurrenz verkauft, würde aus
Schadenersatzforderungen und Gerichtsverhandlungen nicht mehr herauskommen.
Klickt er jedoch unvorsichtig im Netz herum, so kann genau dies passieren.
Er würde es nicht einmal bemerken und natürlich auch kein Geld für den
Verrat bekommen.

Was passiert, wenn in der Buchhaltung mit MS-Access oder MS-Excel die Ziffer
3 mit der Ziffer 4 vertauscht wird, kann man sich denken. In der Regel fällt
dieser Fehler erst Wochen später oder bei der Steuerprüfung durch das
Finanzamt auf. Dann sind natürlich kein aktueller Backup mehr vorhanden und
die Firma pleite.

Auch normale Geschäftsbriefe in MS-WinWord können sich still und heimlich
verändern. Beispielsweise kann ein Kunde bei seinem Händler das Angebot um
einige Tausend Mark verbindlich drücken.

Ebenso ist es im MS-Money möglich, ohne irgendeinen Hinweis auf dem
Bildschirm, Überweisungen zu seinen Gunsten zu modifizieren. Wer also
gutgläubig die Stromrechnung an die Stadtwerke anweist, hat seiner
Konkurrenz auf die Beine geholfen.

\section{Fernsteuerung ohne OLE}

Die OLE Schnittstelle ist zwar sehr nützlich, um unbemerkt an Daten
heranzukommen oder diese zu manipulieren. Jedoch gibt es noch viele
Bereiche, in denen Software ohne diese OLE Schnittstelle läuft. Das
Betriebssystem MS-Windows schützt jedoch hier ebensowenig.

Im Gegenteil, das System von Mircosoft bietet dem Angreifer die Möglichkeit,
das fremde Programm mit Mausklicks und Tastatureingaben zu füttern. Leider
muß das Programm dazu beim Nutzer gestartet werden. Dabei könnte der Nutzer
sehen, daß seltsame Aktionen auf seinem Bildschirm stattfinden. Mircosoft
läßt den Angreifer jedoch nicht verzweifeln. Er kann einfach den MS-Internet
Explorer dauernd in den Vordergrund schalten und hinter dem Browserfenster
versteckt die Anwendungen arbeiten lassen.

Auf diese Art und Weise wurde am 28. Januar 1997 in der Sendung PlusMinus
das hilflose Programm "`Quicken"' dazu gebracht, 20~DM von einem Konto
abzubuchen.


\section{Viren und Würmer}

Es ist sehr leicht, weitere Dateien aus dem Netz auf den lokalen Rechner zu
laden. So kann ein Applet ohne Schwierigkeiten eine komplette EXE per FTP
downloaden und lokal starten. Mit etwas Glück kann es diese EXE auch im
lokalen Netz verteilen und so verbreiten.

Eine solche Möglichkeit gestattet es, Viren im lokalen Netz zu verbreiten.
Die Schadenssumme kann immens sein. Andy Müller-Maguhn vom Chaos Computer
Club sprach in diesem Zusammenhang davon, daß Microsoft mit ActiveX den
das beste Virus Construction Kit dieses Jahrzehnts erstellt habe.

Ist ein ActiveX Applet an seiner eigenen Verbreitung interessiert, so kann
es Webserver befallen. Wird es zufällig so ausgeführt, daß der lokale Nutzer
Zugriff auf den Firmenwebserver hat, so kann es sich selbst auf diesen
Server installieren. Diese Funktionalität macht es zu einem Wurm, der sich
so auch in die bestgesichertsten Firmennetze einschleusen kann.


\section{Die Registrierung}

Alle Microsoftprodukte legen ihre Konfiguration in der Registrierung ab. Die
Registrierung ist eine Art gigantische INI-Datei. Damit haben ActiveX
Applets wie alle anderen Programme auch vollen Zugriff auf alle
Konfigurationen aller Programme.

Daß irgendeine Software ein Paßwort hinterlegt oder daß sich dort
Sicherheitseinstellungen bis hin zu Authorisierungen für Fremdzugriffe
möglich sind, steht außer Frage. Abfrage der aktuellen Nutzerdaten, der
installierten Software, \ldots es geht einfach alles.

Besonders schlimm ist jedoch, daß nahezu alle Software vom Microsoft von
diesen Einträgen vollständig abhängt. Verändert man einige Werte unsachmäß,
kann eine komplette Neuinstallation der Software notwendig werden.

Verheerend wird es, wenn --wie in den meisten reinen Microsoft Windows
Netzen üblich-- die Registrierung der verschiedenen Arbeitsstationen
ferneditiert werden kann. Das Schlüsselwort hierzu heißt
"`Netzregistrierung"'. Was sich Microsoft dabei gedacht hat, wird wohl ewig
ein Geheimnis bleiben.

\section{Sicherheitsvorkehrungen}

Wenn eine Technik so gefährlich sein kann, muß der Erfinder und Hersteller
sich um den Schutz der Kunden bemühen. Natürlich ist das komplette
Abschalten aktiver Inhalte und ActiveX keine Lösung. Zu viele Softwarepakete
von Microsoft verwenden ActiveX. Selbst wenn man bei jeder Software diese
Funktion abschalten könnte, würde man es nicht tun, da dann ein Großteil der
Netzfunktionalität ausfällt.

Microsoft liefert den MS-Internet Exporer standardmäßig in der hohen
Sicherheitsstufe aus. Dies bedeutet, daß kein Applet gestartet wird, das
nicht zertifiziert ist.

Ein solches Zertifikat bestätigt dem MS-Internet Explorer, daß das Applet
genauso übertragen wurde, wie es der Programmierer geschrieben hatte. Es
bestätigt \emph{nicht}, daß das Applet sicher ist.

Um ein Zertifikat zu bekommen, wendet sich der Programmierer beispielsweise
an Microsoft selbst. Gegen eine Jahresgebühr von 20~US\$ bekommt er eine
Software, mit der er alle seine Applets selbst zertifizieren kann.

Sinn dieses Verfahrens scheint es lediglich zu sein, den Programmierer eines
"`bösen"' Applets dingfest machen zu können. Jedoch kann es diese
Sicherheitsforderungen nicht erfüllen.

Das erste so zertifizierte Applet wird vom MS-Internet Explorer ohne Klagen
und Bildschirmmeldungen ausgeführt. Es könnte beispielsweise die
Sicherheitseinstellungen des Browsers manipulieren. Nachdem es den
MS-Internet Explorer auf einen niedrigeren Sicherheitslevel gesetzt hat,
müssen die folgenden Applets nicht mehr zertifiziert sein. Das System ist
geöffnet.

Mancher mag nun annehmen, daß eine Firewall das Firmennetz vor derartigen
Spitzbuben schützen könnte. Doch weit gefehlt. Als Teil von Webseiten werden
die ActiveX Applets über den vorhandenen Webproxy an der Firewall
vorbeigeschleust. Genauso wie normale Webseiten werden sie auch gecached,
damit sie beim nächsten Mal schneller Schaden anrichten können.

\section{Hilflos?}

Die radikale Lösung wäre, komplett auf Software zu verzichten, die ActiveX
oder OLE Schnittstellen aufweist. Es genügt ja eine Anwendung irgendwo im
Hausnetz, die ein fremdes Applet ausführt und alle OLE fähigen
Softwareprodukte im Hausnetz sind mit ihren Daten betroffen.

Diese Lösung ist sicher möglich. Der Umstieg auf OS/2 wird nicht viel
helfen, da auch dort die Software von Microsoft läuft. Dem Radikalen bleibt
also nur, zu einem Apple Macintosh oder zu einer Unix Variante zu wechseln.
Der Umstig auf NetBSD, FreeBSD oder Linux ist äußerst preisgünstig, jedoch
arbeitsaufwendig. Es ist aber absolut kein Problem, unter Linux die gewohnte
Windows'95 Oberfläche und beispielsweise das StarOffice Paket zu benutzen.
So bleibt der Schulungsaufwand im Rahmen.

Für weniger radikale Lösungen empfielt es sich, den Microsoft Internet
Explorer sofort von den Festplatten zu verbannen und beispielsweise Netscape
zu benutzen. Als nächstes wären Microsoft Netmeeting und alle anderen
Programme, die ActiveX erlauben, zu ersetzen. Hier bietet sich
beispielsweise das Hamburger Produkt StarOffice oder die Lotus
Produktfamilie an.

Jeder vernünftige Systemadministrator wird den Einsatz von Microsoft
Produkten ablehnen. Betrifft es auch Ihre Lieblingsanwendung, so zeigen Sie
bitte Verständnis.

\end{document}
