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. Full Stack Software Developer (m/f/d)
    Lufthansa Technik AG, Hamburg
  2. Digitalkoordinator/in (w/m/d)
    Stadt NÜRNBERG, Nürnberg
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 Akademie
  1. Scrum Product Owner: Vorbereitung auf den PSPO I (Scrum.org): virtueller Zwei-Tage-Workshop
    3.–4. März 2022, virtuell
  2. Cloud Computing mit Amazon Web Services (AWS): virtueller Drei-Tage-Workshop
    14.–16. Februar 2022, 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 ^^-

0xDEADC0DE 06. Aug 2014

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



Aktuell auf der Startseite von Golem.de
Wemax Go Pro
Mini-Projektor für Reisen strahlt 120-Zoll-Bild an die Wand

Der Wemax Go Pro setzt auf Lasertechnik von Xiaomi. Der Beamer ist klein und kompakt, soll aber ein großes Bild an die Wand strahlen können.

Wemax Go Pro: Mini-Projektor für Reisen strahlt 120-Zoll-Bild an die Wand
Artikel
  1. Snapdragon 8cx Gen 3: Geleaktes Qualcomm-SoC erreicht das Niveau von AMD und Intel
    Snapdragon 8cx Gen 3
    Geleaktes Qualcomm-SoC erreicht das Niveau von AMD und Intel

    In Geekbench wurde der Qualcomm Snapdragon 8cx Gen 3 gesichtet. Er kann sich mit Intel- und AMD-CPUs messen, mit Apples M1 aber wohl nicht.

  2. Air4: Renault 4 als Flugauto neu interpretiert
    Air4
    Renault 4 als Flugauto neu interpretiert

    Der Air4 ist Renaults Idee, wie ein fliegender Renault 4 aussehen könnte. Mit der Drohne wird das 60jährige Jubiläum des Kultautos gefeiert.

  3. MS Satoshi: Die abstruse Geschichte des Bitcoin-Kreuzfahrtschiffs
    MS Satoshi
    Die abstruse Geschichte des Bitcoin-Kreuzfahrtschiffs

    Kryptogeld-Enthusiasten kauften ein Kreuzfahrtschiff und wollten es zum schwimmenden Freiheitsparadies machen. Allerdings scheiterten sie an jeder einzelnen Stelle.
    Von Elke Wittich

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 Wochenende • WD Blue SN550 2 TB ab 149€ • LG UltraGear 34GP950G-B 999€ • SanDisk Ultra 3D 500 GB M.2 44€ • Boxsets (u. a. Game of Thrones Blu-ray 79,97€) • Samsung Galaxy S21 128GB 777€ • Premium-Laptops • Cooler Master V850 Platinum 189,90€ • Astro Gaming Headsets [Werbung]
    •  /