Anwendbarkeit der theoretischen Informatik in der Malware-Forschung


8

Ich würde gerne wissen, wie wichtig TCS für die Malware-Forschung ist. Aufgrund des großen Volumens neuer Malware-Varianten pro Tag (~ 50.000 Proben / Tag laut McAfee) sind Malware-Forscher stark von dynamischen Analysen abhängig (dh das Ausführen der Proben in einer Sandbox und die Überwachung ihres Verhaltens) und die Abkehr von statischen Analysen und Reverse Engineering, da diese Ansätze sehr zeitaufwändig sind und aufgrund von Verschleierung / Verschlüsselung manchmal sehr schwierig werden.

Ich fand einen sehr nützlichen Vortrag (BlackHat 2010) von Greg Hoglund, in Malware attributiondem der Redner darüber spricht, wie wichtig es ist, die Malware-Autoren und ihre Netzwerke in das Bild einzubeziehen, das wertvolle Informationen liefert, als nur die Binärdatei selbst zu analysieren.

Ich habe zwei Fragen:

  1. Wenn Malware-Forscher das Verhalten von Malware-Autoren und ihrem Netzwerk analysieren, spielt TCS in Zukunft eine wichtige Rolle in der Malware-Forschung.
  2. Da ich nicht stark in TCS bin, möchte ich wissen, wo genau TCS in die Malware-Forschung passt.

Vielen Dank.


Viele Malware-Algorithmen basieren auf Datenbanken mit Hashcodes "schädlicher" Programme. Daher ist die Hashcode-Theorie relevant. Ein weiterer Bereich der aktiven Forschung ist die Schaffung kugelsicherer "Sandkästen" ... wird einige Hinweise dazu zitieren, wenn die Frage positiv bewertet wird
vzn

Suchen Sie nach semantikbasierten Ansätzen zur Erkennung von Malware, um theoretischere Ansätze zu finden.
Vijay D


Es gibt ein Buch namens "Malicious Cryptography" mit Ideen, wie TCS in Malware verwendet werden kann.
SDCVVC

Antworten:


1

Fred Cohen ist eine Autorität und ein früher Forscher auf dem Gebiet der Theorie von Computerviren. Referenzen finden Sie auf dieser Wikipedia-Seite. Sein Artikel von 1987 wird als vielleicht erste Analogie des Virusprüfungsproblems zum Stoppproblem angesehen.

Die Grundidee besteht darin, ein Programm X zu erstellen, das eine Unterroutine zur Virenprüfung mit einem Programmcode als Parameter aufruft. Wenn das Unterprogramm "ist ein Virus" zurückgibt, beenden Sie das Programm. Wenn "ist kein Virus" zurückgegeben wird, infizieren Sie das System. Ein solches Programm kann nicht durch Diagonalisierung / Widerspruch existieren und seinen eigenen Code als Parameter übergeben. Daher gibt es keinen perfekten Virenprüfer.

Es scheint jedoch ein leichtes Gegenargument zu dieser Aussage zu sein, dass Programm X einen schädlichen Codeabschnitt enthält und dass es irrelevant ist, ob es aufgerufen wird oder nicht - das Programm ist möglicherweise schädlich, wenn es einen "schädlichen Codeabschnitt" enthält.

Soweit ich mich erinnere, wurde dieses Ergebnis separat in einem mathematischen Journal veröffentlicht, kann aber die Referenz derzeit nicht finden.

Ein neueres / fortgeschrittenes Thema ist die Erkennung polymorpher Viren, die ihren Code auf äquivalente, aber zufällige Weise ändern.

Ein weiterer vielversprechender Ansatz, der das Problem des Stillstands zu vermeiden scheint (auf eine Weise, die abstrakte theoretische "No-Go-Theoreme" demonstriert, die irreführend oder in der Praxis sogar nicht anwendbar sein können), besteht darin, eine sichere "Sandbox" zu erstellen, in der ein Programm ausgeführt werden kann, aber nicht etwas schädliches tun.

Der moderne Webbrowser kann als Versuch angesehen werden, ein solches System aufzubauen. Die Komplexität der Sicherung ergibt sich hauptsächlich aus Javascript.

Google baut das NaCL [3] -Framework auf, das teilweise aus der Wissenschaft stammt und derzeit der führende Anwärter auf ein hochfunktionelles Sandbox-System ist, das in den modernen Browser integriert ist und weiterhin Maschinencode zulässt. Ein nachweislich sicherer Softwareprüfer validiert Kandidatenprogramme. Es wurden kürzlich dramatische Verbesserungen angekündigt [4].

Eine neuartige Idee aus jüngster Zeit ist die Verwendung einer graphbasierten Analyse von Ausführungsspuren [5].

Ein neueres Thema der Virtualisierung hat verschiedene Auswirkungen auf die Sicherheit / Anwendungen, z. B. Virenanbieter, die Virtualisierungssysteme erstellen, um Viren usw. zu finden / zu erkennen. [6]

Die Weiterentwicklung des jüngsten Stuxnet-Virus , anscheinend des weltweit ersten staatlich / staatlich geförderten, von der Militärbehörde entwickelten Virus für Cyber- / Spionage- / Sabotagezwecke, hat zu ernsthaften / intensiven akademischen Studien geführt, siehe die ausführlichen Referenzen auf Wikipedia. Es wurde eine neue Variante entdeckt, die auf die Finanzindustrie abzielt und Flamme heißt .

[1] Ein nicht nachweisbarer Computervirus David M. Chess und Steve R. White

[2] Trends in der Computervirusforschung Cohen, 1991

[3] Native Client: Eine Sandbox für tragbaren, nicht vertrauenswürdigen x86-Native-Code von Yee et al. 2009

[4] NaCl soll RockSalt weichen: Informatiker entwickeln ein Tool zur Verbesserung der Softwarefehlerisolierung 2012

[5] Graphbasierte Malware-Erkennung mittels dynamischer Analyse von Anderson et al

[6] Erkennung von metamorpher und virtualisierungsbasierter Malware mithilfe der algebraischen Spezifikation von Webster, Malcolm


Nachtrag, hier ist eine weitere coole Referenz aus dem Jahr 2003 in IEEE zum Slammer-Virus von Moore et al. , möglicherweise dem am schnellsten verbreiteten Virus in der Geschichte aller Malware. einige andere wissenschaftliche Studien / Arbeiten dazu auch.
vzn
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.