¿Por qué el antivirus detecta un programa Java simple como un troyano?

5

Ahora mismo estaba probando un código muy simple en Java cuando noté algo extraño. Al compilar el programa, mi antivirus lo detectó como un troyano y eliminó el archivo jar.

Además, no me permite compilar el programa. La característica anterior no se muestra al eliminar str.replaceAll() del código.

  1. ¿Por qué sucede esto?

  2. ¿Qué tipo de vulnerabilidad es en Java y cómo puede solucionarse?

  3. ¿Por qué usar str.replaceAll() específicamente muestra este tipo de comportamiento?

Mi código de Java es

public static void main(String args[]) 
{
String str="1000010111111010101010101001111110111010110101000001000000000000000000000000000000000000000000000000000"
    + "111111111111111110000000000000000000000000000000000000000000000000000000000000000";

System.out.println("String len="+str.length()+"  No of ones= "+(str.length()-str.replaceAll("1", "").length()));

} 

Advertencia de antivirus

    
pregunta A. Sinha 15.10.2015 - 09:42
fuente

2 respuestas

4

Aquí solo un poco de conjeturas, pero puede haber algunos patrones comunes que av usa para todos los idiomas que puede analizar en profundidad, y el patrón que se muestra en su programa es muy similar al tipo de codificación que se ve en el javascript confuso (donde tendrán una cadena, realizarán algunas operaciones en ella y, finalmente, terminarán evaluándola. Estamos hablando de una firma heurística, por lo que podría ser algo así.

¿Se sigue disparando la firma sin el código que cuenta los 1s (específicamente la llamada a str.replaceAll )?

    
respondido por el broadway 15.10.2015 - 10:02
fuente
1

El código que ha escrito, cuando está compilado, coincide con la firma que utiliza su AV para detectar un troyano. Eso no significa que su programa java sea un exploit, o que pueda hacer ningún daño, solo que hay una similitud lo suficientemente fuerte como para que su AV lo haya marcado. Podría ser la larga cadena de unos y ceros, o lo que su programa hace con él.

    
respondido por el GdD 15.10.2015 - 10:17
fuente

Lea otras preguntas en las etiquetas