Verständnissfrage Trojaner
-
Ich muss erst vorab sagen dass ich rein aus technischem Interesse und vorbeugung mit für Maleware programing interessiere. Ich bin ausgebildeter Software Entwickler und hab kein Dreck am Steck.
Meine Fragen, ein Trojaner ist ja nichts anderes das Aktionen ausführt welches vom User nicht beabsichtigt wurden und meist Informationen zu einem remotem Rechnet herstellt.
Weil .NET heutzutage auf fast allen Windows OS drauf ist, wäre dann ein Trojaner in C# nicht genauso lukrativ wie in C und Cpp? Bzw. wieso werden alle Windows Makewares in Lowlevelsprachen geschrieben?
Erkennt den ein Antivirus die Unholde wirklich nur an einer bestimmten Signatur? Wenn ich ein eigenes Programm schreibe und kompiliere, sehen die AV's dann blind? Oder schauen die schon genauer auf den Code ob dahinter was schlimmes sein könnte?
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x) in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
jemen schrieb:
Bzw. wieso werden alle Windows Makewares in Lowlevelsprachen geschrieben?
Wie kommst du da drauf, dass dem so wäre?
Erkennt den ein Antivirus die Unholde wirklich nur an einer bestimmten Signatur? Wenn ich ein eigenes Programm schreibe und kompiliere, sehen die AV's dann blind? Oder schauen die schon genauer auf den Code ob dahinter was schlimmes sein könnte?
Es gibt noch Heuristiken, die erkennen, wenn Programme für Viren typische Dinge versuchen (Replikation, Spuren verwischen, usw.). Und Techniken um zu erkennen, ob ein Programm Teile von bekannten Viren enthält (und nur ein bisschen modizfiziert wurde um die Signatur zu ändern). Aber im Prinzip hat es dein Trojaner erst einmal deutlich leichter, so lange er nicht erkannt wird.
-
jemen schrieb:
Erkennt den ein Antivirus die Unholde wirklich nur an einer bestimmten Signatur? Wenn ich ein eigenes Programm schreibe und kompiliere, sehen die AV's dann blind? Oder schauen die schon genauer auf den Code ob dahinter was schlimmes sein könnte?
Die versuchen, böse Programme zu erkennen. Wenn du also was "böses" machst (z.B. Keyboard-Hook oder sowas), dann kann es gut sein, dass die gängigen AV-Tools Alarm schlagen.
-
Ich dachte nur, weil ich ich von .NET Malewares nicht oft gehört habe. Aber wäre theoretisch sehr viel einfacher.
Oder was ich auch nicht verstehe ist wieso es die Viren so einfach haben sich eben mal kurz in die Autostart Registry einzuschleusen, das kann ja dann jedes beliebige Programm, mal wenigstens für den aktuellen Benutzer. Gibt es da keine Gegenmassnahmen?
Sehe ich das richtig, versuchen Trojaner sich in gängige Programme Ihre Assambilies zu "kopieren", z.b. Internet Explorer um bei der Ausführung ebenfalls gestartet zu werden?
-
jemen schrieb:
Sehe ich das richtig, versuchen Trojaner sich in gängige Programme Ihre Assambilies zu "kopieren", z.b. Internet Explorer um bei der Ausführung ebenfalls gestartet zu werden?
Das kann man so oder so machen. Dies ist nur eine Technik von vielen. Wie wäre es zuerst einmal mit Wikipedia zum Thema Malware?
-
_matze schrieb:
Die versuchen, böse Programme zu erkennen. Wenn du also was "böses" machst (z.B. Keyboard-Hook oder sowas), dann kann es gut sein, dass die gängigen AV-Tools Alarm schlagen.
Die Heuristik ist offen gesagt aber meistens ziemlich bescheiden
jemen schrieb:
Ich dachte nur, weil ich ich von .NET Malewares nicht oft gehört habe.
LOVE-YOU (auch wenns kein .NET ist :D)
http://www.heise.de/ct/artikel/h0w-70-b3-1337-287676.htmljemen schrieb:
Oder was ich auch nicht verstehe ist wieso es die Viren so einfach haben sich eben mal kurz in die Autostart Registry einzuschleusen, das kann ja dann jedes beliebige Programm, mal wenigstens für den aktuellen Benutzer. Gibt es da keine Gegenmassnahmen?
Lustigerweise nicht wirklich. Wenn du dem Programm keine Adminrechte gibst, kann es sich zwar "nur" für den aktuellen Benutzer eintragen, aber die meisten Viren/Trojaner "holen" sich die Rechte dann durch andere Methoden. (Stichwort "Exploit")
Auch interessant:
http://de.wikipedia.org/wiki/Virtual_Machine_Based_RootkitZudem ist es nicht zwangsläufig leichter Viren in .NET zu schreiben