Heuristik heißt bei Virenscanner: Wir suchen nach 'ner Ähnlichkeit.
Nee, das bedeutet wir such(t)en nach Indikatoren und ab einer bestimmten Schwelle schlagen wir Alarm, falls zu viele Indikatoren bedenkliche Werte zeigen.
Naja, und reicht die Menge der Indikatoren, dann böse
Für mich ist das eine Ähnlichkeit, vielleicht auf 'ner anderen Ebene, als bei Meier und Maier, aber es gibt halt eine bestimmte Menge an (algorithmischen) Übereinstimmungen.
Sprich: Das ist von außen nicht durchschaubar.
Es ist bedingt durchschaubar, klar. Aber es ist jetzt auch nicht wirklich Zauberwerk ... vieles kann man sich auch allein denken. Beispiele:
- Welcher Compiler wurde benutzte (effektiv das was PEiD macht, AV-Hersteller benutzen bspw. Yara)
- Gibt es eine Signatur?
- Ist die Signatur gültig?
- Vertrauen WIR (als der AV-Hersteller) der Signatur?
- Welche Importe hat die Datei und aus welchen DLLs? (bspw. UNC-Pfade? ... böse!)
- Keine oder wenige Importe? (Laufzeitpacker/Protector oder der Versuch sich einer Analyse/Erkennung zu entziehen)
- Wie ist die Entropie der Datei (Laufzeitentpacker oder nicht ...)?
- Gibt es verdächtige Strings? (ja, das ist exakt das Beispiel von gausi!)
- Wird auf Debugsymbole verwiesen? Deren Pfade können verräterisch sein, siehe vorheriger Punkt ...
- Wie verhält sich die Datei beim emulieren innerhalb der Engine? (Jupp, bei uns steckte da ein echter Emulator drin, denn nur so konnte man bei Laufzeitentpackern und "Schutz"-Programmen ala Themida reingucken)
Dafür brauch' ich aber deutlich mehr "NauHau", als ich so vom Normalverbraucher (der z. B. Gausis Programm nutzen möchte) erwarten kann. Und der kriegt ggfls. die Virenscannermeldung um die Ohren gehauen und wird bei (fast) allen(?) Punkten, die Du aufgeführt hast, höchsten mit 'nem "hä" antworten
Nichtsdestotrotz:
Deine Antworten sind hoch informativ und gegeben auch uns Laien einen kleinen Einblick in die Materie.
Muchas gracias!