Wäre es Computerviren jemals möglich, neue „Gene“ zu entwickeln, damit sie ihre Arbeit ausführen können?


8

Als Biologiestudent auf A-Level habe ich viel über die Verbindungen zu Biologie und Informatik nachgedacht, und etwas, das mir oft in den Sinn kommt, sind die Verbindungen zwischen Immunologie und Computersicherheit / Viren. Zum Beispiel habe ich (durch das Lesen der Funktionsweise der Antivirenprogramme) festgestellt, dass die Art und Weise, wie das Immunsystem mit Viren umgeht, Antivirenprogrammen sehr ähnlich ist (beide enthalten eine Datenbank mit Virendefinitionen (sei es Speicherzellen oder) Virensignaturen) und beide enthalten eine Extrapolationsmethode). Der natürliche Fortschritt für mich bestand darin, über die natürliche Entwicklung von Viren im Vergleich zu Computerviren nachzudenken. Also weiter zu meiner Frage:β

Wäre es jemals möglich, dass sich Computerviren zu neuen Stämmen entwickeln, die neue "Gene" besitzen, damit sie ihre Arbeit ausführen können?

Es scheint, als könnte diese Art des Denkens nur für Viren gelten. Ich meine, Ihr normaler alter Taschenrechner wird niemals einer "natürlichen Selektion" unterliegen. Soweit ich weiß , mutieren Viren jedoch selbst, um Antivirenprogramme zu vermeiden. Vermutlich werden diese jedoch eher kontrolliert, damit das Virus keine nicht vorteilhaften Mutationen erhält, die es sonst unbrauchbar machen könnten. Wenn die wahre Zufälligkeit der Natur auf Viren angewendet werden könnte, könnten sie jemals neue Funktionen entwickeln, wie zum Beispiel ein Retro-Virus, der ein Antivirenprogramm übernimmt, oder eine Mutation, um neuen Code aufzunehmen, der dies ermöglicht eine Firewall herunterfahren? Würden sie an einer Art rechnergestützter natürlicher Selektion beteiligt sein, bei der die stärksten Viren überleben und ihre nützlichen Gene weitergeben?


Eine wirklich coole Frage! Ich denke jedoch, dass die "Virus" -Metapher für Malware ziemlich unzureichend ist. Mein Verständnis war, dass der Hauptgedanke (nur?), Den Computerviren und echte Viren gemeinsam haben, ihre Fähigkeit ist, sich selbst zu verbreiten.
Jmite

1
@jmite Nun, zumindest für mich liegen die Ähnlichkeiten in der Tatsache, dass sie ja, sie replizieren, sie übernehmen auch die Kontrolle über das System, das sie in einigen / den meisten Fällen angreifen, sie verursachen meistens Schaden für das Opfer (mit Ausnahme einiger wohlwollender) Computer Virus). Beide Methoden müssen ebenfalls entfernt werden (z. B. Immunsystem- und Antivirenprogramme). Wenn ein Computer zum zweiten Mal auf denselben Virus trifft, wird er schneller entfernt (da jetzt eine Virendefinition verfügbar ist), ähnlich wie beim Immunsystem. Diese Ähnlichkeit ist wahrscheinlich der Grund, warum sie überhaupt als Viren bezeichnet wurden: D
J_mie6

2
Das Problem ist, dass einige davon falsch sind. Wenn ein Computer zum zweiten Mal auf einen Virus trifft, wird er nicht schneller entfernt. Computer können keine eigenen Virendefinitionen erstellen. Sie stammen von Sicherheitsunternehmen und werden wahrscheinlich aus einer Mischung aus Data Mining und Human Crafting stammen. Ein Virus ist keine äußere Kraft, wie es in einem Körper ist. Der Computer sieht keinen Unterschied zwischen dem Virus und einem anderen Programm. Es ist nur ein Stück Code. Deshalb läuft es. Der einzige Unterschied ist, dass die Wirkung dieses Programms etwas ist, das wir als Benutzer nicht wollen.
Jmite

Antworten:


7

Ich nehme an, dass dies theoretisch möglich wäre, aber Computer-Malware (Viren, Würmer usw.) funktioniert heute normalerweise nicht so, und es gibt gute Gründe, warum sie so geschrieben sind, wie sie sind.

Möglicherweise interessieren Sie sich für polymorphen Code , der sich selbst ändert, um der Erkennung zu entgehen. Es ändert die Befehlsfolge in eine andere Befehlsfolge, die den gleichen Effekt hat, aber eine andere Binärdatei hat. Dies hilft, sich der Erkennung durch Antiviren-Tools zu entziehen, die nach einer bestimmten "Signatur" von Bytes suchen. Dies ist jedoch nicht die Form der Mutation, nach der Sie fragen, da die Malware dadurch niemals ein neues Verhalten "entwickelt", das sie noch nicht hatte.

Es gibt wirklich nicht viele Gründe, warum Malware-Autoren ihre Malware wollen oder brauchen würden, um neue Funktionen zu entwickeln. Sie können entweder das gewünschte Verhalten in die Malware einbauen. Oder sie lassen die Malware einen zentralen "Command & Control" -Server kontaktieren, um regelmäßig neuen Code ("Software-Updates" für die Malware) herunterzuladen, damit sie das Verhalten der Malware kontrollieren können. Normalerweise ermitteln die Bösen offline, welche Angriffe sie ausführen möchten, und implementieren diese dann in die Malware oder befehlen der Malware, diese Angriffe auszuführen.

Indem die Angriffe im Voraus offline ausgeführt werden, können die Angreifer diese Angriffe auf ihren eigenen Systemen testen und sicherstellen, dass sie ordnungsgemäß funktionieren und nicht erkannt werden. Aus der Sicht des Angreifers ist dies viel besser als das Schreiben von Malware, die zufällig versucht, Dinge in der Hoffnung zu entwickeln, dass sie sich zu einem nützlichen Angriff entwickeln. Malware, die zufällige Dinge versucht, löst mit größerer Wahrscheinlichkeit Alarme aus und wird erkannt.

Es gibt also keine Notwendigkeit oder Motivation für die Verwendung von "natürlicher Selektion" in Malware, und dies wird in der Praxis normalerweise nicht gesehen.


Ja, polymorpher Code war das, wonach ich als Tag gesucht habe, aber er existierte nicht! Ihre Antwort wirft einige nette Punkte auf, und ich würde +1, wenn ich könnte (wenn ich den Repräsentanten hier habe). Ich wusste nicht, dass Viren Updates herunterladen können. Wie erreichen sie das? Ist es über die infizierten Maschinen Verbindungen?
J_mie6

@ J_mie6, sie stellen eine Netzwerkverbindung zu einem zentralen Server her (vom Angreifer gesteuert) und fragen ihn: "Haben Sie eine neue Software für mich?" und wenn die Antwort ja ist, laden sie sie herunter und führen das aus, was sie gerade heruntergeladen haben. Alternativ könnten sie den zentralen Server fragen: "Haben Sie Befehle für mich?" und wenn der zentrale Server Ja sagt, tun sie, was der zentrale Server ihnen befiehlt. Lesen Sie ein wenig über Botnets und C & C-Server, um mehr über dieses Thema zu erfahren. [Wenn meine Antwort nach ein oder zwei Tagen am nützlichsten ist, können Sie das Häkchen überprüfen, um sie zu akzeptieren.]
DW

Es gibt viele Gründe, warum Malware von (allgemeinen) Anpassungsstrategien profitieren würde. Beispielsweise können einige Angriffsalgorithmen basierend auf adaptiven Strategien optimiert werden. Malware hat sich zwar über viele Jahre "weiterentwickelt", jedoch nicht autonom, sondern über Autorenverbesserungen.
vzn

5

TL; DR: Computer sind keine autonomen Einheiten wie Organismen mit einem Überlebensinstinkt. Sie führen nur Anweisungen aus, und manchmal führen sie Anweisungen aus, die wir nicht mögen, also führen wir andere Anweisungen aus, um die schlechten zu finden.


Ich fing an, dies in den Kommentaren zu sagen, aber ich denke, es gibt noch viel mehr zu sagen.

Die Virenmetapher ist veraltet und wird von Menschen, die nicht verstehen, wie Computer tatsächlich funktionieren, zu häufig verwendet. Sie versuchen, sie mit Lebewesen zu vergleichen, weil sie Lebewesen verstehen. Hier ist eine bessere Metapher.

Sie sind Büroangestellter. Sie arbeiten für ein riesiges Mega-Unternehmen, in dem Sie Ihren Chef nicht sehen. Ihnen wird nie gesagt, warum Sie Ihren Job machen, Sie wissen nicht einmal, was Ihr Unternehmen tut. Alles, was Sie wissen, ist, dass Sie jeden Tag zur Arbeit erscheinen und Ihren Anweisungen folgen.

An Ihrem Schreibtisch befindet sich ein kleines Fenster. Nur so können Sie jemals mit anderen interagieren. Sie sehen niemanden, aber manchmal kommen Papierstücke durch das Fenster.

Ihre Anweisungen sind zu Beginn immer gleich, aber Sie haben einen riesigen Stapel Papiere an Ihrem Schreibtisch. Einige davon enthalten Anweisungen, andere enthalten Dinge, die Sie geschrieben haben. Manchmal werden Sie nach Ihren Anweisungen aufgefordert, ein anderes Blatt Papier zu finden und es als Anweisungen zu verwenden. Manchmal werden Sie aufgefordert, die Papierstücke zu wechseln, sie zu zerreißen oder Teile davon zu löschen. (Dies ist das Ausführen eines Programms. Manchmal bearbeiten Programme Dateien, manchmal führen sie andere Programme aus usw.)

Manchmal fordern Sie Ihre Anweisungen auf, am Fenster zu warten, bis mehr Papier kommt. Auf dem Papier befindet sich möglicherweise ein Bild, Text oder weitere Anweisungen. (Dies ist der Fall, wenn ein Computer auf Mauseingaben oder Tastatureingaben oder auf Daten aus einem Netzwerk (dh Dateien) wartet.)

Sie tun nichts anderes, als diese Anweisungen zu befolgen. Sie wissen nie warum, Sie wissen nie für wen, aber Sie tun es einfach.

Manchmal fordern Sie Ihre Anweisungen zum Multitasking auf. Du hast einen Stapel Papiere. Sie stellen einen Timer ein und arbeiten 5 Minuten lang an den Anweisungen auf dem oberen Papier. Wenn der Timer abgelaufen ist, legen Sie das Papier auf den Boden des Stapels und tun, was auch immer auf dem neuen oberen Papier ist. (Auf diese Weise führen Computer mehr als ein Programm gleichzeitig aus.)

Jetzt wartest du eines Tages auf ein Stück Papier am Fenster und weißt, wenn du es bekommst, wirst du tun, was immer es sagt, denn das ist, was die letzte Anweisung dir gesagt hat. Sie erhalten es, und es heißt, Sie müssen einige Ihrer wichtigsten Zettel mit Ihren Kernanweisungen finden und löschen. Es enthält neue Anweisungen, die Sie dort ablegen müssen. Diese machen einige seltsame Dinge, wie das Senden Ihrer Dateien aus dem Fenster an seltsame Orte oder das Sammeln von Sicherungskopien aller Dinge, die durch das Fenster kommen. Aber was wichtig ist, du denkst an nichts. Sie sind nur mehr Anweisungen. Du machst sie einfach.

Das ist ein Virus. Es ist nur eine Reihe von Anweisungen, mit denen Sie den Computer zum Laufen bringen.

Angenommen, Sie sind ein Multitasking-Mitarbeiter. Sie erhalten eine dieser Löschanweisungen im Fenster. Aber du bist beschäftigt, also legst du es auf den Boden des Stapels. Sie sehen sich oben auf Ihrem Stapel an Aufgaben an, und es gibt eine Reihe von Anweisungen mit der Aufschrift "Antivirus". Es heißt, Sie sollten alle Ihre Papiere durchlesen und prüfen, ob eines davon wie das Musterpapier aussieht. Sie tun dies und Sie sehen, dass die Löschanweisungen auf Ihrer Liste stehen.

Beachten Sie, dass Sie beim Ausführen der Virenanweisungen nichts davon halten. Ohne ein Antivirus gibt es keinen Angriff, es gibt keine Immunantwort. Es greift dich nicht an, es ist nur eine Reihe von Anweisungen. Das Antivirenprogramm ist nur eine TODO-Liste, in der Sie Ihre anderen Anweisungen lesen und diejenigen finden, die einem Muster entsprechen. Es geht nicht darum, das System als Ganzes zu erhalten, es ist nur ein Blatt Papier, das Ihnen jemand aus dem Fenster gegeben hat, weil es andere Leute daran hindert, Sie dazu zu bringen, Dinge zu tun, indem sie Dinge durch das Fenster stecken.

Was ist nun mit Ihren "sich entwickelnden" Viren? Dies ist sicherlich möglich, aber schauen wir uns an, was dies bedeutet. Ein sich entwickelnder Virus ist im Grunde eine Anleitung, die Ihnen sagt, wie Sie weitere Anweisungen erstellen können. Es ist ein Stück Papier, auf dem Sie aufgefordert werden, ein paar Ihrer alten Anweisungen zu löschen und dann neue an ihre Stelle zu setzen. Diese neuen Anweisungen weisen Sie jedoch auch an, alte Anweisungen zu löschen und neue Anweisungen usw. einzufügen. Die ursprünglichen Anweisungen ändern sich also nicht. Das Virus mutiert nicht. Stattdessen macht es einfach alles, was es tut, und hinterlässt gleichzeitig Anweisungen, um die nächste Generation zu erschaffen.

Ist das also möglich? Ja. Aber es ist extrem kompliziert. Ein Programm zu haben, das sich selbst ändert, aber diese Abfolge von Änderungen nicht irgendwann zu einem Programm konvergiert, das nichts Nützliches tut, ist unglaublich komplex.


Nun, wirklich, obwohl ich mit dem, was Sie sagen, einverstanden bin, wo Sie sagen, dass ein Virus für einen Computer nur reguläre Anweisungen sind, gilt das Gleiche für den Körper, für eine reguläre Zelle, der Virus ist nur eine Reihe zusätzlicher Anweisungen, und Alles, was Zellen tun, ist, Proteine ​​herzustellen, in diesem Fall die Virenproteine. Es ist die Aufgabe der weißen Blutkörperchen, die Viren zu erkennen, wie es die Aufgabe der Antiviren ist, den Nachweis der Viren anzufordern. So replizieren sich Viren, sie hängen davon ab, dass der Körper nur den Anweisungen folgt!
J_mie6

Und ich stimme dem zu, was Sie darüber sagen, dass die Viren bedeutungsvolle Mutationen aufweisen, aber wenn Sie an echte Viren denken, sind sie nur eine Reihe von Anweisungen, wie ein Programm. Wenn sie mutieren, sind sie entweder schädlich oder nützlich, aber am Ende entwickelt sich das Virus zu etwas Neuem. Das ist, was ich denke, es ist egal, ob die Mutation gut oder schlecht ist, nur dass sie von Zeit zu Zeit passiert. Und auch ich mag deine Analogie :)
J_mie6

Ich denke, aber das Problem ist, dass der Körper seine eigenen Funktionen hat. Die Analogie würde nur dann wirklich gelten, wenn der Körper etwas wäre, das den ganzen Tag nur DNA-Stücke von der Außenwelt verarbeitet, und ein Virus, das dies ausnutzte. Die Idee ist, dass es nicht die gleiche Idee eines "fremden" Körpers gibt, dass ein Programm für einen Computer nur ein Programm ist.
Jmite

3

Die allgemeine Frage betrifft die Entwicklung von Malware. Die spezifische Frage betrifft Gene. Es gibt in der Tat einen genetischen Algorithmusmechanismus , der digitale "Gene" zur Optimierung verwendet und möglicherweise in Viren / Malware verwendet werden könnte, obwohl es bisher keine Berichte darüber "in the wild" zu geben scheint. Auf der anderen Seite hat sich Malware in der Tat über viele Jahre von einer eher theoretischen Neugierde zu einer mit organisierter Cyberkriminalität usw. entwickelt, wobei die Bedrohungen immer ausgefeilter wurden. Bisher wird dies größtenteils (aber nicht vollständig!) durch die von Menschen entwickelte "Evolution" angetrieben. Man kann sagen, dass Computerviren im Laufe der Zeit im Allgemeinen eine erhöhte "Intelligenz" oder "Angriffskompetenz" entwickeln.

Hier sind einige Referenzen, die die "Entwicklung von / in Malware" untersuchen.


Stuxnet ist ein Schurke geworden und hat die ISS infiziert.
noɥʇʎԀʎzɐɹƆ

1

Die Hauptsache ist, es zum Laufen zu bringen. Naive Versionen, dh die Verwendung einer vorhandenen, etwas erfolgreichen Malware und die Durchführung von Mutationen bei jedem Reproduktionsversuch, sind in den meisten Fällen für die Malware wahrscheinlich tödlich.

Dies bedeutet jedoch nicht, dass es sich nicht weiterentwickeln könnte, sondern nur, dass sein ursprünglicher Zweck, die Replikation, behindert werden könnte. Mit einer ausreichend niedrigen Mutationsrate und genügend Geduld würden schließlich vorteilhafte und gutartige Mutationen ausgewählt.

Ein Problem ist jedoch, dass sie sich entwickeln würden. Insbesondere würden sie sich nach rein darwinistischen Prinzipien entwickeln. Wenn ich einen Code schreibe, der ausgeführt wird, und dann erst bei erfolgreicher Ausführung seine Binärdatei 1000 Mal an 1000 Speicherorte mit einem zufälligen Fehler oder mehreren Fehlern kopiert und alle ausführt, scheint es, als hätte ich die Replikation abhängig gemacht Das Ausführen einer Aufgabe wird erfolgreich ausgeführt. In Wirklichkeit hängt die Replikation jedoch nur von dem Programm ab, das denkt, dass es diese Aufgabe erfolgreich ausgeführt hat.

Es besteht also eine faire Chance, dass wenn dies eine Malware wäre, die beiden grundlegenden Ziele, insbesondere die Replikation und das Versauen der Computer von Menschen, im Widerspruch zueinander stehen würden. Über einen ausreichend langen Zeitraum würde wahrscheinlich eine Mutation auftreten, die entweder dazu führt, dass die Computer nicht so stark durcheinander gebracht werden, was es für Antiviren weniger wichtig macht, sich mit minimalen Symptomen zu befassen, wie dies die effektivste frühe Strategie in ist pandemic or plague inc, oder machen Sie es sich selbst zur Lüge, dass es sogar gelungen ist, ihre Computer überhaupt zu vermasseln und die primäre Funktion ziemlich schnell in ein Intron zu verwandeln, wenn sie nicht ausgeführt wird, aber die Replikationsfunktion weiterhin funktioniert.

Viele Menschen staunen über die Wirksamkeit des Immunsystems bei der Bekämpfung aller Arten von Bedrohungen, aber in vielerlei Hinsicht sind Computer viel, viel sicherer als Zellen. Ihr Computer kann eigentlich gar keinen Virus herunterladen. Ein perfektes Antivirensystem mit einem perfekten Benutzer muss die Festplatte niemals scannen. Computercode kann nicht einfach physisch in die Festplatte eingefügt werden.

Kontrastzellen, in denen Viren einige ziemlich einzigartige physikalische Mechanismen entwickelt haben, um an den Abwehrmechanismen der Zellen vorbeizukommen. Zum Beispiel sind einige Viren völlig inert, bis sie auf eine Zelle treffen, aber dann greift ihre physische Struktur auf die Zellmembran und punktiert sie heftig, um ihr genetisches Material zu injizieren. Dies ist wie ein Computervirus, der Ihren Computer physisch aufschneidet und neue Hardware hinzufügt, während Ihr Betriebssystem und Ihr Antivirenprogramm "dies ist in Ordnung" denken und den auf dieser Hardware gefundenen Code ausführen.

Es ist also ziemlich wahrscheinlich, dass die Wiedergabe umso besser ist, je harmloser der Code ist. In einigen Fällen ist es für die Evolution möglicherweise einfacher, den Benutzer davon zu überzeugen, ihm zu helfen, als ein neues Antivirenprogramm zu entwickeln. IE hängt sich an Dateien an, die wahrscheinlich für andere Benutzer freigegeben werden.

Letztendlich scheint es mir also wahrscheinlicher, dass die Replikationswahrscheinlichkeit höher ist, wenn sie als Malware als solche nutzlos ist, und wahrscheinlich noch höher, wenn sie den Benutzer oder den Antivirencode davon überzeugen kann, dass es sich tatsächlich um etwas Gutes handelt wichtig oder nützlich.

Eine andere Sache ist, dass die meisten Computer ungültige Vorgänge haben, so dass zufällige Änderungen am Code wahrscheinlich nicht nur die Funktionalität verhindern, sondern auch einfach dazu führen, dass der Code selbst bei ungeschütztem Speicher abstürzt.


0

Stellen Sie sich nicht böswillige Computerprogramme als Mikroben in Ihrem Darm vor. Stellen Sie sich einen Computervirus als infektiöses Bakterium vor.

Der Computer kann im Gegensatz zum Immunsystem den Unterschied zwischen den guten und den schlechten Bakterien nicht erkennen.

Es wäre einfach, ein selbstmodifizierendes Programm zu erstellen, aber 99% der Mutationen würden zu einem Fehler führen. Ein Programm ist wie eine Liste von Anweisungen - und Computer legen sehr genau fest, wie diese Anweisungen geschrieben werden. Angenommen, wir haben dieses Programm:

  1. Fügen Sie einen Esslöffel Erdnussbutter hinzu.
  2. Fügen Sie einen Esslöffel Gelee hinzu.
  3. Legen Sie das Brot darauf.

Eine Mutation könnte zu diesem Programm führen:

  1. Fügen Sie einen Esslöffel Erdnussbutter hinzu.
  2. Fügen Sie einen Esslöffel Gelee hinzu.
  3. Legen Sie das Brot darauf.

Obwohl es für den Menschen klar ist, dass es "Erdnuss" ist, ist das für den Computer nicht klar. Ich könnte ein einfaches Skript schreiben, das sich in Python selbst mutiert - aber die meisten Mutationen führen dazu, dass es fehlschlägt.

Es wäre sehr interessiert an einem Virus, das sich selbst mutiert und am Leben bleiben könnte - wir könnten es sogar als Leben klassifizieren.


Ja, ich bin zu spät zur Party - aber das ist ein interessantes Thema, über das es sich zu schreiben lohnt.


Die meisten biologischen Mutationen sind auch schädlich.
AdrianN

@adrianN Ja, und der biologische Prozess ist viel genauer und es gibt Milliarden von Kopien des Virus in jedem infizierten Körper, die alle in der evolutionären Rasse konkurrieren. Für Computer gibt es nur einen Virus pro Computer.
noɥʇʎԀʎzɐɹƆ
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.