-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft ein System in einem Köderserver
zur Erkennung eines Computervirus.
-
HINTERGRUND
DER ERFINDUNG
-
Die
Erkennung von Computerviren ist eine gängige Technologie. Es gibt
eine Reihe größerer Unternehmen,
darunter Symantec, McAffee, Shiva und Intel, die sich mit der Viruserkennung
und -beseitigung befassen (Intel, Intel Inside, MMX und Pentium sind
Warenzeichen der Intel Corporation in den Vereinigten Staaten und/oder
anderen Ländern).
Einige dieser Produkte, insbesondere die von Symantec, bieten eine
Unternehmensversion ihrer Software zur Verwaltung von und zur Verwendung
in Unternehmensnetzen, die auch als Intranets bezeichnet werden.
Bei dieser Konfiguration ist die Client-Software zur Viruserkennung
in jedem Client-Computer installiert, und die Virenprüfung wird
in bestimmten Zeitintervallen gestartet, um im Client-Computer nach
Viren zu suchen. Wenn ein Virus gefunden wird, informiert das Client-Programm
den Benutzer darüber, dass
ein Virus gefunden wurde, und wird automatisch aktiv oder fordert
den Benutzer auf, in Abhängigkeit von
den Netzwerkeinstellungen einzuschreiten.
-
Wenn
ein Virus entdeckt wird, wird der Benutzer im Allgemeinen aufgefordert,
die infizierte Datei oder Dateien unter Quarantäne zu stellen, d. h., sie in
diesem System der Benutzung zu entziehen. Nachdem die Dateien isoliert
wurden, kann der Benutzer mit dem System weiterarbeiten. Der Benutzer kann
dann aufgefordert werden, sich mit dem Systemadministrator oder
der IT-Abteilung in Verbindung zu setzen, um diese über den
Virus in Kenntnis zu setzen.
-
In
der Veröffentlichung „COMPUTER
VIRUSES AND RELATED THREATS TO COMPUTER AND NETWORK INTEGRITY" von David M. CHESS wird
das System zum Erkennen, Lokalisieren und Unschädlichmachen von Viren in Computernetzen beschrieben.
Das zum Erkennen von Viren verwendete Verfahren überwacht Ladevorgänge und
sucht nach verdächtigen
Unregelmäßigkeiten.
-
Bei
dieser Strategie besteht das Problem darin, dass das System bereits
stark geschädigt
worden sein kann, bevor der Virus entdeckt wurde. Manche als Würmer [Syman1]
bezeichnete Viren sind in der Lage, Hunderte oder sogar Tausende
Dateien zu zerstören,
bevor sie entdeckt werden. Noch schlimmer ist jedoch, dass sich
der Virus bis zu seiner Erkennung durch die Client-Maschine bereits
auf einer anderen Maschine im Netz oder auf einer gemeinsam genutzten
Ressource geklont (vervielfältigt)
haben kann. Von der gemeinsamen Netzressource aus kann der Virus
beginnen, Dateien zu löschen
und sich in andere Client-Systeme zu klonen. Zur Suche nach der
Quelle des Virus und zur Beseitigung seiner sämtlichen Spuren im Netz müssen normalerweise der
Netzwerk-Server heruntergefahren, die gemeinsamen Netzressourcen
entfernt und jede Client-Maschine desinfiziert werden, während sie
vom Netz getrennt ist.
-
Um
sicher sein zu können,
dass ein Virus vollständig
entfernt worden ist, möchte
man gern wissen, woher der Virus stammt, damit diese betreffende Maschine
richtig desinfiziert werden kann. Dies zu ermitteln kann jedoch
schwierig sein, insbesondere bei großen Unternehmensnetzen, bei
denen der Benutzer möglicherweise
keine Antivirus-Software installiert hat, oder wo sich jemand eingewählt, ohne
sein Wissen einen Virus eingeführt
und sich wieder ausgewählt
hat. Wenn das Netzwerk desinfiziert wird, wird es dann immer wieder
neu infiziert, wenn sich der Angreifer erneut einwählt. Es
ist wichtig, das angreifende System zu ermitteln, um eine Neuinfektion zu
verhindern.
-
In
den meisten Fällen
verbreitet der Angreifer den Virus, ohne dass man dessen gewahr
wird. Eine als „Würmer" bekannte Virenklasse
wird dadurch aktiv, dass sie Dateien löscht oder deren Länge auf
null setzt und sie dadurch unbrauchbar macht. Würmer werden durch Firewall-Software
oder -Filter normalerweise nicht erkannt und sehen beim Eintreffen
in der Maschine des Benutzers wie eine normale ausführbare Bild-
oder Textdatei aus. Wenn der Benutzer die Datei anklickt, klont
(vervielfältigt)
sich diese sofort und sucht nach einem neuen System im Netzwerk,
das als aufnahmebereiter Hostrechner für den Wurm dienen kann. Wenn
dieser einen aufnahmebereiten Hostrechner findet, installiert er
sich wieder und wird ausgeführt,
wobei er nach einem anderen aufnahmebereiten Hostrechner sucht.
Diese Würmer benötigen einen
aufnahmebereiten und leicht zugänglichen
Hostrechner, welcher sie mit den zur Ausführung ihrer schädlichen
Tätigkeit
erforderlichen Rechten ausstattet. Sie spähen diejenigen Systeme im Netzwerk
aus, welche über
Schreibzugriff auf Computer oder gemeinsame Netzressourcen verfügen, und
nutzen dann diese Fähigkeit,
um in anderen Systemen Dateien zu löschen.
-
In
den meisten Netzwerken ist es üblich, dass
die Systeme als gemeinsam genutztes Medium auf gemeinsam genutzte
Speicher bestimmter Art zugreifen, z. B. auf die Festplatte eines
anderen Computers. Diese wird als gemeinsame genutzte Einheit oder
gemeinsam genutzte Netzressource bezeichnet und ermöglicht den
Benutzern auf einfache Weise, Daten, Programme, Dateien und Dokumente
gemeinsam zu nutzen, die an einer Stelle abgelegt sind. Jedes System,
das auf diese gemeinsam genutzte Ressource zugreifen will, ist durch
den Systemadministrator oder durch Richtlinien des Netzwerk-Servers
dazu berechtigt. Systeme ohne Zugriff auf eine gemeinsam genutzte
Ressource können
diese weder lesen noch beschreiben. Der Lese- und Schreibzugriff
kann für
jedes System einzeln gewährt
werden, das auf die gemeinsam genutzte Ressource zugreifen kann.
-
Im
Fall von Viren, die sich in anderen Systemen vermehren, ist es wahrscheinlich,
dass sich der Virus vor der Erkennung bereits vermehrt hat. In diesem
Fall ist die Desinfektion nicht hilfreich, da sich der Virus anschließend wieder
rasch auf diesem System vermehren wird. Um die Nachbarmaschinen wirksam
desinfizieren zu können,
muss jede Maschine vom Netz genommen, desinfiziert und dann erst nach Überprüfung und
Desinfektion jedes Netzwerk-Clients wieder an das Netzwerk angeschlossen werden.
Die Quelle des Wurms muss gefunden und beseitigt werden, da sonst
die Gefahr der Neuinfektion überaus
hoch ist.
-
Das
kann eine langwierige Prozedur sein, die sich durch unerfahrene
Benutzer oder Administratoren nur mit Mühe durchführen lässt. Obwohl die meisten Unternehmen über Strategien
gegen das Herunterladen potenziell gefährlicher Inhalte verfügen, kommt
es bei kleineren Unternehmen mit weniger erfahrenem Personal eher
dazu, dass potenziell gefährliche
Inhalte heruntergeladen werden. Daher sind ein Verfahren und ein
System sowie ein Computerprogrammprodukt, mit dem Viren ohne besonders anspruchsvolle
Kenntnisse des Administrators erkannt, lokalisiert und beseitigt
werden können,
außerordentlich
wünschenswert.
-
BESCHREIBUNG
DER ERFINDUNG
-
Gemäß einem
ersten Aspekt stellt die vorliegende Erfindung ein System in einem
Köderserver zur
Erkennung eines Computervirus bereit, wobei das System Folgendes
umfasst: eine Überwachungseinheit
im Köderserver,
welche ein Netzwerk auf das Vorhandensein eines Computervirus überwacht,
wobei der Köderserver
eine unveröffentlichte Netzwerkadresse
hat und der Zugriff durch die Netzwerkbenutzer auf den Köderserver
nicht gestattet ist; eine Erkennungseinheit, die als Reaktion auf
eine Feststellung, dass ein Computervirus gefunden wurde, die Identität eines
angreifenden Systems innerhalb des Netzwerks ermittelt, von welcher
der Computervirus in das Netzwerk gelangt ist; und eine Trennungseinheit
zum Trennen des angreifenden Systems vom Netzwerk.
-
Vorzugsweise
umfasst das System ferner ein Mittel zur Benachrichtigung aller
Einheiten im Netzwerk, alle Anforderungen vom angreifenden System so
lange zu ignorieren, bis das angreifende System desinfiziert wurde
und wieder für
die Netzwerkkommunikation zur Verfügung steht. Besonders bevorzugt
umfasst der Köderserver
ein Mittel zum Ignorieren aller Anforderungen vom angreifenden System so
lange, bis das System desinfiziert wurde und wieder für die Netzwerkkommunikation
zur Verfügung steht.
-
Bei
einer bevorzugten Ausführungsart
umfasst das System ferner: ein Mittel zum Benachrichtigen des lokalen
Servers über
das Vorhandensein eines Computervirus und die Identität des angreifenden
Systems. Bei einer anderen bevorzugten Ausführungsart umfasst das System
ein Mittel zum Benachrichtigen des angreifenden Systems vor dem Trennen
dieses Systems vom Netzwerk, dass es durch einen Computervirus infiziert
ist.
-
In
geeigneter Weise umfasst das System ein Mittel, das als Reaktion
auf eine Benachrichtigung, dass das angreifende System desinfiziert
wurde, und als Reaktion auf eine erneute Verbindungsanforderung
seitens des angreifenden Systems dieses wieder mit dem Netzwerk
verbindet. Noch besser geeignet ist es, wenn das angreifende System
in der Lage ist, die Verbindung zum Netzwerk selbst herzustellen.
-
Vorzugsweise
umfasst das System ein Mittel zum Überwachen von Dateien innerhalb
des Köderservers;
und ein Mittel zum Benachrichtigen des lokalen Servers als Reaktion
auf eine Veränderung
in einer oder mehreren Dateien innerhalb des Köderservers, dass ein Virenangriff
im Gange ist. Bei einer Ausführungsart
beinhaltet die Veränderung
in einer oder mehreren Dateien eine Veränderung der Bytezahl in einer
oder mehreren dieser Dateien. Bei einer anderen Ausführungsart
beinhaltet die Veränderung in
einer oder mehreren dieser Dateien eine fehlende bzw. gelöschte Datei.
Besonders bevorzugt umfassen das in einem der Ansprüche genannte
System, in welchem der Köderserver
einen Versuch vom angreifenden System empfängt, auf den Köderserver
zuzugreifen, und der Versuch selbst: einen Versuch, auf den Köderserver
zu schreiben; und/oder eine Anforderung, eine Funktion im Köderserver
auszuführen.
-
Gemäß einem
zweiten Aspekt stellt die vorliegende Erfindung ein Netzwerk-Datenverarbeitungssystem
bereit, welches Folgendes umfasst: einen lokalen Server; eine Vielzahl
von Client-Datenverarbeitungssystemen; ein Netzwerk und ein System
in einem Köderserver
gemäß der obigen
Beschreibung. Vorzugsweise umfasst der Köderserver ferner ein Mittel
zum Rundsenden eines Hinweises, dass ein Virenangriff auf die Vielzahl
der Client-Datenverarbeitungssysteme im Gange ist.
-
Gemäß einem
dritten Aspekt stellt die vorliegende Erfindung ein Verfahren in
einem Köderserver zum
Erkennen des Vorhandenseins eines Computervirus bereit, wobei das
Verfahren die folgenden Schritte umfasst: Überwachen eines Netzwerks auf Computerviren
vom Köderserver
aus, wobei der Köderserver
eine unveröffentlichte
Netzwerkadresse hat und der Zugriff durch die Netzwerkbenutzer auf den
Köderserver
nicht gestattet ist; als Reaktion auf die Feststellung, dass ein
Computervirus gefunden wurde, Ermitteln der Identität eines
angreifenden Systems innerhalb des Netzwerks, von welchem aus der
Computervirus in das Netzwerk gelangt ist; und Trennen des angreifenden
Systems vom Netzwerk.
-
Gemäß einem
vierten Aspekt stellt die vorliegende Erfindung ein Computerprogrammprodukt
zur Verwendung in einem Köderserver
zum Erkennen des Vorhandenseins eines Computervirus bereit, wobei
das Computerprogrammprodukt Computerprogrammanweisungen umfasst,
welche den Computer zur Ausführung
der folgenden Schritte veranlassen: Überwachen eines Netzwerks auf
das Vorhandensein eines Computervirus, wobei der Köderserver eine
unveröffentlichte
Netzwerkadresse hat und der Zugriff durch die Netzwerkbenutzer auf
den Köderserver
nicht gestattet ist; als Reaktion auf eine Feststellung, dass ein
Computervirus erkannt wurde, Ermitteln der Identität eines
angreifenden Systems innerhalb des Netzwerks, von welchem aus der
Computervirus in das Netzwerk gelangt ist; und Trennen des angreifenden
Systems vom Netzwerk.
-
Bei
einer Ausführungsart
enthält
das angreifende System mehr als nur ein Datenverarbeitungssystem.
Bei einer anderen Ausführungsart
enthält das
angreifende System einen lokalen Server. Bei einer weiteren Ausführungsart
enthält
das angreifende System ein Client-Datenverarbeitungssystem. Bei
einer Ausführungsart
ist der Computervirus ein Wurm. Bei einer weiteren Ausführungsart
ist der Computervirus ein trojanisches Pferd.
-
Bei
einer Ausführungsart
beinhaltet das Datenverarbeitungssystem des Netzwerks einen lokalen
Server, mehrere Client-Datenverarbeitungssysteme und einen Köderserver.
Die Adresse des Köderservers
ist den Client-Computern
nicht bekannt. Somit würde
jeder Versuch eines Zugriffs auf den Köderserver das Vorhandensein
eines Virus in dem Cient-Computer anzeigen, welcher den Zugriff
versucht. Der Köderserver überwacht
sich selbst und verteilt als Reaktion auf einen Zugriffsversuch
auf den Köderserver
seitens eines Client-Computers durch Rundsenden eine Benachrichtigung
an alle Einheiten des Netzwerks, dass ein Virenangriff im Gange ist.
Der Köderserver
ignoriert dann alle weiteren Zugriffsanforderungen seitens des angreifenden Client-Computers so lange,
bis er eine Benachrichtigung erhält,
dass der angreifende Client-Computer desinfiziert wurde, und trennt
diesen angreifenden Client-Computer vom Netzwerk. Der Köderserver teilt
auch dem lokalen Server-Computer und/oder einem Netzwerkadministrator
das Problem und die Identität
des angreifenden Client-Computers mit, damit entsprechende Maßnahmen
zum Desinfizieren des angreifenden Client-Computers eingeleitet
werden können.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
Im
Folgenden wird die vorliegende Erfindung beispielhaft unter Bezug
auf deren bevorzugte Ausführungsarten
beschrieben, die in den folgenden Zeichnungen dargestellt sind:
-
1 zeigt
eine bildliche Darstellung eines Netzwerks von Datenverarbeitungssystemen,
in welchem die vorliegende Erfindung realisiert werden kann;
-
2 zeigt
ein Blockschaltbild eines Datenverarbeitungssystems, das als Server-Computer
gemäß der vorliegenden
Erfindung realisiert werden kann;
-
3 zeigt
ein Blockschaltbild, das ein Datenverarbeitungssystem zeigt, welches
als Client-Computer gemäß der vorliegenden
Erfindung realisiert werden kann;
-
4 zeigt
ein Ablaufdiagramm und eine Programmfunktion zur Ausführung in
einem Köderserver
zum Erkennen, Lokalisieren und Entfernen eines Computervirus gemäß der vorliegenden
Erfindung; und
-
5 zeigt
ein Ablaufdiagramm und eine Programmfunktion, welche in einem Client-Computer zum
Erkennen des Vorhandenseins eines Virus gemäß der vorliegenden Erfindung
realisiert werden kann.
-
DETAILLIERTE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSART
-
1 zeigt
eine bildliche Darstellung eines Netzwerks von Datenverarbeitungssystemen,
in denen die vorliegende Erfindung realisiert werden kann. Das Netzwerk-Datenverarbeitungssystem 100 ist
ein Computernetz, in welchem die vorliegende Erfindung realisiert
werden kann. Das Netzwerk-Datenverarbeitungssystem 100 enthält ein Netzwerk 102,
welches das Medium zur Bereitstellung von Übertragungsleitungen zwischen
verschiedenen Einheiten und Computern darstellt, die innerhalb des
Netzwerk-Datenverarbeitungssystems 100 miteinander verbunden sind.
Das Netzwerk 102 kann Verbindungen wie zum Beispiel Drähte, drahtlose Übertragungsverbindungen
oder Lichtwellenleiterkabel beinhalten.
-
Beim
dargestellten Beispiel ist ein Server 104 zusammen mit
der Speichereinheit 106 mit dem Netzwerk 102 verbunden.
Außerdem
sind auch Client-Computer 108, 110 und 112 sowie
der Köderserver 150 mit
dem Netzwerk 102 verbunden. Diese Client-Computer 108, 110 und 112 können zum
Beispiel Personal Computer oder Netzwerk-Computer sein. Im dargestellten
Beispiel stellt der Server-Computer 104 den Client-Computern 108 bis 112 Daten
wie Bootdateien, Betriebssystemdarstellungen und Anwendungen zur
Verfügung.
Das Netzwerk- Datenverarbeitungssystem 100 kann
auch noch weitere nicht gezeigte Server-Computer, Client-Computer
und andere Einheiten enthalten. Im dargestellten Beispiel ist das
Netzwerk-Datenverarbeitungssystem 100 ein
Intranet, ein lokales Netz (LAN) oder eine andere Art von vertraulichem
Netzwerk, wie es zum Beispiel durch ein Unternehmen oder eine Universität verwendet
werden kann. Das Netzwerk 102 stellt eine Ansammlung von
Netzwerken und Gateway-Computern dar, welche eine Vielzahl von Protokollen
wie zum Beispiel das TCP/IP-Protokoll oder Protokolle zum Kommunizieren
untereinander benutzen. Der Server-Computer 104 stellt
auch eine Verbindung zwischen dem Netzwerk-Datenverarbeitungssystem 100 und
einem äußeren Netzwerk 180 bereit,
bei dem es sich zum Beispiel um das Internet handeln kann.
-
Wenn
es sich bei dem äußeren Netzwerk 180 um
das Internet handelt, stellt dieses eine weltweite Ansammlung von
Netzwerken und Gateway-Computern dar, welche die Vielzahl von TCP/IP-Protokollen
zum Kommunizieren miteinander verwenden. Den Kern des Internets
stellt eine aus Hochgeschwindigkeits-Datenübertragungsleitungen bestehende
Zentralleitung zwischen Hauptknoten oder Host-Computern dar, welche
aus Tausenden von Unternehmens-, Regierungs-, Universitäts- und anderen
Computersystem bestehen, die Daten und Nachrichten weiterleiten.
-
Im
Netzwerk 102 ist ein als „Köderserver" 150 bezeichneter spezieller
Server-Computer installiert, der als leicht zugänglicher Host-Computer für einen
Wurmvirus im Netzwerk fungiert. Der hier verwendete Begriff Virus
beinhaltet Viren, Würmer,
trojanische Pferde und andere böswillige
Programme, welche den normalen Betrieb eines Datenverarbeitungssystems oder
Netzwerks stören
sollen. Der Köderserver 150 ist
so konfiguriert, dass er den gesamten Netzwerkverkehr und alle Anmeldungen
bei ihm mittels einer Sicherheitssoftware überwacht. Der Maschinenname
oder die IP-Adresse des Köderservers ist
nach außen
nicht bekannt, und kein Benutzer ist berechtigt, sich bei der Maschine 150 anzumelden. Wenn
eine Netzwerk- oder Anmeldeanforderung an den Köderserver 150 gerichtet
wird, kann der Köderserver 150 aus
der Tatsache, dass die Anforderung unerwartet kam und aus dem Netzwerk 102 stammte, schließen, dass
die Anforderung von einem Wurmvirus kam, der sich von einer infizierten
Maschine in den Köderserver 150 zu
kopieren versucht.
-
Wenn
der Virus von einem Client-Computer 108 bis 112 kommt,
macht er im Netzwerk rasch ein leicht zugängliches System mit Schreibzugriff
auf andere ferne Dateisysteme oder gemeinsam genutzte Netzressourcen
ausfindig. Der Virus versucht sich zwar in den Köderserver 150 zu kopieren,
aber das Überwachungssoftwarepaket
im Köderserver 150 erkennt
den Versuch des infizierten Systems, auf den Köderserver 150 zu schreiben
und fängt
die Daten ab. Der Köderserver 150 benachrichtigt
sofort den Server-Computer 104, der die Verbindung zum
angreifenden System unterbricht, und wehrt jeden weiteren Versucht
es angreifenden Systems ab, sich anzumelden oder in das Netzwerk 102 zu
gelangen. Dann benachrichtigt der Server-Computer 104 den fernen
Administrator über
ein Geschäftsereignis
und den Systemmanager per eMail und/oder Funkruf.
-
Als
zusätzliche
Vorsichtsmaßname überwacht
der Köderserver 150 ständig den
Zustand der Köderserverdateien
und stellt laufend ihre Größe und Gültigkeit
fest. Wenn der Köderserver 150 feststellt, dass
sich die Größe einer
oder mehrerer seiner Dateien verändert
hat oder dass die Datei überhaupt nicht
mehr vorhanden ist, benachrichtigt er durch Senden eines Ereignisses
den lokalen Server-Computer 104, dass ein Virus erkannt
worden ist, worauf dieser alle Verbindungen unterbricht und mit
dem Desinfektionsprozess für
sich und die anderen Computer und gemeinsam genutzten Ressourcen
im Netzwerk beginnt. Obwohl der Köderserver 150 die Quelle
des Virus nicht immer ermitteln kann, bevor erste Schäden eingetreten
sind, ermittelt er den Angreifer doch innerhalb kurzer Zeit und
verhindert somit größeren Schaden.
-
Somit
stellt die vorliegende Erfindung eine automatisierte Lösung dieses
Problems durch eine Gesamtheit von Hardware- und Softwarekomponenten
bereit, welche die Aufgabe der Identifizierung der Quelle eines
im Netzwerk befindlichen Computervirus ausführen, ohne hierfür hochqualifizierte
Netzwerkadministratoren oder Techniker zu benötigen. Diese automatisierte
Funktion kann außer
durch den Köderserver 150 durch
eine im Netzwerkserver 102 und den Client-Computern 108–112 oder
durch eine kommerzielle Dienstleistung bereitgestellt werden, welche
durch die Benutzer abonniert werden kann.
-
Wenn
der Köderserver 150 oder
die Antivirussoftware des Client-Computers einen Virus entdeckt
hat und es sich dabei um einen Wurm handelt, muss der Server-Computer
die Quelle des Virus ausfindig machen und sicherstellen, dass die
Maschine, von welcher der Virus stammt, desinfiziert wird, bevor sie
wieder mit dem Netzwerk 102 oder den gemeinsam genutzten
Netzwerkressourcen verbunden wird.
-
Wenn
die vorliegende Erfindung als kommerzielle Dienstleistung bereitgestellt
wird, benachrichtigt der Köderserver 150 sofort
den fernen Administrator durch Senden eines Geschäftsereignisses „Virus
erkannt" und durch
Senden einer entail-Nachricht zum fernen Administrator mit Informationen über die Art
des erkannten Virus, den Namen des Client-Computers, auf welchem der Virus entdeckt
wurde, und die zum Desinfizieren des Systems eingeleiteten Schritte.
Der Köderserver 150 kann
auch einen Techniker über
Funkruf informieren bzw. einen Telefonanruf zu einem Servicetechniker
herstellen. Nach dem Empfang dieser Benachrichtigung kann das Ereignis-Routingsystem
des Administrators wiederum andere Geschäftsereignisse erzeugen, einen Vor-Ort-Service
oder einen Anruf zum Kunden organisieren, über Funkruf einen Techniker
informieren oder im Extremfall den lokalen Server-Computer und/oder
das gesamte lokale Netz abschalten.
-
Um
den angreifenden Computer zu lokalisieren, ist der Köderserver 150 gemäß dem oben
Gesagten im Netzwerk 102 installiert, um als „Köder" und als Magnet für den Computervirus
zu dienen. Diese Art Viren, die auch unter der Bezeichnung Würmer bekannt
sind, wandern durch das Netzwerk und suchen nach einem Computer
mit Schreibberechtigung für
gemeinsam genutzte Systemressourcen, der den Virus aufnehmen kann.
Zum Auffinden von Netzwerk-Servern verwenden die Viren verschiedene
Techniken einschließlich
von NETBIOS-Rundsendenachrichten.
Mittels des NETBIOS-Protokolls macht der Virus einen Server-Computer
im Netzwerk mit Schreibzugriff auf andere Computer oder Netzwerkressourcen
ausfindig. Dann kopiert er sich in den Server-Computer, installiert
sich als Dienst und startet diesen Dienst jedes Mal, wenn das Betriebssystem
gestartet wird oder sich ein Benutzer anmeldet.
-
Wenn
der Virus aktiv ist, beginnt er, lokale Dateien, ferne Dateien und
Dateien auf Netzwerkressourcen zu löschen. Wenn nicht sofort eingegriffen wird,
kann der Virus Tausende von Dateien in der Minute löschen oder
unbrauchbar machen.
-
Der
Köderserver 150 ist
so konfiguriert, dass er Anmelde- und Netzwerkanforderungen von
Maschinen innerhalb des Netzwerks 102 überwacht. Da der Köderserver 150 den
Benutzer des Netzwerks 102 unbekannt ist, kann als System,
welches überhaupt
versuchen könnte,
sich beim Köderserver 150 anzumelden
und seine Daten über
das Netzwerk 102 zu senden, nur der Virus selbst infrage
kommen. Der Köderserver 150 ist
so konfiguriert, dass die Sicherheitsüberwachung aktiviert ist und
alle Netzwerk- und Sicherheitsanforderungen überwacht werden. Der Köderserver 150 ist
so offen wie möglich
konfiguriert und verfügt über die
Schreibberechtigung auf eine isolierte öffentliche Netzwerkressource,
bei der es in Wirklichkeit um ein lokales Plattenlaufwerk handelt.
-
In
dieser Netzwerkressource sind Dateien mit Erweiterungen wie .DOC,
.PPT, .H, .CPP, .ASM, und .XLS installiert, die normalerweise durch
den Wurmvirus angegriffen werden. Sobald in der Köderservermaschine 150 eine
Anmeldeanforderung eintrifft, trennt der Köderserver 150 sofort
die Verbindung zum anfordernden Computer und erzeugt ein Geschäftsereignis
für den
fernen Administrationsserver und sendet eine dringende entail-Nachricht
zum Systemadministrator. Jede Nachricht enthält Informationen zum Zeitpunkt,
zum Datum, zur IP-Adresse und zum Namen der angreifenden Maschine
sowie die Benutzerkennung und das Kennwort, welches der Virus zu
benutzen versucht. Der Köderserver 150 verbreitet
dann durch Rundsenden eine Mitteilung durch das Netzwerk, dass ein
Virenangriff im Gange ist.
-
Dieselben
Maßnahmen
werden ergriffen, wenn bei der gemeinsam genutzten Ressource des Köderservers 150 eine
Schreibanforderung eintrifft. Auch in diesem Fall werden wieder
die IP-Adresse der sendenden Maschine, der Name der Maschine, der
Virentyp sowie weitere Informationen gesammelt und zur Weiterleitung
zum lokalen Server-Computer 104 gesendet. Eine Bedingung
für das
ordnungsgemäße Funktionieren
der vorliegenden Erfindung besteht darin, dass die Viren „schlau" genug sind, zuerst
die am leichtesten zugänglichen
Maschinen aufzusuchen und sich somit frühzeitig zu enttarnen.
-
Sobald
die angreifende Maschine vom Netzwerk 102 genommen wurde,
wird ihr Anmeldekonto gesperrt. Alle durch den Virus erzeugten nachfolgenden
Anforderungen nach der IP-Adresse oder dem Maschinennamen werden
so lange ignoriert, bis feststeht, dass der Virus aus dem Netzwerk
entfernt und die angreifende Maschine desinfiziert wurde. Dann wird
die angreifende Maschine wieder mit dem Netzwerk 102 verbunden,
und der Netzwerkbetrieb geht normal weiter.
-
1 dient
nur als Beispiel und soll hinsichtlich der Architektur keine Einschränkung für die vorliegende
Erfindung darstellen.
-
2 zeigt
ein Blockschaltbild eines Datenverarbeitungssystems gemäß der vorliegenden
Erfindung, das als Server-Computer, wie zum Beispiel als „Köder"-Server 150 oder
als Server-Computer 104 in 1, realisiert
werden kann. Das Datenverarbeitungssystem 200 kann ein
symmetrisches Multiprozessorsystem (SMP) mit einer Vielzahl mit
dem Systembus 206 verbundener Prozessoren 202 und 204 sein.
Alternativ kann auch ein Einprozessorsystem verwendet werden. Mit
dem Systembus 206 sind auch eine Speichersteuereinheit/ein
Cachespeicher 208 verbunden, der eine Schnittstelle zum
lokalen Speicher 209 bereitstellt. Die E/A-Busbrücke 210 ist mit
dem Systembus 206 verbunden und stellt eine Schnittstelle
zum E/A-Bus 212 bereit. Die Speichersteuereinheit/der Cachespeicher 208 und
die E/A-Busbrücke 210 können wie
in der Abbildung eine Einheit bilden.
-
Die
mit dem E/A-Bus 212 verbundene PCI-Busbrücke 214 (peripheral
component interconnect bus, Verbindungsbus für Erweiterungskomponenten)
stellt eine Schnittstelle zum lokalen PCI-Bus 216 bereit.
An den PCI-Bus 216 kann eine Anzahl von Modems angeschlossen
werden. Typische PCI-Bus-Ausführungen
unterstützen
vier PCI-Erweiterungssteckplätze.
Die Datenübertragungsleitungen zu
den Netzwerk-Computern 108 bis – 112 in 1 können durch
den Modem 218 und den über
Steckkarten mit dem lokalen PCI-Bus 216 verbundenen Netzwerkadapter 220 bereitgestellt
werden.
-
Weitere
PCI-Busbrücken 222 und 224 stellen Schnittstellen
für weitere
PCI-Busse 226 und 228 bereit, die weitere Modems
oder Netzwerkadapter unterstützen
können.
Auf diese Weise ermöglicht
das Datenverarbeitungssystem 200 Verbindungen zu zahlreichen
Netzwerkcomputern. Gemäß der Darstellung
können
an den E/A-Bus 212 direkt oder indirekt auch ein Grafikadapter 230 mit
Speicher und eine Festplatte 232 angeschlossen werden.
-
Dem
Fachmann ist klar, dass die in 2 dargestellte
Hardware auch anders beschaffen sein. Zum Beispiel können zusätzlich oder
anstelle der dargestellten Hardware auch andere Peripherieeinheiten
wie zum Beispiel optische Plattenlaufwerte oder Ähnliches verwendet werden.
Das dargestellte Beispiel soll hinsichtlich der Architektur keine
Einschränkung
der vorliegenden Erfindung darstellen.
-
Das
in 2 dargestellte Datenverarbeitungssystem kann zum
Beispiel ein IBM RISC/System 6000 (RS/6000) sein, auf welchem das
Betriebssystem AIX (Advanced Interactive Executive) läuft (IBM,
RS/6000 und AIX sind eingetragene Warenzeichen der International
Business Machines Corporation).
-
3 zeigt
ein Blockschaltbild eines Datenverarbeitungssystems gemäß der vorliegenden
Erfindung, das als Client-Computer realisiert werden kann. Das Datenverarbeitungssystem 300 ist
ein Beispiel für
einen Client-Computer wie beispielsweise einen der Client-Computer 102 bis 110 in 1.
Das Datenverarbeitungssystem 300 verwendet eine lokale
PCI-Busarchitektur. Obwohl bei dem dargestellten Beispiel ein PCI-Bus
Anwendung findet, können auch
andere Busarchitekturen wie beispielsweise AGP (Accelerated Graphics
Port) oder ISA (Industry Standard Architecture) eingesetzt werden.
Der Prozessor 302 und der Hauptspeicher 304 sind über die PCI-Brücke 308 mit
dem lokalen PCI-Bus 306 verbunden. Die PCI-Brücke 308 kann
auch eine eingebaute Speichersteuerung und einen Cachespeicher für den Prozessor 302 enthalten.
Weitere Verbindungen zum lokalen PCI-Bus 306 durch direkten Anschluss
von Komponenten oder durch Steckkarten hergestellt werden. Beim
dargestellten Beispiel sind der LAN-Adapter 310 (Local
Area Network), SCSI-Hostbusadapter 312 (Small
Computer System Interface) und die Erweiterungsbusschnittstelle 314 durch
direkten Anschluss der Komponenten mit dem lokalen PCI-Bus 306 verbunden.
Der Audioadapter 316, der Grafikadapter 318 und
der Audio/Videoadapter 319 hingegen sind durch Steckkarten
in den Erweiterungssteckplätzen
mit dem lokalen PCI-Bus 306 verbunden. Die Erweiterungsbusschnittstelle 314 stellt
eine Verbindung für
einen Tastatur- und Mausadapter 320, einen Modem 322 und
einen Zusatzspeicher 324 bereit. Der SCSI-Hostbusadapter 312 stellt
eine Verbindung für
das Festplattenlaufwerk 326, das Bandlaufwerk 328 und
das CD-ROM-Laufwerk 330 bereit.
Typische PCI-Bus-Ausführungen
unterstützen
drei oder vier PCI-Erweiterungssteckplätze.
-
Ein
im Prozessor 302 laufendes Betriebssystem wird zur Verwaltung
und Steuerung der verschiedenen Komponenten im Datenverarbeitungssystem 300 in 3 verwendet.
Bei dem Betriebssystem kann es sich ein handelsübliches Betriebssystem wie beispielsweise
Windows 2000 handeln (Microsoft, Windows, Windows NT und das Windows-Zeichen sind
Warenzeichen der Microsoft Corporation in den Vereinigten Staaten
und/oder anderen Ländern).
Zusammen mit dem Betriebssystem kann ein objektorientiertes Programmiersystem
wie beispielsweise Java laufen (Java und alle mit Java zusammenhängenden
Warenzeichen sind Warenzeichen von Sun Microsystems, Inc. in den
Vereinigten Staaten und/oder anderen Ländern) und Aufrufe der im Datenverarbeitungssystem 300 laufenden
Java-Programme oder -Anwendungen an das Betriebssystem richten.
Anweisungen für
das Betriebssystem, das objektorientierte Betriebssystem und Anwendungen oder
Programme befinden sich in Speichervorrichtungen wie beispielsweise
einem Festplattenlaufwerk 326 und können zur Ausführung durch
den Prozessor 302 in den Hauptspeicher 304 geladen
werden.
-
Dem
Fachmann ist klar, dass die Hardware in 3 je nach
Ausführung
verschieden ausfallen kann. Zusätzlich
zu der in 3 dargestellten Hardware oder
an deren Stelle können
auch andere interne Hardware- oder Peripherieeinheiten wie beispielsweise
ein Flash-ROM-Speicher (oder ein ähnlicher nichtflüchtiger
Speicher) oder optische Plattenlaufwerke oder Ähnliches verwendet werden.
Außerdem können die
Prozesse der vorliegenden Erfindung auch auf ein Multiprozessor-Datenverarbeitungssystem
angewendet werden.
-
Ein
weiteres Beispiel für
das Datenverarbeitungssystem 300 stellt ein Einzelplatzrechner
dar, der ohne jegliche Netzwerkschnittstelle gebootet werden kann,
unabhängig
davon, ob das Datenverarbeitungssystem 300 eine Netzwerkschnittstelle
umfasst. Ein weiteres Beispiel für
das Datenverarbeitungssystem stellt eine PDA-Einheit (Personal Digital Assistent)
dar, die mit einem ROM und/oder einem Flash-ROM ausgestattet ist,
um einen nichtflüchtigen Speicher
zum Speichern von Betriebssystemdateien und/oder Benutzerdateien
bereitzustellen.
-
Das
in 3 dargestellte Beispiel und die oben beschriebenen
Beispiele sollen hinsichtlich der Architektur keine Einschränkungen
bedeuten. Zum Beispiel kann das Datenverarbeitungssystem 300 auch
ein Notebookcomputer oder ein Taschencomputer sowie ein PDA sein.
Das Datenverarbeitungssystem 300 kann auch eine Ladeneinrichtung
oder ein Internetrechner sein.
-
In 4 sind
ein Ablaufdiagramm und eine Programmfunktion gemäß der vorliegenden Erfindung
zur Ausführung
in einem Köderserver
zum Erkennen, Lokalisieren und Beseitigen eines Computervirus dargestellt.
Der Prozess 400 kann zum Beispiel im Köderserver 150 in 1 ausgeführt werden.
Zuerst wird der Köderserver
eingeschaltet 402 und beginnt seinen Normalbetrieb mit
Virusüberwachung 404.
Wenn der Strom abgeschaltet wird (Schritt 406), endet der
Prozess. Bis zum Abschalten überwacht
sich der Köderserver
jedoch ständig,
um zu ermitteln, ob ein Virusereignis festgestellt worden ist (Schritt 408).
-
Der
Köderserver
kann ein Virusereignis zum Beispiel dadurch erkennen, dass er einen
versuchten Zugriff auf den Köderserver
beobachtet, bei dem beispielsweise versucht wird, Daten auf den
Köderserver
zu schreiben. Da die Adresse nach außen nicht bekannt ist und im
Netzwerk keine andere Funktion hat, ist jeder Zugriffsversuch auf
den Köderserver verdächtig und
zeigt das Vorhandensein eines Virus im Netzwerk an. Als zusätzliche
Vorsichtsmaßnahme kann
der Köderserver
ständig
den Zustand seiner Dateien überwachen,
indem er ihre Größe und Gültigkeit überprüft. Wenn
der Köderserver
feststellt, dass die Größe einer
seiner Dateien sich verändert hat
oder sie nicht mehr existieren, kann dies das Vorhandensein eines
Virus anzeigen. Der Standort des angreifenden Computers, von welchem
aus der Virus auf den Köderserver
zuzugreifen versucht, wird durch Registrieren der Adresse des Computers
ermittelt, der den Zugriff auf den Köderserver anfordert.
-
Wenn
kein Virusereignis festgestellt wird, setzt der Köderserver
seinen Normalbetrieb und die Virusüberwachung fort (Schritt 404).
Wenn ein Virusereignis festgestellt wird, sendet der Köderserver eine
Nachricht zum fernen Administrator (Schritt 410) und informiert
ihn, dass ein Virus und die Identität des Computers im Netzwerk,
von welchem der Virus stammt, erkannt wurden. Dann trennt der Köderserver
die Verbindungen und die gemeinsam genutzten Netzwerkressourcen
vom angreifenden Computer (Schritt 412) und weist ihn an,
sich vom Virus zu desinfizieren (Schritt 414).
-
Dann
wartet der Köderserver
auf eine Anforderung vom angreifenden Computer, wieder angeschlossen
zu werden. Solange noch keine Wiederverbindungsanforderung eingetroffen
ist (Schritt 418), wartet der Köderserver weiter (Schritt 416).
Allerdings überwacht
sich der Köderserver
weiterhin auf Virusereignisse, während
er einen angreifenden Computer ermittelt, von welchem ein Virus
gekommen ist, während
er einen Administrator benachrichtigt, den angreifenden Computer
trennt und auf eine Wiederverbindungsanforderung wartet. Wenn eine Wiederverbindungsanforderung
empfangen wird, schließt
der Köderserver
den angreifenden Computer wieder an (Schritt 420) und setzt
seinen Normalbetrieb und die Virusüberwachung fort (Schritt 404).
-
Somit
ermöglicht
der Köderserver
das relativ schnelle Erkennen und Beseitigen von Viren, sodass normalerweise
schwerere Schäden
oder Netzwerkunterbrechungen verhindert werden. Außerdem kann die
Identität
des Computers, von welchem aus der Virus zuerst in das Netzwerk
gelangt ist, festgestellt, dieser Computer vom Netzwerk getrennt
und desinfiziert werden, bevor der Virus viele weitere Computer innerhalb
des Netzwerks infizieren konnte.
-
Wenn
der lokale Server-Computer der angreifende Computer ist, von welchem
aus der Virus in das Netzwerk gelangt ist, ist die Verfahrensweise
genauso wie beim Client-Computer. Der Köderserver sendet eine Mitteilung über einen
Virusangriff an die Client-Computer, woraufhin diese sich vom Netzwerk trennen
und ihre Verbindungen schließen,
der lokale Server-Computer sich vergewissert, dass alle Verbindungen
aufgehoben sind, sich desinfiziert und dann die Verbindung zu den
Client-Computern
wiederherstellt, sobald diese wieder verfügbar sind.
-
5 zeigt
ein Ablaufdiagramm und eine Programmfunktion gemäß der vorliegenden Erfindung,
die in einem Client-Computer zum Erkennen des Vorhandenseins eines
Virus realisiert werden kann. Der Prozess 500 kann zum
Beispiel in einem der Client-Computer 108 bis 112 in 1 realisiert werden.
Zuerst wird der Computer eingeschaltet und mit dem Netzwerk verbunden
(Schritt 502). Dann nimmt der Computer seinen Normalbetrieb
auf (Schritt 504). Wenn der Strom abgeschaltet wird (Schritt 506),
ist der Prozess beendet. Bis zum Abschalten des Stroms setzt der
Computer seine normalen Operationen fort und ermittelt, ob durch
den Köderserver
ein Virus erkannt wurde, indem er auf eine Benachrichtigung aus
dem Netzwerk wartet (Schritt 508). Wenn keine Benachrichtigung
empfangen wird, die das Vorhandensein eines Virus im Computer anzeigt,
setzt der Computer seinen Normalbetrieb fort (Schritt 504).
-
Wenn
eine Benachrichtigung empfangen wird, die das Vorhandensein eines
Virus im Computer anzeigt, kann der Computer eine Benachrichtigung
an seinen Besitzer senden, indem er zum Beispiel eine Nachricht
auf einem Bildschirm anzeigt oder den Besitzer oder Benutzer über Funkruf
informiert (Schritt 510). Dann wird der Computer vom Netzwerk
getrennt (Schritt 512), und anschließend desinfiziert er sich (Schritt 514).
Der Computer kann sich selbst desinfizieren, indem er automatisch
ein Viruserkennungs- und – beseitigungsprogramm
laufen lässt,
das eins aus einer Vielzahl handelsüblicher Produkte sein kann.
Alternativ kann der Desinfektionsprozess umfangreiche Benutzereingriffe
und möglicherweise
sogar die Dienste eines Fachmanns wie zum Beispiel eines Netzwerkadministrators
erfordern.
-
Nach
dem Desinfizieren des Computers vom Virus sendet der Computer eine
Anforderung nach Wiederverbindung mit dem Netzwerk (Schritt 516) und
wartet auf Bestätigung
der Anforderung. Dann ermittelt der Computer, ob die Anforderung
bestätigt wurde
(Schritt 518) und wartet weiter, wenn diese Bestätigung nicht
eintrifft. Wenn die Anforderung bestätigt wird, stellt der Computer
die Verbindung zum Netzwerk wieder her und setzt seinen Normalbetrieb fort
(Schritt 504).
-
Die
vorliegende Erfindung wurde zwar in bezug auf ein voll funktionstüchtiges
Datenverarbeitungssystem beschrieben, dem Fachmann ist jedoch klar,
dass die Prozesse der vorliegenden Erfindung auch in Form von Anweisungen
auf einem computerlesbaren Medium oder in vielerlei Formen verbreitet werden
können
und dass die vorliegende Erfindung auch unabhängig von der jeweiligen Art
des zur Verbreitung verwendeten signaltragenden Mediums angewendet
werden kann. Beispiele für
computerlesbare Medien sind Speichermedien wie zum Beispiel eine
Diskette, ein Festplattenlaufwerk, ein RAM-Speicher und CD-ROMs sowie Datenübertragungsmedien
wie zum Beispiel digitale und analoge Datenübertragungsleitungen.
-
Die
Beschreibung der vorliegenden Erfindung dient lediglich der Veranschaulichung
und Erläuterung,
erhebt jedoch nicht den Anspruch der Vollständigkeit und der Beschränkung der
Erfindung auf die beschriebene Form. Dem Fachmann sind viele Änderungen
und Abwandlungen geläufig.
Die Ausführungsart
wurde ausgewählt
und beschrieben, um die der Erfindung zugrunde liegenden Prinzipien
und ihre praktische Anwendung möglichst
gut zu erläutern
und anderen Fachleuten das Verständnis
der Erfindung zur Realisierung weiterer Ausführungsarten mit verschiedenen Änderungen
zu erleichtern, die für die
beabsichtigte Verwendung geeignet sind.