Ale Geschrieben 22. September 2003 Geschrieben 22. September 2003 Hallo Leute! Ich habe einige Fragen an Euch. Ich habe die Aufgabe hier, heraus zu finden, wie ein Virus arbeitet, wie ein Virus aufgebaut ist und wie Antivirensoftware Viren erkennen. Im Netz finde ich nirgends Informationen darüber. Kann ich mit Eurer Unterstützung rechnen? Im Voraus sag ich schonmal VIELN DANK! Zitieren
dummabua Geschrieben 23. September 2003 Geschrieben 23. September 2003 ich hab zwar mein schlaues buch ned da, aber ich versuchs mal. Also erst einmal vorweg, wie ein Virus funktioniert kannman allgemein fast nicht sagen, da es viele arten von Viren gibt. Aber die einfachste Funktoinsweise eines Virus is diese: Schau ob du dieses System schon infiziert hast wenn ja ->ok wenn nein ->infiziere es richte schaden an (in welcher form auch immer) Es gibt aber zuviele verschiedene Viren, um deren Funktion hier aufzuzeigen. Virensoftware arbeitet nach dem Prinzip: z.b. Symantec erfährt von einem neuen Virus, analysiert ihn und schreibt ein update für deinen virenscanner mit dieser Signatur. jetzt "kennt" dein Anti-Virus diesen Virus und kann nach dieser Signatur ausschau halten und verdächtige Programme oder Aktionen unter Quarantäne stellen oder gleich löschen (liegt bei dir). Und dann gibt es noch sog. Heuristiken bei symantec nennt sich die Bloodhound Heuristik: hier genaueres von www.symantec.de Die gängige Art, einen Computervirus zu identifizieren, basiert auf dem Wiedererkennen von Bytefolgen (Scan-Code), die ein Virusprogramm in den befallenen Dateien hinterläßt. Diese Technik hat einen Haken. Um einen Virus zu erkennen, muß dieser bereits bekannt sein. Nur dann kann eine ihn identifizierende Folge von Nullen und Einsen als Grundlage einer Suche eingesetzt werden. Ein neuer Virus ist auf diese Art mit großer Wahrscheinlichkeit nicht zu fangen. Das führt dazu, daß die Entwickler von Antivirenprogrammen den Virenprogrammierern stets einen Schritt im Hintertreffen bleiben. Um an neue Viren heranzukommen, bevor diese ihren Schaden angerichtet haben, bedarf es anderer Technologien. Eine dieser Lösungsansätze ist das heuristische Verfahren. Das heuristische Verfahren ist in der Anti-Viren-Szene ein feststehender Begriff für eine Programmanalyse, die einen Virus ermittelt, ohne auf einen bereits bekannten Scan-Code zurückzugreifen. Ein beliebtes Beispiel zur Erläuterung dieser Technik ist die Art, wie Polizisten Gangster fangen. Ein Polizist könnte alle Personen eines einschlägigen Viertels festnehmen, von allen festgenommenen Personen Fingerabdrücke nehmen und diese mit den in der Datenbank gespeicherten Abdrücken vergleichen, um gesuchte Personen eindeutig zu identifizieren. Diese sichere Methode ist vergleichbar mit dem Vergleich der Scancodes. Sie hat den Nachteil, daß nur die bereits erfaßten Personen gefunden werden können. Bösewichte, die noch nie erwischt wurden, fängt die Polizei so nicht. Würde der Polizist ähnlich dem heuristischen Verfahren vorgehen, würde er jede Person, die ihm über den Weg liefe, nach bestimmten Eigenschaften oder Verhaltensweisen kontrollieren. Sieht er einen Mann mit Strumpfmaske, Waffe in der einen und Geldsack in der anderen Hand schnell laufen, kann er mit großer Wahrscheinlichkeit davon ausgehen, daß es sich dabei um einen Bankräuber handelt. Er identifiziert ihn, ohne daß der Bandit jemals polizeilich bekannt wurde. Ebenso läßt er die gebrechliche alte Dame mit Haarnetz, Pudel und Gebetbuch unbeachtet laufen, da sie keines der straftattypischen Eigenschaften aufweist. Dieses Verfahren hat natürlich auch einen Haken, denn der vermeintliche Bankräuber könnte von einer Karnevalsveranstaltung kommen, die alte Frau ein geschickt getarnter Trickdieb sein, der junge Männer beim gemeinsamen Überqueren verkehrsreicher Straßen die Brieftasche stiehlt. Eine absolute Sicherheit kann das heuristische Verfahren also nicht geben. Man schätzt heute, daß die heuristischen Verfahren mit 70-80%iger Trefferquote arbeiten. Die heuristischen Virensuchverfahren arbeiten ähnlich wie der Polizist. Sie analysieren ein ausführbares Programm nach virenrelevanten Aktionen. Häufig konzentrieren sich die Analysen auf bestimmte Bereiche der Programme, in denen Viren in der Regel tätig werden, so etwa den Anfang oder das Ende eines Programmcodes. Würde das gesamte Programm analysiert, könnte das mitunter sehr lange dauern. Bei der Analyse werden die Bytesequenzen des Programms in Assemblerbefehle übersetzt. In diesen liest das Virenschutzprogramm nach klassischen Funktionsaufrufen der Viren, etwa den Zugriff auf einen Datenträger. Man unterscheidet zwei verschiedene heuristische Verfahren, das statische und das dynamische Scannen. Beim statischen Scannen greift das Antivirenprogramm auf eine Datenbank zurück, in der Bytefolgen gespeichert sind, die virentypische Aktionen ausführen. Ähnlich wie beim Überprüfen der Scan-Codes von Viren findet hier ein Vergleich zwischen Datenbank und analysierten Programmteilen statt. Dieses Verfahren erhöht zwar die Wahrscheinlichkeit, einen neuen Virus zu finden, doch ist es ebenfalls auf vorgespeicherte Codesequenzen angewiesen, Aktionen, die einen Virus zwar identifizieren würden, die der Virus aber durch nicht gespeicherte Befehlssequenzen aktiviert, bleiben verborgen. Sehr viel eleganter löst die dynamische Analyse das Problem eines möglichen Virenbefalls. Das dynamische heuristische Verfahren läßt das zu prüfende Programm einfach laufen, ohne Rücksicht auf Verluste aber mit einem doppelten Boden, den der Virus nicht bemerkt. Vor dem Programmstart erzeugt das Antivirenprogramm einen virtuellen Computer im Computer. Es simuliert in einem abgeschotteten Speicherbereich den vorhandenen Rechner mit all seinen Eigenschaften und Komponenten. Dieser virtuelle Computer arbeitet wie der reale, ist aber gegen Zugriffe etwa auf den Datenbestand gefeit. Vor- und Nachteile Während des Programmablaufs kann das Antivirenprogramm jede Aktivität der zu prüfenden Software protokollieren. Das hat verschiedene Vorteile. Das statische Verfahren könnte etwa registrieren, daß ein Schreibvorgang von der Software aktiviert werden soll. Das allein kann als Indiz für eine Virustätigkeit gewertet werden, sicher ist das Schutzprogramm aber nicht. Es wäre auf der anderen Seite töricht, der Software diesen Schreibzugriff zu gestatten, ohne weitere Prüfungen durchzuführen, denn wenn sich aus dem Überschreiben des Programmcodes ergibt, daß ein Virus tätig wurde, ist das Originalprogramm infiziert, möglicherweise sogar irreparabel. Beim dynamischen Verfahren darf sich das Schutzprogramm bequem zurücklehnen und nicht nur den Schreibversuch registrieren, sondern ihn auch ausführen lassen. Die Folge des Schreibens gibt sehr genaue Auskunft darüber, ob es sich um einen Virenbefall handelt oder nicht. Da im schlimmsten Fall nur das im virtuellen Computer befindliche Programm verseucht wird, bleibt der originale Datenbestand sicher, der unbekannte Virus hat sich aber zu erkennen gegeben. Vor dem Befall können dann entsprechende Schutzmaßnahmen eingeleitet werden. Besonders effektiv erweist sich die Kombination der statischen und dynamischen Verfahren, wie sie beispielsweise Symantec unter dem Namen "Bloodhound" in den neuen Norton AntiVirus-Programmen einsetzt. Die Bloodhound-Technologie wartet nicht darauf, daß sich ein Virus durch einen Aufruf zu erkennen gibt, sondern versucht die möglicherweise in den Programmen enthaltenen Viren durch intelligente Verfahren zu aktivieren. Es nutzt die Erfahrungen der Virenbekämpfer hinsichtlich der typischen Aktivitäten von Virenprogrammen und reizt dementsprechend die zu testenden Programme, so daß die Viren wie ein nicht kontrollierbarer Reflex aktiviert werden und sich zu erkennen geben. Mit diesen Verfahren schafft es Norton Antivirus, unbekannte Viren mit einer Sicherheit von bis zu 90% zu erkennen. Eine absolute Sicherheit kann auch diese Technik nicht garantieren, aber die gibt es ohnehin nicht. So sollte sich jeder Anwender auch darüber im klaren sein, daß nicht nur das Antiviren-Programm Schutz vor Virenbefall leistet, sondern darüber hinaus eine Reihe von weiteren Faktoren im Spiel sind, die er zum großen Teil selber beeinflußen kann. Das beginnt bei einer gesunden Skepsis vor unbekannten Programmen, geht über die Sorgfalt einer durchdachten Datensicherung und endet bei einer regelmäßigen Kontrolle durch Schutzprogramme. Und nicht zuletzt muß sich der Anwender um ein regelmäßiges Update seiner AntiViren-Software bemühen, denn der Schutz ist nur so lange effektiv, bis der nächste Virus in Umlauf kommt und die Softwareanbieter ein entsprechendes Gegenmittel in Form eines Updates zur Verfügung stellen. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.