• IT-Karriere:
  • Services:

AVG: Viren-Heuristik ausgetrickst

Antiviren-Programme versuchen mittels Emulation, das Verhalten von unbekannten Programmen zu untersuchen und so verdächtigen Dateien auf die Spur zu kommen. Doch die Erkennung lässt sich oft trivial umgehen.

Artikel veröffentlicht am , Hanno Böck
Kyle Adams auf der BSides Las Vegas.
Kyle Adams auf der BSides Las Vegas. (Bild: Hanno Böck)

Täglich wird das Internet mit neuer Malware überschwemmt. Früher verließen sich Antiviren-Programme vor allem darauf, bekannte bösartige Programme anhand von Signaturen zu erkennen. Doch diese Methode funktioniert kaum noch. Inzwischen wird daher verstärkt versucht, generisch zu erkennen, ob sich ein Programm wie Malware verhält. Kyle Adams von der Firma Juniper zeigte auf der B-Sides-Konferenz in Las Vegas, wie einfach sich derartige heuristische Mechanismen austricksen lassen.

Stellenmarkt
  1. SOG Business-Software GmbH, Hamburg
  2. noris network AG, Nürnberg, Aschheim (bei München), Berlin (Remote-Office möglich)

Adams begann damit, einen trivialen Virus zu schreiben. Als Programmiersprache wählte er Javascript. Unter Windows lassen sich Standalone-Javascript-Programme in sogenannten Windows-Script-Files (Dateiendung WSF) ausführen. Die WSF-Datei wurde mittels des Windows-eigenen Tools IExpress in eine EXE-Datei umgewandelt. IExpress ist in der Lage, selbstentpackende Archive zu erstellen, die beim Aufrufen entpackt und ausgeführt werden.

Verhalten wie typische Malware

Das Beispielprogramm verhielt sich wie typische Malware: Es versuchte, sich in den Autostart-Ordner von Windows einzutragen. Falls es Administrator-Rechte besitzt, sorgt es dafür, dass es auch beim nächsten Systemstart mit entsprechenden Rechten geladen wird. Es lud von einem Kontrollserver Instruktionen, etwa zur Ausführung von weiterem Code, der online nachgeladen wird.

Adams sagte, dass er viele der Mechanismen, die Viren üblicherweise nutzten, in Threads auf gängigen Programmiererforen wie Stackoverflow oder dem Microsoft Developer Network (MSDN) erklärt gefunden habe. Oftmals war kaum zu übersehen, dass die gestellten Fragen sich auf die Programmierung von Malware bezogen.

Dennoch nicht erkannt

Obwohl das Beispielprogramm quasi das Musterbeispiel eines typischen Virus darstellte, erkannten vier getestete Antiviren-Engines - die Tools von Sophos, ESET, Avira und Symantec - das Programm nicht als Malware. Einzig das Programm AVG entdeckte den bösartigen Code.

AVG führte offenbar eine Emulation des Javascript-Codes durch und schlug wegen des verdächtigen Verhaltens Alarm. Doch sonderlich ausgefeilt waren die Methoden dabei nicht: Nach einigen Beobachtungen stellte Adams fest, dass die Emulation offenbar nur eine bestimmte feste Zahl von Instruktionen ausführte. Das simple Einfügen einer Schleife, die 80.000 mal nichts tat, führte schon dazu, dass AVG das Programm wieder für harmlos hielt.

Einfache Methoden hebeln Emulation aus

Obwohl dieser einfache Trick ausreichte, die Heuristik auszuhebeln, suchte Adams nach weiteren Methoden. So war es ihm möglich, mit verschiedenen Funktionen im Virencode zu erkennen, ob der Virus sich gerade in der Emulation befindet, und demnach zu entscheiden, ob verdächtiger Code ausgeführt wird. HTTP-Requests wurden beispielsweise automatisch mit einer korrekten Antwort (HTTP-Code 200) und einer leeren Datei beantwortet. Mit einem Zugriff auf eine nichtexistente Domain ließ sich das abfragen. Schreibzugriffe auf den Windows-Ordner System Volume Information sollten immer einen Zugriffsfehler erzeugen, die Emulation von AVG implementierte aber keinerlei Rechteverwaltung bei Dateisystemzugriffen. Dort ist ein Schreibzugriff immer möglich und erzeugt nie einen Fehler.

Insgesamt fand Adams sieben Möglichkeiten, die Heuristik von AVG auszutricksen. Würden alle sieben auf einmal umgesetzt, könnten wahrscheinlich die meisten oder sogar alle Antiviren-Programme überlistet werden.

Wie drastisch diese Probleme sein könnten, zeigte Adams in einem letzten Beispiel. Diesmal verwendete er nicht Javascript, sondern die Windows-Skriptsprache Visual Basic Script. Er nahm den Code des 14 Jahre alten ILOVEYOU-Virus, einer der am weitesten verbreiteten Computerviren aller Zeiten. Adams fügte lediglich eine Schleife ein, die 80.000 mal nichts tat. Auch dabei scheiterte die Erkennung von AVG.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Hardware-Angebote
  1. 139,90€

nille02 07. Aug 2014

Du solltest bei dem Thema noch mal komplett von vorne anfangen. Aber eine blühende...

Mithrandir 07. Aug 2014

Jeder, der unter Windows für Android entwickelt. Und ja, das sind ein paar Leute.

user unknown 06. Aug 2014

Das hatte ich bislang noch nicht überlegt, aber kam beim Lesen des Artikels drauf: Das...

Destroyer2442 06. Aug 2014

bin gerade beeindruckt, dass es Delphi überhaupt noch gibt, ewig nichts mehr von gehört ^^-

0xDEADC0DE 06. Aug 2014

Heuristik ist nicht deren einziges Geschäftsmodell, muss ich mich nun mit Troll Öl...


Folgen Sie uns
       


Galaxy Note 20 im Hands-on: Samsung entwickelt sein Stift-Smartphone kaum weiter
Galaxy Note 20 im Hands-on
Samsung entwickelt sein Stift-Smartphone kaum weiter

Samsungs Galaxy Note 20 kommt in zwei Versionen auf den Markt, die beide fast gleich groß, aber unterschiedlich ausgestattet sind.
Ein Hands-on von Tobias Költzsch

  1. Samsung Galaxy Watch 3 kostet ab 418 Euro
  2. Galaxy Tab S7 Samsung bringt Top-Tablets ab 681 Euro
  3. Galaxy Buds Live Samsung stellt bohnenförmige drahtlose Kopfhörer vor

Threat-Actor-Expertin: Militärisch, stoisch, kontrolliert
Threat-Actor-Expertin
Militärisch, stoisch, kontrolliert

Sandra Joyces Fachgebiet sind Malware-Attacken. Sie ist Threat-Actor-Expertin - ein Job mit viel Stress und Verantwortung. Wenn sie eine Attacke einem Land zuschreibt, sollte sie besser sicher sein.
Ein Porträt von Maja Hoock

  1. Emotet Die Schadsoftware Trickbot warnt vor sich selbst
  2. Loveletter Autor des I-love-you-Virus wollte kostenlos surfen
  3. DNS Gehackte Router zeigen Coronavirus-Warnung mit Schadsoftware

Golem on Edge: Wo Nachbarn alles teilen - auch das Internet
Golem on Edge
Wo Nachbarn alles teilen - auch das Internet

Mehr schlecht als recht arbeiten zu können und auch nur dann, wenn die Nachbarn nicht telefonieren - das war keine Dauerlösung. Wie ich endlich Internet in meine Datsche bekommen habe.
Eine Kolumne von Sebastian Grüner

  1. Keine Glasfaser, keine IT-Kompetenz Schulen bemühen sich vergeblich um Geld aus dem Digitalpakt
  2. Kultusministerien Schulen rufen kaum Geld aus Digitalpakt ab
  3. Change-Management Wie man Mitarbeiter mitnimmt

    •  /