av erkennt prog nach compile als virus



  • Hi,

    ich habe einen irc bot programmiert und habe mich dabei an iroffer orientiert ( http://iroffer.org/ ) nur wird mein prog jetzt leider von kaspersky als trojaner ausgewiesen.

    Wie kann ich feststellen an welchen codezeilen oder strings er das ausmacht ? ( würde ein anderer compiler evtl schon helfen ? - wobei ich keinen 2. neben cygwin kenne der linux libs zur verfügung stellt )

    thx in advance



  • was hat das mit dem compiler zu tun?

    Q: Why does my Windows virus scanner say iroffer is a virus or backdoor or trojan? [ link ]
    Q: I downloaded iroffer from here, but my Windows virus scanner says it's infected with a trojan. [ link ]
    A: Some Windows virus scanner software companies classify every version of iroffer it finds as a back-door program, no matter what the intent of the installer was or how it got there.
    There is nothing inherent about iroffer that makes it a back-door or virus program anymore than any FTP server or webserver program. iroffer does not trick you into installing it. iroffer does not replicate itself and must be installed by either yourself or another program that has run on your computer.
    The versions of iroffer you can download from this site do not provide remote command or execute access to your system. It does what it was intended to do, namely download of only the files you specify, upload of files (if configured to do so), and nothing else. This is equivilant to a FTP or HTTP server.
    You should contact the manufacturer of your virus scanning software and tell them you are trying to use iroffer for legitimate purposes.

    quelle: http://iroffer.org/faq.html

    hast du den programmiert, oder hast du iroffer kopiert 😕



  • Nein das hat nix mit iroffer zu tun.

    AntiViren und AntiMalware Programme testen unbekanntes auch nach Verhaltensmustern.
    Das wird gemacht um Schädlinge auch ohne vorhandene Signatur zu erkennen.

    Gerade IRC Bots weisen eben das Verhalten von Trojanern auf und daher kann es passieren das dein Programm eben als Schädlich eingestuft wird. In so einem Fall könntest du einfach mal versuchen den AV Hersteller zu kontaktieren und ihm eine Kopie deines Programms als gezipptes und passwortgeschütztes Archiv ( in der Regel wird das Passwort 'infected' dafür genutzt ) zu schicken, damit er das auf seine Whitelist packt. Aber ansich machen die das nur bei veröffentlichten Programmen. Da ich davon ausgehe das dein Bot sicherlich noch in Entwicklung ist rate ich dir aber damit noch zu warten. Oder ( falls dein Antivirus das hat ) packe es auf eine Ignorelist.

    BR
    evilissimo



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ 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.



  • danke für eure antworten, wenn ich das richtig verstehe hab ich also keine chance auf der programmseite zu agieren sondern muss am av arbeiten. das ist sehr schade denn das vertrauen einiger onlinebekannter denen ich das programm mit zur verfügung stellen wollte wird durch so etwas nicht positiv beeinflusst 😞

    noch eine generelle frage: orientieren sich avs an strings aus dem programmcode oder an hexdaten aus der exe. weil theoretisch müssten sich die hex daten doch schon ändern wenn man variablennamen etc austauscht oder liege ich da falsch ?



  • TomK schrieb:

    noch eine generelle frage: orientieren sich avs an strings aus dem programmcode oder an hexdaten aus der exe.

    an vorkommenden sequenzen. so könnte einer zum beispiel denken, jedes programm, in dem GetAsyncKeyState vorkommt, ist ein passwortausspäher. wäre natürlich unfug, viele spiele benutzen die. aber neulich hatte ich ne funktion gefunden, die mein programm zuverlässig zu nem angeblichen virus machte.
    vielleicht ist die sequenz, um ne ftp-connection auf port 6666 zu bekommen, immer gleich und ein zeichen für schädlinge. für den fall hätte ich folgende ideen:

    nimm socket() statt WSASocket oder umgekehrt
    //in der hoffnung, daß nur eine version erkannt wird

    schieb den code zum connecten in eine *.dll namens helfer.dat und ruf die auf
    //in der hoffnung, daß der scanner keine *.dat liest

    connecte nicht nach 6666, sondern nach der variablen p und lade p aus ner ini-datei
    //in der hoffnung, daß der virenscanner nicht einfach plump alle programme sperrt, die irgendeine connection öffnen

    weil theoretisch müssten sich die hex daten doch schon ändern wenn man variablennamen etc austauscht oder liege ich da falsch ?

    weder strings aus dem sourcecode noch irgendwelche variablennamen. der sourcecode wird ja compiliert in irgend so nen maschinencode. alle variablennamen werden dabei weggeworfen und durch vom compiler vergebene nummern ersetzt. du kannst die variablen so oft umbenennen, wie du willst, es sollte keine änderung in der exe-datei geben. außerdem wird nicht nach prüfsummen geschaut, die könnte jeder virus zu einfach bei jeder verbreitung ändern (oh, ja, die ersten viren, die das machten, waren durchaus erfolgreich; heute ist das aber kalter kaffe).



  • danke für eure antworten, wenn ich das richtig verstehe hab ich also keine chance auf der programmseite zu agieren sondern muss am av arbeiten.

    du sitzt am längeren hebel, solange die av-leute nicht jedes programm als schädling melden wollen und das wäre dem user nicht recht.



  • volkard schrieb:

    außerdem wird nicht nach prüfsummen geschaut, die könnte jeder virus zu einfach bei jeder verbreitung ändern (oh, ja, die ersten viren, die das machten, waren durchaus erfolgreich; heute ist das aber kalter kaffe).

    Das ist richtig. Es gibt da verschiedene techniken. Oft werden nur bestimmte teile aus dem binärcode verwendet um eine signatur zu erkennen. Einige Antiviren Programme lassen es sogar zu das nur so und so viel prozent von der Signatur matchen müssen ( damit auch Subvarianten von dem Schädling erkannt werden können ).

    BR evilissimo



  • Ist der heuristische Scan standardäßig überhaupt angeschaltet? Bei meinem Virenscanner früher war das immer nur so ne Zusatzfunktion, amsonsten hat er nur nach bekannten Viren gesucht. Ich weiß aber nicht, was heute so üblich ist, ob die Heuristiken inzwischen einigermaßen zuverlässig sind.



  • Hm, ich hatte mal das Problem, mit einer Firewall,
    bei einem eigengeschriebenen Programm, das ständig daten sendete an einen Webhost, hat Zonealarm, trotz das das Programm durch gehen sollte zu gemacht.
    ich habe dann die Daten gesammelt und jede minute gesendet, dann wurde es durchgelassen.

    eventuell, sollte dein IRC Bot, das auch so machen.
    Oder du schreibst ihn in einer anderen Sprache(Programmiersprache),
    dann könntest du aber wieder das selbe Prob haben...



  • andere sprache ist halt ein Problem hat mich shcons ehr viel mühe gekostet mich in c einzuarbeiten und iroffer etwas umzuprogrammieren @nee ja ich hab grosse programmteile unverändert gelassen. denke ich habe halt pech gehabt und muss allen jungs veruchen zu erklären das ich kein backdoor eingebaut habe.

    Wieso müssen avs auch programme sperren die der user doch selbst installieren muss iroffer verbreitet sich ja nicht eigenständig das mit wsasocket geht leider nicht da iroffer für linux geschrieben ist und ich sys/socket importiere und nicht winsock2.

    Danke für die Zahlreiche Hilfe 🙂

    mfg TomK


Anmelden zum Antworten