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. Cloud Plattform Engineer (DevOps) - Business Intelligence (w/m/d)
    dmTECH GmbH, bundesweit
  2. Firewall- und Netzwerkengineer (m/w/d)
    Anstalt für Kommunale Datenverarbeitung in Bayern (AKDB), München, Bayreuth
Detailsuche

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

Golem Karrierewelt
  1. Linux-Systemadministration Grundlagen: virtueller Fünf-Tage-Workshop
    09.-13.01.2023, Virtuell
  2. Container Management und Orchestrierung: virtueller Drei-Tage-Workshop
    06.-08.03.2023, Virtuell
Weitere IT-Trainings

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


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 ^^-



Aktuell auf der Startseite von Golem.de
Elektromobilität
Im Winter hat der ID.3 fast 30 Prozent weniger Reichweite

Der Verbrauch bei einem Elektroauto von VW schwankt über das Jahr ordentlich. Anders beim Verbrenner. Doch dessen Verbrauch ist ungleich höher.

Elektromobilität: Im Winter hat der ID.3 fast 30 Prozent weniger Reichweite
Artikel
  1. Digitale Dienste und Märkte: Wie DSA und DMA umgesetzt werden
    Digitale Dienste und Märkte
    Wie DSA und DMA umgesetzt werden

    Die Verordnungen über digitale Dienste und Märkte sind inzwischen in Kraft getreten. An ihrer Umsetzung können Interessenvertreter sich noch beteiligen.
    Ein Bericht von Friedhelm Greis

  2. Fit werden für die Cloud - zum halben Preis!
     
    Fit werden für die Cloud - zum halben Preis!

    Ohne Clouddienste geht heute in vielen Unternehmen nicht mehr viel. Die Golem Karrierewelt liefert unverzichtbares Cloud-Know-how mit 50 Prozent Black-Week-Rabatt.
    Sponsored Post von Golem Karrierewelt

  3. Cosmoteer im Test: Factorio im Weltraum
    Cosmoteer im Test
    Factorio im Weltraum

    Eine einzige Person hat über viele Jahre die Sandbox Cosmoteer entwickelt. Dort bauen wir Raumschiffe und kämpfen im All. Achtung, Suchtpotenzial!
    Ein Test von Oliver Nickel

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Black Friday bei Mindfactory, MediaMarkt & Saturn • Prime-Filme leihen für je 0,99€ • WD_BLACK SN850 1TB 129€ • GIGABYTE Z690 AORUS ELITE 179€ • SanDisk SSD Plus 1TB 59€ • Crucial P3 Plus 1TB 81,99 • Mindfactory: XFX Speedster ZERO RX 6900 XT RGB EKWB Waterblock LE 809€ [Werbung]
    •  /