Wie funktioniert Antivirensoftware genau?
-
Kann mir mal das einer genau erklären?
Nehmen wir mal an, wir haben eine ausführbare EXE Datei für ein Progamm.
Das Progamm funktioniert noch, aber in der EXE des Programms ist ein Virus enthalten der dann gestatet wird, wenn auch das Programm gestartet wird.Wie geht nun eine Antivirensoftware vor, diesen Virus zu erkennen und so zu beseitigen, daß die Anwendung danach weiterhin fehlerfrei funktioniert?
Und wie sieht es mit Antivirensoftware im Heuristicmodus aus?
Wie funktioniert hier die Virenerkennung?
-
Allgemeines Vorgehen ist natürlich, die Datei Stückweise zu durchsuchen und mit bekannten Viren (oder genauer gesagt deren Signaturen (=Hash-Werte), sonst würde es zu lange dauern) zu vergleichen.
Virensoftware schrieb:
Wie geht nun eine Antivirensoftware vor, diesen Virus zu erkennen und so zu beseitigen, daß die Anwendung danach weiterhin fehlerfrei funktioniert?
Gar nicht. Im Normalfall ist die verseuchte Datei nicht wiederherstellbar. Viren die eine befallene Datei unangetastet lassen sind eher selten. In diesem seltenen Fall kann man natürlich einfach den Virusteil entfernen.
Und wie sieht es mit Antivirensoftware im Heuristicmodus aus?
Wie funktioniert hier die Virenerkennung?Das ist primitiver als man denkt. Es geht darum, mutierende Viren zu finden, nicht unbekannte Viren. Bei mutierenden Viren sind, wenn auch nicht alle Teile, zumindest Teilbereiche identisch. Es wird also nicht nach der Signatur des ganzen Virus gesucht sondern nach den Signaturen der Teilbereiche.
P.S.: Schonmal was von Wikipedia oder Google gehört? Sind recht nützlich...
-
Ich kenne keine Antivirensoftware die infizierte Dateien nicht einfach löscht / in Quarantäne verschiebt / was auch immer.
Heuristicmodus:
http://c-plusplus.net/forum/viewtopic-var-t-is-263881.html
Da ist ein Beispiel drin.#edit: Hmpf.
Soweit ich weiß geht es beim Heuristicmodus sehr wohl auch um das finden unbekannter Viren.
Viele Virenscanner schlagen doch auch bei selbstgebauten "Hackertools" an, zumindest wenn man sich schonmal etwas mit Hooks, DLL - Injection & co beschäftigt hat.
-
SeppJ schrieb:
Das ist primitiver als man denkt. Es geht darum, mutierende Viren zu finden, nicht unbekannte Viren. Bei mutierenden Viren sind, wenn auch nicht alle Teile, zumindest Teilbereiche identisch. Es wird also nicht nach der Signatur des ganzen Virus gesucht sondern nach den Signaturen der Teilbereiche.
Und wie unterscheidet man diese Teilbereiche von Teilbereichen normaler Programme?
Eine for Schleife dürfte ja z.b. bei einem Virus genau gleich aussehen wie bei einem beliebigen Programm.
-
Und dann noch eine Frage.
Wenn die Virenerkennung anhand von Hashwerten basiert, wie werden dann völlig neu entwickelte Viren erkannt zu denen es ja noch gar keine Hashwerte gibt?
Hier müßte ja wohl erst ein Anwender so schlau sein, eine Datei die diesen Virus enthält, zu verdächtigen und dann diese Datei einem Antivirensoftwarelabor zukommen lassen, damit die eine Erkennung in ihre Virensoftware einbauen.
-
blub² schrieb:
Viele Virenscanner schlagen doch auch bei selbstgebauten "Hackertools" an, zumindest wenn man sich schonmal etwas mit Hooks, DLL - Injection & co beschäftigt hat.
AntiVir 9 hat bei mir mehrere selbstgeschriebene Programme gemeldet
Unter anderem eins, das mehrere Dateien enthält, diese in den Temp-Ordner entpackt und eine Datei dann ausführt...
Sogar einen Zufallszahlengenerator hat es gemeldet.
-
Virensoftware schrieb:
Und dann noch eine Frage.
Wenn die Virenerkennung anhand von Hashwerten basiert, wie werden dann völlig neu entwickelte Viren erkannt zu denen es ja noch gar keine Hashwerte gibt?
Hier müßte ja wohl erst ein Anwender so schlau sein, eine Datei die diesen Virus enthält, zu verdächtigen und dann diese Datei einem Antivirensoftwarelabor zukommen lassen, damit die eine Erkennung in ihre Virensoftware einbauen.
Dafür gibt es Heuristiken.
Zum Beispiel fragt der Microsoft Security Essentials Scanner ob er eine potentiell gefährliche Datei an MS schicken darf wenn er sie noch nicht kennt.
-
SeppJ schrieb:
Das ist primitiver als man denkt. Es geht darum, mutierende Viren zu finden, nicht unbekannte Viren. Bei mutierenden Viren sind, wenn auch nicht alle Teile, zumindest Teilbereiche identisch. Es wird also nicht nach der Signatur des ganzen Virus gesucht sondern nach den Signaturen der Teilbereiche.
Ich denke schon dass die versuchen neue "Viren" und "Trojaner" zu finden.
Ich kann mir nämlich grad nicht vorstellen, dass die Signatur eines bekannten, mutierenden Virus/Trojaners in gleich mehreren Szene Demos zu finden ist die ich mir von scene.org gezogen habe.
Nur die Dinger machen diverse Dinge um die Filegrösse klein zu halten. u.A. entpacken sie Code direkt in den Speicher, holen sich Systemfunktionen mittels GetModuleHandle/GetProcAddress etc.
Und Mr. Übervorsichtig Virenscanner schreit da gleich mal Feuer. Wo garnix brennt.
-
Es reicht bei einigen Virenscannern, das Programm mit UPX zu packen, um einen Alarm auszulösen. An der entpackten Version haben sie dagegen nichts zu meckern.
Diese hirnrissige "Heuristik" hat mir schon einigen Ärger bereitet.
-
Virensoftware schrieb:
Wenn die Virenerkennung anhand von Hashwerten basiert, wie werden dann völlig neu entwickelte Viren erkannt zu denen es ja noch gar keine Hashwerte gibt?
Solange der neu entwickelte Virus nur bei dem Virusentwickler ist, ist er keine Gefahr. Wenn er sich verbreitet, wird er auch früher oder später einen Rechner (Honeypot) eines Antivirenherstellers erwischen, dort wird er dann untersucht und kommt auf die schwarze Liste.
Einige Viren versuchen Honeypots zu vermeiden um möglichst nicht entdeckt zu werden. Auch Würmer die sich über E-Mail verschicken vermeiden häufig Mailadressen die Stichwörter wie Norton, Security, AV, anti, Virus und ähnliches enthalten.
Andere Viren attackieren massiv Honeypots und schicken sich mit Absicht an die Adressen bekannter Antivirenhersteller um ganz nach oben in Listen wie diese zu kommen.
-
blub² schrieb:
Ich kenne keine Antivirensoftware die infizierte Dateien nicht einfach löscht / in Quarantäne verschiebt / was auch immer.
Heuristicmodus:
http://c-plusplus.net/forum/viewtopic-var-t-is-263881.html
Da ist ein Beispiel drin.#edit: Hmpf.
Soweit ich weiß geht es beim Heuristicmodus sehr wohl auch um das finden unbekannter Viren.
Viele Virenscanner schlagen doch auch bei selbstgebauten "Hackertools" an, zumindest wenn man sich schonmal etwas mit Hooks, DLL - Injection & co beschäftigt hat.Hallo,
Weiss jetzt nicht genau ob das hier hin passt, aber als ich mit dem Programmieren angefagen hatte und ich eine Consolenanwendung mit Dev c++ erstellt habe, und ich eine einfache Ausgabe wie [cpp]cout << "1337" << endl; or cout << "HACK" << endl;[cpp] gemacht habe, hatte Avira angeschlagen
, jedesmal wenn ich Kompiliert hatte Schrieb Avira das es sich um Gefährliche Software Handelt.
Weil du ja meintest "Selbstgebaute Hackertools".
Lüb gruß da lass!.
Cplusplusler aia USA
-
nwp2 schrieb:
Einige Viren versuchen Honeypots zu vermeiden um möglichst nicht entdeckt zu werden. Auch Würmer die sich über E-Mail verschicken vermeiden häufig Mailadressen die Stichwörter wie Norton, Security, AV, anti, Virus und ähnliches enthalten.
Heißt das, daß eine E-Mail Adresse mit den Worten Antivirus im Namen weniger Spam bekommt?
Wenn das so ist, dann weiß ich schon meine zukünftige E-Mail Adresse.