Für eine Anleitung zur forensichen Untersuchung von verdächtigen PDF- und Office-Dateien habe ich ein paar kleine Demo-Dateien erzeugt. Eine PDF-Datei sollte dabei folgendes Verhalten zeigen: In der PDF-Datei ist eine ausführbare Datei virus.exe enthalten. Diese wird über etwas Javascript beim Öffnen der PDF-Datei extrahiert (dazu wird exportDataObject verwendet) und gestartet. Jemand hat die Datei nach Virustotal hochgeladen und völlig überraschend wird diese kleine Demo-Datei - auch von renomierten Antiviren-Software Herstellern - als Virus erkannt, obwohl sie völlig harmlos ist. Am 14.11.2016 waren es noch sechs Antivirenhersteller, die die Datei für bösartig hielten. Jetzt sind es schon els Hersteller.
Offensichtlich sind die Heuristiken der Virenscanner so simple, dass das beschreibene Verhalten zur Auslösung des Virenalarms ausreicht.
Die Datei virus.exe wurde mit dem Tiny C Compiler 0.9.26 (veraltet, aber immer noch gutgeeignet für kleine Tools) aus dem Quellcode
1: #include <stdio.h> 2: 3: int main() 4: { 5: printf("Test- und Demo-Virus\n"); 6: printf("\nEine harmlose Datei, die keinen Schaden anrichtet.\n"); 7: getchar(); 8: return 0; 9: }
erzeugt. Also ein Quellcode, der wirklich keinen Schaden anrichten kann.
Zugegeben, in der Praxis wird man ein derartiges Verhalten einer PDF-Datei wohl nicht finden.