Allgemeine Frage zu Virenscannern

02/10/2009 - 18:30 von Fritz Müller | Report spam
Hi,

wie schaffen es eigentlich heutige Virenscanner in derart affenartiger
Geschwindigkeit so viele Dateien in so minimaler Zeit zu scannen bzw.
zu untersuchen?

Ich erinnere mich an frühere Programmiertezeiten, wo ich sehr viele
Datenkonvertierungsroutinen geschrieben habe. U.a. auch Programme zum
suchen nach Strings in Dateien.

Irgendwie kann es doch gar nicht gehen so viele verschiedene
Suchmuster auf jede Datei loszulassen. D.h. in Sekundenbruchteilen x
Dateien komplett damit abzusuchen.

Wie arbeiten denn solche Virenscanner vom Prinzip her?


Wahlergebnis: Ich bin unschuldig!
 

Lesen sie die antworten

#1 Robert Jasiek
02/10/2009 - 18:59 | Warnen spam
On Fri, 02 Oct 2009 18:30:38 +0200, Fritz Müller
wrote:
Wie arbeiten denn solche Virenscanner vom Prinzip her?



Um mal bei der typischen Grundfunktion, dem Abgleich von Prüfsummen,
zu bleiben: Eine (jede) Datei wird auf eine Prüfsumme zusammengedampft
entsprechend der Definition des verwendeten Algorithmus zur Prüfsumme.
Triviales Beispiel einer Prüfsumme: Wenn die Datei bitweise mindestens
zu 50% aus Einsen besteht, dann ist die Prüfsumme 1, sonst 0. So ein
Algorithmus hat eine Laufzeit proportional zu Dateigröße N, da jedes
Bit höchstens einmal gelesen wird. Das geht nun einmal schnell. Auch
bei làngeren Prüfsummen kann es proportional zu N sein. Anschließend
wird die Prüfsumme noch mit der gespeicherten Prüfsumme aus einer
schon sortierten Liste mit L Eintràgen verglichen. Das geht
proportional zu log_2 L, also vernachlàssigbar schnell. Fürs Prüfen
aller Dateien ist der Aufwand also beim Verwenden einer einfachen
Prüfsumme etwas langsamer als proportional zur Gesamtgröße aller
Dateien, die alle einmal gelesen werden wollen. (Ob es noch schneller
geht, weil ggf. der Virenscanner beim OS zuverlàssig abfragen kann,
wann der letzte Zugriff zu einer Datei war, weiß ich nicht. Bei
komplexeren Prüfsummenalgorithmen geht es sicherlich auch langsamer.)

Andere Scanfunktionen dauern ggf. (pro Datei) lànger.

Ähnliche fragen