Frage von delmarmaster, 45

Was muss man lernen oder studieren damit man Anti Viren Software schreiben oder entwickeln kann?

Antwort
von TeeTier, 10

An deiner Stelle würde ich selbst versuchen Viren und Trojaner zu schreiben. Ich denke, das dürften die meisten ITler schon mal zu Übungszwecken probiert haben (die einen mehr, und die anderen weniger).

Ich denke, es versteht sich von selbst, dass du deine Ergüsse dann nicht verbreiten sollst! Aber nur zu Lernzwecken, ist überhaupt nichts dagegen zu sagen!

Eine bessere Möglichkeit, um zu verstehen, wie die Dinger funktionieren, wirst du nämlich kaum finden. Dieses Wissen ist übrigens auch nichts Verbotenes, wird aber meistens (vor allem von unerfahrenen Leuten oder Skriptkiddies) in die Schmuddelecke geschoben.

Du wirst dabei zwar viel lernen, aber Ende arg enttäuscht sein, wenn du erkennst, dass Antivirensoftware eigentlich nur ein großer Marketing-Gag ist. Denn es ist sogar für absolute Anfänger leicht möglich, z. B. Trojaner zu schreiben, die von keiner Antivirensoftware erkannt werden.

Wenn Kaspersky auf seiner Website schreibt: "Ultimativer Schutz für Ihren PC, Mac oder Android" oder Produktbezeichnungen wie "Total Security" verwendet, müsste das eigentlich ein Fall für die Verbraucherzentrale sein, da das ganz klar eine Irreführung der Verbraucher ist.

Leider glauben dieses Marketing-Gequatsche fast alle Laien und sogar viele ITler selbst.

Ich habe das hier schon oft an anderer Stelle geschrieben, aber auf dem Markt verfügbare Antivirensoftware erkennt (Herstellerübergreifend) weit weniger als 50% aller aktuellen Trojaner. Das gilt für BitDefender, AVG, Avira, Kaspersky, Norton, und auch alle anderen.

Die Tests der Computerzeitschriften mit über 90% Trefferrate sind allesamt gestellt und künstlich. Es hat nichts mit der Realität zu tun, wenn 30 Jahre alte DOS-Viren erkannt werden, die auf modernen Betriebssystemen überhaupt nicht mehr lauffähig sind.

Aktuelle Malware, wie man sie im Internet und in Spam-Mails findet, wird zu höchstens 45% erkannt, laut Aussage führender Antivirenhersteller.

Das ist auch logisch, da ja sofort wenn ein Trojaner erkannt wird, ein Austausch durch eine Version stattfindet, die eben nicht mehr erkannt wird. Das wiederholt sich alle paar Stunden und geht auf Seiten der Malwareautoren auch vollautomatisch.

Eine Antivirensoftware muss also prinzipbedingt IMMER hinterherhinken. Und die tolle Heuristik funktioniert heutzutage genauso unzuverlässig wie Ende der 90er, als sie eingeführt wurde.

Man sollte sich also NIEMALS auf seine Antivirensoftware verlassen. Die kocht nämlich auch nur mit Wasser, und gerade für arglose Nutzer ohne technisches Verständnis ist es dann gefährlich, wenn sich sich in falscher Sicherheit wiegen.

Es ist bei Antivirensoftware aber ähnlich wie bei Handyherstellern: Die Fanboys einiger Hersteller werden mir widersprechen. Solchen Leuten möchte ich aber Folgendes sagen: a) Fast alle Chefs aller führenden Antivirenherstellerfirmen haben das, was ich oben geschrieben habe, EXAKT so gesagt. Bei Google gibt es genügend Quellen dazu. b) Schreibt doch einfach mal zu Testzwecken selber einen Trojaner. Er wird nicht erkannt werden! Warum ist das wohl so? Und warum ist das so trivial einfach die Heuristik auszutricksen?

Naja, zurück zu deiner Frage: Du kannst nichts bekämpfen, was du nicht verstehst. Du musst dich also zwangsläufig selbst mit Malware beschäftigen, um ein Antivirenprogramm schreiben zu können.

Antivirenprogramme benutzen viele interessante Tricks, die aber alle mehr oder weniger ausgelutscht sind und deren Umgehung bekannt ist.

Eine Antivirensoftware ist vielleicht 1% Entwicklungsarbeit, und 99% Marketing.

Ich wiederhole mich noch mal: Das, was fast alle Antivirenhersteller in ihrer Werbung versprechen, grenzt an Betrug und ist zumindest eine Grauzone.

Fakt ist: Es gibt KEINE Möglichkeit für eine Antivirensoftware, eine aktuelle (und damit bis dato unbekannte) Malware zu erkennen. Punkt.

Trotzdem ist das ganze Thema sehr interessant. Und wenn man weiß, wie man Stack-Canaries, ASLR oder das Sandboxing einer Antivirensoftware umgeht, hat man schon viel gelernt.

Auf jeden Fall brauchst du viel Wissen auf Betriebssystemebene und Low-Level-Programmierung. Das ist verdammt viel, und das lernt man alles nicht über Nacht. Dabei vergehen Jahre oder gar Jahrzehnte. :)

Allerdings solltest du unbedingt aufhören, Antivirenprogramme als den heiligen Gral zu betrachten, denn das sind sie mit Sicherheit nicht.

Antivirensoftware und SEO kann man, so denke ich, getrost als die "Esotherik" in der IT Welt betrachten. Nicht umsonst spricht man von "Schlangenöl". :)

Also dann ... viel Spaß! Aber bevor du dich an Antivirensoftware wagst, übe am besten erst mal mit eigener Malware! Aber - um nochmal darauf hinzuweisen - verbreite diese dann nicht. Denn das unterscheidet den ethisch handelnden Hacker vom Kriminellen. Gib dich mit dem zufrieden, was du dabei lernst und setze dein Wissen ein, um die Welt für deine Mitmenschen sicherer zu machen!

(In meinen Augen stehen die Antivirenhersteller, die mit ihren falschen Versprechen den Kunden das Geld aus der Tasche ziehen, wesentlich näher an der Seite von den kriminellen Malwareautoren, als ehrliche Hacker ... aber naja, egal ...)

Schönen Abend noch! ;)

Antwort
von pythonpups, 13

Glaube nicht, daß es dafür eine eigene Ausbildung gibt. Evtl. Spezialisierungen in Informatik-Studiengängen. Es gibt ein paar Bachelor Studiengänge IT-Sicherheit, was sicher ein guter Ausgangspunkt wäre.

Du brauchst auf jeden Fall solide Kenntnisse in Software-Entwicklung und Mathematik. Außerdem wirst Du Dir eine Menge sebst aneignen und viel ausprobieren und üben müssen.

Antwort
von hanfmannlein, 27

Dazu gehört einiges, dafür musst du dich in Cryptographie auskennen, ahnung von Viren haben, auch selbst welche Programmieren können, was weitreichende Systemkenntinisse voraussetzt.

Ich glaube da musst du dich langsam reinarbeiten, ich glaube nicht das es ein darauf zugeschnittenes Studium gibt.

Antwort
von PeterLammsfelde, 28

Fachinformatiker Anwendungsentwicklung?

Keine passende Antwort gefunden?

Fragen Sie die Community