Es ist eine triviale Übung in endlichen Automaten zu zeigen, dass es keinen Algorithmus gibt, der alle Viren erkennen kann, aber es gibt viele Softwareunternehmen, die Anti-Virus-Software verkaufen.
Gibt es einen Teil von CS, der sich mit Viren und Antiviren befasst?
PS: Ich frage nicht nach einer nicht CS-bezogenen Rechtfertigung für AV oder nicht, sondern nur nach der Kategorie / dem Thema innerhalb von CS, unter die sie gegebenenfalls fallen. Wenn AV kein Thema in CS ist, ist dies auch eine akzeptable Antwort. Gibt es im CS-Kontext Hinweise auf Viren und AVs?
reference-request
security
Arjang
quelle
quelle
Antworten:
Es gibt einen Teilbereich der Computersicherheit, der als Computervirologie bezeichnet wird. Das Journal of Computer Virology widmet sich dem Thema. Wenn Sie untersuchen, wie Antivirensoftware funktioniert, wird nur die Oberfläche des Bereichs zerkratzt.
Zum Beispiel gibt es sogar einige Arbeiten, bei denen Logik auf Malware angewendet wird: Eine allgemeine Definition von Malware von S. Kramer und JC Bradfield. Journal of Computer Virology (6) 2010.
quelle
Viren und Antivirentechnologie haben viel mit CS zu tun. Ihre Frage erinnerte mich an etwas, das ich kürzlich gelesen hatte. Hier ist ein Auszug aus dem Buch von Williamson & Shmoys, Das Design von Approximationsalgorithmen, Seite 6. Es rechtfertigt die (praktische) Bedeutung von Approximationsalgorithmen und verwendet das bekannte Set-Cover-Problem als Beispiel im Zusammenhang mit Viren:
Überraschend oder nicht, dieses Beispiel zeigt, dass zumindest Techniken der KI und der kombinatorischen Optimierung nützlich sind. Nach dem Lesen könnte man leicht glauben, dass viele Bereiche von CS Dinge haben, die im Zusammenhang mit Viren und deren Erkennung angewendet werden können. Um Ihre Frage direkter zu beantworten, befassen sich viele Dinge in CS zumindest indirekt mit Viren.
quelle
Sie sollten vorsichtig sein, wenn Sie theoretische Ergebnisse verwenden, um zu argumentieren, dass in der Praxis etwas nicht möglich ist. Es gibt mehrere Gefahren, in die man fallen kann:
Das theoretische Ergebnis hat Annahmen, die nicht zutreffen.
Das Problem in der Praxis wird durch das theoretische Modell nicht gut modelliert.
In der Praxis muss eine Lösung nicht perfekt sein, um nützlich zu sein.
Sie haben keine formale Definition dessen gegeben, was ein Virus ist. Daher kann es hilfreich sein, Ihre Behauptung über die triviale Übung zu erweitern, um zu verstehen, was Sie wirklich meinen.
Ein großer Teil der Arbeit einer Antivirensoftware besteht darin, bekannte Viren (und ihre Varianten) zu erkennen. Dazu werden Zeichenfolgen (in Dateien, Speicher usw.) mit einer endlichen Liste von Zeichenfolgen (Virensignaturen) verglichen. Aus diesem Grund müssen wir die Datenbank der Antivirensoftware regelmäßig aktualisieren.
Es gibt zusätzliche Funktionen zum Erkennen potenzieller Viren anhand ihres "Verhaltens", aber diese Methoden sind weder vollständig noch solide (und sie müssen nicht vollständig sein, um nützlich zu sein). Das Entwerfen einer Antivirensoftware scheint bisher eher in der Informatik als in der Informatik zu liegen (obwohl Informatik und Computertechnik eng miteinander verbunden sind).
Im Allgemeinen würden diese Studien in einen stärker angewandten Teil der Computersicherheit (und allgemeiner in Systembereiche: Computernetzwerke, Betriebssysteme usw.) der Informatik fallen, wobei jedoch Ideen aus anderen Teilen der Informatik (maschinelles Lernen usw.) verwendet werden typisch.
Vielleicht möchten Sie die Kunst der Computervirusforschung und -abwehr überprüfen .
quelle