\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}