No Slide Title

Werbung
InSeon YOO
Ulrich ULTES-NITSCHE
Kann mein Computer krank werden?
Janus: Ein Projekt zur Virenerkennung
COMPUTERVIREN
ERKENNUNG NEUER VIREN
Computerviren sind kleine Programmteile, die sich in andere Programme
hineinkopieren können. Man sagt dann, dass ein Computerprogramm durch
ein Virus infiziert wird. Läuft ein infiziertes Programm im Computer ab, so wird
auch das Virus gestartet und versucht normalerweise:
• andere Programme zu infizieren,
• sich über das Computernetzwerk oder per E-Mail auf andere Computer
zu verteilen,
• Schaden auf dem
auszuspionieren.
Computer
anzurichten
oder
Informationen
Um die Bezeichnung „Virus“ besser zu verstehen, hilft uns folgende einfache
Analogie zu biologischen Viren: Wenn wir unseren Computer mit einem
Organismus, Programme mit biologischen Zellen und das Computervirus eben
mit einem biologischen Virus vergleichen, dann befällt das Virus den Computer
(„Organismus“), indem es die Programme („Zellen“) befällt und durch seine
Aktivität Schaden anrichtet (der Computer wird „krank“). Infektionen sind nur
durch direkten Kontakt möglich. Soll heissen: nur wenn Computer in direkten
Kontakt treten – durch den Austausch von Daten – ist es möglich, dass ein
infizierter Computer (als „Wirtssystem“) einen anderen Computer infiziert.
Unser Körper kann uns manchmal auch gegen Schädlinge schützen, gegen
die wir nicht geimpft sind. Unser Immunsystem kann sie als nicht zu unserer
Physiologie gehörig erkennen und bekämpfen.
Diese Idee versuchen wir im Projekt Janus auch auf Computer anzuwenden.
Wir versuchen zu erkenn, ob Daten an einer Stelle gefunden werden können,
die dort eigentlich nicht hingehören.
Es ist uns gelungen, Viren in infizierten Programmen zu erkennen, ohne dass
das entwickelte Erkennungssystem etwas von existierenden Computerviren
wüsste. Wir verwenden dazu ein untrainiertes neuronales Netz (eine
bestimmte Art von Computerprogrammen zur „Mustererkennung“). „Untrainiert“
bedeutet hierin, dass dieses neuronale Netz nicht gelernt hat, was Viren sind.
Dennoch entsteht, wenn wir uns das neuronale Netz grafisch anschauen, ein
charakteristischer blauer Punkt, wenn ein Virus ein Programm infiziert hat. Die
nachfolgende Abbildung zeigt ein Beispiel:
VIRENERKENNUNG UND -BEKÄMPFUNG
virus data
Wie eine Impfung, bei der unser Körper „lernt“, Viren anhand spezieller
„Muster“ zu erkennen und dann zu bekämpfen, funktionieren auch Anti-VirenProgramme auf Computern. Sie erkennen Viren anhand spezifischer „Muster“,
die sie in infizierten Programmen hinterlassen und können den identifizierten
Virus dann entfernen. Diese charakteristischen „Muster“ von Viren heissen
Virussignaturen.
Ein Anti-Virus-Programm enthält also eine grosse Menge von Virensignaturen
(eine Viren-Datenbank) und einen Programmteil, der nach Mustern in
Programmen auf unserem Computer sucht, die in der Viren-Datenbank
enthalten sind. Schickt uns z.B. jemand ein infiziertes Programm per E-Mail
und die Signatur des Virus ist in der Viren-Datenbank enthalten (unser
Computer ist gegen dieses Virus „geimpft“), so wird das Anti-Viren-Programm
die Infektion des Programms erkennen, den Virus unschädlich machen und
uns warnen, dass uns ein virusinfiziertes Programm geschickt wurde.
DAS PROBLEM NEUER VIREN
Abb. 1: Identifikation eines unbekannten Virus in einem Programm.
Bei nicht infizierten Programmen entsteht dieser blaue Punkt nicht. Bevor wir
versuchen, zu erklären, warum das so ist, noch ein Hinweis zu den Grenzen
dieser Virenerkennungsmethode:
•
Unsere Methode hat bisher bei Experimenten mit „echten“
Computerviren funktioniert. Das heisst aber nicht, dass sie immer und in
allen Fällen funktionieren wird.
•
Die vorgestellte Methode funktioniert nicht bei so genannten Würmern
und Makro-Viren:
• bei Würmern entstehen die blauen Punkte nicht,
Wir wissen alle, dass eine Grippeimpfung uns z.B. nicht gegen Kinderlähmung
schützt. Genauso verhält es sich bei Computerviren: Ein Anti-Viren-Programm
schützt unseren Computer nur gegen Viren, die es kennt (gegen die unser
Computer „geimpft“ wurde). Gegen andere Viren bietet es keinen Schutz.
Speziell wenn ein neues Virus auftritt, dessen Signatur noch kein Anti-VirenProgramm kennt, kann kein Anti-Viren-Programm unseren Computer vor einer
Infektion durch dieses neue Virus schützen. Es gibt sozusagen noch keinen
„Impfstoff“ gegen dieses Virus.
Bei Computerviren dauert die Entwicklung eines „Impfstoffes“ zwar nicht so
lange wie bei biologischen Viren – Signaturen neuer Computerviren werden
heute recht schnell gefunden und die Anti-Viren-Programme entsprechend
aktualisiert –, trotzdem kann ein neues Computervirus zunächst sehr schnell
sehr viel Schaden anrichten: Manche Computerviren haben weltweit Schäden
in Milliarden-Franken-Höhe verursacht.
Es wäre daher wünschenswert, wenn wir zumindest manche neuen
Computerviren erkennen könnten, auch wenn deren Signatur noch nicht
bekannt ist. Dies ist eines der Ziele des hier vorgestellten Projekts.
• bei Dokumenten, die von Makro-Viren befallen werden können,
entstehen die Punkte auch im nicht infizierten Fall.
Dennoch: Wenn es mit unserer Methode zu verhindern gelingt, dass sich ein
einziges neues Virus ausbreiten kann, dann hätte sich der Forschungsaufwand
bereits gelohnt.
Nun noch zur Erklärung des Ergebnisses: Wir vermuten (genau wissen wir es
auch nicht, da wir von unserem Ergebnis zum Teil selbst überrascht waren),
dass ein Virus in einem anderen „Stil“ programmiert ist als das Programm, das
es infiziert. Unser System erkennt also einfach nur, dass sich in einem
Computerprogramm ein Teil befindet, der anders ist als der Rest – ganz wie
wenn das Immunsystem etwas findet, das dort nicht hingehört.
MITARBEITENDE
Projektleiter: Prof. Dr. Ulrich Ultes-Nitsche
Assistentin: InSeon Yoo
Herunterladen