Malwarebytes fornisce un avviso di trojan per C # di base "Hello World!" programma


85

Fondamentalmente, ho appena eseguito una scansione del mio computer con Malwarebytes ( ho aggiornato le definizioni prima di eseguire), e ho detto che il mio programma "helloworld" scritto in C # ha un trojan .

So per certo che questo è un falso positivo, poiché ho scritto il programma solo 2-3 giorni fa e ho seguito un piccolo sito Web tutorial per realizzare il programma di cui mi fido. Sono nuovo in C #, ma non riesco a vedere nulla che possa dare un avviso di trojan.

Rapporto Malwarebytes

Il programma contrassegna l'eseguibile, ma non il file di origine.

using System;

namespace HelloWorldApplication
{
    class HelloWorld
    {
        static void Main(string[] args)
        {
            Console.WriteLine("\n\tHello World!");
            Console.WriteLine("This is my first C# program.\nI'm so proud of myself!");
            Console.WriteLine("\tTeehee!");
        }
    }
}

Questo è il codice, scritto in Notepad ++ , e viene eseguito dalla riga di comando ( Cygwin , in realtà). Perché contrassegna questo? È qualcosa che, come programmatore C # in erba, dovrei sapere?


1
Dovrei aggiungere, nessuno degli altri file sorgente o eseguibili C # nella stessa cartella è contrassegnato.
Qwurticus

2
Hai scaricato un esempio di codice da un sito web? Potrebbe essere in esecuzione codice che non ti rendi conto che viene eseguito tramite passaggi di build personalizzati o riferimenti a dll nella cartella bin ecc. Non vedo nulla che possa riguardare una firma di virus.
BateTech

13
non correlato, ma l'immagine in questo post è stata bloccata da sophos con un avviso di malware
puser

4
Inoltre, anche se in questo scenario non è probabile, vale la pena osservare che solo perché il codice sorgente non contiene codice non valido non significa che il tuo eseguibile non lo faccia: scienceblogs.com/goodmath/2007/04/15/…
Fabio Beltramini

4
Nel mio lavoro di tesi, utilizzo circa 14 antivirus per testare più di 2500 malware e ho scoperto che Malwarebytes è un antivirus molto scarso. Ecco le diapositive - Diapositiva 32 per il grafico di confronto
Grijesh Chauhan

Risposte:


131

Il problema potrebbe essere che il Trojan Backdoor.MSIL.PGen è generalmente chiamato "hello.exe". Il nome del tuo eseguibile è presumibilmente "hello.exe" o "helloworld.exe".

Rinomina semplicemente il tuo progetto o cambia l'eseguibile di output in qualcosa che non contiene "ciao" e dovrebbe smettere di rilevarlo.

Questa risposta è alquanto speculativa, ma dato il nome del tuo progetto e una storia di rilevamento troppo aggressivo di questo malware (vedi qui ), sembra una pugnalata ragionevole.


59
Quello è un rozzo software antivirus lì.
tom.dietrich

74
Sono stupito che un software di alto profilo come MalwareBytes possa segnalare un falso positivo basandosi esclusivamente sul nome del file
Brad Thomas

14
@BradThomas: Beh, non sono sicuro che questo sia il motivo, ma dato il nome del progetto sopra, è una grande pistola fumante ... :) C'è anche una storia di MalwareBytes che ha rilevato con zelo questo trojan: forums.malwarebytes.org /index.php?showtopic=135095
Baldrick

23
Avevi ragione ... Era il nome. XP. Lo trovo piuttosto stupido, tbh. L'ho cambiato con un nome diverso e non l'ha segnalato. Grazie!
Qwurticus

10
Immagino che l'euristica sia (a) contiene codice MSIL (il tipo di bytecode prodotto dal compilatore C #), (b) si chiama "hello.exe". Uno di quelli da solo non è sufficiente.
nneonneo

14

La risposta di Baldrick è probabilmente corretta, ma c'è anche un'altra possibilità: ci sono virus che cercano nel sistema eseguibili casuali e li modificano inserendovi il proprio codice (questa è, infatti, la definizione originale di " virus informatico "). Quando scopri che un eseguibile che sai essere affidabile viene improvvisamente segnalato come infetto, potresti avere a che fare con un tale virus.

Ma a meno che lo scanner antivirus non segnali altri eseguibili come lo stesso virus, ciò è improbabile.


6
Vorrei che avesse pubblicato l'eseguibile. Sarei piuttosto divertito se qualcuno lo decompilasse e scoprisse che contiene un virus.
Navin

3
@Navin Se l'avesse pubblicato, lo avrei chiamato per aver pubblicato consapevolmente un eseguibile potenzialmente dannoso.
Philipp

@Navin Ed è per questo che Philipp ha detto "un eseguibile potenzialmente dannoso".
Il ragazzo con il cappello

3
@TheGuywithTheHat Abbastanza giusto. Penso ancora che sia sicuro pubblicarlo insieme a un avviso.
Navin

0

Ho appena capito: cambia un po 'il "Guid" in AssemblyInfo.cs, quindi riprova.

Ha funzionato per me.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.