Absicherung eines Computersystems Marc Ruef | 14.01.2007 iDieser Beitrag stellt ein Transkript von Computec Radio, Folge 3: Absicherung eines Computersystems (http://www.computec.ch/download.php?view.855) dar. Die Audiofassung steht zum freien Download zur Verfügung./i Um ein System möglichst sicher zu machen, sollte man es härten. Bei einem Hardening werden in erster Linie nicht benötigte Komponenten deinstalliert oder deaktiviert. Muss ein System nicht als Webserver betrieben werden, gilt es einen gegebenen HTTP-Daemon zu deinstallieren. Dadurch wird die Angriffsfläche minimiert. So unsinnig es auch klingen mag, bietet doch gerade ein System keine Funktionalität an, kann diese auch nicht missbraucht werden. Wo nichts ist, kann nichts geschehen. Müssen dennoch erweiterte Komponenten, gerade exponierte Dienste, angeboten werden, müssen diese zusätzlich einer strengen Konfiguration unterzogen werden. Auch hier gilt es im Detail gefährliche Funktionen zu deaktivieren. Um wieder am Beispiel des Webservers anzuknüpfen, sollten nicht benötigte Pakete oder ungewollte HTTP-Methoden entfernt werden. Zusätzlich gilt es die Software-Komponente durch Patches und aktuelle Software-Versionen auf dem neuesten Stand zu halten. Die Entwickler entsprechender Applikationen sind nämlich stets darum bemüht, Fehler in ihren Produkten zu beheben. Mit aktuellen Software-Komponenten wird damit das Zeitfenster für erfolgreiche Angriffe mittels publik gewordenen Schwachstellen minimiert. Ein jedes modernes Betriebssystem kommt mit einer Multiuser-Funktionalität daher. In Bezug auf die Sicherheit steht dabei nicht das gleichzeitige Nutzen des Systems im Vordergrund. Viel mehr ist das rollenbasierte Zugreifen von Interesse. Mit einem Administrator-Konto lassen sich erweiterte Arbeiten, wie das Konfigurieren des Systems vornehmen. Um auf diese zentralen Objekte zugreifen zu können, kommt dieser spezielle Benutzer mit erweiterten Privilegien daher. Für die Alltagsarbeiten reicht hingegen ein normales Benutzerkonto. Innerhalb dieses können Anwendungen ausgeführt - zum Beispiel Briefe geschrieben und Emails verfasst - werden. Für Zugriffe auf systemkritische Komponenten fehlen dem normalen Benutzer hingegen die erforderlichen Zugriffsrechte. Dies kann einem vor unliebsamen Fehlern, zum Beispiel der berühmten rm -rf Eingabe im Unix-Umfeld, schützen. Rollenbasierte Zugriffsrechte sind ein zentraler Schutzmechanismus, den Microsoft leider erst relativ spät in ihre Windows-Betriebssystemreihe integriert hat. So waren Microsoft Windows 95, 98 und ME noch mit Pseudo-Benutzerrollen ausgestattet, bei denen eigentlich jeder Benutzer alles machen konnte. Dies führte dazu, dass zum Beispiel ein unter einem Benutzerkonto eingeschleuster Virus, der sodann die Rechte des infizierten Benutzers erbt, auf sämtliche Systemdateien zugreifen kann. Damit hat der Virus, genauso wie sein Wirt, absolute Kontrolle über das System. Im Unix-Umfeld hat man dieses Risiko schon lange als solches erkannt und versucht deshalb nach Möglichkeiten nie als root, das ist das administrative Konto auf diesen Plattformen, zu arbeiten. Und in der Tat stellen Computerviren und -würmer, diese werden zusammengefasst als korrupter Programmcode bzw. Malicous Code bezeichnet, die mitunter grösste Gefahr für Benutzer dar. Diese bösartigen Programme führen nach ihrer Ausführung, die natürlich in den meisten Fällen unbeabsichtigt geschieht, manipulative Eingriffe durch. Das Löschen von Dateien oder das Verschicken von Emails sind die populärsten Schadensroutinen, die es bisweilen mit dem Tschernobyl-Virus oder dem ILOVEYOU-Wurm auch in die Tagespresse geschafft haben. Um dieser Plage Herr zu werden, eignet sich der Einsatz einer Antiviren-Lösung. Eine solche Applikation läuft meistens speicherresident im Hintergrund und überwacht sämtliche Dateizugriffe. Wird auf eine Datei oder einen Datenträger zugegriffen, werden diese vor der Freigabe auf bekannte Schädlinge hin untersucht. Dabei kommt eine Mustererkennung, das sogenannte Pattern-Matching, zum Einsatz. In der von den Antiviren-Herstellern stets auf dem neuesten Stand gehaltenen Datenbank werden sämtliche bekannten Schädlinge dokumentiert. Diese weisen in der Regel typische Eigenschaften auf, die sodann für die Mustersuche verwendet werden. Eine spezielle Dateigrösse, verdächtige Dateinamen oder halt charakteristische Zeichenketten im Maschinencode können dafür herhalten. Sieht etwas nach Virus aus, wird der Zugriff verweigert und nach Möglichkeiten eine Säuberung vorgeschlagen. Die grösste Einschränkung dieses Ansatzes ist halt, dass nur bereits bekannte Schädlinge als solche erkannt werden. Ist ein Virus noch nicht in der Datenbank geführt, kann er auch nicht als solcher identifiziert werden. Komplementäre Schutzmechanismen können dabei helfen, das Risiko einer Infektion dennoch zu minimieren. Die wichtigste Grundlage dabei ist der gesunde Menschenverstand. Bevor auf eine Datei unbekannter oder zwielichtiger Herkunft zugegriffen werden will, soll man sich fragen, ob man dies wirklich machen muss. Kann man diese Frage nicht mit Ja beantworten, sollte man es im Sinne der Sicherheit halt einfach unterlassen. Das ist aber nicht immer so einfach... In der heutigen Zeit sind die meisten Computersysteme miteinander vernetzt. Dies birgt natürlich das Risiko von netzwerkbasierten Attacken in sich. Ein Angreifer könnte die Verbindungsmöglichkeit nutzen, um ein System anzugreifen, dieses mit einem Virus zu infizieren oder anderweitig erweiterte Rechte zu erhalten. Um die Möglichkeiten solcher Zugriffe einzuschränken, kann eine Firewall herangezogen werden. Dabei handelt es sich allgemein gesprochen um eine Lösung, die den gegebenen Netzwerkverkehr limitiert und protokolliert. Versucht ein Angreifer eine Kommunikation zu erzwingen, die so nicht erwünscht ist, wird sie von der Firewall verhindert. Obschon eine solche Einschränkung schon in die klassische Definition des Firewallings Einzug gehalten hat, wird diese Funktionalität durch profitorientierte Unternehmen gerne als neuartige netzwerkbasierte Intrusion Prevention-Systeme (IPS) verkauft. Ein zentrales Element der Computersicherheit ist, und dies wird gerne unterschätzt, das Logging. Durch das Protokollieren der Aktivitäten auf und mit dem Computersystem können Angriffsversuche frühzeitig entdeckt und erfolgreiche Attacken nachträglich analysiert werden. Dies ist von besonderer Wichtigkeit, sollen bestehende Schwachstellen gefunden und behoben werden. Ohne Logging lässt sich eine forensische Analyse, also das umfassende Untersuchen einer Kompromittierung, nicht durchführen.