Aufbau

Computerviren haben viele unterschiedliche Formen, daher ist es nur schwer möglich zu beschreiben, wie ein Virus grundsätzlich aufgebaut ist. Der einzige nötige Bestandteil, der aus einem Computerprogramm per Definition einen Computervirus macht, ist die Vermehrungsroutine.

Die folgende Erklärung ist keineswegs ein Standard für alle Viren. Manche Viren können mehr Funktionen haben, andere wiederum weniger.

  • Entschlüsselungsroutine: Dieser Teil sorgt bei verschlüsselten Viren dafür, dass die verschlüsselten Daten wieder zur Ausführung gebracht werden können. Nicht alle Viren besitzen diesen Teil, da nicht alle verschlüsselt sind. Oft wird die Entschlüsslungsroutine der Viren von Antiviren-Herstellern dazu benützt, das Virus zu identifizieren, da dieser Teil oft klarer erkennbar ist als der Rest des Virus.
  • Vermehrungsteil: Dieser Programmteil sorgt für die Vermehrung des Virus. Es ist der einzige Teil, den jedes Virus hat (Definition).
  • Erkennungsteil: Im Erkennungsteil wird geprüft, ob die Infektion eines Programms oder Systembereichs bereits erfolgt ist. Jedes Wirtsprogramm wird nur einmal infiziert. Dieser Teil ist in fast allen nicht-überschreibenden Computerviren vorhanden.
  • Schadensteil: Im Verhältnis zur Zahl der Computerviren haben nur sehr wenige einen Schadensteil (Payload). Der Schadensteil ist der Grund für die Angst vieler Menschen vor Computerviren.
  • Bedingungsteil: Der Bedingungsteil ist dafür verantwortlich, dass der Schadensteil ausgeführt wird. Er ist in den meisten Computerviren mit einem Schadensteil enthalten. Viren ohne Bedingungsteil führen den Schadensteil entweder bei jeder Aktivierung oder – in ganz seltenen Fällen – niemals aus. Der Bedingungsteil (Trigger) kann zum Beispiel das Payload an einem bestimmten Datum ausführen oder bei bestimmten Systemvoraussetzungen (Anzahl der Dateien, Größe des freien Speicherplatzes, etc.) oder einfach zufällig.
  • Tarnungsteil: Ein Tarnungsteil ist nur in wenigen, komplexen Viren vorhanden. Er kann das Virus zum Beispiel verschlüsseln oder ihm eine andere Form geben (Polymorphismus, Metamorphismus). Dieser Teil dient zum Schutz des Virus vor der Erkennung durch Anti-Viren-Software. Es gibt aber nur eine sehr geringe Anzahl von Viren, die nicht vollständig erkannt werden können (z. B.: Win32.ZMist, ACG, Win32.MetaPHOR oder OneHalf).

Achillesferse eines Virus

Damit ein Virenscanner ein Virus identifizieren kann, benötigt er dessen Signatur. Ein Virus versucht, ein System zu infizieren, und dies geschieht z. B. bei einem Linkvirus durch das Anhängen an ein bestehendes Programm. Dabei muss es (abgesehen von überschreibenden Viren) zuerst prüfen, ob es dieses Programm bereits infiziert hat – sprich, es muss in der Lage sein, sich selbst zu erkennen. Würde es dies nicht machen, könnte es ein Programm theoretisch beliebig oft infizieren, was aufgrund der Dateigröße und der CPU-Belastung sehr schnell auffallen würde. Dieses Erkennungsmuster – die Signatur – kann unter gewissen Umständen auch von Virenscannern genutzt werden, um das Virus zu erkennen. Polymorphe Viren sind in der Lage, mit verschiedenen Signaturen zu arbeiten, die sich verändern können, jedoch stets einer Regel gehorchen. Daher ist es den Herstellern von Anti-Viren-Software relativ einfach und schnell möglich, ein neues Virus nach dessen Bekanntwerden zu identifizieren.

Viele Viren benutzen anstelle von polymorphen Signaturen sehr kleine Kennzeichnungen wie zum Beispiel ein ungenutztes Byte im Portable-Executable-Format. Ein Virenscanner kann dieses eine Byte nicht als Erkennungsmuster nutzen, da es zu viele falsch positive Treffer geben würde. Für ein Virus ist es jedoch kein Problem, wenn es unter ungünstigen Verhältnissen einige Dateien nicht infiziert.

 
Diese Webseite wurde kostenlos mit Homepage-Baukasten.de erstellt. Willst du auch eine eigene Webseite?
Gratis anmelden