Also habe ich in letzter Zeit über Viren nachgedacht und mich gefragt, wie genau Antivirenprogramme mithalten? Wenn man bedenkt, dass jeder, der ein paar Wochen lang programmiert hatte, etwas zusammenhacken könnte, was unangenehme, unangenehme Dinge für den PC eines anderen macht, würde die Menge allein eine einfache Liste von Hashes unzulässig machen. Wie machen Antivirenprogramme das? Überwachen sie die Prozessaktivität und haben eine 3-Strike-Regel für virusähnliche Vorgänge? Und wenn ja, was hindert es daran, absolut harmlose Dinge auszulösen (wie das Verschieben von Dateien in \ system32)?
Ich habe ein bisschen gegoogelt, aber die regulären Plätze haben nicht besonders geholfen, und ich konnte hier keinen Trottel finden, also dachte ich, es wäre gut zu fragen :)
quelle
Antworten:
Dieser Artikel aus dem Jahr 2002 befasst sich mit dem Erstellen einer Antiviren-Engine.
Es gibt auch einen Artikel über heuristische Techniken zur Erkennung von Infektionen. Es ist auch eine interessante Lektüre.
quelle
Vor ungefähr einem Jahr besuchte ich einen Vortrag von Mikko Hyyppönen, einem der Hauptforscher von F-Secure. Er zeigte ihr automatisiertes Testnetzwerk, in dem sie virtuelle Maschinen für jede an sie gesendete Probe erstellen, ihre Struktur analysieren, sie ausführen lassen, alle Aktionen protokollieren, sie mit früheren Proben vergleichen und eine Zusammenfassung erstellen, die ein Mensch später überprüfen kann. Wenn der Mensch zu dem Schluss kommt, dass es sich um einen Virus handelt, generiert das System automatisch die Erkennungssignatur und sendet ein Update an die Kunden. Ich stelle mir vor, dass andere Anbieter ähnliche Systeme haben, um ihre Signaturdatenbanken auf dem neuesten Stand zu halten.
quelle
Von Wie funktioniert Antivirensoftware? (AntivirusWorld):
Ein Antivirenprogramm ist ein Computerprogramm, mit dem Dateien gescannt werden können, um Computerviren und andere schädliche Software (Malware) zu identifizieren und zu entfernen.
Antivirensoftware verwendet normalerweise zwei verschiedene Techniken, um dies zu erreichen:
Ansatz des Virenwörterbuchs Wenn die Antivirensoftware eine Datei untersucht, bezieht sie sich beim Ansatz des Virenwörterbuchs auf ein Wörterbuch bekannter Viren, die vom Autor der Antivirensoftware identifiziert wurden. Wenn ein Teil des Codes in der Datei mit einem im Wörterbuch identifizierten Virus übereinstimmt, kann die Antivirensoftware die Datei entweder löschen, unter Quarantäne stellen, sodass die Datei für andere Programme nicht zugänglich ist und sich der Virus nicht verbreiten kann, oder dies versuchen um die Datei zu reparieren, indem Sie den Virus selbst aus der Datei entfernen.
Um mittel- und langfristig erfolgreich zu sein, müssen regelmäßig aktualisierte Einträge aus dem Virenwörterbuch heruntergeladen werden. Wenn neue Viren "in the wild" identifiziert werden, können zivilgesellschaftliche und technisch versierte Benutzer ihre infizierten Dateien an die Autoren von Antivirensoftware senden, die dann Informationen zu den neuen Viren in ihre Wörterbücher aufnehmen.
Eine wörterbuchbasierte Antivirensoftware überprüft normalerweise Dateien, wenn das Betriebssystem des Computers sie erstellt, öffnet und schließt. und wenn die Dateien per E-Mail verschickt werden. Auf diese Weise kann ein bekannter Virus sofort nach Erhalt erkannt werden. Die Software kann normalerweise auch so geplant werden, dass alle Dateien auf der Festplatte des Benutzers regelmäßig überprüft werden.
Obwohl der Wörterbuchansatz als effektiv erachtet wird, haben Virenautoren versucht, einer solchen Software einen Schritt voraus zu sein, indem sie "polymorphe Viren" geschrieben haben, die Teile von sich selbst verschlüsseln oder sich auf andere Weise als Methode der Verschleierung modifizieren, um nicht mit der Signatur des Virus übereinzustimmen im Wörterbuch.
Vorgehensweise bei verdächtigem Verhalten Im Gegensatz dazu versucht die Vorgehensweise bei verdächtigem Verhalten nicht, bekannte Viren zu identifizieren, sondern überwacht das Verhalten aller Programme. Wenn ein Programm beispielsweise versucht, Daten in ein ausführbares Programm zu schreiben, wird dies als verdächtiges Verhalten gekennzeichnet, und der Benutzer wird darauf hingewiesen und gefragt, was zu tun ist.
Im Gegensatz zum Wörterbuchansatz bietet der Ansatz des verdächtigen Verhaltens daher Schutz vor brandneuen Viren, die noch in keinem Virenwörterbuch vorhanden sind. Es wird jedoch auch eine große Anzahl von Fehlalarmen ausgegeben, und Benutzer werden wahrscheinlich für alle Warnungen desensibilisiert. Wenn der Benutzer bei jeder solchen Warnung auf "Akzeptieren" klickt, ist die Antivirensoftware für diesen Benutzer offensichtlich nutzlos. Dieses Problem hat sich in den letzten 7 Jahren besonders verschärft, da viele weitere nicht bösartige Programmdesigns andere .exes ohne Rücksicht auf dieses falsch-positive Problem geändert haben. Daher wird diese Technik in den meisten modernen Antivirensoftware immer seltener verwendet.
Andere Methoden zum Erkennen von Viren Einige Antivirensoftwareprogramme versuchen, den Anfang des Codes jeder neuen ausführbaren Datei zu emulieren, die ausgeführt wird, bevor die Kontrolle auf die ausführbare Datei übertragen wird. Wenn das Programm scheinbar selbstmodifizierenden Code verwendet oder auf andere Weise als Virus auftritt (es versucht sofort, andere ausführbare Dateien zu finden), kann man davon ausgehen, dass die ausführbare Datei mit einem Virus infiziert wurde. Diese Methode führt jedoch zu vielen Fehlalarmen.
Eine weitere Erkennungsmethode ist die Verwendung einer Sandbox. Eine Sandbox emuliert das Betriebssystem und führt die ausführbare Datei in dieser Simulation aus. Nach dem Beenden des Programms wird die Sandbox auf Änderungen untersucht, die auf einen Virus hindeuten könnten. Aufgrund von Leistungsproblemen wird diese Art der Erkennung normalerweise nur bei On-Demand-Scans durchgeführt.
Anlass zur Sorge
Makroviren, die wohl zerstörerischsten und am weitesten verbreiteten Computerviren, könnten weitaus kostengünstiger und effektiver verhindert werden, ohne dass alle Benutzer Antivirensoftware kaufen müssten, wenn Microsoft Sicherheitslücken in Microsoft Outlook und Microsoft Office im Zusammenhang mit Microsoft beheben würde Ausführung von heruntergeladenem Code und die Fähigkeit von Dokumentmakros, sich auszubreiten und Chaos anzurichten.
Benutzererziehung ist ebenso wichtig wie Antivirensoftware. Eine Schulung der Benutzer in sicheren Computerpraktiken, beispielsweise das Nicht-Herunterladen und Ausführen unbekannter Programme aus dem Internet, würde die Ausbreitung von Viren verlangsamen, ohne dass Antivirensoftware erforderlich wäre.
Computerbenutzer sollten nicht immer mit Administratorzugriff auf ihren eigenen Computer ausgeführt werden. Wenn sie einfach im Benutzermodus ausgeführt würden, könnten sich einige Arten von Viren nicht verbreiten.
Der Wörterbuchansatz zum Erkennen von Viren ist häufig unzureichend, da ständig neue Viren erstellt werden. Der Ansatz des verdächtigen Verhaltens ist jedoch aufgrund des falsch-positiven Problems unwirksam. Daher wird das derzeitige Verständnis von Antivirensoftware niemals Computerviren besiegen.
Es gibt verschiedene Methoden zum Verschlüsseln und Packen von schädlicher Software, mit denen selbst bekannte Viren von Antivirensoftware nicht erkannt werden können. Das Erkennen dieser "getarnten" Viren erfordert eine leistungsstarke Entpackungs-Engine, die die Dateien entschlüsseln kann, bevor sie untersucht werden. Leider haben viele gängige Antivirenprogramme dies nicht und können daher verschlüsselte Viren oft nicht erkennen.
Unternehmen, die Antivirensoftware verkaufen, scheinen einen finanziellen Anreiz dafür zu haben, dass Viren geschrieben werden und sich verbreiten, und dass die Öffentlichkeit über die Bedrohung in Panik gerät.
(Dieser Artikel gefällt mir und ich habe ihn nur aus AntivirusWorld kopiert und eingefügt.)
quelle
Phoshi, deine Frage ist sehr interessant, aber ich empfehle dir, deine Suche mit einer anderen zu beginnen. Ich rate dazu, weil die Antworten auf die von Ihnen gestellte Frage Sie irreführen können.
Ich empfehle Ihnen, zunächst darüber nachzudenken, was Sie als Virus betrachten und wie es definiert ist.
Elite-Virenschreiber sind Sicherheitsforscher, keine Skriptkinder. Ihre Virendefinition lautet: "Ein Virus ist ein Teil des Codes, der sich selbst vermehren kann". Das ist es. Wie Sie sehen, werden hier keine zerstörerischen Eigenschaften erwähnt. Alle Viren müssen böse sein - das ist FUD, das Sie von proprietären Antivirenherstellern erhalten, damit sie ihre Software verkaufen können.
IMHO ist es ratsam, Viren als Teil des gesamten Software-Ökosystems zu behandeln, nicht als außerhalb böser "Aliens".
quelle
Eine sehr wichtige Sichtweise auf Viren ist die umgekehrte. Wie gefährden Viren Systeme? Dies ist normalerweise auf Software-Schwachstellen zurückzuführen. Antivirensoftware ist sich dieser Sicherheitsanfälligkeiten bewusst und sucht nach Software, die diese Sicherheitsanfälligkeiten beeinflusst. In jedem Fall tun Viren immer etwas. Sie brauchen also einen Arbeitsprozess, um das zu tun, was sie am besten können. Manchmal ist dies in einem existierenden, manchmal erstellen sie sich selbst.
MOST-Viren funktionieren jedoch auf ähnliche Weise, sodass ein Virenscanner leicht zwischen ihnen unterscheiden kann. Es gibt viele verschiedene Viren, die dieselbe Sicherheitsanfälligkeit ausnutzen!
http://en.wikipedia.org/wiki/List_of_computer_viruses
quelle