Daher kommen in diesem Artikel keine Details über die Ausnützung von Schwächen des Systems vor, er erklärt lediglich, wie man sie aufdecken und korrigieren kann..
Hacker, die in Computersysteme eindringen wollen, suchen zuerst nach Sicherheitslücken, also Schwachstellen, die der Sicherheit des Systems schaden, in den Protokollen, den Betriebssystemen, den Anwendungen oder sogar bei der Belegschaft einer Organisation ! Die Begriffe der Schwachstelle, der Lücke oder das umgangssprachlichere Sicherheitsloch (auf Englisch security hole) werden ebenfalls verwendet, um Sicherheitslücken zu bezeichnen.
Zur Durchführung eines Exploits (dies ist der technische Begriff, der die Ausnützung einer Schwachstelle bezeichnet), der erste Schritt des Hackers besteht darin, so viele Informationen wie möglich über die Netwzerkarchitektur und Betriebssysteme und Anwendungen zu sammeln, die darauf laufen. Die meisten Attacken sind das Werk von Script Kiddies die einfach nur irgendwelche Exploits ausprobieren, die sie im Internet gefunden haben, ohne genaueres Wissen über das System oder die Risiken, die damit einhergehen
Wenn der Hacker erstmal einen Überblick über das System hat, kann er beginnen, Exploits durchzuführen, die auf die jeweiligen Versionen der Anwendungen zugeschnitten sind. Ein erster Zugang zum Rechner ermöglicht ihm, seine Tätigkeit auszuweiten, um andere Informationen zu erhalten und eventuell seine Rechte auf dem Rechner zu erweitern.
Sobald er einen Administrator-Zugang erhält (meist wird der englische Begriff root verwendet), spricht man von Kompromittierung des Rechners (oder genauer, auf Englisch von root compromise), da eine Veränderung der Systemdateien möglich ist. Der Hacker hat dann den höchsten Level an Rechten auf dem den Rechner.
Wenn es sich um einen Hacker handelt, besteht der letzte Schritt darin, seine Spuren zu verwischen, damit beim Systemadministrator kein Misstrauen erweckt wird und er so lang wie möglich die Kontrolle über die kompromittierten Rechner behält.
Im folgenden Schema ist die vollständige Vorgehensweise zusammengefasst :
Das Erlangen von Informationen über die Adressierung des Netzwerks, meist als Fingerprinting bezeichnet, ist die Vorbedingung eines jeden Angriffs. Es besteht darin, so viele Informationen wie möglich zu sammeln, die die Kommunikationsinfrastruktur des Opfernetzwerk betreffen :
Kennt ein Hacker die öffentliche IP Adresse von einem der Rechner im Netzwerk oder ganz einfach den Domainnamen der Organisation, kann er unter Umständen die gesamte Adressierung des Systems herausfinden, also der Bereich an öffentlichen IP Adressen, die der Zielorganisation gehören und dessen Unterteilung in Unter-Netzwerke. Dafür genügt es, die öffentlichen Datenbanken zu betrachten, die die Zuteilung der IP Adressen und Domainnamen listen :
Durch einfaches Nachforschen bei Suchmaschinen gelangt man manchmal an Informationen über die Struktur einer Firma, die Namen der wichtigsten Produkte, und sogar Namen der Belegschaft.
Wenn die Topologie des Netzwerks dem Hacker bekannt ist, kann er es scannen (le terme balayer , das bedeutet, mit Hilfe eines Software-Tools (genannt scanner ) die im Netzwerk aktiven IP-Adressen herauszufinden, dieoffenen Ports, die zugänglichen Diensten zugeordnet sind, und das von den Servern verwendeteBetriebssystem.
Eines der bekanntesten Tolls zum Scannen von Netzwerken istNmap, das von vielen Netzwerkadministratoren als unumgängliches Tool zur Sicherung eines Netzwerks angesehen wird. Dieses Tool sendet TCP und/oder UDP Pakete an eine bestimmte Anzahl von Rachnern in einem Netzwerk (festgelegt durch eine Netzwekadresse und eine Maske) und analysiert dann die Antworten. Je nach der Geschwindigkeit der empfangenen TCP Pakete ermittelt es das fremde Betriebssystem für jeden gescannten Rechner.
Es gibt eine andere Art von Scanner, genanntpassive Mapper (einer der bekanntesten istSiphon), mit denen die Topologie der physischen Verbindungen des Netzwerks erforscht werden kann, auf denen der Mapper die Pakete analysiert. Im Gegensatz zu den vorherigen Scannern sendet dieses Tool keine Pakete an das Netzwerk, und ist daher nicht auffindbar für Intrusion Detection Systems.
Schließlich gibt es noch Tools, mit denen X-Verbindungen erfasst werden können (ein X-Server ist ein Server, der die Anzeige von UNIX Geräten steuert). Dieses System kann die Anzeige der im Netzwerk vorhandenen Stationen dazu verwenden, um zu erfassen, was auf den Bildschirmen angezeigt wird und unter Umständen die von Usern anfälliger Rechner eingegebenen Tastenfolgen abzufangen.
Wenn der Netzwerkscan abgeschlossen ist, muss der Hacker lediglich die Logdatei der verwendeten Tools einsehen, um herauszufinden, welche IP Adressen die Rechner im Netzwerk haben und welche Ports darauf offen sind.
Die Nummern der offenen Ports auf den Rechnern können ihm Informationen darüber geben, welcher Dienst gerade läuft und ihn dazu veranlassen, Anfragen an den Dienst zu senden, um in der sogenannten « Bannerinformation » Zusatzinformationen über die Serverversion zu erhalten.
Um die Version eines HTTP-Servers herauszufinden, muss man sich nur in Telnet mit dem Server verbinden, auf Port 80 :
telnet de.kioskea.net 80dann die Startseite aufrufen :
GET / HTTP/1.0Der Server antwortet mit den folgenden ersten Zeilen :
HTTP/1.1 200 OK Date: Thu, 21 Mar 2002 18:22:57 GMT Server: Apache/1.3.20 (Unix) Debian/GNUDas Betriebssystem, der Server und seine Version sind dann bekannt.
DasSocial Engineering besteht darin, Menschen zu manipulieren, also die Naivität und übertriebene Nettigkeit der Netzwerkuser auszunutzen, um Informationen über das Netzwerk zu erhalten. Dieser Vorgang beginnt damit, dass mit dem Netzwerkuser Kontakt aufgenommen wird, dabei gibt man sich meist als jemand anders aus, um dann Informationen über das Computersystem oder eventuell sogar ein Passwort zu erhalten. Auf dieselbe Weise kann eine Sicherheitslücke in einem fremden System geschaffen werden, indem ein Trojanisches Pferd an mehrere User des Netzwerk gesendet wird. Es reicht, wenn einer der User den Anhang ausführt, damit der externe Angreifer Zugriff zum Internet Netzwerk erhält.
Aus diesem Grund muss Sicherheitspolitik umfassend sein und menschliche Faktoren miteinbeziehen (zum Beispiel die Sensibilisierung der User für Sicherheitsprobleme), da das Sicherheitsniveau eines Systems nur so hoch ist, wie das seines schwächsten Glieds.
Wenn der Hacker den Bestand an Software und eventuell Hardware ermittelt hat, muss er herausfinden, ob es Schwachstellen gibt.
Es gibt Schwachstellen-Scanner, mit denen Netzwerkadministratoren Intrusionstests auf ihrem Netzwerk durchführen lassen können, um festzustellen, ob manche Anwendungen Sicherheitslücken haben. Die zwei wichtigsten Schwachstellen-Scanner sind :
Außerdem sollten Netzwerkadministratoren regelmäßig Seiten besuchen, die aktuelle Datenbanken der Schwachstellen führen :
Wenn der Hacker einen Plan der Ressourcen und vorhandenen Maschinen des Netzwerks erstellt hat, beginnt er mit den Vorbereitungen für die Intrusion.
Um in das Netzwerk eindringen zu können, muss der Hacker Zugang zu gültigen Accounts auf dem Rechner haben, den er begutachtet hat. Dafür werden verschiedene Methoden verwendet :
Wenn ein Hacker einen oder mehrere Zugänge zum Netzwerk erhalten hat, indem er sich in einen oder mehrere schlecht geschützte Accounts eingeloggt hat, wird er versuchen, seine Rechte auszuweiten, indem er root (auf Deutsch auchSuperuser oder Superadministrateur) Zugang erhält, man spricht dann vonAusweitung von Rechten.
Sobald erroot Zugang auf einem Rechner erhalten hat, hat der Hacker die Möglichkeit, das Netzwerk nach weiteren Informationen zu durchforsten.
So hat er die Möglichkeit, einenSnifferzu installieren, also eine Software, die den Netzwerkverkehr abhören kann (der Begriffschnüffeln, oder auf Englischsniffing, wird ebenfalls verwendet), der von den Rechnern auf einer Verbindung gesendet oder empfangen wird. Durch diese Methode hofft der Hacker, an dieID/Passwort Paare zu gelangen, die es ihm erlauben, Zugang zu Rechnern zu erhalten, die höhere Rechte über andere Netzwerkrechner haben (zum Beispiel Zugang zu einem Administrator-Account), um Kontrolle über einen Großteil des Netzwerks zu erhalten.
Auf einem Netzwerk vorhandene NIS Server sind ebenfalls ein beliebtes Ziel von Hackern, da sie Informationen über das Netzwerk und seine Benutzer sammelt.
Durch die vorherigen Schritte war der Hacker im Stande, einen vollständigen Plan des Netzwerks, der vorhandenen Rechner und ihrer Schwachstellen zu erstellen und besitzt jetzt einenroot Zugang auf mindestens einem der Rechner. Er kann nun seine Handlungen ausweiten, indem er die Approbations-Beziehungen zwischen den verschiedenen Rechnern ausnutzt.
Diese Methode der Identitätsübernahme, genannt spoofing, ermöglicht es dem Hacker, in privilegierte Netzwerke einzudringen, zu denen der kompromittierte Rechner Zugang hat.
Wenn es einem Hacker gelungen ist, in ein Unternehmensnetzwerk einzudringen und einen Rechner zu kompromittiren, hat er möglicherweise den Wunsch, zurückzukommen. Dafür installiert er eine Anwendung, die eine künstliche Sicherheitslücke auslöst, man spricht dann vonBackdoor (manchmal auchtrapdoor, der BegriffHintertür wird auch gelegentlich verwendet).
Wenn der Eindringling ein genügendes Ausmaß an Kontrolle über das Netzwerk erlangt hat, muss er nur noch seine Spuren verwischen, indem er die von ihm erzeugten Dateien löscht und die Logdateien der Rechner reinigt, in die er eingedrungen ist, also die Aktivitätszeilen herauslöscht, die seine Tätigkeit betreffen.
Des weiteren gibt es Software-Programme, genannt « Rootkits ») mit denen die Tools für die System- Administration durch modifizierte Versionen ersetzt werden, um die Präsenz des Hackers im System zu verschleiern. Wenn der Administrator zur gleichen Zeit eine Verbindung aufbaut wie der Hacker, ist es wahrscheinlich, dass er die Dienste bemerkt, die der Hacker gestartet hat, oder einfach bemerkt, dass zur gleichen Zeit noch jemand verbunden ist. Das Ziel eines Rootkits ist daher, den Administrator in die Irre zu führen, indem es die Realität verschleiert.
Wer für ein Netzwerk zuständig ist, dass mit dem Internet verbunden ist, muss für dessen Sicherheit sorgen, und daher die Schwachstellen testen.
Aus diesem Grund muss ein Netzwerkadministrator gut über Schwachstellen der verwendeten Software informiert sein und sich « in die Lage des Hackers versetzen » um zu versuchen, in sein eigenes System einzudringen, und ständig in einem paranoiaähnlichem Zustand zu arbeiten.
Finden sich innerhalb der Firma nicht die nötigen Kompetenzen um diese Operation gut durchzuführen, kann man einen Audit durchführen lassen, von einer Firma die sich auf Fragen der Computersicherheit spezialisiert hat.
Artikel geschrieben vonJean-François PILLOU, inspiriert von einem Artikel vonGomoR.