Guten morgen,
ich habe als Programmierübung für C# mal ein kleines tool geschrieben,
welches die Tastatureingabe mitprotokolliert. Nachdem das wunderbar
geklappt hat, habe ich noch einen mailclient eingefügt welcher die
mitgeloggte Zeichenfolge beim herunterfahren des PCs an meine
mailadresse sendet.
Für meine Verständnisse ist das schon ein keylogger und gilt daher
allgemein als Virus, oder?
Interessanter Weise erkennt weder Avira noch F-Secure oder Kaspersky das
"tool" als Schädling*. Ich bin immer davon ausgegangen, dass auch
unbekannte Viren anhand von heuristik erkannt werden. Ein Programm
welches die Tastatureingabe abfängt und dabei noch einen mailclient
beinhaltet müsste da doch sofort auffallen!?
Wieso also bemerkt niemand meinen Virus? liegt es vlt. daran dass es ein
Windows-Forms-Anwendung ist und eben kein Konsolenprogramm welches im
Hintergrund läuft?
__________________________________________________
*Avira (free) ist auf meinem privaten PC zuhause, F-Secure hat ein
Studienkollege** und Kaspersky habe ich auf einer VM laufen lassen...
**dem Studienkollege habe ich das tool gezeigt, er wußte was ich
installiere und natürlich haben wir das Programm wieder gemeinsam von
seinem PC gelöscht!
aber müsste hier nicht ein guten scanner die laufenden Prozesse
analysieren, mittels heuristik müsste man die Absicht eines solchen
Programms doch erahnen können!?
AntiVir Programme sind per se meist doof, sie hinken immer den Viren
hinterher oder erfüllen zu übereifrig ihren Dienst und meckern weil sie
was VERMUTEN.
Ich habe mir ein GLZ Programm geschrieben was übers BIOS auf
Hardwareadressen die RTC zugreift und das in Dateien schreibt und
Alarmregister der RTC schreibt, stört die Virenscanner nicht, aber mein
Keyboardtreiber von Cherry wirrd regelmäßig angemeckert keine gültige
system Abbilddatei, bla blub, schon mehrfach nachgeladen und installiert
antivir lernt es einfach nicht.
Maik, der unwissende Anfänger schrieb:> aber müsste hier nicht ein guten scanner die laufenden Prozesse> analysieren, mittels heuristik müsste man die Absicht eines solchen> Programms doch erahnen können!?
nein, das schreiben zwar die Hersteller von Antivieren-Programmen aber
das ist nicht möglich, bzw. einfach umgehbar.
Jeder Mailprogramm nimmt Tastatureingaben entgehen und verschickt sie
dann als Mail.
Und wenn die Virenscanner das mitbekommen würden, dann würden die Viren
aus 2 Prozessen bestehen, einer liest die Tastatur der andere sendet die
Daten.
Peter II schrieb:> Jeder Mailprogramm nimmt Tastatureingaben entgehen und verschickt sie> dann als Mail.
Klar, die List eines "fiesen" Programms liegt ja aber darin, dass die
Eingabe mitgeschrieben wird, während eigentlich ein anderes
Programmfenster aktiv ist, allein das ist ja schon veräterisch.
Ich jedenfalls traue nach dieser Nummer einem Virenscanner nicht mehr
sehr viel Intelligenz zu...
Maik, der unwissende Anfänger schrieb:> mittels heuristik müsste man die Absicht eines solchen> Programms doch erahnen können!?
Heuristik ist Marketing-Blabla und und dient nur dazu, daß sich der
Virenscanner regelmäßig meldet und man sich geschützt fühlt.
Bis jetzt hat kein Virenscanner die Absicht unbekannten Codes erahnen
können und so irgendwelche Infektionen verhindert.
Maik, der unwissende Anfänger schrieb:> Wieso also bemerkt niemand meinen Virus? liegt es vlt. daran dass es ein> Windows-Forms-Anwendung ist und eben kein Konsolenprogramm welches im> Hintergrund läuft?
Hast Du Deinen Virus den Scannerherstellern gemeldet? Dort wird er
analysiert und seine charakteristische Signatur in die Datenbank
aufgenommen.
Ein neuer Virus befällt irgendwelche Rechner, die Admins merken es,
melden den Befall, Kasperski analysiert, und im nächsten Update ist der
dann drin. Bis dahin bist Du ungeschützt.
Maik, der unwissende Anfänger schrieb:> Ich jedenfalls traue nach dieser Nummer einem Virenscanner nicht mehr> sehr viel Intelligenz zu...
Prima, dann hast du ja was gelernt :-)
Merke:
keine Software ersetzt Brain 1.0.
Maik, der unwissende Anfänger schrieb:> Für meine Verständnisse ist das schon ein keylogger und gilt daher> allgemein als Virus, oder?
Als potentieller Schädling. Der Begriff "Virus" steht im engeren Sinn
für eine bestimmte Ausbreitungweise. Wird allerdings nicht nur in diesem
Sinn gebraucht.
Won K. schrieb:> Bis jetzt hat kein Virenscanner die Absicht unbekannten Codes erahnen> können und so irgendwelche Infektionen verhindert.
Es gibt bestimmte Verhaltensmuster, die eine Scanner-Sandbox als Hinweis
darauf nutzen kann, dass ein Programm nicht koscher ist. Dass Scanner
ziemlich löchrig sind (Grössenordnung Scheunentor) sollte sich
allerdings herumgesprochen haben.
Maik, der unwissende Anfänger schrieb:> die List eines "fiesen" Programms liegt ja aber darin, dass die> Eingabe mitgeschrieben wird, während eigentlich ein anderes> Programmfenster aktiv ist
Sagt wer? Es gibt unzählige Programme, die aus verschiedensten Gründen
einen Tastatur-Hook benutzen, das ist ja auch eine ganz offizielle
Windows-Funktion. Unmoralische Absichten kann keine Software
durchschauen, Menschen meistens auch nicht. Und nur so auf Verdacht zu
handeln bringt uns in eine Umwelt mit Rasterfahndung, wo harmlose Bürger
prophylaktisch erschossen werden, nur weil sie Ihre Miete bar bezahlen
und Terroristen das auch oft tun. Alles schon dagewesen, dass hiess
damals nur nicht Heuristik, und geworben wurde damit auch nicht.
Auch ein Virenprogramm, das ständig Falschmeldungen produziert, ist
einfach nur unbrauchbar.
Georg
Joachim B. schrieb:> AntiVir Programme sind per se meist doof, sie hinken immer den Viren> hinterher oder erfüllen zu übereifrig ihren Dienst und meckern weil sie> was VERMUTEN.Peter II schrieb:> nein, das schreiben zwar die Hersteller von Antivieren-Programmen aber> das ist nicht möglich, bzw. einfach umgehbar.Won K. schrieb:> Heuristik ist Marketing-Blabla und und dient nur dazu, daß sich der> Virenscanner regelmäßig meldet und man sich geschützt fühlt.A. K. schrieb:> Dass Scanner> ziemlich löchrig sind (Grössenordnung Scheunentor) sollte sich> allerdings herumgesprochen haben.Georg schrieb:> Unmoralische Absichten kann keine Software durchschauen
...
> Auch ein Virenprogramm, das ständig Falschmeldungen produziert, ist> einfach nur unbrauchbar.
Langsam scheint sich die Erkenntnis durchzusetzen, daß AV-Software kaum
schützt. Vor zwei Jahren wurde ich dafür noch runtergemacht:
Beitrag "Unzuverlässigkeit von Antivirus am praktischen Beispiel"
??? schrieb:> Richtig, deswegen ist das erstellte Programm maximal ein Trojaner...
Dann müsste es die angegebene Funktion heimlich im Hinterund machen und
offiziell vorgeben, was für den Benutzer sinnvolles zu tun.
Ganz davon abgesehen ist "Trojaner" auch falsch. Es heißt "trojanisches
Pferd". Die Trojaner waren eigentlich die, die davon getäuscht wurden.
Rolf Magnus schrieb:> Ganz davon abgesehen ist "Trojaner" auch falsch. Es heißt "trojanisches> Pferd". Die Trojaner waren eigentlich die, die davon getäuscht wurden.
Die Täuscher waren auch damals schon die Griechen.
asdf schrieb:>> Die Täuscher waren auch damals schon die Griechen.>> ...sagte der Bildzeitungsleser ;-(
Der trägt das "auch ... schon" dazu bei. Den Rest sagte Homer. Von der
Bildzeitung wird er nicht viel gehabt haben, denn man weiss zwar nicht
wirklich, ob es ihn überhaupt gab, wohl aber aber dass er blind war.
Alles Schlangenöl :-P
Es werden für jede verdächtige Datei Hashwerte errechnet, nur sind die
nicht eineindeutig, daher kommt es das man z.B. einen sehr bekannten
Virus mit ein paar eingestreuten nops oder Umstellung innerhalb des
Codes am besten noch mit expliziten gotos so verändern kann das keine
Erkennung greift.
Umgekehrt werden immer wieder reguläre saubere Programme als Virus
erkannt weil entweder der Hashwert übereinstimmt oder eben die Heuristik
die Wahrscheinlichkeit als zu hoch einschätzt.
Am sichersten ist man wenn man nur Quellen nimmt die eineindeutig sind
und nicht einfach alles anklickt was bei 0 nicht auf den Bäumen ist.
fefeimitator schrieb:> Es werden für jede verdächtige Datei Hashwerte errechnet
so einfach ist es zum Glück nicht. Es werden Codeblöcke gesucht. Ein
Hash über die komplette Datei macht keinen sinn, denn man kann bei einer
exe beliebiges hinten dran schreibe und könnte das damit umgehen.
asdf schrieb:> Richard H. schrieb:>> Die Täuscher waren auch damals schon die Griechen.>> ...sagte der Bildzeitungsleser ;-(
Du hast meinen Text schon mal in der Bildzeitung gesehen und glaubst
jetzt, dass ich ihn auch von dort habe?
Damit hast Du Dich als Bildzeitungsleser geoutet.
Damals im Informatik Studium mussten wir im Grundstudium einen Beweis
führen, dass es keine Software geben kann die von einer anderen Software
bestimmt, ob diese beliebige Eigenschaften erfüllt oder nicht. Soweit
ich mich erinnere, lässt sich diese Aufgabe auf das Halteproblem
reduzieren.
Deshalb kann es auch keine Software (Virenscanner) geben, die
feststellt, ob ein Programm "böse" ist oder nicht.
Peter II schrieb:> fefeimitator schrieb:>> Es werden für jede verdächtige Datei Hashwerte errechnet>> so einfach ist es zum Glück nicht. Es werden Codeblöcke gesucht. Ein> Hash über die komplette Datei macht keinen sinn, denn man kann bei einer> exe beliebiges hinten dran schreibe und könnte das damit umgehen.
Aha und wie werden dann die "Codeblöcke" erkannt ?
Automatischer Disassembler der dann den mathematischen Beweis führt das
es genau der böse Viruscode ist ?
Ich brauche ja nur den Debugcode und zusätzliches sinnloses neu hinein
compilieren und schon passen Deine Codeblöcke nicht mehr überein.
Und sobald ein dritter, Stichwort Flughafen, Deinen Notebook mal kurz
"prüft" ist der "Bundestrojaner" drauf ...
Außer natürlich Du hast kein MS oder Linux, sondern BSD oder Solaris
installiert und zwar verschlüsselt und mit BIOS Paßwort, was aber auch
umgangen werden kann.
Und dann kommt der "freundliche" TSA Knabe und greift Dir erstmal in den
Schritt, könnte ja 'ne Bombe drin sein wenn Du nicht Dein Paßwort
herausrückst.
Virenscanner machen ein System nicht sicherer, vor allem wenn z.B. sie
selber zum Einfallstor werden, Stichwort Autoupdate und Remotecheck ...
Wenn ich jetzt einen Keylogger schreibe der sich als Treiber installiert
oder Systemdienst kann ich z.B. kompromittierte Signaturen nehmen und
dann ist alles zertifiziert und sicher und keiner meckert rum.
Alleine der Layer den MS extra für Virenscanner in die API gebaut hat
ermöglicht jedem erfahrenen Systemprogrammierer genau das auszunutzen
was eigentlich einen einfacheren Schutz dastellen sollte.
Wenn man es wirklich "sicher" haben will muß man genau wissen was man
installiert und ob man nicht lieber statt Autoupdates einen kompletten
Offline-Installer regelmäßig runterlädt und den von einer zuverlässigen
Quelle installiert.
Womit wir beim Grundübel sind, was ist heute noch zuverlässig ?
DNS läßt sich manipulieren, maninthemiddle, getükte Zertifikate usw.
usf.
Rapid-Development gibt's ja auch für Scriptkiddies, siehe nur der "Hack"
der Bundesregierung, einfach mal bei Heise nachlesen.
Und die haben bestimmt gaaaanz teure Exklusivverträge mit
"Schlangenölverkäufern" ;-)
fefeimitator schrieb:> Aha und wie werden dann die "Codeblöcke" erkannt ?
über ein Vergleich?
> Automatischer Disassembler der dann den mathematischen Beweis führt das> es genau der böse Viruscode ist ?`
warum Disassembler, man kann auch binary code Vergleichen?
> Ich brauche ja nur den Debugcode und zusätzliches sinnloses neu hinein> compilieren und schon passen Deine Codeblöcke nicht mehr überein.
Auch dann bleiben einige Codeblöcke bestehen.
Was glaubst du sonst wie Viren die verschieden exe'en befallen können
sonst erkannt werden? Dabei bleibt ein Teil von Virus immer gleich, die
nächste Stufe waren dann selbst modifizierende Viren - aber auch das
gibt es teile die gleich bleiben.
Hallo,
ich habe früher auch mal eine Win32-API-Software programmiert die im
Tray sitzt, sämtliche Tastatureingaben überwacht und dann im Hintergrund
auf bestimmte Tasten reagiert.
Avast hat mein Programm nach dem Starten automatisch analysiert, als
möglichen Trojaner eingestuft und daraufhin automatisch blockiert. Ich
habe denen dann die Datei mit der Info "Fehlalarm" zugesendet und nach
ein paar Updates wurde mein Programm dann nicht mehr als Gefahr
eingestuft.
Damit will ich jetzt weder ein Lanze für AV-Programme brechen noch Avast
irgendwie empfehlen, aber es hängt schon ein Stück weit davon ab, WELCHE
AV-Software man verwendet und WIE diese eingestellt ist.